diff --git a/clients/client-application-insights/src/models/models_0.ts b/clients/client-application-insights/src/models/models_0.ts index 20ac5974ed6e5..688819f20be0a 100644 --- a/clients/client-application-insights/src/models/models_0.ts +++ b/clients/client-application-insights/src/models/models_0.ts @@ -12,6 +12,7 @@ export interface AccessDeniedException extends __SmithyException, $MetadataBeare } export type Tier = + | "ACTIVE_DIRECTORY" | "CUSTOM" | "DEFAULT" | "DOT_NET_CORE" @@ -25,6 +26,7 @@ export type Tier = | "SAP_HANA_HIGH_AVAILABILITY" | "SAP_HANA_MULTI_NODE" | "SAP_HANA_SINGLE_NODE" + | "SHAREPOINT" | "SQL_SERVER" | "SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP" | "SQL_SERVER_FAILOVER_CLUSTER_INSTANCE"; diff --git a/clients/client-cloudtrail/src/CloudTrail.ts b/clients/client-cloudtrail/src/CloudTrail.ts index 6cb488a5072fa..af0212b8f5e11 100644 --- a/clients/client-cloudtrail/src/CloudTrail.ts +++ b/clients/client-cloudtrail/src/CloudTrail.ts @@ -236,12 +236,12 @@ export class CloudTrail extends CloudTrailClient { /** *

Disables the event data store specified by EventDataStore, which accepts an event data store ARN. - * After you run DeleteEventDataStore, the event data store is automatically deleted after a wait period of + * After you run DeleteEventDataStore, the event data store enters a PENDING_DELETION state, and is automatically deleted after a wait period of * seven days. TerminationProtectionEnabled must be set to False on the event data store; this * operation cannot work if TerminationProtectionEnabled is True.

*

After you run DeleteEventDataStore on an event data store, you cannot run ListQueries, * DescribeQuery, or GetQueryResults on queries that are using an event data store in a - * PENDING_DELETION state.

+ * PENDING_DELETION state. An event data store in the PENDING_DELETION state does not incur costs.

*/ public deleteEventDataStore( args: DeleteEventDataStoreCommandInput, diff --git a/clients/client-cloudtrail/src/commands/DeleteEventDataStoreCommand.ts b/clients/client-cloudtrail/src/commands/DeleteEventDataStoreCommand.ts index 130a8e84969ce..b05a8c9af38bf 100644 --- a/clients/client-cloudtrail/src/commands/DeleteEventDataStoreCommand.ts +++ b/clients/client-cloudtrail/src/commands/DeleteEventDataStoreCommand.ts @@ -23,12 +23,12 @@ export interface DeleteEventDataStoreCommandOutput extends DeleteEventDataStoreR /** *

Disables the event data store specified by EventDataStore, which accepts an event data store ARN. - * After you run DeleteEventDataStore, the event data store is automatically deleted after a wait period of + * After you run DeleteEventDataStore, the event data store enters a PENDING_DELETION state, and is automatically deleted after a wait period of * seven days. TerminationProtectionEnabled must be set to False on the event data store; this * operation cannot work if TerminationProtectionEnabled is True.

*

After you run DeleteEventDataStore on an event data store, you cannot run ListQueries, * DescribeQuery, or GetQueryResults on queries that are using an event data store in a - * PENDING_DELETION state.

+ * PENDING_DELETION state. An event data store in the PENDING_DELETION state does not incur costs.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-cloudtrail/src/models/models_0.ts b/clients/client-cloudtrail/src/models/models_0.ts index 927c8d246aa54..90fe9671654c3 100644 --- a/clients/client-cloudtrail/src/models/models_0.ts +++ b/clients/client-cloudtrail/src/models/models_0.ts @@ -251,8 +251,9 @@ export interface AdvancedFieldSelector { * * readOnly * - Optional. Can be set to Equals a value of true - * or false. A value of false logs both read and - * write events.

+ * or false. If you do not add this field, CloudTrail logs both both read and + * write events. A value of true logs only read events. A value of false + * logs only write events.

* *
  • *

    @@ -330,6 +331,11 @@ export interface AdvancedFieldSelector { * AWS::DynamoDB::Stream *

    *
  • + *
  • + *

    + * AWS::Glue::Table + *

    + *
  • * *

    * You can have only one resources.type field per selector. To log data @@ -445,6 +451,15 @@ export interface AdvancedFieldSelector { *

    * * + *

    When resources.type equals AWS::Glue::Table, and the operator is set to + * Equals or NotEquals, the ARN must be in the following format:

    + * * * */ @@ -1875,6 +1890,7 @@ export interface DataResource { *

    * * + * *

    The following resource types are also availble through advanced event selectors. * Basic event selector resource types are valid in advanced event selectors, but * advanced event selector resource types are not valid in basic event selectors. @@ -1910,6 +1926,11 @@ export interface DataResource { * AWS::DynamoDB::Stream *

    * + *
  • + *

    + * AWS::Glue::Table + *

    + *
  • * */ Type?: string; @@ -2023,7 +2044,7 @@ export interface EventSelector { *

    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 Key Management Service or Amazon RDS Data API events by * containing kms.amazonaws.com or rdsdata.amazonaws.com. By default, ExcludeManagementEventSources is empty, and KMS and - * Amazon RDS Data API events are logged to your trail.

    + * Amazon RDS Data API events are logged to your trail. You can exclude management event sources only in regions that support the event source.

    */ ExcludeManagementEventSources?: string[]; } diff --git a/clients/client-compute-optimizer/src/models/models_0.ts b/clients/client-compute-optimizer/src/models/models_0.ts index b3d66b1506696..7629d57714ba5 100644 --- a/clients/client-compute-optimizer/src/models/models_0.ts +++ b/clients/client-compute-optimizer/src/models/models_0.ts @@ -106,6 +106,11 @@ export enum EnhancedInfrastructureMetrics { INACTIVE = "Inactive", } +export enum InferredWorkloadTypesPreference { + ACTIVE = "Active", + INACTIVE = "Inactive", +} + /** *

    Describes the effective recommendation preferences for a resource.

    */ @@ -136,9 +141,21 @@ export interface EffectiveRecommendationPreferences { * preference.

    *

    A status of Active confirms that the preference is applied in the latest * recommendation refresh, and a status of Inactive confirms that it's not yet - * applied.

    + * applied to recommendations.

    + *

    For more information, see Enhanced + * infrastructure metrics in the Compute Optimizer User + * Guide.

    */ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string; + + /** + *

    Describes the activation status of the inferred workload types preference.

    + * + *

    A status of Active confirms that the preference is applied in the latest + * recommendation refresh. A status of Inactive confirms that it's not yet + * applied to recommendations.

    + */ + inferredWorkloadTypes?: InferredWorkloadTypesPreference | string; } export namespace EffectiveRecommendationPreferences { @@ -157,6 +174,23 @@ export enum Finding { UNDER_PROVISIONED = "Underprovisioned", } +export enum InferredWorkloadType { + AMAZON_EMR = "AmazonEmr", + APACHE_CASSANDRA = "ApacheCassandra", + APACHE_HADOOP = "ApacheHadoop", + MEMCACHED = "Memcached", + NGINX = "Nginx", + POSTGRE_SQL = "PostgreSql", + REDIS = "Redis", +} + +export enum MigrationEffort { + HIGH = "High", + LOW = "Low", + MEDIUM = "Medium", + VERY_LOW = "VeryLow", +} + export enum MetricName { CPU = "Cpu", DISK_READ_BYTES_PER_SECOND = "DISK_READ_BYTES_PER_SECOND", @@ -337,8 +371,8 @@ export enum Currency { } /** - *

    Describes the estimated monthly savings amount possible for a given resource based on - * On-Demand instance pricing

    + *

    Describes the estimated monthly savings amount possible, based on On-Demand instance + * pricing, by adopting Compute Optimizer recommendations for a given resource.

    *

    For more information, see Estimated monthly savings and savings opportunities in the * Compute Optimizer User Guide.

    */ @@ -384,13 +418,15 @@ export namespace EstimatedMonthlySavings { */ export interface SavingsOpportunity { /** - *

    The estimated monthly savings possible as a percentage of monthly cost.

    + *

    The estimated monthly savings possible as a percentage of monthly cost by adopting + * Compute Optimizer recommendations for a given resource.

    */ savingsOpportunityPercentage?: number; /** - *

    An object that describes the estimated monthly savings amount possible based on - * On-Demand instance pricing.

    + *

    An object that describes the estimated monthly savings amount possible, based on + * On-Demand instance pricing, by adopting Compute Optimizer recommendations for a given + * resource.

    */ estimatedMonthlySavings?: EstimatedMonthlySavings; } @@ -456,6 +492,19 @@ export interface AutoScalingGroupRecommendationOption { * and percentage.

    */ savingsOpportunity?: SavingsOpportunity; + + /** + *

    The level of effort required to migrate from the current instance type to the + * recommended instance type.

    + * + *

    For example, the migration effort is Low if Amazon EMR is the + * inferred workload type and an Amazon Web Services Graviton instance type is recommended. + * The migration effort is Medium if a workload type couldn't be inferred but + * an Amazon Web Services Graviton instance type is recommended. The migration effort is + * VeryLow if both the current and recommended instance types are of the + * same CPU architecture.

    + */ + migrationEffort?: MigrationEffort | string; } export namespace AutoScalingGroupRecommendationOption { @@ -551,6 +600,53 @@ export interface AutoScalingGroupRecommendation { *

    An object that describes the effective recommendation preferences for the Auto Scaling group.

    */ effectiveRecommendationPreferences?: EffectiveRecommendationPreferences; + + /** + *

    The applications that might be running on the instances in the Auto Scaling group + * as inferred by Compute Optimizer.

    + * + *

    Compute Optimizer can infer if one of the following applications might be running on + * the instances:

    + * + * + */ + inferredWorkloadTypes?: (InferredWorkloadType | string)[]; } export namespace AutoScalingGroupRecommendation { @@ -564,6 +660,7 @@ export namespace AutoScalingGroupRecommendation { export enum RecommendationPreferenceName { ENHANCED_INFRASTRUCTURE_METRICS = "EnhancedInfrastructureMetrics", + INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes", } export enum ResourceType { @@ -571,6 +668,7 @@ export enum ResourceType { EBS_VOLUME = "EbsVolume", EC2_INSTANCE = "Ec2Instance", LAMBDA_FUNCTION = "LambdaFunction", + NOT_APPLICABLE = "NotApplicable", } export enum ScopeName { @@ -592,7 +690,9 @@ export enum ScopeName { * Auto Scaling groups only at the resource level by specifying a scope name * of ResourceArn and a scope value of the Auto Scaling group Amazon * Resource Name (ARN). This will configure the preference for all instances that are - * part of the specified the Auto Scaling group.

    + * part of the specified Auto Scaling group. You also cannot create recommendation + * preferences at the resource level for instances that are part of an Auto Scaling group. You can create recommendation preferences at the resource level only for + * standalone instances.

    * */ export interface Scope { @@ -1010,7 +1110,9 @@ export enum ExportableAutoScalingGroupField { CURRENT_VCPUS = "CurrentVCpus", EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures", EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics", + EFFECTIVE_RECOMMENDATION_PREFERENCES_INFERRED_WORKLOAD_TYPES = "EffectiveRecommendationPreferencesInferredWorkloadTypes", FINDING = "Finding", + INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes", LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp", LOOKBACK_PERIOD_IN_DAYS = "LookbackPeriodInDays", RECOMMENDATION_OPTIONS_CONFIGURATION_DESIRED_CAPACITY = "RecommendationOptionsConfigurationDesiredCapacity", @@ -1020,6 +1122,7 @@ export enum ExportableAutoScalingGroupField { RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY = "RecommendationOptionsEstimatedMonthlySavingsCurrency", RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue", RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory", + RECOMMENDATION_OPTIONS_MIGRATION_EFFORT = "RecommendationOptionsMigrationEffort", RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork", RECOMMENDATION_OPTIONS_ON_DEMAND_PRICE = "RecommendationOptionsOnDemandPrice", RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk", @@ -1606,8 +1709,10 @@ export enum ExportableInstanceField { CURRENT_VCPUS = "CurrentVCpus", EFFECTIVE_RECOMMENDATION_PREFERENCES_CPU_VENDOR_ARCHITECTURES = "EffectiveRecommendationPreferencesCpuVendorArchitectures", EFFECTIVE_RECOMMENDATION_PREFERENCES_ENHANCED_INFRASTRUCTURE_METRICS = "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics", + EFFECTIVE_RECOMMENDATION_PREFERENCES_INFERRED_WORKLOAD_TYPES = "EffectiveRecommendationPreferencesInferredWorkloadTypes", FINDING = "Finding", Finding_Reason_Codes = "FindingReasonCodes", + INFERRED_WORKLOAD_TYPES = "InferredWorkloadTypes", INSTANCE_ARN = "InstanceArn", INSTANCE_NAME = "InstanceName", LAST_REFRESH_TIMESTAMP = "LastRefreshTimestamp", @@ -1618,6 +1723,7 @@ export enum ExportableInstanceField { RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE = "RecommendationOptionsEstimatedMonthlySavingsValue", RECOMMENDATION_OPTIONS_INSTANCE_TYPE = "RecommendationOptionsInstanceType", RECOMMENDATION_OPTIONS_MEMORY = "RecommendationOptionsMemory", + RECOMMENDATION_OPTIONS_MIGRATION_EFFORT = "RecommendationOptionsMigrationEffort", RECOMMENDATION_OPTIONS_NETWORK = "RecommendationOptionsNetwork", RECOMMENDATION_OPTIONS_ON_DEMAND_PRICE = "RecommendationOptionsOnDemandPrice", RECOMMENDATION_OPTIONS_PERFORMANCE_RISK = "RecommendationOptionsPerformanceRisk", @@ -2602,6 +2708,19 @@ export interface InstanceRecommendationOption { * percentage.

    */ savingsOpportunity?: SavingsOpportunity; + + /** + *

    The level of effort required to migrate from the current instance type to the + * recommended instance type.

    + * + *

    For example, the migration effort is Low if Amazon EMR is the + * inferred workload type and an Amazon Web Services Graviton instance type is recommended. + * The migration effort is Medium if a workload type couldn't be inferred but + * an Amazon Web Services Graviton instance type is recommended. The migration effort is + * VeryLow if both the current and recommended instance types are of the + * same CPU architecture.

    + */ + migrationEffort?: MigrationEffort | string; } export namespace InstanceRecommendationOption { @@ -2935,8 +3054,8 @@ export interface InstanceRecommendation { /** *

    The risk of the current instance not meeting the performance needs of its workloads. - * The higher the risk, the more likely the current Lambda function requires - * more memory.

    + * The higher the risk, the more likely the current instance cannot meet the performance + * requirements of its workload.

    */ currentPerformanceRisk?: CurrentPerformanceRisk | string; @@ -2945,6 +3064,52 @@ export interface InstanceRecommendation { * instance.

    */ effectiveRecommendationPreferences?: EffectiveRecommendationPreferences; + + /** + *

    The applications that might be running on the instance as inferred by Compute Optimizer.

    + * + *

    Compute Optimizer can infer if one of the following applications might be running on + * the instance:

    + * + * + */ + inferredWorkloadTypes?: (InferredWorkloadType | string)[]; } export namespace InstanceRecommendation { @@ -3177,10 +3342,13 @@ export interface GetEffectiveRecommendationPreferencesResponse { * organization level.

    *

    A status of Active confirms that the preference is applied in the latest * recommendation refresh, and a status of Inactive confirms that it's not yet - * applied.

    + * applied to recommendations.

    *

    To validate whether the preference is applied to your last generated set of * recommendations, review the effectiveRecommendationPreferences value in the * response of the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations actions.

    + *

    For more information, see Enhanced + * infrastructure metrics in the Compute Optimizer User + * Guide.

    */ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string; } @@ -3692,7 +3860,7 @@ export interface LambdaFunctionRecommendation { /** *

    The risk of the current Lambda function not meeting the performance needs * of its workloads. The higher the risk, the more likely the current Lambda - * function configuration is underperforming in its workload.

    + * function requires more memory.

    */ currentPerformanceRisk?: CurrentPerformanceRisk | string; } @@ -3798,9 +3966,21 @@ export interface RecommendationPreferencesDetail { *

    The status of the enhanced infrastructure metrics recommendation preference.

    *

    A status of Active confirms that the preference is applied in the latest * recommendation refresh, and a status of Inactive confirms that it's not yet - * applied.

    + * applied to recommendations.

    + *

    For more information, see Enhanced + * infrastructure metrics in the Compute Optimizer User + * Guide.

    */ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string; + + /** + *

    The status of the inferred workload types recommendation preference.

    + * + *

    A status of Active confirms that the preference is applied in the latest + * recommendation refresh. A status of Inactive confirms that it's not yet + * applied to recommendations.

    + */ + inferredWorkloadTypes?: InferredWorkloadTypesPreference | string; } export namespace RecommendationPreferencesDetail { @@ -4049,7 +4229,9 @@ export interface PutRecommendationPreferencesRequest { * Auto Scaling groups only at the resource level by specifying a scope name * of ResourceArn and a scope value of the Auto Scaling group Amazon * Resource Name (ARN). This will configure the preference for all instances that are - * part of the specified the Auto Scaling group.

    + * part of the specified Auto Scaling group. You also cannot create recommendation + * preferences at the resource level for instances that are part of an Auto Scaling group. You can create recommendation preferences at the resource level only for + * standalone instances.

    * */ scope?: Scope; @@ -4057,11 +4239,30 @@ export interface PutRecommendationPreferencesRequest { /** *

    The status of the enhanced infrastructure metrics recommendation preference to create * or update.

    - *

    A status of Active confirms that the preference is applied in the latest - * recommendation refresh, and a status of Inactive confirms that it's not yet - * applied.

    + *

    Specify the Active status to activate the preference, or specify + * Inactive to deactivate the preference.

    + *

    For more information, see Enhanced + * infrastructure metrics in the Compute Optimizer User + * Guide.

    */ enhancedInfrastructureMetrics?: EnhancedInfrastructureMetrics | string; + + /** + *

    The status of the inferred workload types recommendation preference to create or + * update.

    + * + * + *

    The inferred workload type feature is active by default. To deactivate it, create + * a recommendation preference.

    + *
    + * + *

    Specify the Inactive status to deactivate the feature, or specify + * Active to activate it.

    + * + *

    For more information, see Inferred workload + * types in the Compute Optimizer User Guide.

    + */ + inferredWorkloadTypes?: InferredWorkloadTypesPreference | string; } export namespace PutRecommendationPreferencesRequest { diff --git a/clients/client-compute-optimizer/src/protocols/Aws_json1_0.ts b/clients/client-compute-optimizer/src/protocols/Aws_json1_0.ts index 1492eb3c7133c..cc533d0ef8140 100644 --- a/clients/client-compute-optimizer/src/protocols/Aws_json1_0.ts +++ b/clients/client-compute-optimizer/src/protocols/Aws_json1_0.ts @@ -142,6 +142,7 @@ import { GetRecommendationPreferencesResponse, GetRecommendationSummariesRequest, GetRecommendationSummariesResponse, + InferredWorkloadType, InstanceRecommendation, InstanceRecommendationFindingReasonCode, InstanceRecommendationOption, @@ -3021,6 +3022,8 @@ const serializeAws_json1_0PutRecommendationPreferencesRequest = ( input.enhancedInfrastructureMetrics !== null && { enhancedInfrastructureMetrics: input.enhancedInfrastructureMetrics, }), + ...(input.inferredWorkloadTypes !== undefined && + input.inferredWorkloadTypes !== null && { inferredWorkloadTypes: input.inferredWorkloadTypes }), ...(input.resourceType !== undefined && input.resourceType !== null && { resourceType: input.resourceType }), ...(input.scope !== undefined && input.scope !== null && { scope: serializeAws_json1_0Scope(input.scope, context) }), @@ -3154,6 +3157,10 @@ const deserializeAws_json1_0AutoScalingGroupRecommendation = ( ? deserializeAws_json1_0EffectiveRecommendationPreferences(output.effectiveRecommendationPreferences, context) : undefined, finding: __expectString(output.finding), + inferredWorkloadTypes: + output.inferredWorkloadTypes !== undefined && output.inferredWorkloadTypes !== null + ? deserializeAws_json1_0InferredWorkloadTypes(output.inferredWorkloadTypes, context) + : undefined, lastRefreshTimestamp: output.lastRefreshTimestamp !== undefined && output.lastRefreshTimestamp !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastRefreshTimestamp))) @@ -3179,6 +3186,7 @@ const deserializeAws_json1_0AutoScalingGroupRecommendationOption = ( output.configuration !== undefined && output.configuration !== null ? deserializeAws_json1_0AutoScalingGroupConfiguration(output.configuration, context) : undefined, + migrationEffort: __expectString(output.migrationEffort), performanceRisk: __limitedParseDouble(output.performanceRisk), projectedUtilizationMetrics: output.projectedUtilizationMetrics !== undefined && output.projectedUtilizationMetrics !== null @@ -3295,6 +3303,7 @@ const deserializeAws_json1_0EffectiveRecommendationPreferences = ( ? deserializeAws_json1_0CpuVendorArchitectures(output.cpuVendorArchitectures, context) : undefined, enhancedInfrastructureMetrics: __expectString(output.enhancedInfrastructureMetrics), + inferredWorkloadTypes: __expectString(output.inferredWorkloadTypes), } as any; }; @@ -3531,6 +3540,20 @@ const deserializeAws_json1_0GetRecommendationSummariesResponse = ( } as any; }; +const deserializeAws_json1_0InferredWorkloadTypes = ( + output: any, + context: __SerdeContext +): (InferredWorkloadType | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_json1_0InstanceRecommendation = (output: any, context: __SerdeContext): InstanceRecommendation => { return { accountId: __expectString(output.accountId), @@ -3545,6 +3568,10 @@ const deserializeAws_json1_0InstanceRecommendation = (output: any, context: __Se output.findingReasonCodes !== undefined && output.findingReasonCodes !== null ? deserializeAws_json1_0InstanceRecommendationFindingReasonCodes(output.findingReasonCodes, context) : undefined, + inferredWorkloadTypes: + output.inferredWorkloadTypes !== undefined && output.inferredWorkloadTypes !== null + ? deserializeAws_json1_0InferredWorkloadTypes(output.inferredWorkloadTypes, context) + : undefined, instanceArn: __expectString(output.instanceArn), instanceName: __expectString(output.instanceName), lastRefreshTimestamp: @@ -3587,6 +3614,7 @@ const deserializeAws_json1_0InstanceRecommendationOption = ( ): InstanceRecommendationOption => { return { instanceType: __expectString(output.instanceType), + migrationEffort: __expectString(output.migrationEffort), performanceRisk: __limitedParseDouble(output.performanceRisk), platformDifferences: output.platformDifferences !== undefined && output.platformDifferences !== null @@ -3949,6 +3977,7 @@ const deserializeAws_json1_0RecommendationPreferencesDetail = ( ): RecommendationPreferencesDetail => { return { enhancedInfrastructureMetrics: __expectString(output.enhancedInfrastructureMetrics), + inferredWorkloadTypes: __expectString(output.inferredWorkloadTypes), resourceType: __expectString(output.resourceType), scope: output.scope !== undefined && output.scope !== null diff --git a/clients/client-config-service/src/models/models_0.ts b/clients/client-config-service/src/models/models_0.ts index 8f33557dcc9ad..64ab3cab7b5c2 100644 --- a/clients/client-config-service/src/models/models_0.ts +++ b/clients/client-config-service/src/models/models_0.ts @@ -618,6 +618,9 @@ export enum ResourceType { ClusterSecurityGroup = "AWS::Redshift::ClusterSecurityGroup", ClusterSnapshot = "AWS::Redshift::ClusterSnapshot", ClusterSubnetGroup = "AWS::Redshift::ClusterSubnetGroup", + CodeDeployApplication = "AWS::CodeDeploy::Application", + CodeDeployDeploymentConfig = "AWS::CodeDeploy::DeploymentConfig", + CodeDeployDeploymentGroup = "AWS::CodeDeploy::DeploymentGroup", ConformancePackCompliance = "AWS::Config::ConformancePackCompliance", CustomerGateway = "AWS::EC2::CustomerGateway", DBCluster = "AWS::RDS::DBCluster", @@ -649,6 +652,8 @@ export enum ResourceType { Instance = "AWS::EC2::Instance", InternetGateway = "AWS::EC2::InternetGateway", Key = "AWS::KMS::Key", + KinesisStream = "AWS::Kinesis::Stream", + KinesisStreamConsumer = "AWS::Kinesis::StreamConsumer", LaunchConfiguration = "AWS::AutoScaling::LaunchConfiguration", LoadBalancer = "AWS::ElasticLoadBalancing::LoadBalancer", LoadBalancerV2 = "AWS::ElasticLoadBalancingV2::LoadBalancer", @@ -697,6 +702,7 @@ export enum ResourceType { Table = "AWS::DynamoDB::Table", Topic = "AWS::SNS::Topic", Trail = "AWS::CloudTrail::Trail", + TransitGateway = "AWS::EC2::TransitGateway", User = "AWS::IAM::User", VPC = "AWS::EC2::VPC", VPCEndpoint = "AWS::EC2::VPCEndpoint", diff --git a/clients/client-connect/README.md b/clients/client-connect/README.md index 90cacbeeadefe..5a061497dac93 100644 --- a/clients/client-connect/README.md +++ b/clients/client-connect/README.md @@ -15,7 +15,7 @@ appropriate agents.

    There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

    -

    You can connect programmatically to an AWS service by using an endpoint. For a list of Amazon Connect +

    You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

    diff --git a/clients/client-connect/src/Connect.ts b/clients/client-connect/src/Connect.ts index 3968953491519..4741a233ace67 100644 --- a/clients/client-connect/src/Connect.ts +++ b/clients/client-connect/src/Connect.ts @@ -611,7 +611,7 @@ import { ConnectClient } from "./ConnectClient"; *

    There are limits to the number of Amazon Connect resources that you can create. There are also limits * to the number of requests that you can make per second. For more information, see Amazon Connect * Service Quotas in the Amazon Connect Administrator Guide.

    - *

    You can connect programmatically to an AWS service by using an endpoint. For a list of Amazon Connect + *

    You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect * endpoints, see Amazon Connect * Endpoints.

    * @@ -1055,7 +1055,7 @@ export class Connect extends ConnectClient { } /** - *

    Creates an AWS resource association with an Amazon Connect instance.

    + *

    Creates an Amazon Web Services resource association with an Amazon Connect instance.

    */ public createIntegrationAssociation( args: CreateIntegrationAssociationCommandInput, @@ -1436,7 +1436,7 @@ export class Connect extends ConnectClient { } /** - *

    Deletes an AWS resource association from an Amazon Connect instance. The association must not have + *

    Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have * any use cases associated with it.

    */ public deleteIntegrationAssociation( @@ -2866,7 +2866,7 @@ export class Connect extends ConnectClient { } /** - *

    Provides summary information about the AWS resource associations for the specified Amazon Connect + *

    Provides summary information about the Amazon Web Services resource associations for the specified Amazon Connect * instance.

    */ public listIntegrationAssociations( diff --git a/clients/client-connect/src/ConnectClient.ts b/clients/client-connect/src/ConnectClient.ts index 349628570fd20..55c935fb50111 100644 --- a/clients/client-connect/src/ConnectClient.ts +++ b/clients/client-connect/src/ConnectClient.ts @@ -857,7 +857,7 @@ export interface ConnectClientResolvedConfig extends ConnectClientResolvedConfig *

    There are limits to the number of Amazon Connect resources that you can create. There are also limits * to the number of requests that you can make per second. For more information, see Amazon Connect * Service Quotas in the Amazon Connect Administrator Guide.

    - *

    You can connect programmatically to an AWS service by using an endpoint. For a list of Amazon Connect + *

    You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect * endpoints, see Amazon Connect * Endpoints.

    * diff --git a/clients/client-connect/src/commands/CreateIntegrationAssociationCommand.ts b/clients/client-connect/src/commands/CreateIntegrationAssociationCommand.ts index c8fb789a161c3..f0b43988b3d42 100644 --- a/clients/client-connect/src/commands/CreateIntegrationAssociationCommand.ts +++ b/clients/client-connect/src/commands/CreateIntegrationAssociationCommand.ts @@ -24,7 +24,7 @@ export interface CreateIntegrationAssociationCommandOutput __MetadataBearer {} /** - *

    Creates an AWS resource association with an Amazon Connect instance.

    + *

    Creates an Amazon Web Services resource association with an Amazon Connect instance.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/DeleteIntegrationAssociationCommand.ts b/clients/client-connect/src/commands/DeleteIntegrationAssociationCommand.ts index 61ad8bd04595a..0001ef05059e9 100644 --- a/clients/client-connect/src/commands/DeleteIntegrationAssociationCommand.ts +++ b/clients/client-connect/src/commands/DeleteIntegrationAssociationCommand.ts @@ -22,7 +22,7 @@ export interface DeleteIntegrationAssociationCommandInput extends DeleteIntegrat export interface DeleteIntegrationAssociationCommandOutput extends __MetadataBearer {} /** - *

    Deletes an AWS resource association from an Amazon Connect instance. The association must not have + *

    Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have * any use cases associated with it.

    * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-connect/src/commands/ListIntegrationAssociationsCommand.ts b/clients/client-connect/src/commands/ListIntegrationAssociationsCommand.ts index 0eb674db8f79c..0dd04a73306d2 100644 --- a/clients/client-connect/src/commands/ListIntegrationAssociationsCommand.ts +++ b/clients/client-connect/src/commands/ListIntegrationAssociationsCommand.ts @@ -24,7 +24,7 @@ export interface ListIntegrationAssociationsCommandOutput __MetadataBearer {} /** - *

    Provides summary information about the AWS resource associations for the specified Amazon Connect + *

    Provides summary information about the Amazon Web Services resource associations for the specified Amazon Connect * instance.

    * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-connect/src/models/models_0.ts b/clients/client-connect/src/models/models_0.ts index 410f8e93e984a..907f2c80e5fb7 100644 --- a/clients/client-connect/src/models/models_0.ts +++ b/clients/client-connect/src/models/models_0.ts @@ -1930,6 +1930,11 @@ export interface CreateUserHierarchyGroupRequest { *

    The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

    The tags used to organize, track, or control access for this resource.

    + */ + Tags?: { [key: string]: string }; } export namespace CreateUserHierarchyGroupRequest { @@ -3512,6 +3517,11 @@ export interface HierarchyGroup { *

    Information about the levels in the hierarchy group.

    */ HierarchyPath?: HierarchyPath; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + */ + Tags?: { [key: string]: string }; } export namespace HierarchyGroup { @@ -3921,8 +3931,8 @@ export namespace CurrentMetric { */ export interface Filters { /** - *

    The queues to use to filter the metrics. You can specify up to 100 queues per - * request.

    + *

    The queues to use to filter the metrics. You should specify at least one queue, and can specify up to 100 queues per + * request. The GetCurrentMetricsData API in particular requires a queue when you include a Filter in your request.

    */ Queues?: string[]; diff --git a/clients/client-connect/src/models/models_1.ts b/clients/client-connect/src/models/models_1.ts index 2ae07d605c3a8..9c217b6079cc0 100644 --- a/clients/client-connect/src/models/models_1.ts +++ b/clients/client-connect/src/models/models_1.ts @@ -459,7 +459,7 @@ export interface UpdateInstanceAttributeRequest { /** *

    The type of attribute.

    * - *

    Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact AWS Support for allowlisting.

    + *

    Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact Amazon Web Services Support for allowlisting.

    *
    */ AttributeType: InstanceAttributeType | string | undefined; diff --git a/clients/client-connect/src/protocols/Aws_restJson1.ts b/clients/client-connect/src/protocols/Aws_restJson1.ts index 5cebfb4ff2142..976ed2b1360d0 100644 --- a/clients/client-connect/src/protocols/Aws_restJson1.ts +++ b/clients/client-connect/src/protocols/Aws_restJson1.ts @@ -1332,6 +1332,7 @@ export const serializeAws_restJson1CreateUserHierarchyGroupCommand = async ( body = JSON.stringify({ ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), ...(input.ParentGroupId !== undefined && input.ParentGroupId !== null && { ParentGroupId: input.ParentGroupId }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_restJson1TagMap(input.Tags, context) }), }); return new __HttpRequest({ protocol, @@ -18042,6 +18043,10 @@ const deserializeAws_restJson1HierarchyGroup = (output: any, context: __SerdeCon Id: __expectString(output.Id), LevelId: __expectString(output.LevelId), Name: __expectString(output.Name), + Tags: + output.Tags !== undefined && output.Tags !== null + ? deserializeAws_restJson1TagMap(output.Tags, context) + : undefined, } as any; }; diff --git a/clients/client-cost-explorer/src/CostExplorer.ts b/clients/client-cost-explorer/src/CostExplorer.ts index d76ae172f1c9a..90ccd07d08e61 100644 --- a/clients/client-cost-explorer/src/CostExplorer.ts +++ b/clients/client-cost-explorer/src/CostExplorer.ts @@ -879,6 +879,10 @@ export class CostExplorer extends CostExplorerClient { *

    * * + * + *

    + * GetSavingsPlansCoverage doesn't support filtering by tags. GetSavingsPlansCoverage also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

    + *
    *

    To determine valid values for a dimension, use the GetDimensionValues operation.

    */ public getSavingsPlansCoverage( @@ -948,6 +952,8 @@ export class CostExplorer extends CostExplorerClient { *

    Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

    * *

    You cannot group by any dimension values for GetSavingsPlansUtilization.

    + *

    + * GetSavingsPlansUtilization doesn't support filtering by tags. GetSavingsPlansUtilization also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

    *
    */ public getSavingsPlansUtilization( @@ -984,6 +990,8 @@ export class CostExplorer extends CostExplorerClient { * *

    * GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn.

    + *

    + * GetSavingsPlansUtilizationDetails doesn't support filtering by tags. GetSavingsPlansUtilizationDetails also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

    *
    */ public getSavingsPlansUtilizationDetails( diff --git a/clients/client-cost-explorer/src/commands/GetSavingsPlansCoverageCommand.ts b/clients/client-cost-explorer/src/commands/GetSavingsPlansCoverageCommand.ts index f77f964460775..d1f735f32f980 100644 --- a/clients/client-cost-explorer/src/commands/GetSavingsPlansCoverageCommand.ts +++ b/clients/client-cost-explorer/src/commands/GetSavingsPlansCoverageCommand.ts @@ -45,6 +45,10 @@ export interface GetSavingsPlansCoverageCommandOutput extends GetSavingsPlansCov *

    * * + * + *

    + * GetSavingsPlansCoverage doesn't support filtering by tags. GetSavingsPlansCoverage also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

    + *
    *

    To determine valid values for a dimension, use the GetDimensionValues operation.

    * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-cost-explorer/src/commands/GetSavingsPlansUtilizationCommand.ts b/clients/client-cost-explorer/src/commands/GetSavingsPlansUtilizationCommand.ts index c43a050393c8d..007877006ff04 100644 --- a/clients/client-cost-explorer/src/commands/GetSavingsPlansUtilizationCommand.ts +++ b/clients/client-cost-explorer/src/commands/GetSavingsPlansUtilizationCommand.ts @@ -25,6 +25,8 @@ export interface GetSavingsPlansUtilizationCommandOutput extends GetSavingsPlans *

    Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

    * *

    You cannot group by any dimension values for GetSavingsPlansUtilization.

    + *

    + * GetSavingsPlansUtilization doesn't support filtering by tags. GetSavingsPlansUtilization also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

    *
    * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-cost-explorer/src/commands/GetSavingsPlansUtilizationDetailsCommand.ts b/clients/client-cost-explorer/src/commands/GetSavingsPlansUtilizationDetailsCommand.ts index 1c2f2c82128f1..66df19bc51b94 100644 --- a/clients/client-cost-explorer/src/commands/GetSavingsPlansUtilizationDetailsCommand.ts +++ b/clients/client-cost-explorer/src/commands/GetSavingsPlansUtilizationDetailsCommand.ts @@ -31,6 +31,8 @@ export interface GetSavingsPlansUtilizationDetailsCommandOutput * *

    * GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn.

    + *

    + * GetSavingsPlansUtilizationDetails doesn't support filtering by tags. GetSavingsPlansUtilizationDetails also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

    *
    * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-cost-explorer/src/models/models_0.ts b/clients/client-cost-explorer/src/models/models_0.ts index 2213f53f333ea..650ea5b14c5dc 100644 --- a/clients/client-cost-explorer/src/models/models_0.ts +++ b/clients/client-cost-explorer/src/models/models_0.ts @@ -1985,7 +1985,7 @@ export namespace ElastiCacheInstanceDetails { } /** - *

    Details about the Amazon ES instances that Amazon Web Services recommends that you + *

    Details about the Amazon OpenSearch Service instances that Amazon Web Services recommends that you * purchase.

    */ export interface ESInstanceDetails { @@ -2152,7 +2152,7 @@ export interface InstanceDetails { ElastiCacheInstanceDetails?: ElastiCacheInstanceDetails; /** - *

    The Amazon ES instances that Amazon Web Services recommends that you purchase.

    + *

    The Amazon OpenSearch Service instances that Amazon Web Services recommends that you purchase.

    */ ESInstanceDetails?: ESInstanceDetails; } @@ -4568,6 +4568,8 @@ export interface GetCostAndUsageRequest { * and get the costs that are associated with that account's usage of that service. You can nest Expression objects * to define any combination of dimension filters. For more information, see * Expression.

    + *

    The default values are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for Dimensions are EQUALS and CASE_SENSITIVE.

    + *

    Valid values for MatchOptions for CostCategories and Tags are EQUALS, ABSENT, and CASE_SENSITIVE.

    */ Filter?: Expression; @@ -4637,6 +4639,8 @@ export interface GetCostAndUsageWithResourcesRequest { *

    The GetCostAndUsageWithResources operation requires that you either group by or filter by a * ResourceId. It requires the Expression * "SERVICE = Amazon Elastic Compute Cloud - Compute" in the filter.

    + *

    The default values are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for Dimensions are EQUALS and CASE_SENSITIVE.

    + *

    Valid values for MatchOptions for CostCategories and Tags are EQUALS, ABSENT, and CASE_SENSITIVE.

    */ Filter: Expression | undefined; @@ -5018,7 +5022,7 @@ export interface GetDimensionValuesRequest { /** *

    The name of the dimension. Each Dimension is available for a different Context. - * For more information, see Context. + * For more information, see Context. * *

    */ @@ -5366,8 +5370,7 @@ export interface GetReservationCoverageRequest { *

    * GetReservationCoverage uses the same * Expression object - * as the other operations, but only AND is supported among each dimension. You can nest only one level deep. - * If there are multiple values for a dimension, they are OR'd together.

    + * as the other operations, but only AND is supported among each dimension. You can nest only one level deep.

    *

    If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.

    *

    Cost category is also supported.

    */ @@ -5635,7 +5638,7 @@ export interface GetReservationUtilizationRequest { * GetReservationUtilization uses the same * Expression object * as the other operations, but only AND is supported among each dimension, and nesting is supported up to - * only one level deep. If there are multiple values for a dimension, they are OR'd together.

    + * only one level deep.

    */ Filter?: Expression; @@ -5894,8 +5897,8 @@ export interface GetSavingsPlansCoverageRequest { *

    * GetSavingsPlansCoverage uses the same * Expression object - * as the other operations, but only AND is supported among each dimension. If there are multiple values for a dimension, they are OR'd together.

    - *

    Cost category is also supported.

    + * as the other operations, but only AND is supported among each dimension.

    + *

    Cost category is supported. Tags are not supported.

    */ Filter?: Expression; @@ -6070,6 +6073,7 @@ export interface GetSavingsPlansUtilizationDetailsRequest { * GetSavingsPlansUtilizationDetails uses the same * Expression object * as the other operations, but only AND is supported among each dimension.

    + *

    Filtering by tags isn't supported.

    */ Filter?: Expression; @@ -6194,6 +6198,7 @@ export interface GetSavingsPlansUtilizationRequest { * GetSavingsPlansUtilization uses the same * Expression object * as the other operations, but only AND is supported among each dimension.

    + *

    Filtering by tags isn't supported.

    */ Filter?: Expression; diff --git a/clients/client-database-migration-service/src/endpoints.ts b/clients/client-database-migration-service/src/endpoints.ts index a101ed3f50b97..e6baf1d17f8bb 100644 --- a/clients/client-database-migration-service/src/endpoints.ts +++ b/clients/client-database-migration-service/src/endpoints.ts @@ -42,6 +42,14 @@ const regionHash: RegionHash = { }, ], }, + "us-iso-west-1": { + variants: [ + { + hostname: "dms.us-iso-west-1.c2s.ic.gov", + tags: ["fips"], + }, + ], + }, "us-isob-east-1": { variants: [ { @@ -143,7 +151,7 @@ const partitionHash: PartitionHash = { ], }, "aws-iso": { - regions: ["dms", "dms-fips", "us-iso-east-1", "us-iso-east-1-fips", "us-iso-west-1"], + regions: ["dms", "dms-fips", "us-iso-east-1", "us-iso-east-1-fips", "us-iso-west-1", "us-iso-west-1-fips"], regionRegex: "^us\\-iso\\-\\w+\\-\\d+$", variants: [ { diff --git a/clients/client-databrew/src/models/models_0.ts b/clients/client-databrew/src/models/models_0.ts index 52e4730e2498c..391db4fda66cf 100644 --- a/clients/client-databrew/src/models/models_0.ts +++ b/clients/client-databrew/src/models/models_0.ts @@ -253,7 +253,7 @@ export namespace FormatOptions { } /** - *

    Represents an Amazon S3 location (bucket name and object key) where DataBrew can read + *

    Represents an Amazon S3 location (bucket name, bucket owner, and object key) where DataBrew can read * input data, or write output from a job.

    */ export interface S3Location { @@ -266,6 +266,11 @@ export interface S3Location { *

    The unique name of the object in the bucket.

    */ Key?: string; + + /** + *

    The Amazon Web Services account ID of the bucket owner.

    + */ + BucketOwner?: string; } export namespace S3Location { @@ -293,7 +298,7 @@ export interface DatabaseInputDefinition { DatabaseTableName?: string; /** - *

    Represents an Amazon S3 location (bucket name and object key) where DataBrew can read + *

    Represents an Amazon S3 location (bucket name, bucket owner, and object key) where DataBrew can read * input data, or write output from a job.

    */ TempDirectory?: S3Location; @@ -1036,7 +1041,7 @@ export interface CreateProfileJobRequest { MaxRetries?: number; /** - *

    Represents an Amazon S3 location (bucket name and object key) where DataBrew can read + *

    Represents an Amazon S3 location (bucket name, bucket owner, and object key) where DataBrew can read * input data, or write output from a job.

    */ OutputLocation: S3Location | undefined; @@ -1802,6 +1807,8 @@ export interface Rule { * rule should be null. If ColumnSelectors has been defined, then there should be no * columnn reference in the left side of a condition, for example, * is_between :val1 and :val2.

    + *

    For more information, see Available checks + *

    */ CheckExpression: string | undefined; @@ -4490,7 +4497,7 @@ export interface UpdateProfileJobRequest { MaxRetries?: number; /** - *

    Represents an Amazon S3 location (bucket name and object key) where DataBrew can read + *

    Represents an Amazon S3 location (bucket name, bucket owner, and object key) where DataBrew can read * input data, or write output from a job.

    */ OutputLocation: S3Location | undefined; diff --git a/clients/client-databrew/src/protocols/Aws_restJson1.ts b/clients/client-databrew/src/protocols/Aws_restJson1.ts index 6f15d45c8a08a..01204713541f8 100644 --- a/clients/client-databrew/src/protocols/Aws_restJson1.ts +++ b/clients/client-databrew/src/protocols/Aws_restJson1.ts @@ -5633,6 +5633,7 @@ const serializeAws_restJson1RuleList = (input: Rule[], context: __SerdeContext): const serializeAws_restJson1S3Location = (input: S3Location, context: __SerdeContext): any => { return { ...(input.Bucket !== undefined && input.Bucket !== null && { Bucket: input.Bucket }), + ...(input.BucketOwner !== undefined && input.BucketOwner !== null && { BucketOwner: input.BucketOwner }), ...(input.Key !== undefined && input.Key !== null && { Key: input.Key }), }; }; @@ -6646,6 +6647,7 @@ const deserializeAws_restJson1RulesetItemList = (output: any, context: __SerdeCo const deserializeAws_restJson1S3Location = (output: any, context: __SerdeContext): S3Location => { return { Bucket: __expectString(output.Bucket), + BucketOwner: __expectString(output.BucketOwner), Key: __expectString(output.Key), } as any; }; diff --git a/clients/client-ec2-instance-connect/src/models/models_0.ts b/clients/client-ec2-instance-connect/src/models/models_0.ts index 299f0ca5df6c4..4529713452f4d 100644 --- a/clients/client-ec2-instance-connect/src/models/models_0.ts +++ b/clients/client-ec2-instance-connect/src/models/models_0.ts @@ -18,6 +18,17 @@ export interface EC2InstanceNotFoundException extends __SmithyException, $Metada Message?: string; } +/** + *

    Unable to connect because the instance is not in a valid state. + * Connecting to a stopped or terminated instance is not supported. If the instance is stopped, + * start your instance, and try to connect again.

    + */ +export interface EC2InstanceStateInvalidException extends __SmithyException, $MetadataBearer { + name: "EC2InstanceStateInvalidException"; + $fault: "client"; + Message?: string; +} + /** *

    The instance type is not supported for connecting via the serial console. Only Nitro * instance types are currently supported.

    @@ -154,7 +165,7 @@ export interface SendSSHPublicKeyRequest { /** *

    The Availability Zone in which the EC2 instance was launched.

    */ - AvailabilityZone: string | undefined; + AvailabilityZone?: string; } export namespace SendSSHPublicKeyRequest { diff --git a/clients/client-ec2-instance-connect/src/protocols/Aws_json1_1.ts b/clients/client-ec2-instance-connect/src/protocols/Aws_json1_1.ts index 79229d6c49a44..29432b5579abe 100644 --- a/clients/client-ec2-instance-connect/src/protocols/Aws_json1_1.ts +++ b/clients/client-ec2-instance-connect/src/protocols/Aws_json1_1.ts @@ -17,6 +17,7 @@ import { SendSSHPublicKeyCommandInput, SendSSHPublicKeyCommandOutput } from "../ import { AuthException, EC2InstanceNotFoundException, + EC2InstanceStateInvalidException, EC2InstanceTypeInvalidException, InvalidArgsException, SendSerialConsoleSSHPublicKeyRequest, @@ -101,6 +102,14 @@ const deserializeAws_json1_1SendSerialConsoleSSHPublicKeyCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "EC2InstanceStateInvalidException": + case "com.amazonaws.ec2instanceconnect#EC2InstanceStateInvalidException": + response = { + ...(await deserializeAws_json1_1EC2InstanceStateInvalidExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "EC2InstanceTypeInvalidException": case "com.amazonaws.ec2instanceconnect#EC2InstanceTypeInvalidException": response = { @@ -219,6 +228,14 @@ const deserializeAws_json1_1SendSSHPublicKeyCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "EC2InstanceStateInvalidException": + case "com.amazonaws.ec2instanceconnect#EC2InstanceStateInvalidException": + response = { + ...(await deserializeAws_json1_1EC2InstanceStateInvalidExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "InvalidArgsException": case "com.amazonaws.ec2instanceconnect#InvalidArgsException": response = { @@ -290,6 +307,21 @@ const deserializeAws_json1_1EC2InstanceNotFoundExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1EC2InstanceStateInvalidExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_json1_1EC2InstanceStateInvalidException(body, context); + const contents: EC2InstanceStateInvalidException = { + name: "EC2InstanceStateInvalidException", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_json1_1EC2InstanceTypeInvalidExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -432,6 +464,15 @@ const deserializeAws_json1_1EC2InstanceNotFoundException = ( } as any; }; +const deserializeAws_json1_1EC2InstanceStateInvalidException = ( + output: any, + context: __SerdeContext +): EC2InstanceStateInvalidException => { + return { + Message: __expectString(output.Message), + } as any; +}; + const deserializeAws_json1_1EC2InstanceTypeInvalidException = ( output: any, context: __SerdeContext diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index c1bdd79bc955b..042003f083c3d 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -1006,6 +1006,11 @@ import { DescribeExportTasksCommandInput, DescribeExportTasksCommandOutput, } from "./commands/DescribeExportTasksCommand"; +import { + DescribeFastLaunchImagesCommand, + DescribeFastLaunchImagesCommandInput, + DescribeFastLaunchImagesCommandOutput, +} from "./commands/DescribeFastLaunchImagesCommand"; import { DescribeFastSnapshotRestoresCommand, DescribeFastSnapshotRestoresCommandInput, @@ -1576,6 +1581,11 @@ import { DisableEbsEncryptionByDefaultCommandInput, DisableEbsEncryptionByDefaultCommandOutput, } from "./commands/DisableEbsEncryptionByDefaultCommand"; +import { + DisableFastLaunchCommand, + DisableFastLaunchCommandInput, + DisableFastLaunchCommandOutput, +} from "./commands/DisableFastLaunchCommand"; import { DisableFastSnapshotRestoresCommand, DisableFastSnapshotRestoresCommandInput, @@ -1676,6 +1686,11 @@ import { EnableEbsEncryptionByDefaultCommandInput, EnableEbsEncryptionByDefaultCommandOutput, } from "./commands/EnableEbsEncryptionByDefaultCommand"; +import { + EnableFastLaunchCommand, + EnableFastLaunchCommandInput, + EnableFastLaunchCommandOutput, +} from "./commands/EnableFastLaunchCommand"; import { EnableFastSnapshotRestoresCommand, EnableFastSnapshotRestoresCommandInput, @@ -10222,6 +10237,38 @@ export class EC2 extends EC2Client { } } + /** + *

    Describe details for Windows AMIs that are configured for faster launching.

    + */ + public describeFastLaunchImages( + args: DescribeFastLaunchImagesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeFastLaunchImages( + args: DescribeFastLaunchImagesCommandInput, + cb: (err: any, data?: DescribeFastLaunchImagesCommandOutput) => void + ): void; + public describeFastLaunchImages( + args: DescribeFastLaunchImagesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeFastLaunchImagesCommandOutput) => void + ): void; + public describeFastLaunchImages( + args: DescribeFastLaunchImagesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeFastLaunchImagesCommandOutput) => void), + cb?: (err: any, data?: DescribeFastLaunchImagesCommandOutput) => void + ): Promise | void { + const command = new DescribeFastLaunchImagesCommand(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 the state of fast snapshot restores for your snapshots.

    */ @@ -14282,6 +14329,40 @@ export class EC2 extends EC2Client { } } + /** + *

    Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. + * When you disable faster launching, the AMI uses the standard launch process for each + * instance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

    + */ + public disableFastLaunch( + args: DisableFastLaunchCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public disableFastLaunch( + args: DisableFastLaunchCommandInput, + cb: (err: any, data?: DisableFastLaunchCommandOutput) => void + ): void; + public disableFastLaunch( + args: DisableFastLaunchCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisableFastLaunchCommandOutput) => void + ): void; + public disableFastLaunch( + args: DisableFastLaunchCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisableFastLaunchCommandOutput) => void), + cb?: (err: any, data?: DisableFastLaunchCommandOutput) => void + ): Promise | void { + const command = new DisableFastLaunchCommand(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 fast snapshot restores for the specified snapshots in the specified Availability Zones.

    */ @@ -14992,6 +15073,43 @@ export class EC2 extends EC2Client { } } + /** + *

    When you enable faster launching for a Windows AMI, images are pre-provisioned, + * using snapshots to launch instances up to 65% faster. To create the optimized Windows + * image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. + * Then it creates a set of reserved snapshots that are used for subsequent launches. The + * reserved snapshots are automatically replenished as they are used, depending on your + * settings for launch frequency.

    + */ + public enableFastLaunch( + args: EnableFastLaunchCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public enableFastLaunch( + args: EnableFastLaunchCommandInput, + cb: (err: any, data?: EnableFastLaunchCommandOutput) => void + ): void; + public enableFastLaunch( + args: EnableFastLaunchCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: EnableFastLaunchCommandOutput) => void + ): void; + public enableFastLaunch( + args: EnableFastLaunchCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: EnableFastLaunchCommandOutput) => void), + cb?: (err: any, data?: EnableFastLaunchCommandOutput) => void + ): Promise | void { + const command = new EnableFastLaunchCommand(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 fast snapshot restores for the specified snapshots in the specified Availability Zones.

    *

    You get the full benefit of fast snapshot restores after they enter the enabled state. diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index f70ec6c73cd2a..5f8f66df9891c 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -716,6 +716,10 @@ import { DescribeExportTasksCommandInput, DescribeExportTasksCommandOutput, } from "./commands/DescribeExportTasksCommand"; +import { + DescribeFastLaunchImagesCommandInput, + DescribeFastLaunchImagesCommandOutput, +} from "./commands/DescribeFastLaunchImagesCommand"; import { DescribeFastSnapshotRestoresCommandInput, DescribeFastSnapshotRestoresCommandOutput, @@ -1112,6 +1116,7 @@ import { DisableEbsEncryptionByDefaultCommandInput, DisableEbsEncryptionByDefaultCommandOutput, } from "./commands/DisableEbsEncryptionByDefaultCommand"; +import { DisableFastLaunchCommandInput, DisableFastLaunchCommandOutput } from "./commands/DisableFastLaunchCommand"; import { DisableFastSnapshotRestoresCommandInput, DisableFastSnapshotRestoresCommandOutput, @@ -1192,6 +1197,7 @@ import { EnableEbsEncryptionByDefaultCommandInput, EnableEbsEncryptionByDefaultCommandOutput, } from "./commands/EnableEbsEncryptionByDefaultCommand"; +import { EnableFastLaunchCommandInput, EnableFastLaunchCommandOutput } from "./commands/EnableFastLaunchCommand"; import { EnableFastSnapshotRestoresCommandInput, EnableFastSnapshotRestoresCommandOutput, @@ -1982,6 +1988,7 @@ export type ServiceInputTypes = | DescribeElasticGpusCommandInput | DescribeExportImageTasksCommandInput | DescribeExportTasksCommandInput + | DescribeFastLaunchImagesCommandInput | DescribeFastSnapshotRestoresCommandInput | DescribeFleetHistoryCommandInput | DescribeFleetInstancesCommandInput @@ -2096,6 +2103,7 @@ export type ServiceInputTypes = | DetachVolumeCommandInput | DetachVpnGatewayCommandInput | DisableEbsEncryptionByDefaultCommandInput + | DisableFastLaunchCommandInput | DisableFastSnapshotRestoresCommandInput | DisableImageDeprecationCommandInput | DisableIpamOrganizationAdminAccountCommandInput @@ -2116,6 +2124,7 @@ export type ServiceInputTypes = | DisassociateTrunkInterfaceCommandInput | DisassociateVpcCidrBlockCommandInput | EnableEbsEncryptionByDefaultCommandInput + | EnableFastLaunchCommandInput | EnableFastSnapshotRestoresCommandInput | EnableImageDeprecationCommandInput | EnableIpamOrganizationAdminAccountCommandInput @@ -2500,6 +2509,7 @@ export type ServiceOutputTypes = | DescribeElasticGpusCommandOutput | DescribeExportImageTasksCommandOutput | DescribeExportTasksCommandOutput + | DescribeFastLaunchImagesCommandOutput | DescribeFastSnapshotRestoresCommandOutput | DescribeFleetHistoryCommandOutput | DescribeFleetInstancesCommandOutput @@ -2614,6 +2624,7 @@ export type ServiceOutputTypes = | DetachVolumeCommandOutput | DetachVpnGatewayCommandOutput | DisableEbsEncryptionByDefaultCommandOutput + | DisableFastLaunchCommandOutput | DisableFastSnapshotRestoresCommandOutput | DisableImageDeprecationCommandOutput | DisableIpamOrganizationAdminAccountCommandOutput @@ -2634,6 +2645,7 @@ export type ServiceOutputTypes = | DisassociateTrunkInterfaceCommandOutput | DisassociateVpcCidrBlockCommandOutput | EnableEbsEncryptionByDefaultCommandOutput + | EnableFastLaunchCommandOutput | EnableFastSnapshotRestoresCommandOutput | EnableImageDeprecationCommandOutput | EnableIpamOrganizationAdminAccountCommandOutput diff --git a/clients/client-ec2/src/commands/DescribeFastLaunchImagesCommand.ts b/clients/client-ec2/src/commands/DescribeFastLaunchImagesCommand.ts new file mode 100644 index 0000000000000..2c9b945c72862 --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeFastLaunchImagesCommand.ts @@ -0,0 +1,95 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DescribeFastLaunchImagesRequest, DescribeFastLaunchImagesResult } from "../models/models_3"; +import { + deserializeAws_ec2DescribeFastLaunchImagesCommand, + serializeAws_ec2DescribeFastLaunchImagesCommand, +} from "../protocols/Aws_ec2"; + +export interface DescribeFastLaunchImagesCommandInput extends DescribeFastLaunchImagesRequest {} +export interface DescribeFastLaunchImagesCommandOutput extends DescribeFastLaunchImagesResult, __MetadataBearer {} + +/** + *

    Describe details for Windows AMIs that are configured for faster launching.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeFastLaunchImagesCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeFastLaunchImagesCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DescribeFastLaunchImagesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeFastLaunchImagesCommandInput} for command's `input` shape. + * @see {@link DescribeFastLaunchImagesCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DescribeFastLaunchImagesCommand extends $Command< + DescribeFastLaunchImagesCommandInput, + DescribeFastLaunchImagesCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeFastLaunchImagesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "DescribeFastLaunchImagesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeFastLaunchImagesRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeFastLaunchImagesResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DescribeFastLaunchImagesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DescribeFastLaunchImagesCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DescribeFastLaunchImagesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/DescribeReservedInstancesCommand.ts b/clients/client-ec2/src/commands/DescribeReservedInstancesCommand.ts index 8dac7029edb44..d25f7d188a4fb 100644 --- a/clients/client-ec2/src/commands/DescribeReservedInstancesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeReservedInstancesCommand.ts @@ -12,7 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeReservedInstancesRequest, DescribeReservedInstancesResult } from "../models/models_3"; +import { DescribeReservedInstancesRequest } from "../models/models_3"; +import { DescribeReservedInstancesResult } from "../models/models_4"; import { deserializeAws_ec2DescribeReservedInstancesCommand, serializeAws_ec2DescribeReservedInstancesCommand, diff --git a/clients/client-ec2/src/commands/DescribeReservedInstancesListingsCommand.ts b/clients/client-ec2/src/commands/DescribeReservedInstancesListingsCommand.ts index 803c65ca0ce1b..91ab57c4bab10 100644 --- a/clients/client-ec2/src/commands/DescribeReservedInstancesListingsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeReservedInstancesListingsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeReservedInstancesListingsRequest, DescribeReservedInstancesListingsResult } from "../models/models_3"; +import { DescribeReservedInstancesListingsRequest, DescribeReservedInstancesListingsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeReservedInstancesListingsCommand, serializeAws_ec2DescribeReservedInstancesListingsCommand, diff --git a/clients/client-ec2/src/commands/DescribeReservedInstancesModificationsCommand.ts b/clients/client-ec2/src/commands/DescribeReservedInstancesModificationsCommand.ts index 6b5c52c072f05..b7da4f183101d 100644 --- a/clients/client-ec2/src/commands/DescribeReservedInstancesModificationsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeReservedInstancesModificationsCommand.ts @@ -12,8 +12,10 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeReservedInstancesModificationsRequest } from "../models/models_3"; -import { DescribeReservedInstancesModificationsResult } from "../models/models_4"; +import { + DescribeReservedInstancesModificationsRequest, + DescribeReservedInstancesModificationsResult, +} from "../models/models_4"; import { deserializeAws_ec2DescribeReservedInstancesModificationsCommand, serializeAws_ec2DescribeReservedInstancesModificationsCommand, diff --git a/clients/client-ec2/src/commands/DisableFastLaunchCommand.ts b/clients/client-ec2/src/commands/DisableFastLaunchCommand.ts new file mode 100644 index 0000000000000..181a4bced7cbf --- /dev/null +++ b/clients/client-ec2/src/commands/DisableFastLaunchCommand.ts @@ -0,0 +1,97 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DisableFastLaunchRequest, DisableFastLaunchResult } from "../models/models_4"; +import { + deserializeAws_ec2DisableFastLaunchCommand, + serializeAws_ec2DisableFastLaunchCommand, +} from "../protocols/Aws_ec2"; + +export interface DisableFastLaunchCommandInput extends DisableFastLaunchRequest {} +export interface DisableFastLaunchCommandOutput extends DisableFastLaunchResult, __MetadataBearer {} + +/** + *

    Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. + * When you disable faster launching, the AMI uses the standard launch process for each + * instance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DisableFastLaunchCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DisableFastLaunchCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new DisableFastLaunchCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DisableFastLaunchCommandInput} for command's `input` shape. + * @see {@link DisableFastLaunchCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class DisableFastLaunchCommand extends $Command< + DisableFastLaunchCommandInput, + DisableFastLaunchCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DisableFastLaunchCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "DisableFastLaunchCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DisableFastLaunchRequest.filterSensitiveLog, + outputFilterSensitiveLog: DisableFastLaunchResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DisableFastLaunchCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2DisableFastLaunchCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2DisableFastLaunchCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/EnableFastLaunchCommand.ts b/clients/client-ec2/src/commands/EnableFastLaunchCommand.ts new file mode 100644 index 0000000000000..58b3684760e15 --- /dev/null +++ b/clients/client-ec2/src/commands/EnableFastLaunchCommand.ts @@ -0,0 +1,100 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { EnableFastLaunchRequest, EnableFastLaunchResult } from "../models/models_4"; +import { + deserializeAws_ec2EnableFastLaunchCommand, + serializeAws_ec2EnableFastLaunchCommand, +} from "../protocols/Aws_ec2"; + +export interface EnableFastLaunchCommandInput extends EnableFastLaunchRequest {} +export interface EnableFastLaunchCommandOutput extends EnableFastLaunchResult, __MetadataBearer {} + +/** + *

    When you enable faster launching for a Windows AMI, images are pre-provisioned, + * using snapshots to launch instances up to 65% faster. To create the optimized Windows + * image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. + * Then it creates a set of reserved snapshots that are used for subsequent launches. The + * reserved snapshots are automatically replenished as they are used, depending on your + * settings for launch frequency.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, EnableFastLaunchCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, EnableFastLaunchCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new EnableFastLaunchCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link EnableFastLaunchCommandInput} for command's `input` shape. + * @see {@link EnableFastLaunchCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + */ +export class EnableFastLaunchCommand extends $Command< + EnableFastLaunchCommandInput, + EnableFastLaunchCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: EnableFastLaunchCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "EnableFastLaunchCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: EnableFastLaunchRequest.filterSensitiveLog, + outputFilterSensitiveLog: EnableFastLaunchResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: EnableFastLaunchCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2EnableFastLaunchCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2EnableFastLaunchCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts b/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts index a612f965e323e..76668c9e46166 100644 --- a/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts +++ b/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts @@ -12,10 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { - GetInstanceTypesFromInstanceRequirementsRequest, - GetInstanceTypesFromInstanceRequirementsResult, -} from "../models/models_4"; +import { GetInstanceTypesFromInstanceRequirementsRequest } from "../models/models_4"; +import { GetInstanceTypesFromInstanceRequirementsResult } from "../models/models_5"; import { deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand, serializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand, diff --git a/clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts b/clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts index 812ccbe1bea79..8132a38b060b6 100644 --- a/clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts +++ b/clients/client-ec2/src/commands/GetIpamAddressHistoryCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetIpamAddressHistoryRequest, GetIpamAddressHistoryResult } from "../models/models_4"; +import { GetIpamAddressHistoryRequest, GetIpamAddressHistoryResult } from "../models/models_5"; import { deserializeAws_ec2GetIpamAddressHistoryCommand, serializeAws_ec2GetIpamAddressHistoryCommand, diff --git a/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts b/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts index 58650621836c6..5015a7406d84a 100644 --- a/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts +++ b/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetIpamPoolAllocationsRequest, GetIpamPoolAllocationsResult } from "../models/models_4"; +import { GetIpamPoolAllocationsRequest, GetIpamPoolAllocationsResult } from "../models/models_5"; import { deserializeAws_ec2GetIpamPoolAllocationsCommand, serializeAws_ec2GetIpamPoolAllocationsCommand, diff --git a/clients/client-ec2/src/commands/GetIpamPoolCidrsCommand.ts b/clients/client-ec2/src/commands/GetIpamPoolCidrsCommand.ts index ff553a94dc4e0..1b200b61b94a8 100644 --- a/clients/client-ec2/src/commands/GetIpamPoolCidrsCommand.ts +++ b/clients/client-ec2/src/commands/GetIpamPoolCidrsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetIpamPoolCidrsRequest, GetIpamPoolCidrsResult } from "../models/models_4"; +import { GetIpamPoolCidrsRequest, GetIpamPoolCidrsResult } from "../models/models_5"; import { deserializeAws_ec2GetIpamPoolCidrsCommand, serializeAws_ec2GetIpamPoolCidrsCommand, diff --git a/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts b/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts index dff0c8298256a..786c8bcc48118 100644 --- a/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts +++ b/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts @@ -12,8 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetIpamResourceCidrsRequest } from "../models/models_4"; -import { GetIpamResourceCidrsResult } from "../models/models_5"; +import { GetIpamResourceCidrsRequest, GetIpamResourceCidrsResult } from "../models/models_5"; import { deserializeAws_ec2GetIpamResourceCidrsCommand, serializeAws_ec2GetIpamResourceCidrsCommand, diff --git a/clients/client-ec2/src/commands/RestoreAddressToClassicCommand.ts b/clients/client-ec2/src/commands/RestoreAddressToClassicCommand.ts index 6c91c64ae99c7..594e19a3314bb 100644 --- a/clients/client-ec2/src/commands/RestoreAddressToClassicCommand.ts +++ b/clients/client-ec2/src/commands/RestoreAddressToClassicCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RestoreAddressToClassicRequest, RestoreAddressToClassicResult } from "../models/models_5"; +import { RestoreAddressToClassicRequest, RestoreAddressToClassicResult } from "../models/models_6"; import { deserializeAws_ec2RestoreAddressToClassicCommand, serializeAws_ec2RestoreAddressToClassicCommand, diff --git a/clients/client-ec2/src/commands/RestoreManagedPrefixListVersionCommand.ts b/clients/client-ec2/src/commands/RestoreManagedPrefixListVersionCommand.ts index 9e49d4a230dcd..5c064cfb4c3c1 100644 --- a/clients/client-ec2/src/commands/RestoreManagedPrefixListVersionCommand.ts +++ b/clients/client-ec2/src/commands/RestoreManagedPrefixListVersionCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RestoreManagedPrefixListVersionRequest, RestoreManagedPrefixListVersionResult } from "../models/models_5"; +import { RestoreManagedPrefixListVersionRequest, RestoreManagedPrefixListVersionResult } from "../models/models_6"; import { deserializeAws_ec2RestoreManagedPrefixListVersionCommand, serializeAws_ec2RestoreManagedPrefixListVersionCommand, diff --git a/clients/client-ec2/src/commands/RestoreSnapshotFromRecycleBinCommand.ts b/clients/client-ec2/src/commands/RestoreSnapshotFromRecycleBinCommand.ts index b96f003ca4dcd..11953ea50c90c 100644 --- a/clients/client-ec2/src/commands/RestoreSnapshotFromRecycleBinCommand.ts +++ b/clients/client-ec2/src/commands/RestoreSnapshotFromRecycleBinCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RestoreSnapshotFromRecycleBinRequest, RestoreSnapshotFromRecycleBinResult } from "../models/models_5"; +import { RestoreSnapshotFromRecycleBinRequest, RestoreSnapshotFromRecycleBinResult } from "../models/models_6"; import { deserializeAws_ec2RestoreSnapshotFromRecycleBinCommand, serializeAws_ec2RestoreSnapshotFromRecycleBinCommand, diff --git a/clients/client-ec2/src/commands/RestoreSnapshotTierCommand.ts b/clients/client-ec2/src/commands/RestoreSnapshotTierCommand.ts index 1246b131c2fb3..d1c88ca76321b 100644 --- a/clients/client-ec2/src/commands/RestoreSnapshotTierCommand.ts +++ b/clients/client-ec2/src/commands/RestoreSnapshotTierCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RestoreSnapshotTierRequest, RestoreSnapshotTierResult } from "../models/models_5"; +import { RestoreSnapshotTierRequest, RestoreSnapshotTierResult } from "../models/models_6"; import { deserializeAws_ec2RestoreSnapshotTierCommand, serializeAws_ec2RestoreSnapshotTierCommand, diff --git a/clients/client-ec2/src/commands/RevokeClientVpnIngressCommand.ts b/clients/client-ec2/src/commands/RevokeClientVpnIngressCommand.ts index cd7c26ff8acae..32504f1e6e937 100644 --- a/clients/client-ec2/src/commands/RevokeClientVpnIngressCommand.ts +++ b/clients/client-ec2/src/commands/RevokeClientVpnIngressCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RevokeClientVpnIngressRequest, RevokeClientVpnIngressResult } from "../models/models_5"; +import { RevokeClientVpnIngressRequest, RevokeClientVpnIngressResult } from "../models/models_6"; import { deserializeAws_ec2RevokeClientVpnIngressCommand, serializeAws_ec2RevokeClientVpnIngressCommand, diff --git a/clients/client-ec2/src/commands/RevokeSecurityGroupEgressCommand.ts b/clients/client-ec2/src/commands/RevokeSecurityGroupEgressCommand.ts index ca5a40eb07804..81b5feabfbe56 100644 --- a/clients/client-ec2/src/commands/RevokeSecurityGroupEgressCommand.ts +++ b/clients/client-ec2/src/commands/RevokeSecurityGroupEgressCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RevokeSecurityGroupEgressRequest, RevokeSecurityGroupEgressResult } from "../models/models_5"; +import { RevokeSecurityGroupEgressRequest, RevokeSecurityGroupEgressResult } from "../models/models_6"; import { deserializeAws_ec2RevokeSecurityGroupEgressCommand, serializeAws_ec2RevokeSecurityGroupEgressCommand, diff --git a/clients/client-ec2/src/commands/RevokeSecurityGroupIngressCommand.ts b/clients/client-ec2/src/commands/RevokeSecurityGroupIngressCommand.ts index d5b1e413da05f..16bc6469fe8bc 100644 --- a/clients/client-ec2/src/commands/RevokeSecurityGroupIngressCommand.ts +++ b/clients/client-ec2/src/commands/RevokeSecurityGroupIngressCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RevokeSecurityGroupIngressRequest, RevokeSecurityGroupIngressResult } from "../models/models_5"; +import { RevokeSecurityGroupIngressRequest, RevokeSecurityGroupIngressResult } from "../models/models_6"; import { deserializeAws_ec2RevokeSecurityGroupIngressCommand, serializeAws_ec2RevokeSecurityGroupIngressCommand, diff --git a/clients/client-ec2/src/commands/index.ts b/clients/client-ec2/src/commands/index.ts index f909da648f420..a14cd4a17593a 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -208,6 +208,7 @@ export * from "./DescribeEgressOnlyInternetGatewaysCommand"; export * from "./DescribeElasticGpusCommand"; export * from "./DescribeExportImageTasksCommand"; export * from "./DescribeExportTasksCommand"; +export * from "./DescribeFastLaunchImagesCommand"; export * from "./DescribeFastSnapshotRestoresCommand"; export * from "./DescribeFleetHistoryCommand"; export * from "./DescribeFleetInstancesCommand"; @@ -322,6 +323,7 @@ export * from "./DetachNetworkInterfaceCommand"; export * from "./DetachVolumeCommand"; export * from "./DetachVpnGatewayCommand"; export * from "./DisableEbsEncryptionByDefaultCommand"; +export * from "./DisableFastLaunchCommand"; export * from "./DisableFastSnapshotRestoresCommand"; export * from "./DisableImageDeprecationCommand"; export * from "./DisableIpamOrganizationAdminAccountCommand"; @@ -342,6 +344,7 @@ export * from "./DisassociateTransitGatewayRouteTableCommand"; export * from "./DisassociateTrunkInterfaceCommand"; export * from "./DisassociateVpcCidrBlockCommand"; export * from "./EnableEbsEncryptionByDefaultCommand"; +export * from "./EnableFastLaunchCommand"; export * from "./EnableFastSnapshotRestoresCommand"; export * from "./EnableImageDeprecationCommand"; export * from "./EnableIpamOrganizationAdminAccountCommand"; diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index 2b5b8240fb91b..f1cf7bfaaec91 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -5000,8 +5000,8 @@ export interface BundleInstanceRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -5132,8 +5132,8 @@ export interface CancelBundleTaskRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -6015,8 +6015,8 @@ export interface CopyImageRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -6192,6 +6192,12 @@ export enum CapacityReservationInstancePlatform { LINUX_WITH_SQL_SERVER_STANDARD = "Linux with SQL Server Standard", LINUX_WITH_SQL_SERVER_WEB = "Linux with SQL Server Web", RED_HAT_ENTERPRISE_LINUX = "Red Hat Enterprise Linux", + RHEL_WITH_HA = "RHEL with HA", + RHEL_WITH_HA_AND_SQL_SERVER_ENTERPRISE = "RHEL with HA and SQL Server Enterprise", + RHEL_WITH_HA_AND_SQL_SERVER_STANDARD = "RHEL with HA and SQL Server Standard", + RHEL_WITH_SQL_SERVER_ENTERPRISE = "RHEL with SQL Server Enterprise", + RHEL_WITH_SQL_SERVER_STANDARD = "RHEL with SQL Server Standard", + RHEL_WITH_SQL_SERVER_WEB = "RHEL with SQL Server Web", SUSE_LINUX = "SUSE Linux", WINDOWS = "Windows", WINDOWS_WITH_SQL_SERVER = "Windows with SQL Server", @@ -6667,6 +6673,7 @@ export type _InstanceType = | "c6i.4xlarge" | "c6i.8xlarge" | "c6i.large" + | "c6i.metal" | "c6i.xlarge" | "cc1.4xlarge" | "cc2.8xlarge" @@ -6727,6 +6734,7 @@ export type _InstanceType = | "h1.4xlarge" | "h1.8xlarge" | "hi1.4xlarge" + | "hpc6a.48xlarge" | "hs1.8xlarge" | "i2.2xlarge" | "i2.4xlarge" @@ -6875,6 +6883,7 @@ export type _InstanceType = | "m6i.4xlarge" | "m6i.8xlarge" | "m6i.large" + | "m6i.metal" | "m6i.xlarge" | "mac1.metal" | "p2.16xlarge" @@ -6975,6 +6984,16 @@ export type _InstanceType = | "r6gd.medium" | "r6gd.metal" | "r6gd.xlarge" + | "r6i.12xlarge" + | "r6i.16xlarge" + | "r6i.24xlarge" + | "r6i.2xlarge" + | "r6i.32xlarge" + | "r6i.4xlarge" + | "r6i.8xlarge" + | "r6i.large" + | "r6i.metal" + | "r6i.xlarge" | "t1.micro" | "t2.2xlarge" | "t2.large" @@ -7560,6 +7579,20 @@ export namespace ClientConnectOptions { }); } +export interface ClientLoginBannerOptions { + Enabled?: boolean; + BannerText?: string; +} + +export namespace ClientLoginBannerOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClientLoginBannerOptions): any => ({ + ...obj, + }); +} + /** *

    Describes the client connection logging options for the Client VPN endpoint.

    */ @@ -7702,6 +7735,9 @@ export interface CreateClientVpnEndpointRequest { *

    The options for managing connection authorization for new client connections.

    */ ClientConnectOptions?: ClientConnectOptions; + + SessionTimeoutHours?: number; + ClientLoginBannerOptions?: ClientLoginBannerOptions; } export namespace CreateClientVpnEndpointRequest { @@ -8688,8 +8724,3 @@ export enum LocalStorage { INCLUDED = "included", REQUIRED = "required", } - -export enum LocalStorageType { - HDD = "hdd", - SSD = "ssd", -} diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index 5ab5fed09d47d..befc00275856c 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -29,7 +29,6 @@ import { InternetGatewayAttachment, Ipv4PrefixSpecification, LocalStorage, - LocalStorageType, PortRange, Protocol, ReservedInstancesListing, @@ -44,6 +43,11 @@ import { WeekDay, } from "./models_0"; +export enum LocalStorageType { + HDD = "hdd", + SSD = "ssd", +} + /** *

    The minimum and maximum amount of memory per vCPU, in GiB.

    */ @@ -2304,8 +2308,8 @@ export interface CreateImageRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; @@ -8011,8 +8015,8 @@ export interface CreateRestoreImageTaskRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -9012,8 +9016,8 @@ export interface CreateStoreImageTaskRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -10332,5 +10336,3 @@ export namespace CreateTransitGatewayConnectPeerRequest { ...obj, }); } - -export type BgpStatus = "down" | "up"; diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 9fb0cfcb1a545..997b9a0c21ea4 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -36,7 +36,6 @@ import { VpcPeeringConnection, } from "./models_0"; import { - BgpStatus, DiskImageFormat, GroupIdentifier, Ipam, @@ -46,7 +45,6 @@ import { LocalGatewayRoute, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, - PlatformValues, ProtocolValue, SubnetCidrReservation, TransitGateway, @@ -54,6 +52,8 @@ import { VolumeType, } from "./models_1"; +export type BgpStatus = "down" | "up"; + /** *

    The BGP configuration information.

    */ @@ -5870,8 +5870,8 @@ export interface DeregisterImageRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -6702,8 +6702,8 @@ export interface DescribeBundleTasksRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -7907,6 +7907,20 @@ export namespace ClientConnectResponseOptions { }); } +export interface ClientLoginBannerResponseOptions { + Enabled?: boolean; + BannerText?: string; +} + +export namespace ClientLoginBannerResponseOptions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClientLoginBannerResponseOptions): any => ({ + ...obj, + }); +} + /** *

    Information about the client connection logging options for a Client VPN endpoint.

    */ @@ -8050,6 +8064,9 @@ export interface ClientVpnEndpoint { *

    The options for managing connection authorization for new client connections.

    */ ClientConnectOptions?: ClientConnectResponseOptions; + + SessionTimeoutHours?: number; + ClientLoginBannerOptions?: ClientLoginBannerResponseOptions; } export namespace ClientVpnEndpoint { @@ -8521,86 +8538,3 @@ export namespace DiskImageVolumeDescription { ...obj, }); } - -/** - *

    Describes an import volume task.

    - */ -export interface ImportInstanceVolumeDetailItem { - /** - *

    The Availability Zone where the resulting instance will reside.

    - */ - AvailabilityZone?: string; - - /** - *

    The number of bytes converted so far.

    - */ - BytesConverted?: number; - - /** - *

    A description of the task.

    - */ - Description?: string; - - /** - *

    The image.

    - */ - Image?: DiskImageDescription; - - /** - *

    The status of the import of this particular disk image.

    - */ - Status?: string; - - /** - *

    The status information or errors related to the disk image.

    - */ - StatusMessage?: string; - - /** - *

    The volume.

    - */ - Volume?: DiskImageVolumeDescription; -} - -export namespace ImportInstanceVolumeDetailItem { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ImportInstanceVolumeDetailItem): any => ({ - ...obj, - }); -} - -/** - *

    Describes an import instance task.

    - */ -export interface ImportInstanceTaskDetails { - /** - *

    A description of the task.

    - */ - Description?: string; - - /** - *

    The ID of the instance.

    - */ - InstanceId?: string; - - /** - *

    The instance operating system.

    - */ - Platform?: PlatformValues | string; - - /** - *

    The volumes.

    - */ - Volumes?: ImportInstanceVolumeDetailItem[]; -} - -export namespace ImportInstanceTaskDetails { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ImportInstanceTaskDetails): any => ({ - ...obj, - }); -} diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 75d58582f164b..81a1d708dc35f 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -23,9 +23,7 @@ import { InstanceEventWindow, PathComponent, PortRange, - ReservedInstancesListing, Tag, - Tenancy, } from "./models_0"; import { BlockDeviceMapping, @@ -77,10 +75,92 @@ import { Filter, FleetStateCode, IdFormat, - ImportInstanceTaskDetails, InstanceTagNotificationAttribute, } from "./models_2"; +/** + *

    Describes an import volume task.

    + */ +export interface ImportInstanceVolumeDetailItem { + /** + *

    The Availability Zone where the resulting instance will reside.

    + */ + AvailabilityZone?: string; + + /** + *

    The number of bytes converted so far.

    + */ + BytesConverted?: number; + + /** + *

    A description of the task.

    + */ + Description?: string; + + /** + *

    The image.

    + */ + Image?: DiskImageDescription; + + /** + *

    The status of the import of this particular disk image.

    + */ + Status?: string; + + /** + *

    The status information or errors related to the disk image.

    + */ + StatusMessage?: string; + + /** + *

    The volume.

    + */ + Volume?: DiskImageVolumeDescription; +} + +export namespace ImportInstanceVolumeDetailItem { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ImportInstanceVolumeDetailItem): any => ({ + ...obj, + }); +} + +/** + *

    Describes an import instance task.

    + */ +export interface ImportInstanceTaskDetails { + /** + *

    A description of the task.

    + */ + Description?: string; + + /** + *

    The ID of the instance.

    + */ + InstanceId?: string; + + /** + *

    The instance operating system.

    + */ + Platform?: PlatformValues | string; + + /** + *

    The volumes.

    + */ + Volumes?: ImportInstanceVolumeDetailItem[]; +} + +export namespace ImportInstanceTaskDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ImportInstanceTaskDetails): any => ({ + ...obj, + }); +} + /** *

    Describes an import volume task.

    */ @@ -785,6 +865,211 @@ export namespace DescribeExportTasksResult { }); } +export interface DescribeFastLaunchImagesRequest { + /** + *

    Details for one or more Windows AMI image IDs.

    + */ + ImageIds?: string[]; + + /** + *

    Use the following filters to streamline results.

    + *
      + *
    • + *

      + * resource-type - The resource type for pre-provisioning.

      + *
    • + *
    • + *

      + * launch-template - The launch template that is associated with the pre-provisioned Windows AMI.

      + *
    • + *
    • + *

      + * owner-id - The owner ID for the pre-provisioning resource.

      + *
    • + *
    • + *

      + * state - The current state of fast launching for the Windows AMI.

      + *
    • + *
    + */ + Filters?: Filter[]; + + /** + *

    The maximum number of results to return in a single call. To retrieve the remaining results, + * make another request with the returned NextToken value. If this parameter is not specified, + * then all results are returned.

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

    The token for the next set of results.

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

    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 DescribeFastLaunchImagesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeFastLaunchImagesRequest): any => ({ + ...obj, + }); +} + +/** + *

    Identifies the launch template to use for faster launching of the Windows AMI.

    + */ +export interface FastLaunchLaunchTemplateSpecificationResponse { + /** + *

    The ID of the launch template for faster launching of the associated Windows AMI.

    + */ + LaunchTemplateId?: string; + + /** + *

    The name of the launch template for faster launching of the associated Windows AMI.

    + */ + LaunchTemplateName?: string; + + /** + *

    The version of the launch template for faster launching of the associated Windows AMI.

    + */ + Version?: string; +} + +export namespace FastLaunchLaunchTemplateSpecificationResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: FastLaunchLaunchTemplateSpecificationResponse): any => ({ + ...obj, + }); +} + +export enum FastLaunchResourceType { + SNAPSHOT = "snapshot", +} + +/** + *

    Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

    + */ +export interface FastLaunchSnapshotConfigurationResponse { + /** + *

    The number of pre-provisioned snapshots requested to keep on hand for a fast-launch enabled Windows AMI.

    + */ + TargetResourceCount?: number; +} + +export namespace FastLaunchSnapshotConfigurationResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: FastLaunchSnapshotConfigurationResponse): any => ({ + ...obj, + }); +} + +export enum FastLaunchStateCode { + disabling = "disabling", + disabling_failed = "disabling-failed", + enabled = "enabled", + enabled_failed = "enabled-failed", + enabling = "enabling", + enabling_failed = "enabling-failed", +} + +/** + *

    Describe details about a fast-launch enabled Windows image that meets the requested + * criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

    + */ +export interface DescribeFastLaunchImagesSuccessItem { + /** + *

    The image ID that identifies the fast-launch enabled Windows image.

    + */ + ImageId?: string; + + /** + *

    The resource type that is used for pre-provisioning the Windows AMI. Supported values + * include: snapshot.

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

    A group of parameters that are used for pre-provisioning the associated + * Windows AMI using snapshots.

    + */ + SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse; + + /** + *

    The launch template that the fast-launch enabled Windows AMI uses when it launches + * Windows instances from pre-provisioned snapshots.

    + */ + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse; + + /** + *

    The maximum number of parallel instances that are launched for creating resources.

    + */ + MaxParallelLaunches?: number; + + /** + *

    The owner ID for the fast-launch enabled Windows AMI.

    + */ + OwnerId?: string; + + /** + *

    The current state of faster launching for the specified Windows AMI.

    + */ + State?: FastLaunchStateCode | string; + + /** + *

    The reason that faster launching for the Windows AMI changed to the current state.

    + */ + StateTransitionReason?: string; + + /** + *

    The time that faster launching for the Windows AMI changed to the current state.

    + */ + StateTransitionTime?: Date; +} + +export namespace DescribeFastLaunchImagesSuccessItem { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeFastLaunchImagesSuccessItem): any => ({ + ...obj, + }); +} + +export interface DescribeFastLaunchImagesResult { + /** + *

    A collection of details about the fast-launch enabled Windows images that meet + * the requested criteria.

    + */ + FastLaunchImages?: DescribeFastLaunchImagesSuccessItem[]; + + /** + *

    The token to use for the next set of results. This value is null when there are + * no more results to return.

    + */ + NextToken?: string; +} + +export namespace DescribeFastLaunchImagesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeFastLaunchImagesResult): any => ({ + ...obj, + }); +} + export interface DescribeFastSnapshotRestoresRequest { /** *

    The filters. The possible values are:

    @@ -3440,8 +3725,8 @@ export interface DescribeImageAttributeRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -3750,8 +4035,8 @@ export interface DescribeImagesRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -11679,357 +11964,3 @@ export namespace DescribeReservedInstancesRequest { export type RIProductDescription = "Linux/UNIX" | "Linux/UNIX (Amazon VPC)" | "Windows" | "Windows (Amazon VPC)"; export type RecurringChargeFrequency = "Hourly"; - -/** - *

    Describes a recurring charge.

    - */ -export interface RecurringCharge { - /** - *

    The amount of the recurring charge.

    - */ - Amount?: number; - - /** - *

    The frequency of the recurring charge.

    - */ - Frequency?: RecurringChargeFrequency | string; -} - -export namespace RecurringCharge { - /** - * @internal - */ - export const filterSensitiveLog = (obj: RecurringCharge): any => ({ - ...obj, - }); -} - -export enum Scope { - AVAILABILITY_ZONE = "Availability Zone", - REGIONAL = "Region", -} - -export type ReservedInstanceState = - | "active" - | "payment-failed" - | "payment-pending" - | "queued" - | "queued-deleted" - | "retired"; - -/** - *

    Describes a Reserved Instance.

    - */ -export interface ReservedInstances { - /** - *

    The Availability Zone in which the Reserved Instance can be used.

    - */ - AvailabilityZone?: string; - - /** - *

    The duration of the Reserved Instance, in seconds.

    - */ - Duration?: number; - - /** - *

    The time when the Reserved Instance expires.

    - */ - End?: Date; - - /** - *

    The purchase price of the Reserved Instance.

    - */ - FixedPrice?: number; - - /** - *

    The number of reservations purchased.

    - */ - InstanceCount?: number; - - /** - *

    The instance type on which the Reserved Instance can be used.

    - */ - InstanceType?: _InstanceType | string; - - /** - *

    The Reserved Instance product platform description.

    - */ - ProductDescription?: RIProductDescription | string; - - /** - *

    The ID of the Reserved Instance.

    - */ - ReservedInstancesId?: string; - - /** - *

    The date and time the Reserved Instance started.

    - */ - Start?: Date; - - /** - *

    The state of the Reserved Instance purchase.

    - */ - State?: ReservedInstanceState | string; - - /** - *

    The usage price of the Reserved Instance, per hour.

    - */ - UsagePrice?: number; - - /** - *

    The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. - * At this time, the only supported currency is USD.

    - */ - CurrencyCode?: CurrencyCodeValues | string; - - /** - *

    The tenancy of the instance.

    - */ - InstanceTenancy?: Tenancy | string; - - /** - *

    The offering class of the Reserved Instance.

    - */ - OfferingClass?: OfferingClassType | string; - - /** - *

    The Reserved Instance offering type.

    - */ - OfferingType?: OfferingTypeValues | string; - - /** - *

    The recurring charge tag assigned to the resource.

    - */ - RecurringCharges?: RecurringCharge[]; - - /** - *

    The scope of the Reserved Instance.

    - */ - Scope?: Scope | string; - - /** - *

    Any tags assigned to the resource.

    - */ - Tags?: Tag[]; -} - -export namespace ReservedInstances { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ReservedInstances): any => ({ - ...obj, - }); -} - -/** - *

    Contains the output for DescribeReservedInstances.

    - */ -export interface DescribeReservedInstancesResult { - /** - *

    A list of Reserved Instances.

    - */ - ReservedInstances?: ReservedInstances[]; -} - -export namespace DescribeReservedInstancesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesResult): any => ({ - ...obj, - }); -} - -/** - *

    Contains the parameters for DescribeReservedInstancesListings.

    - */ -export interface DescribeReservedInstancesListingsRequest { - /** - *

    One or more filters.

    - *
      - *
    • - *

      - * reserved-instances-id - The ID of the Reserved Instances.

      - *
    • - *
    • - *

      - * reserved-instances-listing-id - The ID of the Reserved Instances listing.

      - *
    • - *
    • - *

      - * status - The status of the Reserved Instance listing (pending | active | - * cancelled | closed).

      - *
    • - *
    • - *

      - * status-message - The reason for the status.

      - *
    • - *
    - */ - Filters?: Filter[]; - - /** - *

    One or more Reserved Instance IDs.

    - */ - ReservedInstancesId?: string; - - /** - *

    One or more Reserved Instance listing IDs.

    - */ - ReservedInstancesListingId?: string; -} - -export namespace DescribeReservedInstancesListingsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsRequest): any => ({ - ...obj, - }); -} - -/** - *

    Contains the output of DescribeReservedInstancesListings.

    - */ -export interface DescribeReservedInstancesListingsResult { - /** - *

    Information about the Reserved Instance listing.

    - */ - ReservedInstancesListings?: ReservedInstancesListing[]; -} - -export namespace DescribeReservedInstancesListingsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsResult): any => ({ - ...obj, - }); -} - -/** - *

    Contains the parameters for DescribeReservedInstancesModifications.

    - */ -export interface DescribeReservedInstancesModificationsRequest { - /** - *

    One or more filters.

    - *
      - *
    • - *

      - * client-token - The idempotency token for the modification request.

      - *
    • - *
    • - *

      - * create-date - The time when the modification request was created.

      - *
    • - *
    • - *

      - * effective-date - The time when the modification becomes effective.

      - *
    • - *
    • - *

      - * modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

      - *
    • - *
    • - *

      - * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

      - *
    • - *
    • - *

      - * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

      - *
    • - *
    • - *

      - * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

      - *
    • - *
    • - *

      - * modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

      - *
    • - *
    • - *

      - * reserved-instances-id - The ID of the Reserved Instances modified.

      - *
    • - *
    • - *

      - * reserved-instances-modification-id - The ID of the modification request.

      - *
    • - *
    • - *

      - * status - The status of the Reserved Instances modification request - * (processing | fulfilled | failed).

      - *
    • - *
    • - *

      - * status-message - The reason for the status.

      - *
    • - *
    • - *

      - * update-date - The time when the modification request was last updated.

      - *
    • - *
    - */ - Filters?: Filter[]; - - /** - *

    IDs for the submitted modification request.

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

    The token to retrieve the next page of results.

    - */ - NextToken?: string; -} - -export namespace DescribeReservedInstancesModificationsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsRequest): any => ({ - ...obj, - }); -} - -/** - *

    Describes the configuration settings for the modified Reserved Instances.

    - */ -export interface ReservedInstancesConfiguration { - /** - *

    The Availability Zone for the modified Reserved Instances.

    - */ - AvailabilityZone?: string; - - /** - *

    The number of modified Reserved Instances.

    - * - *

    This is a required field for a request.

    - *
    - */ - InstanceCount?: number; - - /** - *

    The instance type for the modified Reserved Instances.

    - */ - InstanceType?: _InstanceType | string; - - /** - *

    The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

    - */ - Platform?: string; - - /** - *

    Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

    - */ - Scope?: Scope | string; -} - -export namespace ReservedInstancesConfiguration { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ReservedInstancesConfiguration): any => ({ - ...obj, - }); -} diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index f26ae106d0ffd..b4f9a7d761a15 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -11,8 +11,8 @@ import { IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, - IpamPoolAllocation, IpPermission, + ReservedInstancesListing, ResourceType, SecurityGroupRule, Subnet, @@ -47,7 +47,6 @@ import { Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, PrivateIpAddressSpecification, - RequestIpamResourceTag, RouteTable, Snapshot, SnapshotState, @@ -68,7 +67,6 @@ import { DnsEntry, DnsNameState, Filter, - IpamPoolCidr, PayerResponsibility, ServiceConfiguration, ServiceTypeDetail, @@ -86,290 +84,646 @@ import { AttributeBooleanValue, EventInformation, ExportTaskS3Location, + FastLaunchLaunchTemplateSpecificationResponse, + FastLaunchResourceType, + FastLaunchSnapshotConfigurationResponse, + FastLaunchStateCode, FastSnapshotRestoreStateCode, OfferingClassType, OfferingTypeValues, PaymentOption, PermissionGroup, ProductCode, - RecurringCharge, - ReservedInstancesConfiguration, + RecurringChargeFrequency, RIProductDescription, - Scope, VirtualizationType, } from "./models_3"; /** - *

    Describes the modification request/s.

    + *

    Describes a recurring charge.

    */ -export interface ReservedInstancesModificationResult { +export interface RecurringCharge { /** - *

    The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

    + *

    The amount of the recurring charge.

    */ - ReservedInstancesId?: string; + Amount?: number; /** - *

    The target Reserved Instances configurations supplied as part of the modification request.

    + *

    The frequency of the recurring charge.

    */ - TargetConfiguration?: ReservedInstancesConfiguration; + Frequency?: RecurringChargeFrequency | string; } -export namespace ReservedInstancesModificationResult { +export namespace RecurringCharge { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesModificationResult): any => ({ + export const filterSensitiveLog = (obj: RecurringCharge): any => ({ ...obj, }); } +export enum Scope { + AVAILABILITY_ZONE = "Availability Zone", + REGIONAL = "Region", +} + +export type ReservedInstanceState = + | "active" + | "payment-failed" + | "payment-pending" + | "queued" + | "queued-deleted" + | "retired"; + /** - *

    Describes the ID of a Reserved Instance.

    + *

    Describes a Reserved Instance.

    */ -export interface ReservedInstancesId { +export interface ReservedInstances { + /** + *

    The Availability Zone in which the Reserved Instance can be used.

    + */ + AvailabilityZone?: string; + + /** + *

    The duration of the Reserved Instance, in seconds.

    + */ + Duration?: number; + + /** + *

    The time when the Reserved Instance expires.

    + */ + End?: Date; + + /** + *

    The purchase price of the Reserved Instance.

    + */ + FixedPrice?: number; + + /** + *

    The number of reservations purchased.

    + */ + InstanceCount?: number; + + /** + *

    The instance type on which the Reserved Instance can be used.

    + */ + InstanceType?: _InstanceType | string; + + /** + *

    The Reserved Instance product platform description.

    + */ + ProductDescription?: RIProductDescription | string; + /** *

    The ID of the Reserved Instance.

    */ ReservedInstancesId?: string; -} -export namespace ReservedInstancesId { /** - * @internal + *

    The date and time the Reserved Instance started.

    */ - export const filterSensitiveLog = (obj: ReservedInstancesId): any => ({ - ...obj, - }); -} + Start?: Date; -/** - *

    Describes a Reserved Instance modification.

    - */ -export interface ReservedInstancesModification { /** - *

    A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. - * For more information, see Ensuring - * Idempotency.

    + *

    The state of the Reserved Instance purchase.

    */ - ClientToken?: string; + State?: ReservedInstanceState | string; /** - *

    The time when the modification request was created.

    + *

    The usage price of the Reserved Instance, per hour.

    */ - CreateDate?: Date; + UsagePrice?: number; /** - *

    The time for the modification to become effective.

    + *

    The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. + * At this time, the only supported currency is USD.

    */ - EffectiveDate?: Date; + CurrencyCode?: CurrencyCodeValues | string; /** - *

    Contains target configurations along with their corresponding new Reserved Instance IDs.

    + *

    The tenancy of the instance.

    */ - ModificationResults?: ReservedInstancesModificationResult[]; + InstanceTenancy?: Tenancy | string; /** - *

    The IDs of one or more Reserved Instances.

    + *

    The offering class of the Reserved Instance.

    */ - ReservedInstancesIds?: ReservedInstancesId[]; + OfferingClass?: OfferingClassType | string; /** - *

    A unique ID for the Reserved Instance modification.

    + *

    The Reserved Instance offering type.

    */ - ReservedInstancesModificationId?: string; + OfferingType?: OfferingTypeValues | string; /** - *

    The status of the Reserved Instances modification request.

    + *

    The recurring charge tag assigned to the resource.

    */ - Status?: string; + RecurringCharges?: RecurringCharge[]; /** - *

    The reason for the status.

    + *

    The scope of the Reserved Instance.

    */ - StatusMessage?: string; + Scope?: Scope | string; /** - *

    The time when the modification request was last updated.

    + *

    Any tags assigned to the resource.

    */ - UpdateDate?: Date; + Tags?: Tag[]; } -export namespace ReservedInstancesModification { +export namespace ReservedInstances { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesModification): any => ({ + export const filterSensitiveLog = (obj: ReservedInstances): any => ({ ...obj, }); } /** - *

    Contains the output of DescribeReservedInstancesModifications.

    + *

    Contains the output for DescribeReservedInstances.

    */ -export interface DescribeReservedInstancesModificationsResult { +export interface DescribeReservedInstancesResult { /** - *

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

    + *

    A list of Reserved Instances.

    */ - NextToken?: string; + ReservedInstances?: ReservedInstances[]; +} +export namespace DescribeReservedInstancesResult { /** - *

    The Reserved Instance modification information.

    + * @internal */ - ReservedInstancesModifications?: ReservedInstancesModification[]; + export const filterSensitiveLog = (obj: DescribeReservedInstancesResult): any => ({ + ...obj, + }); } -export namespace DescribeReservedInstancesModificationsResult { +/** + *

    Contains the parameters for DescribeReservedInstancesListings.

    + */ +export interface DescribeReservedInstancesListingsRequest { + /** + *

    One or more filters.

    + *
      + *
    • + *

      + * reserved-instances-id - The ID of the Reserved Instances.

      + *
    • + *
    • + *

      + * reserved-instances-listing-id - The ID of the Reserved Instances listing.

      + *
    • + *
    • + *

      + * status - The status of the Reserved Instance listing (pending | active | + * cancelled | closed).

      + *
    • + *
    • + *

      + * status-message - The reason for the status.

      + *
    • + *
    + */ + Filters?: Filter[]; + + /** + *

    One or more Reserved Instance IDs.

    + */ + ReservedInstancesId?: string; + + /** + *

    One or more Reserved Instance listing IDs.

    + */ + ReservedInstancesListingId?: string; +} + +export namespace DescribeReservedInstancesListingsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsRequest): any => ({ ...obj, }); } /** - *

    Contains the parameters for DescribeReservedInstancesOfferings.

    + *

    Contains the output of DescribeReservedInstancesListings.

    */ -export interface DescribeReservedInstancesOfferingsRequest { +export interface DescribeReservedInstancesListingsResult { /** - *

    The Availability Zone in which the Reserved Instance can be used.

    + *

    Information about the Reserved Instance listing.

    */ - AvailabilityZone?: string; + ReservedInstancesListings?: ReservedInstancesListing[]; +} + +export namespace DescribeReservedInstancesListingsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsResult): any => ({ + ...obj, + }); +} +/** + *

    Contains the parameters for DescribeReservedInstancesModifications.

    + */ +export interface DescribeReservedInstancesModificationsRequest { /** *

    One or more filters.

    *
      *
    • *

      - * availability-zone - The Availability Zone where the Reserved Instance can be - * used.

      + * client-token - The idempotency token for the modification request.

      *
    • *
    • *

      - * duration - The duration of the Reserved Instance (for example, one year or - * three years), in seconds (31536000 | 94608000).

      + * create-date - The time when the modification request was created.

      *
    • *
    • *

      - * fixed-price - The purchase price of the Reserved Instance (for example, - * 9800.0).

      + * effective-date - The time when the modification becomes effective.

      *
    • *
    • *

      - * instance-type - The instance type that is covered by the - * reservation.

      + * modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

      *
    • *
    • *

      - * marketplace - Set to true to show only Reserved Instance - * Marketplace offerings. When this filter is not used, which is the default behavior, all - * offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

      + * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

      *
    • *
    • *

      - * product-description - The Reserved Instance product platform description. - * Instances that include (Amazon VPC) in the product platform description will - * only be displayed to EC2-Classic account holders and are for use with Amazon VPC. - * (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE - * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise - * Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat - * Enterprise Linux with HA (Amazon VPC) | Windows | Windows - * (Amazon VPC) | Windows with SQL Server Standard | Windows with - * SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | - * Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server - * Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

      + * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

      *
    • *
    • *

      - * reserved-instances-offering-id - The Reserved Instances offering - * ID.

      + * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

      *
    • *
    • *

      - * scope - The scope of the Reserved Instance (Availability Zone or - * Region).

      + * modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

      *
    • *
    • *

      - * usage-price - The usage price of the Reserved Instance, per hour (for - * example, 0.84).

      + * reserved-instances-id - The ID of the Reserved Instances modified.

      + *
    • + *
    • + *

      + * reserved-instances-modification-id - The ID of the modification request.

      + *
    • + *
    • + *

      + * status - The status of the Reserved Instances modification request + * (processing | fulfilled | failed).

      + *
    • + *
    • + *

      + * status-message - The reason for the status.

      + *
    • + *
    • + *

      + * update-date - The time when the modification request was last updated.

      *
    • *
    */ Filters?: Filter[]; /** - *

    Include Reserved Instance Marketplace offerings in the response.

    + *

    IDs for the submitted modification request.

    */ - IncludeMarketplace?: boolean; + ReservedInstancesModificationIds?: string[]; /** - *

    The instance type that the reservation will cover (for example, m1.small). For more information, see - * Instance types in the - * Amazon EC2 User Guide.

    + *

    The token to retrieve the next page of results.

    */ - InstanceType?: _InstanceType | string; + NextToken?: string; +} +export namespace DescribeReservedInstancesModificationsRequest { /** - *

    The maximum duration (in seconds) to filter when searching for offerings.

    - *

    Default: 94608000 (3 years)

    + * @internal */ - MaxDuration?: number; + export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsRequest): any => ({ + ...obj, + }); +} +/** + *

    Describes the configuration settings for the modified Reserved Instances.

    + */ +export interface ReservedInstancesConfiguration { /** - *

    The maximum number of instances to filter when searching for offerings.

    - *

    Default: 20

    + *

    The Availability Zone for the modified Reserved Instances.

    */ - MaxInstanceCount?: number; + AvailabilityZone?: string; /** - *

    The minimum duration (in seconds) to filter when searching for offerings.

    - *

    Default: 2592000 (1 month)

    + *

    The number of modified Reserved Instances.

    + * + *

    This is a required field for a request.

    + *
    */ - MinDuration?: number; + InstanceCount?: number; /** - *

    The offering class of the Reserved Instance. Can be standard or convertible.

    + *

    The instance type for the modified Reserved Instances.

    */ - OfferingClass?: OfferingClassType | string; + InstanceType?: _InstanceType | string; /** - *

    The Reserved Instance product platform description. Instances that include (Amazon - * VPC) in the description are for use with Amazon VPC.

    + *

    The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

    */ - ProductDescription?: RIProductDescription | string; + Platform?: string; /** - *

    One or more Reserved Instances offering IDs.

    + *

    Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

    */ - ReservedInstancesOfferingIds?: string[]; + Scope?: Scope | string; +} +export namespace ReservedInstancesConfiguration { /** - *

    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.

    + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: ReservedInstancesConfiguration): any => ({ + ...obj, + }); +} +/** + *

    Describes the modification request/s.

    + */ +export interface ReservedInstancesModificationResult { /** - *

    The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy - * of dedicated is applied to instances that run in a VPC on single-tenant hardware - * (i.e., Dedicated Instances).

    - *

    - * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

    - *

    Default: default - *

    + *

    The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

    */ - InstanceTenancy?: Tenancy | string; + ReservedInstancesId?: string; /** - *

    The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. The maximum is 100.

    - *

    Default: 100

    + *

    The target Reserved Instances configurations supplied as part of the modification request.

    */ - MaxResults?: number; + TargetConfiguration?: ReservedInstancesConfiguration; +} + +export namespace ReservedInstancesModificationResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReservedInstancesModificationResult): any => ({ + ...obj, + }); +} + +/** + *

    Describes the ID of a Reserved Instance.

    + */ +export interface ReservedInstancesId { + /** + *

    The ID of the Reserved Instance.

    + */ + ReservedInstancesId?: string; +} + +export namespace ReservedInstancesId { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReservedInstancesId): any => ({ + ...obj, + }); +} + +/** + *

    Describes a Reserved Instance modification.

    + */ +export interface ReservedInstancesModification { + /** + *

    A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. + * For more information, see Ensuring + * Idempotency.

    + */ + ClientToken?: string; + + /** + *

    The time when the modification request was created.

    + */ + CreateDate?: Date; + + /** + *

    The time for the modification to become effective.

    + */ + EffectiveDate?: Date; + + /** + *

    Contains target configurations along with their corresponding new Reserved Instance IDs.

    + */ + ModificationResults?: ReservedInstancesModificationResult[]; + + /** + *

    The IDs of one or more Reserved Instances.

    + */ + ReservedInstancesIds?: ReservedInstancesId[]; + + /** + *

    A unique ID for the Reserved Instance modification.

    + */ + ReservedInstancesModificationId?: string; + + /** + *

    The status of the Reserved Instances modification request.

    + */ + Status?: string; + + /** + *

    The reason for the status.

    + */ + StatusMessage?: string; + + /** + *

    The time when the modification request was last updated.

    + */ + UpdateDate?: Date; +} + +export namespace ReservedInstancesModification { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReservedInstancesModification): any => ({ + ...obj, + }); +} + +/** + *

    Contains the output of DescribeReservedInstancesModifications.

    + */ +export interface DescribeReservedInstancesModificationsResult { + /** + *

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

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

    The Reserved Instance modification information.

    + */ + ReservedInstancesModifications?: ReservedInstancesModification[]; +} + +export namespace DescribeReservedInstancesModificationsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsResult): any => ({ + ...obj, + }); +} + +/** + *

    Contains the parameters for DescribeReservedInstancesOfferings.

    + */ +export interface DescribeReservedInstancesOfferingsRequest { + /** + *

    The Availability Zone in which the Reserved Instance can be used.

    + */ + AvailabilityZone?: string; + + /** + *

    One or more filters.

    + *
      + *
    • + *

      + * availability-zone - The Availability Zone where the Reserved Instance can be + * used.

      + *
    • + *
    • + *

      + * duration - The duration of the Reserved Instance (for example, one year or + * three years), in seconds (31536000 | 94608000).

      + *
    • + *
    • + *

      + * fixed-price - The purchase price of the Reserved Instance (for example, + * 9800.0).

      + *
    • + *
    • + *

      + * instance-type - The instance type that is covered by the + * reservation.

      + *
    • + *
    • + *

      + * marketplace - Set to true to show only Reserved Instance + * Marketplace offerings. When this filter is not used, which is the default behavior, all + * offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

      + *
    • + *
    • + *

      + * product-description - The Reserved Instance product platform description. + * Instances that include (Amazon VPC) in the product platform description will + * only be displayed to EC2-Classic account holders and are for use with Amazon VPC. + * (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE + * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise + * Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat + * Enterprise Linux with HA (Amazon VPC) | Windows | Windows + * (Amazon VPC) | Windows with SQL Server Standard | Windows with + * SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | + * Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server + * Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

      + *
    • + *
    • + *

      + * reserved-instances-offering-id - The Reserved Instances offering + * ID.

      + *
    • + *
    • + *

      + * scope - The scope of the Reserved Instance (Availability Zone or + * Region).

      + *
    • + *
    • + *

      + * usage-price - The usage price of the Reserved Instance, per hour (for + * example, 0.84).

      + *
    • + *
    + */ + Filters?: Filter[]; + + /** + *

    Include Reserved Instance Marketplace offerings in the response.

    + */ + IncludeMarketplace?: boolean; + + /** + *

    The instance type that the reservation will cover (for example, m1.small). For more information, see + * Instance types in the + * Amazon EC2 User Guide.

    + */ + InstanceType?: _InstanceType | string; + + /** + *

    The maximum duration (in seconds) to filter when searching for offerings.

    + *

    Default: 94608000 (3 years)

    + */ + MaxDuration?: number; + + /** + *

    The maximum number of instances to filter when searching for offerings.

    + *

    Default: 20

    + */ + MaxInstanceCount?: number; + + /** + *

    The minimum duration (in seconds) to filter when searching for offerings.

    + *

    Default: 2592000 (1 month)

    + */ + MinDuration?: number; + + /** + *

    The offering class of the Reserved Instance. Can be standard or convertible.

    + */ + OfferingClass?: OfferingClassType | string; + + /** + *

    The Reserved Instance product platform description. Instances that include (Amazon + * VPC) in the description are for use with Amazon VPC.

    + */ + ProductDescription?: RIProductDescription | string; + + /** + *

    One or more Reserved Instances offering IDs.

    + */ + ReservedInstancesOfferingIds?: string[]; + + /** + *

    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; + + /** + *

    The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy + * of dedicated is applied to instances that run in a VPC on single-tenant hardware + * (i.e., Dedicated Instances).

    + *

    + * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

    + *

    Default: default + *

    + */ + InstanceTenancy?: Tenancy | string; + + /** + *

    The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. The maximum is 100.

    + *

    Default: 100

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

    The token to retrieve the next page of results.

    @@ -4084,8 +4438,8 @@ export interface DescribeStoreImageTasksRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; @@ -7923,6 +8277,93 @@ export namespace DisableEbsEncryptionByDefaultResult { }); } +export interface DisableFastLaunchRequest { + /** + *

    The ID of the image for which you’re turning off faster launching, and removing pre-provisioned snapshots.

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

    Forces the image settings to turn off faster launching for your Windows AMI. This parameter overrides + * any errors that are encountered while cleaning up resources in your account.

    + */ + Force?: boolean; + + /** + *

    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 DisableFastLaunchRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisableFastLaunchRequest): any => ({ + ...obj, + }); +} + +export interface DisableFastLaunchResult { + /** + *

    The ID of the image for which faster-launching has been turned off.

    + */ + ImageId?: string; + + /** + *

    The pre-provisioning resource type that must be cleaned after turning off faster launching + * for the Windows AMI. Supported values include: snapshot.

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

    Parameters that were used for faster launching for the Windows AMI before + * faster launching was turned off. This informs the clean-up process.

    + */ + SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse; + + /** + *

    The launch template that was used to launch Windows instances from pre-provisioned snapshots.

    + */ + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse; + + /** + *

    The maximum number of parallel instances to launch for creating resources.

    + */ + MaxParallelLaunches?: number; + + /** + *

    The owner of the Windows AMI for which faster launching was turned off.

    + */ + OwnerId?: string; + + /** + *

    The current state of faster launching for the specified Windows AMI.

    + */ + State?: FastLaunchStateCode | string; + + /** + *

    The reason that the state changed for faster launching for the Windows AMI.

    + */ + StateTransitionReason?: string; + + /** + *

    The time that the state changed for faster launching for the Windows AMI.

    + */ + StateTransitionTime?: Date; +} + +export namespace DisableFastLaunchResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisableFastLaunchResult): any => ({ + ...obj, + }); +} + export interface DisableFastSnapshotRestoresRequest { /** *

    One or more Availability Zones. For example, us-east-2a.

    @@ -8133,8 +8574,8 @@ export interface DisableImageDeprecationRequest { /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } @@ -8909,362 +9350,196 @@ export namespace EnableEbsEncryptionByDefaultRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultRequest): any => ({ - ...obj, - }); -} - -export interface EnableEbsEncryptionByDefaultResult { - /** - *

    The updated status of encryption by default.

    - */ - EbsEncryptionByDefault?: boolean; -} - -export namespace EnableEbsEncryptionByDefaultResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultResult): any => ({ - ...obj, - }); -} - -export interface EnableFastSnapshotRestoresRequest { - /** - *

    One or more Availability Zones. For example, us-east-2a.

    - */ - AvailabilityZones: string[] | undefined; - - /** - *

    The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify - * a snapshot that was shared with you from another Amazon Web Services account.

    - */ - SourceSnapshotIds: string[] | undefined; - - /** - *

    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 EnableFastSnapshotRestoresRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresRequest): any => ({ - ...obj, - }); -} - -/** - *

    Describes fast snapshot restores that were successfully enabled.

    - */ -export interface EnableFastSnapshotRestoreSuccessItem { - /** - *

    The ID of the snapshot.

    - */ - SnapshotId?: string; - - /** - *

    The Availability Zone.

    - */ - AvailabilityZone?: string; - - /** - *

    The state of fast snapshot restores.

    - */ - State?: FastSnapshotRestoreStateCode | string; - - /** - *

    The reason for the state transition. The possible values are as follows:

    - *
      - *
    • - *

      - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

      - *
    • - *
    • - *

      - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

      - *
    • - *
    - */ - StateTransitionReason?: string; - - /** - *

    The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

    - */ - OwnerId?: string; - - /** - *

    The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

    - */ - OwnerAlias?: string; - - /** - *

    The time at which fast snapshot restores entered the enabling state.

    - */ - EnablingTime?: Date; - - /** - *

    The time at which fast snapshot restores entered the optimizing state.

    - */ - OptimizingTime?: Date; - - /** - *

    The time at which fast snapshot restores entered the enabled state.

    - */ - EnabledTime?: Date; - - /** - *

    The time at which fast snapshot restores entered the disabling state.

    - */ - DisablingTime?: Date; - - /** - *

    The time at which fast snapshot restores entered the disabled state.

    - */ - DisabledTime?: Date; -} - -export namespace EnableFastSnapshotRestoreSuccessItem { - /** - * @internal - */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreSuccessItem): any => ({ - ...obj, - }); -} - -/** - *

    Describes an error that occurred when enabling fast snapshot restores.

    - */ -export interface EnableFastSnapshotRestoreStateError { - /** - *

    The error code.

    - */ - Code?: string; + export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultRequest): any => ({ + ...obj, + }); +} +export interface EnableEbsEncryptionByDefaultResult { /** - *

    The error message.

    + *

    The updated status of encryption by default.

    */ - Message?: string; + EbsEncryptionByDefault?: boolean; } -export namespace EnableFastSnapshotRestoreStateError { +export namespace EnableEbsEncryptionByDefaultResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateError): any => ({ + export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultResult): any => ({ ...obj, }); } /** - *

    Contains information about an error that occurred when enabling fast snapshot restores.

    + *

    Request to create a launch template for a fast-launch enabled Windows AMI.

    + * + *

    Note - You can specify either the LaunchTemplateName or the + * LaunchTemplateId, but not both.

    + *
    */ -export interface EnableFastSnapshotRestoreStateErrorItem { +export interface FastLaunchLaunchTemplateSpecificationRequest { /** - *

    The Availability Zone.

    + *

    The ID of the launch template to use for faster launching for a Windows AMI.

    */ - AvailabilityZone?: string; + LaunchTemplateId?: string; /** - *

    The error.

    + *

    The name of the launch template to use for faster launching for a Windows AMI.

    */ - Error?: EnableFastSnapshotRestoreStateError; + LaunchTemplateName?: string; + + /** + *

    The version of the launch template to use for faster launching for a Windows AMI.

    + */ + Version: string | undefined; } -export namespace EnableFastSnapshotRestoreStateErrorItem { +export namespace FastLaunchLaunchTemplateSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateErrorItem): any => ({ + export const filterSensitiveLog = (obj: FastLaunchLaunchTemplateSpecificationRequest): any => ({ ...obj, }); } /** - *

    Contains information about the errors that occurred when enabling fast snapshot restores.

    + *

    Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

    */ -export interface EnableFastSnapshotRestoreErrorItem { - /** - *

    The ID of the snapshot.

    - */ - SnapshotId?: string; - +export interface FastLaunchSnapshotConfigurationRequest { /** - *

    The errors.

    + *

    The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.

    */ - FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; + TargetResourceCount?: number; } -export namespace EnableFastSnapshotRestoreErrorItem { +export namespace FastLaunchSnapshotConfigurationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreErrorItem): any => ({ + export const filterSensitiveLog = (obj: FastLaunchSnapshotConfigurationRequest): any => ({ ...obj, }); } -export interface EnableFastSnapshotRestoresResult { +export interface EnableFastLaunchRequest { /** - *

    Information about the snapshots for which fast snapshot restores were successfully enabled.

    + *

    The ID of the image for which you’re enabling faster launching.

    */ - Successful?: EnableFastSnapshotRestoreSuccessItem[]; + ImageId: string | undefined; /** - *

    Information about the snapshots for which fast snapshot restores could not be enabled.

    + *

    The type of resource to use for pre-provisioning the Windows AMI for faster launching. + * Supported values include: snapshot, which is the default value.

    */ - Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; -} + ResourceType?: string; -export namespace EnableFastSnapshotRestoresResult { /** - * @internal + *

    Configuration settings for creating and managing the snapshots that are used for + * pre-provisioning the Windows AMI for faster launching. The associated ResourceType + * must be snapshot.

    */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresResult): any => ({ - ...obj, - }); -} + SnapshotConfiguration?: FastLaunchSnapshotConfigurationRequest; -export interface EnableImageDeprecationRequest { /** - *

    The ID of the AMI.

    + *

    The launch template to use when launching Windows instances from pre-provisioned + * snapshots. Launch template parameters can include either the name or ID of the launch + * template, but not both.

    */ - ImageId: string | undefined; + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationRequest; /** - *

    The date and time to deprecate the AMI, in UTC, in the following format: - * YYYY-MM-DDTHH:MM:SSZ. - * If you specify a value for seconds, Amazon EC2 rounds the seconds to the - * nearest minute.

    - *

    You can’t specify a date in the past. The upper limit for DeprecateAt is 10 - * years from now.

    + *

    The maximum number of parallel instances to launch for creating resources.

    */ - DeprecateAt: Date | undefined; + MaxParallelLaunches?: number; /** *

    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.

    + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; } -export namespace EnableImageDeprecationRequest { +export namespace EnableFastLaunchRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableImageDeprecationRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastLaunchRequest): any => ({ ...obj, }); } -export interface EnableImageDeprecationResult { - /** - *

    Returns true if the request succeeds; otherwise, it returns an error.

    - */ - Return?: boolean; -} - -export namespace EnableImageDeprecationResult { +export interface EnableFastLaunchResult { /** - * @internal + *

    The image ID that identifies the Windows AMI for which faster launching was enabled.

    */ - export const filterSensitiveLog = (obj: EnableImageDeprecationResult): any => ({ - ...obj, - }); -} + ImageId?: string; -export interface EnableIpamOrganizationAdminAccountRequest { /** - *

    A check for 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.

    + *

    The type of resource that was defined for pre-provisioning the Windows AMI for faster launching.

    */ - DryRun?: boolean; + ResourceType?: FastLaunchResourceType | string; /** - *

    The Organizations member account ID that you want to enable as the IPAM account.

    + *

    The configuration settings that were defined for creating and managing the pre-provisioned snapshots + * for faster launching of the Windows AMI. This property is returned when the associated + * resourceType is snapshot.

    */ - DelegatedAdminAccountId: string | undefined; -} + SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse; -export namespace EnableIpamOrganizationAdminAccountRequest { /** - * @internal + *

    The launch template that is used when launching Windows instances from pre-provisioned snapshots.

    */ - export const filterSensitiveLog = (obj: EnableIpamOrganizationAdminAccountRequest): any => ({ - ...obj, - }); -} + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse; -export interface EnableIpamOrganizationAdminAccountResult { /** - *

    The result of enabling the IPAM account.

    + *

    The maximum number of parallel instances to launch for creating resources.

    */ - Success?: boolean; -} + MaxParallelLaunches?: number; -export namespace EnableIpamOrganizationAdminAccountResult { /** - * @internal + *

    The owner ID for the Windows AMI for which faster launching was enabled.

    */ - export const filterSensitiveLog = (obj: EnableIpamOrganizationAdminAccountResult): any => ({ - ...obj, - }); -} + OwnerId?: string; -export interface EnableSerialConsoleAccessRequest { /** - *

    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.

    + *

    The current state of faster launching for the specified Windows AMI.

    */ - DryRun?: boolean; -} + State?: FastLaunchStateCode | string; -export namespace EnableSerialConsoleAccessRequest { /** - * @internal + *

    The reason that the state changed for faster launching for the Windows AMI.

    */ - export const filterSensitiveLog = (obj: EnableSerialConsoleAccessRequest): any => ({ - ...obj, - }); -} + StateTransitionReason?: string; -export interface EnableSerialConsoleAccessResult { /** - *

    If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

    + *

    The time that the state changed for faster launching for the Windows AMI.

    */ - SerialConsoleAccessEnabled?: boolean; + StateTransitionTime?: Date; } -export namespace EnableSerialConsoleAccessResult { +export namespace EnableFastLaunchResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableSerialConsoleAccessResult): any => ({ + export const filterSensitiveLog = (obj: EnableFastLaunchResult): any => ({ ...obj, }); } -export interface EnableTransitGatewayRouteTablePropagationRequest { +export interface EnableFastSnapshotRestoresRequest { /** - *

    The ID of the propagation route table.

    + *

    One or more Availability Zones. For example, us-east-2a.

    */ - TransitGatewayRouteTableId: string | undefined; + AvailabilityZones: string[] | undefined; /** - *

    The ID of the attachment.

    + *

    The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify + * a snapshot that was shared with you from another Amazon Web Services account.

    */ - TransitGatewayAttachmentId: string | undefined; + SourceSnapshotIds: string[] | undefined; /** *

    Checks whether you have the required permissions for the action, without actually making the request, @@ -9274,304 +9549,321 @@ export interface EnableTransitGatewayRouteTablePropagationRequest { DryRun?: boolean; } -export namespace EnableTransitGatewayRouteTablePropagationRequest { +export namespace EnableFastSnapshotRestoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresRequest): any => ({ ...obj, }); } -export interface EnableTransitGatewayRouteTablePropagationResult { +/** + *

    Describes fast snapshot restores that were successfully enabled.

    + */ +export interface EnableFastSnapshotRestoreSuccessItem { /** - *

    Information about route propagation.

    + *

    The ID of the snapshot.

    */ - Propagation?: TransitGatewayPropagation; -} + SnapshotId?: string; -export namespace EnableTransitGatewayRouteTablePropagationResult { /** - * @internal + *

    The Availability Zone.

    */ - export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationResult): any => ({ - ...obj, - }); -} + AvailabilityZone?: string; -/** - *

    Contains the parameters for EnableVgwRoutePropagation.

    - */ -export interface EnableVgwRoutePropagationRequest { /** - *

    The ID of the virtual private gateway that is attached to a VPC. The virtual private - * gateway must be attached to the same VPC that the routing tables are associated with. - *

    + *

    The state of fast snapshot restores.

    */ - GatewayId: string | undefined; + State?: FastSnapshotRestoreStateCode | string; /** - *

    The ID of the route table. The routing table must be associated with the same VPC that - * the virtual private gateway is attached to.

    + *

    The reason for the state transition. The possible values are as follows:

    + *
      + *
    • + *

      + * Client.UserInitiated - The state successfully transitioned to enabling or + * disabling.

      + *
    • + *
    • + *

      + * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned + * to optimizing, enabled, or disabled.

      + *
    • + *
    */ - RouteTableId: string | undefined; + StateTransitionReason?: string; /** - *

    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.

    + *

    The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

    */ - DryRun?: boolean; -} + OwnerId?: string; -export namespace EnableVgwRoutePropagationRequest { /** - * @internal + *

    The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

    */ - export const filterSensitiveLog = (obj: EnableVgwRoutePropagationRequest): any => ({ - ...obj, - }); -} + OwnerAlias?: string; -export interface EnableVolumeIORequest { /** - *

    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.

    + *

    The time at which fast snapshot restores entered the enabling state.

    */ - DryRun?: boolean; + EnablingTime?: Date; /** - *

    The ID of the volume.

    + *

    The time at which fast snapshot restores entered the optimizing state.

    */ - VolumeId: string | undefined; + OptimizingTime?: Date; + + /** + *

    The time at which fast snapshot restores entered the enabled state.

    + */ + EnabledTime?: Date; + + /** + *

    The time at which fast snapshot restores entered the disabling state.

    + */ + DisablingTime?: Date; + + /** + *

    The time at which fast snapshot restores entered the disabled state.

    + */ + DisabledTime?: Date; } -export namespace EnableVolumeIORequest { +export namespace EnableFastSnapshotRestoreSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVolumeIORequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreSuccessItem): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkRequest { +/** + *

    Describes an error that occurred when enabling fast snapshot restores.

    + */ +export interface EnableFastSnapshotRestoreStateError { /** - *

    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.

    + *

    The error code.

    */ - DryRun?: boolean; + Code?: string; /** - *

    The ID of the VPC.

    + *

    The error message.

    */ - VpcId: string | undefined; + Message?: string; } -export namespace EnableVpcClassicLinkRequest { +export namespace EnableFastSnapshotRestoreStateError { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateError): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkResult { +/** + *

    Contains information about an error that occurred when enabling fast snapshot restores.

    + */ +export interface EnableFastSnapshotRestoreStateErrorItem { /** - *

    Returns true if the request succeeds; otherwise, it returns an error.

    + *

    The Availability Zone.

    */ - Return?: boolean; + AvailabilityZone?: string; + + /** + *

    The error.

    + */ + Error?: EnableFastSnapshotRestoreStateError; } -export namespace EnableVpcClassicLinkResult { +export namespace EnableFastSnapshotRestoreStateErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkResult): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateErrorItem): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkDnsSupportRequest { +/** + *

    Contains information about the errors that occurred when enabling fast snapshot restores.

    + */ +export interface EnableFastSnapshotRestoreErrorItem { /** - *

    The ID of the VPC.

    + *

    The ID of the snapshot.

    */ - VpcId?: string; + SnapshotId?: string; + + /** + *

    The errors.

    + */ + FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; } -export namespace EnableVpcClassicLinkDnsSupportRequest { +export namespace EnableFastSnapshotRestoreErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreErrorItem): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkDnsSupportResult { +export interface EnableFastSnapshotRestoresResult { /** - *

    Returns true if the request succeeds; otherwise, it returns an error.

    + *

    Information about the snapshots for which fast snapshot restores were successfully enabled.

    */ - Return?: boolean; + Successful?: EnableFastSnapshotRestoreSuccessItem[]; + + /** + *

    Information about the snapshots for which fast snapshot restores could not be enabled.

    + */ + Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; } -export namespace EnableVpcClassicLinkDnsSupportResult { +export namespace EnableFastSnapshotRestoresResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportResult): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresResult): any => ({ ...obj, }); } -export interface ExportClientVpnClientCertificateRevocationListRequest { +export interface EnableImageDeprecationRequest { /** - *

    The ID of the Client VPN endpoint.

    + *

    The ID of the AMI.

    */ - ClientVpnEndpointId: string | undefined; + ImageId: string | undefined; /** - *

    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.

    + *

    The date and time to deprecate the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ. + * If you specify a value for seconds, Amazon EC2 rounds the seconds to the + * nearest minute.

    + *

    You can’t specify a date in the past. The upper limit for DeprecateAt is 10 + * years from now.

    + */ + DeprecateAt: Date | undefined; + + /** + *

    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 ExportClientVpnClientCertificateRevocationListRequest { +export namespace EnableImageDeprecationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListRequest): any => ({ + export const filterSensitiveLog = (obj: EnableImageDeprecationRequest): any => ({ ...obj, }); } -export type ClientCertificateRevocationListStatusCode = "active" | "pending"; - -/** - *

    Describes the state of a client certificate revocation list.

    - */ -export interface ClientCertificateRevocationListStatus { - /** - *

    The state of the client certificate revocation list.

    - */ - Code?: ClientCertificateRevocationListStatusCode | string; - +export interface EnableImageDeprecationResult { /** - *

    A message about the status of the client certificate revocation list, if applicable.

    + *

    Returns true if the request succeeds; otherwise, it returns an error.

    */ - Message?: string; + Return?: boolean; } -export namespace ClientCertificateRevocationListStatus { +export namespace EnableImageDeprecationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ClientCertificateRevocationListStatus): any => ({ + export const filterSensitiveLog = (obj: EnableImageDeprecationResult): any => ({ ...obj, }); } -export interface ExportClientVpnClientCertificateRevocationListResult { +export interface EnableIpamOrganizationAdminAccountRequest { /** - *

    Information about the client certificate revocation list.

    + *

    A check for 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.

    */ - CertificateRevocationList?: string; + DryRun?: boolean; /** - *

    The current state of the client certificate revocation list.

    + *

    The Organizations member account ID that you want to enable as the IPAM account.

    */ - Status?: ClientCertificateRevocationListStatus; + DelegatedAdminAccountId: string | undefined; } -export namespace ExportClientVpnClientCertificateRevocationListResult { +export namespace EnableIpamOrganizationAdminAccountRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListResult): any => ({ + export const filterSensitiveLog = (obj: EnableIpamOrganizationAdminAccountRequest): any => ({ ...obj, }); } -export interface ExportClientVpnClientConfigurationRequest { - /** - *

    The ID of the Client VPN endpoint.

    - */ - ClientVpnEndpointId: string | undefined; - +export interface EnableIpamOrganizationAdminAccountResult { /** - *

    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.

    + *

    The result of enabling the IPAM account.

    */ - DryRun?: boolean; + Success?: boolean; } -export namespace ExportClientVpnClientConfigurationRequest { +export namespace EnableIpamOrganizationAdminAccountResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: EnableIpamOrganizationAdminAccountResult): any => ({ ...obj, }); } -export interface ExportClientVpnClientConfigurationResult { +export interface EnableSerialConsoleAccessRequest { /** - *

    The contents of the Client VPN endpoint configuration file.

    + *

    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.

    */ - ClientConfiguration?: string; + DryRun?: boolean; } -export namespace ExportClientVpnClientConfigurationResult { +export namespace EnableSerialConsoleAccessRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationResult): any => ({ + export const filterSensitiveLog = (obj: EnableSerialConsoleAccessRequest): any => ({ ...obj, }); } -/** - *

    Describes the destination for an export image task.

    - */ -export interface ExportTaskS3LocationRequest { - /** - *

    The destination Amazon S3 bucket.

    - */ - S3Bucket: string | undefined; - +export interface EnableSerialConsoleAccessResult { /** - *

    The prefix (logical hierarchy) in the bucket.

    + *

    If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

    */ - S3Prefix?: string; + SerialConsoleAccessEnabled?: boolean; } -export namespace ExportTaskS3LocationRequest { +export namespace EnableSerialConsoleAccessResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTaskS3LocationRequest): any => ({ + export const filterSensitiveLog = (obj: EnableSerialConsoleAccessResult): any => ({ ...obj, }); } -export interface ExportImageRequest { - /** - *

    Token to enable idempotency for export image requests.

    - */ - ClientToken?: string; - +export interface EnableTransitGatewayRouteTablePropagationRequest { /** - *

    A description of the image being exported. The maximum length is 255 characters.

    + *

    The ID of the propagation route table.

    */ - Description?: string; + TransitGatewayRouteTableId: string | undefined; /** - *

    The disk image format.

    + *

    The ID of the attachment.

    */ - DiskImageFormat: DiskImageFormat | string | undefined; + TransitGatewayAttachmentId: string | undefined; /** *

    Checks whether you have the required permissions for the action, without actually making the request, @@ -9579,197 +9871,167 @@ export interface ExportImageRequest { * Otherwise, it is UnauthorizedOperation.

    */ DryRun?: boolean; +} +export namespace EnableTransitGatewayRouteTablePropagationRequest { /** - *

    The ID of the image.

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

    Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE - * and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

    - */ - S3ExportLocation: ExportTaskS3LocationRequest | undefined; - - /** - *

    The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

    + * @internal */ - RoleName?: string; + export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationRequest): any => ({ + ...obj, + }); +} +export interface EnableTransitGatewayRouteTablePropagationResult { /** - *

    The tags to apply to the export image task during creation.

    + *

    Information about route propagation.

    */ - TagSpecifications?: TagSpecification[]; + Propagation?: TransitGatewayPropagation; } -export namespace ExportImageRequest { +export namespace EnableTransitGatewayRouteTablePropagationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportImageRequest): any => ({ + export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationResult): any => ({ ...obj, }); } -export interface ExportImageResult { - /** - *

    A description of the image being exported.

    - */ - Description?: string; - +/** + *

    Contains the parameters for EnableVgwRoutePropagation.

    + */ +export interface EnableVgwRoutePropagationRequest { /** - *

    The disk image format for the exported image.

    + *

    The ID of the virtual private gateway that is attached to a VPC. The virtual private + * gateway must be attached to the same VPC that the routing tables are associated with. + *

    */ - DiskImageFormat?: DiskImageFormat | string; + GatewayId: string | undefined; /** - *

    The ID of the export image task.

    + *

    The ID of the route table. The routing table must be associated with the same VPC that + * the virtual private gateway is attached to.

    */ - ExportImageTaskId?: string; + RouteTableId: string | undefined; /** - *

    The ID of the image.

    + *

    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.

    */ - ImageId?: string; + DryRun?: boolean; +} +export namespace EnableVgwRoutePropagationRequest { /** - *

    The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket.

    + * @internal */ - RoleName?: string; + export const filterSensitiveLog = (obj: EnableVgwRoutePropagationRequest): any => ({ + ...obj, + }); +} +export interface EnableVolumeIORequest { /** - *

    The percent complete of the export image task.

    + *

    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.

    */ - Progress?: string; + DryRun?: boolean; /** - *

    Information about the destination Amazon S3 bucket.

    + *

    The ID of the volume.

    */ - S3ExportLocation?: ExportTaskS3Location; + VolumeId: string | undefined; +} +export namespace EnableVolumeIORequest { /** - *

    The status of the export image task. The possible values are active, completed, - * deleting, and deleted.

    + * @internal */ - Status?: string; + export const filterSensitiveLog = (obj: EnableVolumeIORequest): any => ({ + ...obj, + }); +} +export interface EnableVpcClassicLinkRequest { /** - *

    The status message for the export image task.

    + *

    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.

    */ - StatusMessage?: string; + DryRun?: boolean; /** - *

    Any tags assigned to the export image task.

    + *

    The ID of the VPC.

    */ - Tags?: Tag[]; + VpcId: string | undefined; } -export namespace ExportImageResult { +export namespace EnableVpcClassicLinkRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportImageResult): any => ({ + export const filterSensitiveLog = (obj: EnableVpcClassicLinkRequest): any => ({ ...obj, }); } -export interface ExportTransitGatewayRoutesRequest { - /** - *

    The ID of the route table.

    - */ - TransitGatewayRouteTableId: string | undefined; - +export interface EnableVpcClassicLinkResult { /** - *

    One or more filters. The possible values are:

    - *
      - *
    • - *

      - * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

      - *
    • - *
    • - *

      - * attachment.resource-id - The resource id of the transit gateway attachment.

      - *
    • - *
    • - *

      - * route-search.exact-match - The exact match of the specified filter.

      - *
    • - *
    • - *

      - * route-search.longest-prefix-match - The longest prefix that matches the route.

      - *
    • - *
    • - *

      - * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

      - *
    • - *
    • - *

      - * route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

      - *
    • - *
    • - *

      - * state - The state of the route (active | blackhole).

      - *
    • - *
    • - *

      - * transit-gateway-route-destination-cidr-block - The CIDR range.

      - *
    • - *
    • - *

      - * type - The type of route (propagated | - * static).

      - *
    • - *
    + *

    Returns true if the request succeeds; otherwise, it returns an error.

    */ - Filters?: Filter[]; + Return?: boolean; +} +export namespace EnableVpcClassicLinkResult { /** - *

    The name of the S3 bucket.

    + * @internal */ - S3Bucket: string | undefined; + export const filterSensitiveLog = (obj: EnableVpcClassicLinkResult): any => ({ + ...obj, + }); +} +export interface EnableVpcClassicLinkDnsSupportRequest { /** - *

    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.

    + *

    The ID of the VPC.

    */ - DryRun?: boolean; + VpcId?: string; } -export namespace ExportTransitGatewayRoutesRequest { +export namespace EnableVpcClassicLinkDnsSupportRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesRequest): any => ({ + export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportRequest): any => ({ ...obj, }); } -export interface ExportTransitGatewayRoutesResult { +export interface EnableVpcClassicLinkDnsSupportResult { /** - *

    The URL of the exported file in Amazon S3. For example, - * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

    + *

    Returns true if the request succeeds; otherwise, it returns an error.

    */ - S3Location?: string; + Return?: boolean; } -export namespace ExportTransitGatewayRoutesResult { +export namespace EnableVpcClassicLinkDnsSupportResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesResult): any => ({ + export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportResult): any => ({ ...obj, }); } -export interface GetAssociatedEnclaveCertificateIamRolesRequest { +export interface ExportClientVpnClientCertificateRevocationListRequest { /** - *

    The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon - * S3 object information.

    + *

    The ID of the Client VPN endpoint.

    */ - CertificateArn?: string; + ClientVpnEndpointId: string | undefined; /** *

    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.

    @@ -9777,324 +10039,295 @@ export interface GetAssociatedEnclaveCertificateIamRolesRequest { DryRun?: boolean; } -export namespace GetAssociatedEnclaveCertificateIamRolesRequest { +export namespace ExportClientVpnClientCertificateRevocationListRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesRequest): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListRequest): any => ({ ...obj, }); } +export type ClientCertificateRevocationListStatusCode = "active" | "pending"; + /** - *

    Information about the associated IAM roles.

    + *

    Describes the state of a client certificate revocation list.

    */ -export interface AssociatedRole { - /** - *

    The ARN of the associated IAM role.

    - */ - AssociatedRoleArn?: string; - - /** - *

    The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

    - */ - CertificateS3BucketName?: string; - +export interface ClientCertificateRevocationListStatus { /** - *

    The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle - * is stored. The object key is formated as follows: role_arn/certificate_arn. - *

    + *

    The state of the client certificate revocation list.

    */ - CertificateS3ObjectKey?: string; + Code?: ClientCertificateRevocationListStatusCode | string; /** - *

    The ID of the KMS customer master key (CMK) used to encrypt the private key.

    + *

    A message about the status of the client certificate revocation list, if applicable.

    */ - EncryptionKmsKeyId?: string; + Message?: string; } -export namespace AssociatedRole { +export namespace ClientCertificateRevocationListStatus { /** * @internal */ - export const filterSensitiveLog = (obj: AssociatedRole): any => ({ + export const filterSensitiveLog = (obj: ClientCertificateRevocationListStatus): any => ({ ...obj, }); } -export interface GetAssociatedEnclaveCertificateIamRolesResult { +export interface ExportClientVpnClientCertificateRevocationListResult { /** - *

    Information about the associated IAM roles.

    + *

    Information about the client certificate revocation list.

    */ - AssociatedRoles?: AssociatedRole[]; + CertificateRevocationList?: string; + + /** + *

    The current state of the client certificate revocation list.

    + */ + Status?: ClientCertificateRevocationListStatus; } -export namespace GetAssociatedEnclaveCertificateIamRolesResult { +export namespace ExportClientVpnClientCertificateRevocationListResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesResult): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListResult): any => ({ ...obj, }); } -export interface GetAssociatedIpv6PoolCidrsRequest { +export interface ExportClientVpnClientConfigurationRequest { /** - *

    The ID of the IPv6 address pool.

    + *

    The ID of the Client VPN endpoint.

    */ - PoolId: string | undefined; + ClientVpnEndpointId: string | undefined; /** - *

    The token for the next page of results.

    + *

    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.

    */ - NextToken?: string; + DryRun?: boolean; +} +export namespace ExportClientVpnClientConfigurationRequest { /** - *

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

    + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationRequest): any => ({ + ...obj, + }); +} +export interface ExportClientVpnClientConfigurationResult { /** - *

    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.

    + *

    The contents of the Client VPN endpoint configuration file.

    */ - DryRun?: boolean; + ClientConfiguration?: string; } -export namespace GetAssociatedIpv6PoolCidrsRequest { +export namespace ExportClientVpnClientConfigurationResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsRequest): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationResult): any => ({ ...obj, }); } /** - *

    Describes an IPv6 CIDR block association.

    + *

    Describes the destination for an export image task.

    */ -export interface Ipv6CidrAssociation { +export interface ExportTaskS3LocationRequest { /** - *

    The IPv6 CIDR block.

    + *

    The destination Amazon S3 bucket.

    */ - Ipv6Cidr?: string; + S3Bucket: string | undefined; /** - *

    The resource that's associated with the IPv6 CIDR block.

    + *

    The prefix (logical hierarchy) in the bucket.

    */ - AssociatedResource?: string; + S3Prefix?: string; } -export namespace Ipv6CidrAssociation { +export namespace ExportTaskS3LocationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6CidrAssociation): any => ({ + export const filterSensitiveLog = (obj: ExportTaskS3LocationRequest): any => ({ ...obj, }); } -export interface GetAssociatedIpv6PoolCidrsResult { +export interface ExportImageRequest { /** - *

    Information about the IPv6 CIDR block associations.

    + *

    Token to enable idempotency for export image requests.

    */ - Ipv6CidrAssociations?: Ipv6CidrAssociation[]; + ClientToken?: string; /** - *

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

    + *

    A description of the image being exported. The maximum length is 255 characters.

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

    The disk image format.

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

    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; + + /** + *

    The ID of the image.

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

    Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE + * and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

    + */ + S3ExportLocation: ExportTaskS3LocationRequest | undefined; + + /** + *

    The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

    + */ + RoleName?: string; + + /** + *

    The tags to apply to the export image task during creation.

    + */ + TagSpecifications?: TagSpecification[]; } -export namespace GetAssociatedIpv6PoolCidrsResult { +export namespace ExportImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsResult): any => ({ + export const filterSensitiveLog = (obj: ExportImageRequest): any => ({ ...obj, }); } -export interface GetCapacityReservationUsageRequest { - /** - *

    The ID of the Capacity Reservation.

    - */ - CapacityReservationId: string | undefined; - +export interface ExportImageResult { /** - *

    The token to use to retrieve the next page of results.

    + *

    A description of the image being exported.

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

    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

    - *

    Valid range: Minimum value of 1. Maximum value of 1000.

    + *

    The disk image format for the exported image.

    */ - MaxResults?: number; + DiskImageFormat?: DiskImageFormat | string; /** - *

    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.

    + *

    The ID of the export image task.

    */ - DryRun?: boolean; -} + ExportImageTaskId?: string; -export namespace GetCapacityReservationUsageRequest { /** - * @internal + *

    The ID of the image.

    */ - export const filterSensitiveLog = (obj: GetCapacityReservationUsageRequest): any => ({ - ...obj, - }); -} + ImageId?: string; -/** - *

    Information about the Capacity Reservation usage.

    - */ -export interface InstanceUsage { /** - *

    The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

    + *

    The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket.

    */ - AccountId?: string; + RoleName?: string; /** - *

    The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

    + *

    The percent complete of the export image task.

    */ - UsedInstanceCount?: number; -} + Progress?: string; -export namespace InstanceUsage { /** - * @internal + *

    Information about the destination Amazon S3 bucket.

    */ - export const filterSensitiveLog = (obj: InstanceUsage): any => ({ - ...obj, - }); -} + S3ExportLocation?: ExportTaskS3Location; -export interface GetCapacityReservationUsageResult { /** - *

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

    + *

    The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

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

    The ID of the Capacity Reservation.

    + *

    The status message for the export image task.

    */ - CapacityReservationId?: string; + StatusMessage?: string; /** - *

    The type of instance for which the Capacity Reservation reserves capacity.

    + *

    Any tags assigned to the export image task.

    */ - InstanceType?: string; + Tags?: Tag[]; +} +export namespace ExportImageResult { /** - *

    The number of instances for which the Capacity Reservation reserves capacity.

    + * @internal */ - TotalInstanceCount?: number; + export const filterSensitiveLog = (obj: ExportImageResult): any => ({ + ...obj, + }); +} +export interface ExportTransitGatewayRoutesRequest { /** - *

    The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

    + *

    The ID of the route table.

    */ - AvailableInstanceCount?: number; + TransitGatewayRouteTableId: string | undefined; /** - *

    The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

    - *
      + *

      One or more filters. The possible values are:

      + *
        *
      • *

        - * active - The Capacity Reservation is active and the capacity is available for your use.

        + * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

        *
      • *
      • *

        - * expired - The Capacity Reservation expired automatically at the date and time specified - * in your request. The reserved capacity is no longer available for your use.

        + * attachment.resource-id - The resource id of the transit gateway attachment.

        *
      • *
      • *

        - * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no - * longer available for your use.

        + * route-search.exact-match - The exact match of the specified filter.

        *
      • *
      • *

        - * pending - The Capacity Reservation request was successful but the capacity - * provisioning is still pending.

        + * route-search.longest-prefix-match - The longest prefix that matches the route.

        *
      • *
      • *

        - * failed - The Capacity Reservation request has failed. A request might fail - * due to invalid request parameters, capacity constraints, or instance limit constraints. - * Failed requests are retained for 60 minutes.

        + * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

        *
      • - *
      - */ - State?: CapacityReservationState | string; - - /** - *

      Information about the Capacity Reservation usage.

      - */ - InstanceUsages?: InstanceUsage[]; -} - -export namespace GetCapacityReservationUsageResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: GetCapacityReservationUsageResult): any => ({ - ...obj, - }); -} - -export interface GetCoipPoolUsageRequest { - /** - *

      The ID of the address pool.

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

      The filters. The following are the possible values:

      - *
        *
      • *

        - * coip-address-usage.allocation-id - *

        + * route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

        *
      • - *
      - *
        *
      • *

        - * coip-address-usage.aws-account-id - *

        + * state - The state of the route (active | blackhole).

        *
      • - *
      - *
        *
      • *

        - * coip-address-usage.aws-service - *

        + * transit-gateway-route-destination-cidr-block - The CIDR range.

        *
      • - *
      - *
        *
      • *

        - * coip-address-usage.co-ip - *

        + * type - The type of route (propagated | + * static).

        *
      • *
      */ Filters?: Filter[]; /** - *

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

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

      The token for the next page of results.

      + *

      The name of the S3 bucket.

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

      Checks whether you have the required permissions for the action, without actually making the request, @@ -10104,612 +10337,550 @@ export interface GetCoipPoolUsageRequest { DryRun?: boolean; } -export namespace GetCoipPoolUsageRequest { +export namespace ExportTransitGatewayRoutesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetCoipPoolUsageRequest): any => ({ + export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesRequest): any => ({ ...obj, }); } -/** - *

      Describes address usage for a customer-owned address pool.

      - */ -export interface CoipAddressUsage { - /** - *

      The allocation ID of the address.

      - */ - AllocationId?: string; - - /** - *

      The Amazon Web Services account ID.

      - */ - AwsAccountId?: string; - - /** - *

      The Amazon Web Services service.

      - */ - AwsService?: string; - +export interface ExportTransitGatewayRoutesResult { /** - *

      The customer-owned IP address.

      + *

      The URL of the exported file in Amazon S3. For example, + * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

      */ - CoIp?: string; + S3Location?: string; } -export namespace CoipAddressUsage { +export namespace ExportTransitGatewayRoutesResult { /** * @internal */ - export const filterSensitiveLog = (obj: CoipAddressUsage): any => ({ + export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesResult): any => ({ ...obj, }); } -export interface GetCoipPoolUsageResult { - /** - *

      The ID of the customer-owned address pool.

      - */ - CoipPoolId?: string; - +export interface GetAssociatedEnclaveCertificateIamRolesRequest { /** - *

      Information about the address usage.

      + *

      The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon + * S3 object information.

      */ - CoipAddressUsages?: CoipAddressUsage[]; + CertificateArn?: string; /** - *

      The ID of the local gateway route table.

      + *

      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.

      */ - LocalGatewayRouteTableId?: string; + DryRun?: boolean; } -export namespace GetCoipPoolUsageResult { +export namespace GetAssociatedEnclaveCertificateIamRolesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetCoipPoolUsageResult): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesRequest): any => ({ ...obj, }); } -export interface GetConsoleOutputRequest { - /** - *

      The ID of the instance.

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

      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; - - /** - *

      When enabled, retrieves the latest console output for the instance.

      - *

      Default: disabled (false)

      - */ - Latest?: boolean; -} - -export namespace GetConsoleOutputRequest { +/** + *

      Information about the associated IAM roles.

      + */ +export interface AssociatedRole { /** - * @internal + *

      The ARN of the associated IAM role.

      */ - export const filterSensitiveLog = (obj: GetConsoleOutputRequest): any => ({ - ...obj, - }); -} + AssociatedRoleArn?: string; -export interface GetConsoleOutputResult { /** - *

      The ID of the instance.

      + *

      The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

      */ - InstanceId?: string; + CertificateS3BucketName?: string; /** - *

      The console output, base64-encoded. If you are using a command line tool, the tool - * decodes the output for you.

      + *

      The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle + * is stored. The object key is formated as follows: role_arn/certificate_arn. + *

      */ - Output?: string; + CertificateS3ObjectKey?: string; /** - *

      The time at which the output was last updated.

      + *

      The ID of the KMS customer master key (CMK) used to encrypt the private key.

      */ - Timestamp?: Date; + EncryptionKmsKeyId?: string; } -export namespace GetConsoleOutputResult { +export namespace AssociatedRole { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleOutputResult): any => ({ + export const filterSensitiveLog = (obj: AssociatedRole): any => ({ ...obj, }); } -export interface GetConsoleScreenshotRequest { - /** - *

      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; - - /** - *

      The ID of the instance.

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

      When set to true, acts as keystroke input and wakes up an instance that's - * in standby or "sleep" mode.

      +export interface GetAssociatedEnclaveCertificateIamRolesResult { + /** + *

      Information about the associated IAM roles.

      */ - WakeUp?: boolean; + AssociatedRoles?: AssociatedRole[]; } -export namespace GetConsoleScreenshotRequest { +export namespace GetAssociatedEnclaveCertificateIamRolesResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleScreenshotRequest): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesResult): any => ({ ...obj, }); } -export interface GetConsoleScreenshotResult { +export interface GetAssociatedIpv6PoolCidrsRequest { /** - *

      The data that comprises the image.

      + *

      The ID of the IPv6 address pool.

      */ - ImageData?: string; + PoolId: string | undefined; /** - *

      The ID of the instance.

      + *

      The token for the next page of results.

      */ - InstanceId?: string; -} + NextToken?: string; -export namespace GetConsoleScreenshotResult { /** - * @internal + *

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

      */ - export const filterSensitiveLog = (obj: GetConsoleScreenshotResult): any => ({ - ...obj, - }); -} - -export type UnlimitedSupportedInstanceFamily = "t2" | "t3" | "t3a" | "t4g"; + MaxResults?: number; -export interface GetDefaultCreditSpecificationRequest { /** *

      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; - - /** - *

      The instance family.

      - */ - InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; } -export namespace GetDefaultCreditSpecificationRequest { +export namespace GetAssociatedIpv6PoolCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsRequest): any => ({ ...obj, }); } /** - *

      Describes the default credit option for CPU usage of a burstable performance instance family.

      + *

      Describes an IPv6 CIDR block association.

      */ -export interface InstanceFamilyCreditSpecification { +export interface Ipv6CidrAssociation { /** - *

      The instance family.

      + *

      The IPv6 CIDR block.

      */ - InstanceFamily?: UnlimitedSupportedInstanceFamily | string; + Ipv6Cidr?: string; /** - *

      The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

      + *

      The resource that's associated with the IPv6 CIDR block.

      */ - CpuCredits?: string; + AssociatedResource?: string; } -export namespace InstanceFamilyCreditSpecification { +export namespace Ipv6CidrAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceFamilyCreditSpecification): any => ({ + export const filterSensitiveLog = (obj: Ipv6CidrAssociation): any => ({ ...obj, }); } -export interface GetDefaultCreditSpecificationResult { - /** - *

      The default credit option for CPU usage of the instance family.

      - */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; -} - -export namespace GetDefaultCreditSpecificationResult { +export interface GetAssociatedIpv6PoolCidrsResult { /** - * @internal + *

      Information about the IPv6 CIDR block associations.

      */ - export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationResult): any => ({ - ...obj, - }); -} + Ipv6CidrAssociations?: Ipv6CidrAssociation[]; -export interface GetEbsDefaultKmsKeyIdRequest { /** - *

      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.

      + *

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

      */ - DryRun?: boolean; + NextToken?: string; } -export namespace GetEbsDefaultKmsKeyIdRequest { +export namespace GetAssociatedIpv6PoolCidrsResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdRequest): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsResult): any => ({ ...obj, }); } -export interface GetEbsDefaultKmsKeyIdResult { +export interface GetCapacityReservationUsageRequest { /** - *

      The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

      + *

      The ID of the Capacity Reservation.

      */ - KmsKeyId?: string; -} + CapacityReservationId: string | undefined; -export namespace GetEbsDefaultKmsKeyIdResult { /** - * @internal + *

      The token to use to retrieve the next page of results.

      */ - export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdResult): any => ({ - ...obj, - }); -} + NextToken?: string; -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.

      + *

      The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

      + *

      Valid range: Minimum value of 1. Maximum value of 1000.

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

      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 namespace GetCapacityReservationUsageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ + export const filterSensitiveLog = (obj: GetCapacityReservationUsageRequest): any => ({ ...obj, }); } -export interface GetEbsEncryptionByDefaultResult { +/** + *

      Information about the Capacity Reservation usage.

      + */ +export interface InstanceUsage { /** - *

      Indicates whether encryption by default is enabled.

      + *

      The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

      */ - EbsEncryptionByDefault?: boolean; + AccountId?: string; + + /** + *

      The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

      + */ + UsedInstanceCount?: number; } -export namespace GetEbsEncryptionByDefaultResult { +export namespace InstanceUsage { /** * @internal */ - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultResult): any => ({ + export const filterSensitiveLog = (obj: InstanceUsage): any => ({ ...obj, }); } -export enum PartitionLoadFrequency { - DAILY = "daily", - MONTHLY = "monthly", - NONE = "none", - WEEKLY = "weekly", -} +export interface GetCapacityReservationUsageResult { + /** + *

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

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

      Describes integration options for Amazon Athena.

      - */ -export interface AthenaIntegration { /** - *

      The location in Amazon S3 to store the generated CloudFormation template.

      + *

      The ID of the Capacity Reservation.

      */ - IntegrationResultS3DestinationArn: string | undefined; + CapacityReservationId?: string; /** - *

      The schedule for adding new partitions to the table.

      + *

      The type of instance for which the Capacity Reservation reserves capacity.

      */ - PartitionLoadFrequency: PartitionLoadFrequency | string | undefined; + InstanceType?: string; /** - *

      The start date for the partition.

      + *

      The number of instances for which the Capacity Reservation reserves capacity.

      */ - PartitionStartDate?: Date; + TotalInstanceCount?: number; /** - *

      The end date for the partition.

      + *

      The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

      */ - PartitionEndDate?: Date; -} + AvailableInstanceCount?: number; -export namespace AthenaIntegration { /** - * @internal + *

      The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

      + *
        + *
      • + *

        + * active - The Capacity Reservation is active and the capacity is available for your use.

        + *
      • + *
      • + *

        + * expired - The Capacity Reservation expired automatically at the date and time specified + * in your request. The reserved capacity is no longer available for your use.

        + *
      • + *
      • + *

        + * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no + * longer available for your use.

        + *
      • + *
      • + *

        + * pending - The Capacity Reservation request was successful but the capacity + * provisioning is still pending.

        + *
      • + *
      • + *

        + * failed - The Capacity Reservation request has failed. A request might fail + * due to invalid request parameters, capacity constraints, or instance limit constraints. + * Failed requests are retained for 60 minutes.

        + *
      • + *
      */ - export const filterSensitiveLog = (obj: AthenaIntegration): any => ({ - ...obj, - }); -} + State?: CapacityReservationState | string; -/** - *

      Describes service integrations with VPC Flow logs.

      - */ -export interface IntegrateServices { /** - *

      Information about the integration with Amazon Athena.

      + *

      Information about the Capacity Reservation usage.

      */ - AthenaIntegrations?: AthenaIntegration[]; + InstanceUsages?: InstanceUsage[]; } -export namespace IntegrateServices { +export namespace GetCapacityReservationUsageResult { /** * @internal */ - export const filterSensitiveLog = (obj: IntegrateServices): any => ({ + export const filterSensitiveLog = (obj: GetCapacityReservationUsageResult): any => ({ ...obj, }); } -export interface GetFlowLogsIntegrationTemplateRequest { - /** - *

      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 interface GetCoipPoolUsageRequest { /** - *

      The ID of the flow log.

      + *

      The ID of the address pool.

      */ - FlowLogId: string | undefined; + PoolId: string | undefined; /** - *

      To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

      + *

      The filters. The following are the possible values:

      + *
        + *
      • + *

        + * coip-address-usage.allocation-id + *

        + *
      • + *
      + *
        + *
      • + *

        + * coip-address-usage.aws-account-id + *

        + *
      • + *
      + *
        + *
      • + *

        + * coip-address-usage.aws-service + *

        + *
      • + *
      + *
        + *
      • + *

        + * coip-address-usage.co-ip + *

        + *
      • + *
      */ - ConfigDeliveryS3DestinationArn: string | undefined; + Filters?: Filter[]; /** - *

      Information about the service integration.

      + *

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

      */ - IntegrateServices: IntegrateServices | undefined; -} + MaxResults?: number; -export namespace GetFlowLogsIntegrationTemplateRequest { /** - * @internal + *

      The token for the next page of results.

      */ - export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateRequest): any => ({ - ...obj, - }); -} + NextToken?: string; -export interface GetFlowLogsIntegrationTemplateResult { /** - *

      The generated CloudFormation template.

      + *

      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.

      */ - Result?: string; + DryRun?: boolean; } -export namespace GetFlowLogsIntegrationTemplateResult { +export namespace GetCoipPoolUsageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateResult): any => ({ + export const filterSensitiveLog = (obj: GetCoipPoolUsageRequest): any => ({ ...obj, }); } -export interface GetGroupsForCapacityReservationRequest { +/** + *

      Describes address usage for a customer-owned address pool.

      + */ +export interface CoipAddressUsage { /** - *

      The ID of the Capacity Reservation.

      + *

      The allocation ID of the address.

      */ - CapacityReservationId: string | undefined; + AllocationId?: string; /** - *

      The token to use to retrieve the next page of results.

      + *

      The Amazon Web Services account ID.

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

      The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

      + *

      The Amazon Web Services service.

      */ - MaxResults?: number; + AwsService?: string; /** - *

      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.

      + *

      The customer-owned IP address.

      */ - DryRun?: boolean; + CoIp?: string; } -export namespace GetGroupsForCapacityReservationRequest { +export namespace CoipAddressUsage { /** * @internal */ - export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationRequest): any => ({ + export const filterSensitiveLog = (obj: CoipAddressUsage): any => ({ ...obj, }); } -/** - *

      Describes a resource group to which a Capacity Reservation has been added.

      - */ -export interface CapacityReservationGroup { - /** - *

      The ARN of the resource group.

      - */ - GroupArn?: string; - - /** - *

      The ID of the Amazon Web Services account that owns the resource group.

      - */ - OwnerId?: string; -} - -export namespace CapacityReservationGroup { +export interface GetCoipPoolUsageResult { /** - * @internal + *

      The ID of the customer-owned address pool.

      */ - export const filterSensitiveLog = (obj: CapacityReservationGroup): any => ({ - ...obj, - }); -} + CoipPoolId?: string; -export interface GetGroupsForCapacityReservationResult { /** - *

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

      + *

      Information about the address usage.

      */ - NextToken?: string; + CoipAddressUsages?: CoipAddressUsage[]; /** - *

      Information about the resource groups to which the Capacity Reservation has been added.

      + *

      The ID of the local gateway route table.

      */ - CapacityReservationGroups?: CapacityReservationGroup[]; + LocalGatewayRouteTableId?: string; } -export namespace GetGroupsForCapacityReservationResult { +export namespace GetCoipPoolUsageResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationResult): any => ({ + export const filterSensitiveLog = (obj: GetCoipPoolUsageResult): any => ({ ...obj, }); } -export interface GetHostReservationPurchasePreviewRequest { +export interface GetConsoleOutputRequest { /** - *

      The IDs of the Dedicated Hosts with which the reservation is associated.

      + *

      The ID of the instance.

      */ - HostIdSet: string[] | undefined; + InstanceId: string | undefined; /** - *

      The offering ID of the reservation.

      + *

      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.

      */ - OfferingId: string | undefined; + DryRun?: boolean; + + /** + *

      When enabled, retrieves the latest console output for the instance.

      + *

      Default: disabled (false)

      + */ + Latest?: boolean; } -export namespace GetHostReservationPurchasePreviewRequest { +export namespace GetConsoleOutputRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewRequest): any => ({ + export const filterSensitiveLog = (obj: GetConsoleOutputRequest): any => ({ ...obj, }); } -/** - *

      Describes the result of the purchase.

      - */ -export interface Purchase { - /** - *

      The currency in which the UpfrontPrice and HourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

      - */ - CurrencyCode?: CurrencyCodeValues | string; - +export interface GetConsoleOutputResult { /** - *

      The duration of the reservation's term in seconds.

      + *

      The ID of the instance.

      */ - Duration?: number; + InstanceId?: string; /** - *

      The IDs of the Dedicated Hosts associated with the reservation.

      + *

      The console output, base64-encoded. If you are using a command line tool, the tool + * decodes the output for you.

      */ - HostIdSet?: string[]; + Output?: string; /** - *

      The ID of the reservation.

      + *

      The time at which the output was last updated.

      */ - HostReservationId?: string; + Timestamp?: Date; +} +export namespace GetConsoleOutputResult { /** - *

      The hourly price of the reservation per hour.

      + * @internal */ - HourlyPrice?: string; + export const filterSensitiveLog = (obj: GetConsoleOutputResult): any => ({ + ...obj, + }); +} +export interface GetConsoleScreenshotRequest { /** - *

      The instance family on the Dedicated Host that the reservation can be associated - * with.

      + *

      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.

      */ - InstanceFamily?: string; + DryRun?: boolean; /** - *

      The payment option for the reservation.

      + *

      The ID of the instance.

      */ - PaymentOption?: PaymentOption | string; + InstanceId: string | undefined; /** - *

      The upfront price of the reservation.

      + *

      When set to true, acts as keystroke input and wakes up an instance that's + * in standby or "sleep" mode.

      */ - UpfrontPrice?: string; + WakeUp?: boolean; } -export namespace Purchase { +export namespace GetConsoleScreenshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Purchase): any => ({ + export const filterSensitiveLog = (obj: GetConsoleScreenshotRequest): any => ({ ...obj, }); } -export interface GetHostReservationPurchasePreviewResult { - /** - *

      The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

      - */ - CurrencyCode?: CurrencyCodeValues | string; - - /** - *

      The purchase information of the Dedicated Host reservation and the Dedicated Hosts - * associated with it.

      - */ - Purchase?: Purchase[]; - +export interface GetConsoleScreenshotResult { /** - *

      The potential total hourly price of the reservation per hour.

      + *

      The data that comprises the image.

      */ - TotalHourlyPrice?: string; + ImageData?: string; /** - *

      The potential total upfront price. This is billed immediately.

      + *

      The ID of the instance.

      */ - TotalUpfrontPrice?: string; + InstanceId?: string; } -export namespace GetHostReservationPurchasePreviewResult { +export namespace GetConsoleScreenshotResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewResult): any => ({ + export const filterSensitiveLog = (obj: GetConsoleScreenshotResult): any => ({ ...obj, }); } -export interface GetInstanceTypesFromInstanceRequirementsRequest { +export type UnlimitedSupportedInstanceFamily = "t2" | "t3" | "t3a" | "t4g"; + +export interface GetDefaultCreditSpecificationRequest { /** *

      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. @@ -10718,444 +10889,466 @@ export interface GetInstanceTypesFromInstanceRequirementsRequest { DryRun?: boolean; /** - *

      The processor architecture type.

      - */ - ArchitectureTypes: (ArchitectureType | string)[] | undefined; - - /** - *

      The virtualization type.

      + *

      The instance family.

      */ - VirtualizationTypes: (VirtualizationType | string)[] | undefined; + InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; +} +export namespace GetDefaultCreditSpecificationRequest { /** - *

      The attributes required for the instance types.

      + * @internal */ - InstanceRequirements: InstanceRequirementsRequest | undefined; + export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationRequest): any => ({ + ...obj, + }); +} +/** + *

      Describes the default credit option for CPU usage of a burstable performance instance family.

      + */ +export interface InstanceFamilyCreditSpecification { /** - *

      The maximum number of results to return in a single call. Specify a value between 1 and - * 1000. The default value is 1000. To retrieve the remaining results, make another call with - * the returned NextToken value.

      + *

      The instance family.

      */ - MaxResults?: number; + InstanceFamily?: UnlimitedSupportedInstanceFamily | string; /** - *

      The token for the next set of results.

      + *

      The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

      */ - NextToken?: string; + CpuCredits?: string; } -export namespace GetInstanceTypesFromInstanceRequirementsRequest { +export namespace InstanceFamilyCreditSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceFamilyCreditSpecification): any => ({ ...obj, }); } -/** - *

      The list of instance types with the specified instance attributes.

      - */ -export interface InstanceTypeInfoFromInstanceRequirements { +export interface GetDefaultCreditSpecificationResult { /** - *

      The matching instance type.

      + *

      The default credit option for CPU usage of the instance family.

      */ - InstanceType?: string; + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; } -export namespace InstanceTypeInfoFromInstanceRequirements { +export namespace GetDefaultCreditSpecificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceTypeInfoFromInstanceRequirements): any => ({ + export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationResult): any => ({ ...obj, }); } -export interface GetInstanceTypesFromInstanceRequirementsResult { +export interface GetEbsDefaultKmsKeyIdRequest { + /** + *

      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 GetEbsDefaultKmsKeyIdRequest { /** - *

      The instance types with the specified instance attributes.

      + * @internal */ - InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[]; + export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdRequest): any => ({ + ...obj, + }); +} +export interface GetEbsDefaultKmsKeyIdResult { /** - *

      The token for the next set of results.

      + *

      The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

      */ - NextToken?: string; + KmsKeyId?: string; } -export namespace GetInstanceTypesFromInstanceRequirementsResult { +export namespace GetEbsDefaultKmsKeyIdResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsResult): any => ({ + export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdResult): any => ({ ...obj, }); } -export interface GetIpamAddressHistoryRequest { +export interface GetEbsEncryptionByDefaultRequest { /** - *

      A check for whether you have the required permissions for the action without actually making the request + *

      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 { /** - *

      The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. - * If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

      + * @internal */ - Cidr: string | undefined; + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ + ...obj, + }); +} +export interface GetEbsEncryptionByDefaultResult { /** - *

      The ID of the IPAM scope that the CIDR is in.

      + *

      Indicates whether encryption by default is enabled.

      */ - IpamScopeId: string | undefined; + EbsEncryptionByDefault?: boolean; +} +export namespace GetEbsEncryptionByDefaultResult { /** - *

      The ID of the VPC you want your history records filtered by.

      + * @internal */ - VpcId?: string; + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultResult): any => ({ + ...obj, + }); +} + +export enum PartitionLoadFrequency { + DAILY = "daily", + MONTHLY = "monthly", + NONE = "none", + WEEKLY = "weekly", +} +/** + *

      Describes integration options for Amazon Athena.

      + */ +export interface AthenaIntegration { /** - *

      The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

      + *

      The location in Amazon S3 to store the generated CloudFormation template.

      */ - StartTime?: Date; + IntegrationResultS3DestinationArn: string | undefined; /** - *

      The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

      + *

      The schedule for adding new partitions to the table.

      */ - EndTime?: Date; + PartitionLoadFrequency: PartitionLoadFrequency | string | undefined; /** - *

      The maximum number of historical results you would like returned per page. Defaults to 100.

      + *

      The start date for the partition.

      */ - MaxResults?: number; + PartitionStartDate?: Date; /** - *

      The token for the next page of results.

      + *

      The end date for the partition.

      */ - NextToken?: string; + PartitionEndDate?: Date; } -export namespace GetIpamAddressHistoryRequest { +export namespace AthenaIntegration { /** * @internal */ - export const filterSensitiveLog = (obj: GetIpamAddressHistoryRequest): any => ({ + export const filterSensitiveLog = (obj: AthenaIntegration): any => ({ ...obj, }); } -export enum IpamComplianceStatus { - compliant = "compliant", - ignored = "ignored", - noncompliant = "noncompliant", - unmanaged = "unmanaged", -} - -export enum IpamOverlapStatus { - ignored = "ignored", - nonoverlapping = "nonoverlapping", - overlapping = "overlapping", +/** + *

      Describes service integrations with VPC Flow logs.

      + */ +export interface IntegrateServices { + /** + *

      Information about the integration with Amazon Athena.

      + */ + AthenaIntegrations?: AthenaIntegration[]; } -export enum IpamAddressHistoryResourceType { - eip = "eip", - instance = "instance", - network_interface = "network-interface", - subnet = "subnet", - vpc = "vpc", +export namespace IntegrateServices { + /** + * @internal + */ + export const filterSensitiveLog = (obj: IntegrateServices): any => ({ + ...obj, + }); } -/** - *

      The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide. - *

      - */ -export interface IpamAddressHistoryRecord { +export interface GetFlowLogsIntegrationTemplateRequest { /** - *

      The ID of the resource owner.

      + *

      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.

      */ - ResourceOwnerId?: string; + DryRun?: boolean; /** - *

      The Amazon Web Services Region of the resource.

      + *

      The ID of the flow log.

      */ - ResourceRegion?: string; + FlowLogId: string | undefined; /** - *

      The type of the resource.

      + *

      To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

      */ - ResourceType?: IpamAddressHistoryResourceType | string; + ConfigDeliveryS3DestinationArn: string | undefined; /** - *

      The ID of the resource.

      + *

      Information about the service integration.

      */ - ResourceId?: string; + IntegrateServices: IntegrateServices | undefined; +} +export namespace GetFlowLogsIntegrationTemplateRequest { /** - *

      The CIDR of the resource.

      + * @internal */ - ResourceCidr?: string; + export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateRequest): any => ({ + ...obj, + }); +} +export interface GetFlowLogsIntegrationTemplateResult { /** - *

      The name of the resource.

      + *

      The generated CloudFormation template.

      */ - ResourceName?: string; + Result?: string; +} +export namespace GetFlowLogsIntegrationTemplateResult { /** - *

      The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      + * @internal */ - ResourceComplianceStatus?: IpamComplianceStatus | string; + export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateResult): any => ({ + ...obj, + }); +} +export interface GetGroupsForCapacityReservationRequest { /** - *

      The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      + *

      The ID of the Capacity Reservation.

      */ - ResourceOverlapStatus?: IpamOverlapStatus | string; + CapacityReservationId: string | undefined; /** - *

      The VPC ID of the resource.

      + *

      The token to use to retrieve the next page of results.

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

      Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

      + *

      The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

      */ - SampledStartTime?: Date; + MaxResults?: number; /** - *

      Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

      + *

      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.

      */ - SampledEndTime?: Date; + DryRun?: boolean; } -export namespace IpamAddressHistoryRecord { +export namespace GetGroupsForCapacityReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: IpamAddressHistoryRecord): any => ({ + export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationRequest): any => ({ ...obj, }); } -export interface GetIpamAddressHistoryResult { +/** + *

      Describes a resource group to which a Capacity Reservation has been added.

      + */ +export interface CapacityReservationGroup { /** - *

      A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

      + *

      The ARN of the resource group.

      */ - HistoryRecords?: IpamAddressHistoryRecord[]; + GroupArn?: string; /** - *

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

      + *

      The ID of the Amazon Web Services account that owns the resource group.

      */ - NextToken?: string; + OwnerId?: string; } -export namespace GetIpamAddressHistoryResult { +export namespace CapacityReservationGroup { /** * @internal */ - export const filterSensitiveLog = (obj: GetIpamAddressHistoryResult): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationGroup): any => ({ ...obj, }); } -export interface GetIpamPoolAllocationsRequest { - /** - *

      A check for 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; - - /** - *

      The ID of the IPAM pool you want to see the allocations for.

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

      The ID of the allocation.

      - */ - IpamPoolAllocationId?: string; - - /** - *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      - */ - Filters?: Filter[]; - +export interface GetGroupsForCapacityReservationResult { /** - *

      The maximum number of results you would like returned per page.

      + *

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

      */ - MaxResults?: number; + NextToken?: string; /** - *

      The token for the next page of results.

      + *

      Information about the resource groups to which the Capacity Reservation has been added.

      */ - NextToken?: string; + CapacityReservationGroups?: CapacityReservationGroup[]; } -export namespace GetIpamPoolAllocationsRequest { +export namespace GetGroupsForCapacityReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetIpamPoolAllocationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationResult): any => ({ ...obj, }); } -export interface GetIpamPoolAllocationsResult { +export interface GetHostReservationPurchasePreviewRequest { /** - *

      The IPAM pool allocations you want information on.

      + *

      The IDs of the Dedicated Hosts with which the reservation is associated.

      */ - IpamPoolAllocations?: IpamPoolAllocation[]; + HostIdSet: string[] | undefined; /** - *

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

      + *

      The offering ID of the reservation.

      */ - NextToken?: string; + OfferingId: string | undefined; } -export namespace GetIpamPoolAllocationsResult { +export namespace GetHostReservationPurchasePreviewRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetIpamPoolAllocationsResult): any => ({ + export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewRequest): any => ({ ...obj, }); } -export interface GetIpamPoolCidrsRequest { +/** + *

      Describes the result of the purchase.

      + */ +export interface Purchase { /** - *

      A check for 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.

      + *

      The currency in which the UpfrontPrice and HourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

      */ - DryRun?: boolean; + CurrencyCode?: CurrencyCodeValues | string; /** - *

      The ID of the IPAM pool you want the CIDR for.

      + *

      The duration of the reservation's term in seconds.

      */ - IpamPoolId: string | undefined; + Duration?: number; /** - *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      + *

      The IDs of the Dedicated Hosts associated with the reservation.

      */ - Filters?: Filter[]; + HostIdSet?: string[]; /** - *

      The maximum number of results to return in the request.

      + *

      The ID of the reservation.

      */ - MaxResults?: number; + HostReservationId?: string; /** - *

      The token for the next page of results.

      + *

      The hourly price of the reservation per hour.

      */ - NextToken?: string; -} + HourlyPrice?: string; -export namespace GetIpamPoolCidrsRequest { /** - * @internal + *

      The instance family on the Dedicated Host that the reservation can be associated + * with.

      */ - export const filterSensitiveLog = (obj: GetIpamPoolCidrsRequest): any => ({ - ...obj, - }); -} + InstanceFamily?: string; -export interface GetIpamPoolCidrsResult { /** - *

      Information about the CIDRs provisioned to an IPAM pool.

      + *

      The payment option for the reservation.

      */ - IpamPoolCidrs?: IpamPoolCidr[]; + PaymentOption?: PaymentOption | string; /** - *

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

      + *

      The upfront price of the reservation.

      */ - NextToken?: string; + UpfrontPrice?: string; } -export namespace GetIpamPoolCidrsResult { +export namespace Purchase { /** * @internal */ - export const filterSensitiveLog = (obj: GetIpamPoolCidrsResult): any => ({ + export const filterSensitiveLog = (obj: Purchase): any => ({ ...obj, }); } -export enum IpamResourceType { - eip = "eip", - ipv6_pool = "ipv6-pool", - public_ipv4_pool = "public-ipv4-pool", - subnet = "subnet", - vpc = "vpc", -} +export interface GetHostReservationPurchasePreviewResult { + /** + *

      The currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

      + */ + CurrencyCode?: CurrencyCodeValues | string; -export interface GetIpamResourceCidrsRequest { /** - *

      A check for 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.

      + *

      The purchase information of the Dedicated Host reservation and the Dedicated Hosts + * associated with it.

      */ - DryRun?: boolean; + Purchase?: Purchase[]; /** - *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      + *

      The potential total hourly price of the reservation per hour.

      */ - Filters?: Filter[]; + TotalHourlyPrice?: string; /** - *

      The maximum number of results to return in the request.

      + *

      The potential total upfront price. This is billed immediately.

      */ - MaxResults?: number; + TotalUpfrontPrice?: string; +} +export namespace GetHostReservationPurchasePreviewResult { /** - *

      The token for the next page of results.

      + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewResult): any => ({ + ...obj, + }); +} +export interface GetInstanceTypesFromInstanceRequirementsRequest { /** - *

      The ID of the scope that the resource is in.

      + *

      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.

      */ - IpamScopeId: string | undefined; + DryRun?: boolean; /** - *

      The ID of the IPAM pool that the resource is in.

      + *

      The processor architecture type.

      */ - IpamPoolId?: string; + ArchitectureTypes: (ArchitectureType | string)[] | undefined; /** - *

      The ID of the resource.

      + *

      The virtualization type.

      */ - ResourceId?: string; + VirtualizationTypes: (VirtualizationType | string)[] | undefined; /** - *

      The resource type.

      + *

      The attributes required for the instance types.

      */ - ResourceType?: IpamResourceType | string; + InstanceRequirements: InstanceRequirementsRequest | undefined; /** - *

      A tag on an IPAM resource.

      + *

      The maximum number of results to return in a single call. Specify a value between 1 and + * 1000. The default value is 1000. To retrieve the remaining results, make another call with + * the returned NextToken value.

      */ - ResourceTag?: RequestIpamResourceTag; + MaxResults?: number; /** - *

      The ID of the Amazon Web Services account that owns the resource.

      + *

      The token for the next set of results.

      */ - ResourceOwner?: string; + NextToken?: string; } -export namespace GetIpamResourceCidrsRequest { +export namespace GetInstanceTypesFromInstanceRequirementsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetIpamResourceCidrsRequest): any => ({ + export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsRequest): any => ({ ...obj, }); } - -export enum IpamManagementState { - ignored = "ignored", - managed = "managed", - unmanaged = "unmanaged", -} diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 97255e814c33e..6c8c3d1bd7981 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -13,7 +13,7 @@ import { AutoPlacement, ByoipCidr, ClientConnectOptions, - ClientVpnAuthorizationRuleStatus, + ClientLoginBannerOptions, ConnectionLogOptions, CurrencyCodeValues, DnsSupportValue, @@ -24,7 +24,7 @@ import { IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, - IpPermission, + IpamPoolAllocation, Ipv6SupportValue, PortRange, RouteTableAssociationState, @@ -66,7 +66,6 @@ import { ResponseLaunchTemplateData, RuleAction, ShutdownBehavior, - SnapshotState, SpotInstanceType, SubnetCidrReservation, TargetCapacitySpecificationRequest, @@ -119,7 +118,6 @@ import { Monitoring, PermissionGroup, PublicIpv4PoolRange, - ReservedInstancesConfiguration, SnapshotDetail, SnapshotTaskDetail, VirtualizationType, @@ -129,12 +127,9 @@ import { ExcessCapacityTerminationPolicy, InstanceFamilyCreditSpecification, InstanceNetworkInterfaceSpecification, - IpamComplianceStatus, - IpamManagementState, - IpamOverlapStatus, - IpamResourceType, LaunchTemplateConfig, Purchase, + ReservedInstancesConfiguration, RunInstancesMonitoringEnabled, ScheduledInstance, SnapshotAttributeName, @@ -147,218 +142,259 @@ import { } from "./models_4"; /** - *

      The CIDR for an IPAM resource.

      + *

      The list of instance types with the specified instance attributes.

      */ -export interface IpamResourceCidr { +export interface InstanceTypeInfoFromInstanceRequirements { /** - *

      The IPAM ID for an IPAM resource.

      + *

      The matching instance type.

      */ - IpamId?: string; + InstanceType?: string; +} +export namespace InstanceTypeInfoFromInstanceRequirements { /** - *

      The scope ID for an IPAM resource.

      + * @internal */ - IpamScopeId?: string; + export const filterSensitiveLog = (obj: InstanceTypeInfoFromInstanceRequirements): any => ({ + ...obj, + }); +} +export interface GetInstanceTypesFromInstanceRequirementsResult { /** - *

      The pool ID for an IPAM resource.

      + *

      The instance types with the specified instance attributes.

      */ - IpamPoolId?: string; + InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[]; /** - *

      The Amazon Web Services Region for an IPAM resource.

      + *

      The token for the next set of results.

      */ - ResourceRegion?: string; + NextToken?: string; +} +export namespace GetInstanceTypesFromInstanceRequirementsResult { /** - *

      The Amazon Web Services account number of the owner of an IPAM resource.

      + * @internal */ - ResourceOwnerId?: string; + export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsResult): any => ({ + ...obj, + }); +} +export interface GetIpamAddressHistoryRequest { /** - *

      The ID of an IPAM resource.

      + *

      A check for 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.

      */ - ResourceId?: string; + DryRun?: boolean; /** - *

      The name of an IPAM resource.

      + *

      The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. + * If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

      */ - ResourceName?: string; + Cidr: string | undefined; /** - *

      The CIDR for an IPAM resource.

      + *

      The ID of the IPAM scope that the CIDR is in.

      */ - ResourceCidr?: string; + IpamScopeId: string | undefined; /** - *

      The type of IPAM resource.

      + *

      The ID of the VPC you want your history records filtered by.

      */ - ResourceType?: IpamResourceType | string; + VpcId?: string; /** - *

      The tags for an IPAM resource.

      + *

      The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

      */ - ResourceTags?: IpamResourceTag[]; + StartTime?: Date; /** - *

      The IP address space in the IPAM pool that is allocated to this resource. To convert the decimal to a percentage, multiply the decimal by 100.

      + *

      The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

      */ - IpUsage?: number; + EndTime?: Date; /** - *

      The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      + *

      The maximum number of historical results you would like returned per page. Defaults to 100.

      */ - ComplianceStatus?: IpamComplianceStatus | string; + MaxResults?: number; /** - *

      The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      + *

      The token for the next page of results.

      */ - ManagementState?: IpamManagementState | string; + NextToken?: string; +} +export namespace GetIpamAddressHistoryRequest { /** - *

      The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      + * @internal */ - OverlapStatus?: IpamOverlapStatus | string; + export const filterSensitiveLog = (obj: GetIpamAddressHistoryRequest): any => ({ + ...obj, + }); +} + +export enum IpamComplianceStatus { + compliant = "compliant", + ignored = "ignored", + noncompliant = "noncompliant", + unmanaged = "unmanaged", +} +export enum IpamOverlapStatus { + ignored = "ignored", + nonoverlapping = "nonoverlapping", + overlapping = "overlapping", +} + +export enum IpamAddressHistoryResourceType { + eip = "eip", + instance = "instance", + network_interface = "network-interface", + subnet = "subnet", + vpc = "vpc", +} + +/** + *

      The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide. + *

      + */ +export interface IpamAddressHistoryRecord { /** - *

      The ID of a VPC.

      + *

      The ID of the resource owner.

      */ - VpcId?: string; -} + ResourceOwnerId?: string; -export namespace IpamResourceCidr { /** - * @internal + *

      The Amazon Web Services Region of the resource.

      */ - export const filterSensitiveLog = (obj: IpamResourceCidr): any => ({ - ...obj, - }); -} + ResourceRegion?: string; -export interface GetIpamResourceCidrsResult { /** - *

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

      + *

      The type of the resource.

      */ - NextToken?: string; + ResourceType?: IpamAddressHistoryResourceType | string; /** - *

      The resource CIDRs.

      + *

      The ID of the resource.

      */ - IpamResourceCidrs?: IpamResourceCidr[]; -} + ResourceId?: string; -export namespace GetIpamResourceCidrsResult { /** - * @internal + *

      The CIDR of the resource.

      */ - export const filterSensitiveLog = (obj: GetIpamResourceCidrsResult): any => ({ - ...obj, - }); -} + ResourceCidr?: string; -export interface GetLaunchTemplateDataRequest { /** - *

      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.

      + *

      The name of the resource.

      */ - DryRun?: boolean; + ResourceName?: string; /** - *

      The ID of the instance.

      + *

      The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      */ - InstanceId: string | undefined; + ResourceComplianceStatus?: IpamComplianceStatus | string; + + /** + *

      The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      + */ + ResourceOverlapStatus?: IpamOverlapStatus | string; + + /** + *

      The VPC ID of the resource.

      + */ + VpcId?: string; + + /** + *

      Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

      + */ + SampledStartTime?: Date; + + /** + *

      Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

      + */ + SampledEndTime?: Date; } -export namespace GetLaunchTemplateDataRequest { +export namespace IpamAddressHistoryRecord { /** * @internal */ - export const filterSensitiveLog = (obj: GetLaunchTemplateDataRequest): any => ({ + export const filterSensitiveLog = (obj: IpamAddressHistoryRecord): any => ({ ...obj, }); } -export interface GetLaunchTemplateDataResult { +export interface GetIpamAddressHistoryResult { /** - *

      The instance data.

      + *

      A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

      */ - LaunchTemplateData?: ResponseLaunchTemplateData; + HistoryRecords?: IpamAddressHistoryRecord[]; + + /** + *

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

      + */ + NextToken?: string; } -export namespace GetLaunchTemplateDataResult { +export namespace GetIpamAddressHistoryResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ + export const filterSensitiveLog = (obj: GetIpamAddressHistoryResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListAssociationsRequest { +export interface GetIpamPoolAllocationsRequest { /** - *

      Checks whether you have the required permissions for the action, without actually making the request, + *

      A check for 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; /** - *

      The ID of the prefix list.

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

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

      + *

      The ID of the IPAM pool you want to see the allocations for.

      */ - MaxResults?: number; + IpamPoolId: string | undefined; /** - *

      The token for the next page of results.

      + *

      The ID of the allocation.

      */ - NextToken?: string; -} + IpamPoolAllocationId?: string; -export namespace GetManagedPrefixListAssociationsRequest { /** - * @internal + *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      */ - export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsRequest): any => ({ - ...obj, - }); -} + Filters?: Filter[]; -/** - *

      Describes the resource with which a prefix list is associated.

      - */ -export interface PrefixListAssociation { /** - *

      The ID of the resource.

      + *

      The maximum number of results you would like returned per page.

      */ - ResourceId?: string; + MaxResults?: number; /** - *

      The owner of the resource.

      + *

      The token for the next page of results.

      */ - ResourceOwner?: string; + NextToken?: string; } -export namespace PrefixListAssociation { +export namespace GetIpamPoolAllocationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixListAssociation): any => ({ + export const filterSensitiveLog = (obj: GetIpamPoolAllocationsRequest): any => ({ ...obj, }); } -export interface GetManagedPrefixListAssociationsResult { +export interface GetIpamPoolAllocationsResult { /** - *

      Information about the associations.

      + *

      The IPAM pool allocations you want information on.

      */ - PrefixListAssociations?: PrefixListAssociation[]; + IpamPoolAllocations?: IpamPoolAllocation[]; /** *

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

      @@ -366,36 +402,35 @@ export interface GetManagedPrefixListAssociationsResult { NextToken?: string; } -export namespace GetManagedPrefixListAssociationsResult { +export namespace GetIpamPoolAllocationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: GetIpamPoolAllocationsResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListEntriesRequest { +export interface GetIpamPoolCidrsRequest { /** - *

      Checks whether you have the required permissions for the action, without actually making the request, + *

      A check for 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; /** - *

      The ID of the prefix list.

      + *

      The ID of the IPAM pool you want the CIDR for.

      */ - PrefixListId: string | undefined; + IpamPoolId: string | undefined; /** - *

      The version of the prefix list for which to return the entries. The default is the current version.

      + *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      */ - TargetVersion?: number; + Filters?: Filter[]; /** - *

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

      + *

      The maximum number of results to return in the request.

      */ MaxResults?: number; @@ -405,69 +440,59 @@ export interface GetManagedPrefixListEntriesRequest { NextToken?: string; } -export namespace GetManagedPrefixListEntriesRequest { +export namespace GetIpamPoolCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesRequest): any => ({ + export const filterSensitiveLog = (obj: GetIpamPoolCidrsRequest): any => ({ ...obj, }); } -/** - *

      Describes a prefix list entry.

      - */ -export interface PrefixListEntry { +export interface GetIpamPoolCidrsResult { /** - *

      The CIDR block.

      + *

      Information about the CIDRs provisioned to an IPAM pool.

      */ - Cidr?: string; + IpamPoolCidrs?: IpamPoolCidr[]; /** - *

      The description.

      + *

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

      */ - Description?: string; + NextToken?: string; } -export namespace PrefixListEntry { +export namespace GetIpamPoolCidrsResult { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixListEntry): any => ({ + export const filterSensitiveLog = (obj: GetIpamPoolCidrsResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListEntriesResult { - /** - *

      Information about the prefix list entries.

      - */ - Entries?: PrefixListEntry[]; - - /** - *

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

      - */ - NextToken?: string; +export enum IpamResourceType { + eip = "eip", + ipv6_pool = "ipv6-pool", + public_ipv4_pool = "public-ipv4-pool", + subnet = "subnet", + vpc = "vpc", } -export namespace GetManagedPrefixListEntriesResult { +export interface GetIpamResourceCidrsRequest { /** - * @internal + *

      A check for 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.

      */ - export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesResult): any => ({ - ...obj, - }); -} + DryRun?: boolean; -export interface GetNetworkInsightsAccessScopeAnalysisFindingsRequest { /** - *

      The ID of the Network Access Scope analysis.

      + *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      */ - NetworkInsightsAccessScopeAnalysisId: string | undefined; + Filters?: Filter[]; /** - *

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

      + *

      The maximum number of results to return in the request.

      */ MaxResults?: number; @@ -477,577 +502,473 @@ export interface GetNetworkInsightsAccessScopeAnalysisFindingsRequest { NextToken?: string; /** - *

      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.

      + *

      The ID of the scope that the resource is in.

      */ - DryRun?: boolean; -} + IpamScopeId: string | undefined; -export namespace GetNetworkInsightsAccessScopeAnalysisFindingsRequest { /** - * @internal + *

      The ID of the IPAM pool that the resource is in.

      */ - export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeAnalysisFindingsRequest): any => ({ - ...obj, - }); -} + IpamPoolId?: string; -export interface GetNetworkInsightsAccessScopeAnalysisFindingsResult { /** - *

      The ID of the Network Access Scope analysis.

      + *

      The ID of the resource.

      */ - NetworkInsightsAccessScopeAnalysisId?: string; + ResourceId?: string; /** - *

      The status of Network Access Scope Analysis.

      + *

      The resource type.

      */ - AnalysisStatus?: AnalysisStatus | string; + ResourceType?: IpamResourceType | string; /** - *

      The findings associated with Network Access Scope Analysis.

      + *

      A tag on an IPAM resource.

      */ - AnalysisFindings?: AccessScopeAnalysisFinding[]; + ResourceTag?: RequestIpamResourceTag; /** - *

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

      + *

      The ID of the Amazon Web Services account that owns the resource.

      */ - NextToken?: string; + ResourceOwner?: string; } -export namespace GetNetworkInsightsAccessScopeAnalysisFindingsResult { +export namespace GetIpamResourceCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeAnalysisFindingsResult): any => ({ + export const filterSensitiveLog = (obj: GetIpamResourceCidrsRequest): any => ({ ...obj, }); } -export interface GetNetworkInsightsAccessScopeContentRequest { - /** - *

      The ID of the Network Access Scope.

      - */ - NetworkInsightsAccessScopeId: string | undefined; +export enum IpamManagementState { + ignored = "ignored", + managed = "managed", + unmanaged = "unmanaged", +} +/** + *

      The CIDR for an IPAM resource.

      + */ +export interface IpamResourceCidr { /** - *

      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.

      + *

      The IPAM ID for an IPAM resource.

      */ - DryRun?: boolean; -} + IpamId?: string; -export namespace GetNetworkInsightsAccessScopeContentRequest { /** - * @internal + *

      The scope ID for an IPAM resource.

      */ - export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeContentRequest): any => ({ - ...obj, - }); -} + IpamScopeId?: string; -export interface GetNetworkInsightsAccessScopeContentResult { /** - *

      The Network Access Scope content.

      + *

      The pool ID for an IPAM resource.

      */ - NetworkInsightsAccessScopeContent?: NetworkInsightsAccessScopeContent; -} + IpamPoolId?: string; -export namespace GetNetworkInsightsAccessScopeContentResult { /** - * @internal + *

      The Amazon Web Services Region for an IPAM resource.

      */ - export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeContentResult): any => ({ - ...obj, - }); -} + ResourceRegion?: string; -export interface GetPasswordDataRequest { /** - *

      The ID of the Windows instance.

      + *

      The Amazon Web Services account number of the owner of an IPAM resource.

      */ - InstanceId: string | undefined; + ResourceOwnerId?: string; /** - *

      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.

      + *

      The ID of an IPAM resource.

      */ - DryRun?: boolean; -} + ResourceId?: string; -export namespace GetPasswordDataRequest { /** - * @internal + *

      The name of an IPAM resource.

      */ - export const filterSensitiveLog = (obj: GetPasswordDataRequest): any => ({ - ...obj, - }); -} + ResourceName?: string; -export interface GetPasswordDataResult { /** - *

      The ID of the Windows instance.

      + *

      The CIDR for an IPAM resource.

      */ - InstanceId?: string; + ResourceCidr?: string; /** - *

      The password of the instance. Returns an empty string if the password is not - * available.

      + *

      The type of IPAM resource.

      */ - PasswordData?: string; + ResourceType?: IpamResourceType | string; /** - *

      The time the data was last updated.

      + *

      The tags for an IPAM resource.

      */ - Timestamp?: Date; -} + ResourceTags?: IpamResourceTag[]; -export namespace GetPasswordDataResult { /** - * @internal + *

      The IP address space in the IPAM pool that is allocated to this resource. To convert the decimal to a percentage, multiply the decimal by 100.

      */ - export const filterSensitiveLog = (obj: GetPasswordDataResult): any => ({ - ...obj, - }); -} + IpUsage?: number; -/** - *

      Contains the parameters for GetReservedInstanceExchangeQuote.

      - */ -export interface GetReservedInstancesExchangeQuoteRequest { /** - *

      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.

      + *

      The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      */ - DryRun?: boolean; + ComplianceStatus?: IpamComplianceStatus | string; /** - *

      The IDs of the Convertible Reserved Instances to exchange.

      + *

      The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      */ - ReservedInstanceIds: string[] | undefined; + ManagementState?: IpamManagementState | string; /** - *

      The configuration of the target Convertible Reserved Instance to exchange for your - * current Convertible Reserved Instances.

      + *

      The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

      */ - TargetConfigurations?: TargetConfigurationRequest[]; + OverlapStatus?: IpamOverlapStatus | string; + + /** + *

      The ID of a VPC.

      + */ + VpcId?: string; } -export namespace GetReservedInstancesExchangeQuoteRequest { +export namespace IpamResourceCidr { /** * @internal */ - export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteRequest): any => ({ + export const filterSensitiveLog = (obj: IpamResourceCidr): any => ({ ...obj, }); } -/** - *

      The cost associated with the Reserved Instance.

      - */ -export interface ReservationValue { - /** - *

      The hourly rate of the reservation.

      - */ - HourlyPrice?: string; - +export interface GetIpamResourceCidrsResult { /** - *

      The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

      + *

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

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

      The remaining upfront cost of the reservation.

      + *

      The resource CIDRs.

      */ - RemainingUpfrontValue?: string; + IpamResourceCidrs?: IpamResourceCidr[]; } -export namespace ReservationValue { +export namespace GetIpamResourceCidrsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReservationValue): any => ({ + export const filterSensitiveLog = (obj: GetIpamResourceCidrsResult): any => ({ ...obj, }); } -/** - *

      The total value of the Convertible Reserved Instance.

      - */ -export interface ReservedInstanceReservationValue { +export interface GetLaunchTemplateDataRequest { /** - *

      The total value of the Convertible Reserved Instance that you are exchanging.

      + *

      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.

      */ - ReservationValue?: ReservationValue; + DryRun?: boolean; /** - *

      The ID of the Convertible Reserved Instance that you are exchanging.

      + *

      The ID of the instance.

      */ - ReservedInstanceId?: string; + InstanceId: string | undefined; } -export namespace ReservedInstanceReservationValue { +export namespace GetLaunchTemplateDataRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstanceReservationValue): any => ({ + export const filterSensitiveLog = (obj: GetLaunchTemplateDataRequest): any => ({ ...obj, }); } -/** - *

      Information about the Convertible Reserved Instance offering.

      - */ -export interface TargetConfiguration { - /** - *

      The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is - * reserved and cannot be specified in a request

      - */ - InstanceCount?: number; - +export interface GetLaunchTemplateDataResult { /** - *

      The ID of the Convertible Reserved Instance offering.

      + *

      The instance data.

      */ - OfferingId?: string; + LaunchTemplateData?: ResponseLaunchTemplateData; } -export namespace TargetConfiguration { +export namespace GetLaunchTemplateDataResult { /** * @internal */ - export const filterSensitiveLog = (obj: TargetConfiguration): any => ({ + export const filterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ ...obj, }); } -/** - *

      The total value of the new Convertible Reserved Instances.

      - */ -export interface TargetReservationValue { +export interface GetManagedPrefixListAssociationsRequest { /** - *

      The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of - * the list value, remaining upfront price, and additional upfront cost of the exchange.

      + *

      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.

      */ - ReservationValue?: ReservationValue; + DryRun?: boolean; /** - *

      The configuration of the Convertible Reserved Instances that make up the exchange.

      + *

      The ID of the prefix list.

      */ - TargetConfiguration?: TargetConfiguration; + PrefixListId: string | undefined; + + /** + *

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

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

      The token for the next page of results.

      + */ + NextToken?: string; } -export namespace TargetReservationValue { +export namespace GetManagedPrefixListAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TargetReservationValue): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsRequest): any => ({ ...obj, }); } /** - *

      Contains the output of GetReservedInstancesExchangeQuote.

      + *

      Describes the resource with which a prefix list is associated.

      */ -export interface GetReservedInstancesExchangeQuoteResult { +export interface PrefixListAssociation { /** - *

      The currency of the transaction.

      + *

      The ID of the resource.

      */ - CurrencyCode?: string; + ResourceId?: string; /** - *

      If true, the exchange is valid. If false, the exchange cannot be completed.

      + *

      The owner of the resource.

      */ - IsValidExchange?: boolean; + ResourceOwner?: string; +} +export namespace PrefixListAssociation { /** - *

      The new end date of the reservation term.

      + * @internal */ - OutputReservedInstancesWillExpireAt?: Date; + export const filterSensitiveLog = (obj: PrefixListAssociation): any => ({ + ...obj, + }); +} +export interface GetManagedPrefixListAssociationsResult { /** - *

      The total true upfront charge for the exchange.

      + *

      Information about the associations.

      */ - PaymentDue?: string; + PrefixListAssociations?: PrefixListAssociation[]; /** - *

      The cost associated with the Reserved Instance.

      + *

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

      */ - ReservedInstanceValueRollup?: ReservationValue; + NextToken?: string; +} +export namespace GetManagedPrefixListAssociationsResult { /** - *

      The configuration of your Convertible Reserved Instances.

      + * @internal */ - ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; + export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsResult): any => ({ + ...obj, + }); +} +export interface GetManagedPrefixListEntriesRequest { /** - *

      The cost associated with the Reserved Instance.

      + *

      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.

      */ - TargetConfigurationValueRollup?: ReservationValue; + DryRun?: boolean; /** - *

      The values of the target Convertible Reserved Instances.

      + *

      The ID of the prefix list.

      */ - TargetConfigurationValueSet?: TargetReservationValue[]; + PrefixListId: string | undefined; /** - *

      Describes the reason why the exchange cannot be completed.

      + *

      The version of the prefix list for which to return the entries. The default is the current version.

      */ - ValidationFailureReason?: string; -} + TargetVersion?: number; -export namespace GetReservedInstancesExchangeQuoteResult { /** - * @internal - */ - export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteResult): any => ({ - ...obj, - }); -} + *

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

      + */ + MaxResults?: number; -export interface GetSerialConsoleAccessStatusRequest { /** - *

      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.

      + *

      The token for the next page of results.

      */ - DryRun?: boolean; + NextToken?: string; } -export namespace GetSerialConsoleAccessStatusRequest { +export namespace GetManagedPrefixListEntriesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusRequest): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesRequest): any => ({ ...obj, }); } -export interface GetSerialConsoleAccessStatusResult { +/** + *

      Describes a prefix list entry.

      + */ +export interface PrefixListEntry { /** - *

      If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

      + *

      The CIDR block.

      */ - SerialConsoleAccessEnabled?: boolean; + Cidr?: string; + + /** + *

      The description.

      + */ + Description?: string; } -export namespace GetSerialConsoleAccessStatusResult { +export namespace PrefixListEntry { /** * @internal */ - export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusResult): any => ({ + export const filterSensitiveLog = (obj: PrefixListEntry): any => ({ ...obj, }); } -/** - *

      The architecture type, virtualization type, and other attributes for the instance types. - * When you specify instance attributes, Amazon EC2 will identify instance types with those - * attributes.

      - *

      If you specify InstanceRequirementsWithMetadataRequest, you can't specify - * InstanceTypes.

      - */ -export interface InstanceRequirementsWithMetadataRequest { - /** - *

      The architecture type.

      - */ - ArchitectureTypes?: (ArchitectureType | string)[]; - +export interface GetManagedPrefixListEntriesResult { /** - *

      The virtualization type.

      + *

      Information about the prefix list entries.

      */ - VirtualizationTypes?: (VirtualizationType | string)[]; + Entries?: PrefixListEntry[]; /** - *

      The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

      + *

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

      */ - InstanceRequirements?: InstanceRequirementsRequest; + NextToken?: string; } -export namespace InstanceRequirementsWithMetadataRequest { +export namespace GetManagedPrefixListEntriesResult { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceRequirementsWithMetadataRequest): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesResult): any => ({ ...obj, }); } -export interface GetSpotPlacementScoresRequest { +export interface GetNetworkInsightsAccessScopeAnalysisFindingsRequest { /** - *

      The instance types. We recommend that you specify at least three instance types. If you - * specify one or two instance types, or specify variations of a single instance type (for - * example, an m3.xlarge with and without instance storage), the returned - * placement score will always be low.

      - *

      If you specify InstanceTypes, you can't specify - * InstanceRequirementsWithMetadata.

      + *

      The ID of the Network Access Scope analysis.

      */ - InstanceTypes?: string[]; + NetworkInsightsAccessScopeAnalysisId: string | undefined; /** - *

      The target capacity.

      + *

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

      */ - TargetCapacity: number | undefined; + MaxResults?: number; /** - *

      The unit for the target capacity.

      - *

      Default: units (translates to number of instances)

      + *

      The token for the next page of results.

      */ - TargetCapacityUnitType?: TargetCapacityUnitType | string; + NextToken?: string; /** - *

      Specify true so that the response returns a list of scored Availability Zones. - * Otherwise, the response returns a list of scored Regions.

      - *

      A list of scored Availability Zones is useful if you want to launch all of your Spot - * capacity into a single Availability Zone.

      + *

      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.

      */ - SingleAvailabilityZone?: boolean; + DryRun?: boolean; +} +export namespace GetNetworkInsightsAccessScopeAnalysisFindingsRequest { /** - *

      The Regions used to narrow down the list of Regions to be scored. Enter the Region code, - * for example, us-east-1.

      + * @internal */ - RegionNames?: string[]; + export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeAnalysisFindingsRequest): any => ({ + ...obj, + }); +} +export interface GetNetworkInsightsAccessScopeAnalysisFindingsResult { /** - *

      The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

      - *

      If you specify InstanceRequirementsWithMetadata, you can't specify - * InstanceTypes.

      + *

      The ID of the Network Access Scope analysis.

      */ - InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest; + NetworkInsightsAccessScopeAnalysisId?: string; /** - *

      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.

      + *

      The status of Network Access Scope Analysis.

      */ - DryRun?: boolean; + AnalysisStatus?: AnalysisStatus | string; /** - *

      The maximum number of results to return in a single call. Specify a value between 1 and - * 1000. The default value is 1000. To retrieve the remaining results, make another call with - * the returned NextToken value.

      + *

      The findings associated with Network Access Scope Analysis.

      */ - MaxResults?: number; + AnalysisFindings?: AccessScopeAnalysisFinding[]; /** - *

      The token for the next set of results.

      + *

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

      */ NextToken?: string; } -export namespace GetSpotPlacementScoresRequest { +export namespace GetNetworkInsightsAccessScopeAnalysisFindingsResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetSpotPlacementScoresRequest): any => ({ + export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeAnalysisFindingsResult): any => ({ ...obj, }); } -/** - *

      The Spot placement score for this Region or Availability Zone. The score is calculated - * based on the assumption that the capacity-optimized allocation strategy is - * used and that all of the Availability Zones in the Region can be used.

      - */ -export interface SpotPlacementScore { - /** - *

      The Region.

      - */ - Region?: string; - +export interface GetNetworkInsightsAccessScopeContentRequest { /** - *

      The Availability Zone.

      + *

      The ID of the Network Access Scope.

      */ - AvailabilityZoneId?: string; + NetworkInsightsAccessScopeId: string | undefined; /** - *

      The placement score, on a scale from 1 to 10. A score of - * 10 indicates that your Spot request is highly likely to succeed in this - * Region or Availability Zone. A score of 1 indicates that your Spot request is - * not likely to succeed.

      + *

      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.

      */ - Score?: number; + DryRun?: boolean; } -export namespace SpotPlacementScore { +export namespace GetNetworkInsightsAccessScopeContentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotPlacementScore): any => ({ + export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeContentRequest): any => ({ ...obj, }); } -export interface GetSpotPlacementScoresResult { - /** - *

      The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale - * from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone - * will succeed at fulfilling the specified target capacity
 at the time of the Spot - * placement score request. A score of 10 means that your Spot - * capacity request is highly likely to succeed in that Region or Availability Zone.

      - *

      If you request a Spot placement score for Regions, a high score assumes that your fleet - * request will be configured to use all Availability Zones and the - * capacity-optimized allocation strategy. If you request a Spot placement - * score for Availability Zones, a high score assumes that your fleet request will be - * configured to use a single Availability Zone and the capacity-optimized - * allocation strategy.

      - *

      Different
 Regions or Availability Zones might return the same score.

      - * - *

      The Spot placement score serves as a recommendation only. No score guarantees that your - * Spot request will be fully or partially fulfilled.

      - *
      - */ - SpotPlacementScores?: SpotPlacementScore[]; - +export interface GetNetworkInsightsAccessScopeContentResult { /** - *

      The token for the next set of results.

      + *

      The Network Access Scope content.

      */ - NextToken?: string; + NetworkInsightsAccessScopeContent?: NetworkInsightsAccessScopeContent; } -export namespace GetSpotPlacementScoresResult { +export namespace GetNetworkInsightsAccessScopeContentResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetSpotPlacementScoresResult): any => ({ + export const filterSensitiveLog = (obj: GetNetworkInsightsAccessScopeContentResult): any => ({ ...obj, }); } -export interface GetSubnetCidrReservationsRequest { - /** - *

      One or more filters.

      - *
        - *
      • - *

        - * reservationType - The type of reservation (prefix | - * explicit).

        - *
      • - *
      • - *

        - * subnet-id - The ID of the subnet.

        - *
      • - *
      • - *

        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

        - *
      • - *
      • - *

        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

        - *
      • - *
      - */ - Filters?: Filter[]; - +export interface GetPasswordDataRequest { /** - *

      The ID of the subnet.

      + *

      The ID of the Windows instance.

      */ - SubnetId: string | undefined; + InstanceId: string | undefined; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -1055,398 +976,349 @@ export interface GetSubnetCidrReservationsRequest { * Otherwise, it is UnauthorizedOperation.

      */ DryRun?: boolean; - - /** - *

      The token for the next page of results.

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

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

      - */ - MaxResults?: number; } -export namespace GetSubnetCidrReservationsRequest { +export namespace GetPasswordDataRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetSubnetCidrReservationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetPasswordDataRequest): any => ({ ...obj, }); } -export interface GetSubnetCidrReservationsResult { +export interface GetPasswordDataResult { /** - *

      Information about the IPv4 subnet CIDR reservations.

      + *

      The ID of the Windows instance.

      */ - SubnetIpv4CidrReservations?: SubnetCidrReservation[]; + InstanceId?: string; /** - *

      Information about the IPv6 subnet CIDR reservations.

      + *

      The password of the instance. Returns an empty string if the password is not + * available.

      */ - SubnetIpv6CidrReservations?: SubnetCidrReservation[]; + PasswordData?: string; /** - *

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

      + *

      The time the data was last updated.

      */ - NextToken?: string; + Timestamp?: Date; } -export namespace GetSubnetCidrReservationsResult { +export namespace GetPasswordDataResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetSubnetCidrReservationsResult): any => ({ + export const filterSensitiveLog = (obj: GetPasswordDataResult): any => ({ ...obj, }); } -export interface GetTransitGatewayAttachmentPropagationsRequest { - /** - *

      The ID of the attachment.

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

      One or more filters. The possible values are:

      - *
        - *
      • - *

        - * transit-gateway-route-table-id - The ID of the transit gateway route table.

        - *
      • - *
      - */ - Filters?: Filter[]; - +/** + *

      Contains the parameters for GetReservedInstanceExchangeQuote.

      + */ +export interface GetReservedInstancesExchangeQuoteRequest { /** - *

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

      + *

      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.

      */ - MaxResults?: number; + DryRun?: boolean; /** - *

      The token for the next page of results.

      + *

      The IDs of the Convertible Reserved Instances to exchange.

      */ - NextToken?: string; + ReservedInstanceIds: string[] | undefined; /** - *

      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.

      + *

      The configuration of the target Convertible Reserved Instance to exchange for your + * current Convertible Reserved Instances.

      */ - DryRun?: boolean; + TargetConfigurations?: TargetConfigurationRequest[]; } -export namespace GetTransitGatewayAttachmentPropagationsRequest { +export namespace GetReservedInstancesExchangeQuoteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteRequest): any => ({ ...obj, }); } /** - *

      Describes a propagation route table.

      + *

      The cost associated with the Reserved Instance.

      */ -export interface TransitGatewayAttachmentPropagation { +export interface ReservationValue { /** - *

      The ID of the propagation route table.

      + *

      The hourly rate of the reservation.

      */ - TransitGatewayRouteTableId?: string; + HourlyPrice?: string; /** - *

      The state of the propagation route table.

      + *

      The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

      */ - State?: TransitGatewayPropagationState | string; + RemainingTotalValue?: string; + + /** + *

      The remaining upfront cost of the reservation.

      + */ + RemainingUpfrontValue?: string; } -export namespace TransitGatewayAttachmentPropagation { +export namespace ReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayAttachmentPropagation): any => ({ + export const filterSensitiveLog = (obj: ReservationValue): any => ({ ...obj, }); } -export interface GetTransitGatewayAttachmentPropagationsResult { +/** + *

      The total value of the Convertible Reserved Instance.

      + */ +export interface ReservedInstanceReservationValue { /** - *

      Information about the propagation route tables.

      + *

      The total value of the Convertible Reserved Instance that you are exchanging.

      */ - TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; + ReservationValue?: ReservationValue; /** - *

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

      + *

      The ID of the Convertible Reserved Instance that you are exchanging.

      */ - NextToken?: string; + ReservedInstanceId?: string; } -export namespace GetTransitGatewayAttachmentPropagationsResult { +export namespace ReservedInstanceReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsResult): any => ({ + export const filterSensitiveLog = (obj: ReservedInstanceReservationValue): any => ({ ...obj, }); } -export interface GetTransitGatewayMulticastDomainAssociationsRequest { +/** + *

      Information about the Convertible Reserved Instance offering.

      + */ +export interface TargetConfiguration { /** - *

      The ID of the transit gateway multicast domain.

      + *

      The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is + * reserved and cannot be specified in a request

      */ - TransitGatewayMulticastDomainId?: string; + InstanceCount?: number; /** - *

      One or more filters. The possible values are:

      - *
        - *
      • - *

        - * resource-id - The ID of the resource.

        - *
      • - *
      • - *

        - * resource-type - The type of resource. The valid value is: vpc.

        - *
      • - *
      • - * - *

        - * state - The state of the subnet association. Valid values are - * associated | - * associating - * | disassociated | disassociating.

        - *
      • - *
      • - *

        - * subnet-id - The ID of the subnet.

        - *
      • - *
      • - *

        - * transit-gateway-attachment-id - The id of the transit gateway attachment.

        - *
      • - *
      + *

      The ID of the Convertible Reserved Instance offering.

      */ - Filters?: Filter[]; + OfferingId?: string; +} +export namespace TargetConfiguration { /** - *

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

      + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: TargetConfiguration): any => ({ + ...obj, + }); +} +/** + *

      The total value of the new Convertible Reserved Instances.

      + */ +export interface TargetReservationValue { /** - *

      The token for the next page of results.

      + *

      The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of + * the list value, remaining upfront price, and additional upfront cost of the exchange.

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

      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.

      + *

      The configuration of the Convertible Reserved Instances that make up the exchange.

      */ - DryRun?: boolean; + TargetConfiguration?: TargetConfiguration; } -export namespace GetTransitGatewayMulticastDomainAssociationsRequest { +export namespace TargetReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: TargetReservationValue): any => ({ ...obj, }); } /** - *

      Describes the resources associated with the transit gateway multicast domain.

      + *

      Contains the output of GetReservedInstancesExchangeQuote.

      */ -export interface TransitGatewayMulticastDomainAssociation { +export interface GetReservedInstancesExchangeQuoteResult { /** - *

      The ID of the transit gateway attachment.

      + *

      The currency of the transaction.

      */ - TransitGatewayAttachmentId?: string; + CurrencyCode?: string; /** - *

      The ID of the resource.

      + *

      If true, the exchange is valid. If false, the exchange cannot be completed.

      */ - ResourceId?: string; + IsValidExchange?: boolean; /** - *

      The type of resource, for example a VPC attachment.

      + *

      The new end date of the reservation term.

      */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + OutputReservedInstancesWillExpireAt?: Date; /** - *

      The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

      + *

      The total true upfront charge for the exchange.

      */ - ResourceOwnerId?: string; + PaymentDue?: string; /** - *

      The subnet associated with the transit gateway multicast domain.

      + *

      The cost associated with the Reserved Instance.

      */ - Subnet?: SubnetAssociation; -} + ReservedInstanceValueRollup?: ReservationValue; -export namespace TransitGatewayMulticastDomainAssociation { /** - * @internal + *

      The configuration of your Convertible Reserved Instances.

      */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainAssociation): any => ({ - ...obj, - }); -} + ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; -export interface GetTransitGatewayMulticastDomainAssociationsResult { /** - *

      Information about the multicast domain associations.

      + *

      The cost associated with the Reserved Instance.

      */ - MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; + TargetConfigurationValueRollup?: ReservationValue; /** - *

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

      + *

      The values of the target Convertible Reserved Instances.

      */ - NextToken?: string; + TargetConfigurationValueSet?: TargetReservationValue[]; + + /** + *

      Describes the reason why the exchange cannot be completed.

      + */ + ValidationFailureReason?: string; } -export namespace GetTransitGatewayMulticastDomainAssociationsResult { +export namespace GetReservedInstancesExchangeQuoteResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteResult): any => ({ ...obj, }); } -export interface GetTransitGatewayPrefixListReferencesRequest { +export interface GetSerialConsoleAccessStatusRequest { /** - *

      The ID of the transit gateway route table.

      + *

      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.

      */ - TransitGatewayRouteTableId: string | undefined; + DryRun?: boolean; +} +export namespace GetSerialConsoleAccessStatusRequest { /** - *

      One or more filters. The possible values are:

      - *
        - *
      • - *

        - * attachment.resource-id - The ID of the resource for the attachment.

        - *
      • - *
      • - *

        - * attachment.resource-type - The type of resource for the - * attachment. Valid values are vpc | vpn | - * direct-connect-gateway | peering.

        - *
      • - *
      • - *

        - * attachment.transit-gateway-attachment-id - The ID of the attachment.

        - *
      • - *
      • - *

        - * is-blackhole - Whether traffic matching the route is blocked (true | false).

        - *
      • - *
      • - *

        - * prefix-list-id - The ID of the prefix list.

        - *
      • - *
      • - *

        - * prefix-list-owner-id - The ID of the owner of the prefix list.

        - *
      • - *
      • - *

        - * state - The state of the prefix list reference (pending | available | modifying | deleting).

        - *
      • - *
      + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusRequest): any => ({ + ...obj, + }); +} +export interface GetSerialConsoleAccessStatusResult { /** - *

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

      + *

      If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

      */ - MaxResults?: number; + SerialConsoleAccessEnabled?: boolean; +} - /** - *

      The token for the next page of results.

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

      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 GetTransitGatewayPrefixListReferencesRequest { +export namespace GetSerialConsoleAccessStatusResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesRequest): any => ({ + export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusResult): any => ({ ...obj, }); } -export interface GetTransitGatewayPrefixListReferencesResult { +/** + *

      The architecture type, virtualization type, and other attributes for the instance types. + * When you specify instance attributes, Amazon EC2 will identify instance types with those + * attributes.

      + *

      If you specify InstanceRequirementsWithMetadataRequest, you can't specify + * InstanceTypes.

      + */ +export interface InstanceRequirementsWithMetadataRequest { /** - *

      Information about the prefix list references.

      + *

      The architecture type.

      */ - TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; + ArchitectureTypes?: (ArchitectureType | string)[]; /** - *

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

      + *

      The virtualization type.

      */ - NextToken?: string; + VirtualizationTypes?: (VirtualizationType | string)[]; + + /** + *

      The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

      + */ + InstanceRequirements?: InstanceRequirementsRequest; } -export namespace GetTransitGatewayPrefixListReferencesResult { +export namespace InstanceRequirementsWithMetadataRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesResult): any => ({ + export const filterSensitiveLog = (obj: InstanceRequirementsWithMetadataRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTableAssociationsRequest { +export interface GetSpotPlacementScoresRequest { /** - *

      The ID of the transit gateway route table.

      + *

      The instance types. We recommend that you specify at least three instance types. If you + * specify one or two instance types, or specify variations of a single instance type (for + * example, an m3.xlarge with and without instance storage), the returned + * placement score will always be low.

      + *

      If you specify InstanceTypes, you can't specify + * InstanceRequirementsWithMetadata.

      */ - TransitGatewayRouteTableId: string | undefined; + InstanceTypes?: string[]; /** - *

      One or more filters. The possible values are:

      - *
        - *
      • - *

        - * resource-id - The ID of the resource.

        - *
      • - *
      • - *

        - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

        - *
      • - *
      • - *

        - * transit-gateway-attachment-id - The ID of the attachment.

        - *
      • - *
      + *

      The target capacity.

      */ - Filters?: Filter[]; + TargetCapacity: number | undefined; /** - *

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

      + *

      The unit for the target capacity.

      + *

      Default: units (translates to number of instances)

      */ - MaxResults?: number; + TargetCapacityUnitType?: TargetCapacityUnitType | string; /** - *

      The token for the next page of results.

      + *

      Specify true so that the response returns a list of scored Availability Zones. + * Otherwise, the response returns a list of scored Regions.

      + *

      A list of scored Availability Zones is useful if you want to launch all of your Spot + * capacity into a single Availability Zone.

      */ - NextToken?: string; + SingleAvailabilityZone?: boolean; + + /** + *

      The Regions used to narrow down the list of Regions to be scored. Enter the Region code, + * for example, us-east-1.

      + */ + RegionNames?: string[]; + + /** + *

      The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

      + *

      If you specify InstanceRequirementsWithMetadata, you can't specify + * InstanceTypes.

      + */ + InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest; /** *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -1454,104 +1326,136 @@ export interface GetTransitGatewayRouteTableAssociationsRequest { * Otherwise, it is UnauthorizedOperation.

      */ DryRun?: boolean; + + /** + *

      The maximum number of results to return in a single call. Specify a value between 1 and + * 1000. The default value is 1000. To retrieve the remaining results, make another call with + * the returned NextToken value.

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

      The token for the next set of results.

      + */ + NextToken?: string; } -export namespace GetTransitGatewayRouteTableAssociationsRequest { +export namespace GetSpotPlacementScoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetSpotPlacementScoresRequest): any => ({ ...obj, }); } /** - *

      Describes an association between a route table and a resource attachment.

      + *

      The Spot placement score for this Region or Availability Zone. The score is calculated + * based on the assumption that the capacity-optimized allocation strategy is + * used and that all of the Availability Zones in the Region can be used.

      */ -export interface TransitGatewayRouteTableAssociation { - /** - *

      The ID of the attachment.

      - */ - TransitGatewayAttachmentId?: string; - +export interface SpotPlacementScore { /** - *

      The ID of the resource.

      + *

      The Region.

      */ - ResourceId?: string; + Region?: string; /** - *

      The resource type. Note that the tgw-peering resource type has been deprecated.

      + *

      The Availability Zone.

      */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + AvailabilityZoneId?: string; /** - *

      The state of the association.

      + *

      The placement score, on a scale from 1 to 10. A score of + * 10 indicates that your Spot request is highly likely to succeed in this + * Region or Availability Zone. A score of 1 indicates that your Spot request is + * not likely to succeed.

      */ - State?: TransitGatewayAssociationState | string; + Score?: number; } -export namespace TransitGatewayRouteTableAssociation { +export namespace SpotPlacementScore { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRouteTableAssociation): any => ({ + export const filterSensitiveLog = (obj: SpotPlacementScore): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTableAssociationsResult { +export interface GetSpotPlacementScoresResult { /** - *

      Information about the associations.

      + *

      The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale + * from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone + * will succeed at fulfilling the specified target capacity
 at the time of the Spot + * placement score request. A score of 10 means that your Spot + * capacity request is highly likely to succeed in that Region or Availability Zone.

      + *

      If you request a Spot placement score for Regions, a high score assumes that your fleet + * request will be configured to use all Availability Zones and the + * capacity-optimized allocation strategy. If you request a Spot placement + * score for Availability Zones, a high score assumes that your fleet request will be + * configured to use a single Availability Zone and the capacity-optimized + * allocation strategy.

      + *

      Different
 Regions or Availability Zones might return the same score.

      + * + *

      The Spot placement score serves as a recommendation only. No score guarantees that your + * Spot request will be fully or partially fulfilled.

      + *
      */ - Associations?: TransitGatewayRouteTableAssociation[]; + SpotPlacementScores?: SpotPlacementScore[]; /** - *

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

      + *

      The token for the next set of results.

      */ NextToken?: string; } -export namespace GetTransitGatewayRouteTableAssociationsResult { +export namespace GetSpotPlacementScoresResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: GetSpotPlacementScoresResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTablePropagationsRequest { - /** - *

      The ID of the transit gateway route table.

      - */ - TransitGatewayRouteTableId: string | undefined; - +export interface GetSubnetCidrReservationsRequest { /** - *

      One or more filters. The possible values are:

      - *
        + *

        One or more filters.

        + *
          *
        • - *

          - * resource-id - The ID of the resource.

          + *

          + * reservationType - The type of reservation (prefix | + * explicit).

          + *
        • + *
        • + *

          + * subnet-id - The ID of the subnet.

          *
        • *
        • *

          - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

          + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

          *
        • *
        • *

          - * transit-gateway-attachment-id - The ID of the attachment.

          + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

          *
        • *
        */ Filters?: Filter[]; /** - *

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

        + *

        The ID of the subnet.

        */ - MaxResults?: number; + SubnetId: string | undefined; + + /** + *

        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; /** *

        The token for the next page of results.

        @@ -1559,1075 +1463,1301 @@ export interface GetTransitGatewayRouteTablePropagationsRequest { NextToken?: string; /** - *

        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.

        + *

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

        */ - DryRun?: boolean; + MaxResults?: number; } -export namespace GetTransitGatewayRouteTablePropagationsRequest { +export namespace GetSubnetCidrReservationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetSubnetCidrReservationsRequest): any => ({ ...obj, }); } -/** - *

        Describes a route table propagation.

        - */ -export interface TransitGatewayRouteTablePropagation { - /** - *

        The ID of the attachment.

        - */ - TransitGatewayAttachmentId?: string; - +export interface GetSubnetCidrReservationsResult { /** - *

        The ID of the resource.

        + *

        Information about the IPv4 subnet CIDR reservations.

        */ - ResourceId?: string; + SubnetIpv4CidrReservations?: SubnetCidrReservation[]; /** - *

        The type of resource. Note that the tgw-peering resource type has been deprecated.

        + *

        Information about the IPv6 subnet CIDR reservations.

        */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + SubnetIpv6CidrReservations?: SubnetCidrReservation[]; /** - *

        The state of the resource.

        + *

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

        */ - State?: TransitGatewayPropagationState | string; + NextToken?: string; } -export namespace TransitGatewayRouteTablePropagation { +export namespace GetSubnetCidrReservationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRouteTablePropagation): any => ({ + export const filterSensitiveLog = (obj: GetSubnetCidrReservationsResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTablePropagationsResult { +export interface GetTransitGatewayAttachmentPropagationsRequest { /** - *

        Information about the route table propagations.

        + *

        The ID of the attachment.

        */ - TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; + TransitGatewayAttachmentId: string | undefined; /** - *

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

        + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * transit-gateway-route-table-id - The ID of the transit gateway route table.

          + *
        • + *
        + */ + Filters?: Filter[]; + + /** + *

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

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

        The token for the next page of results.

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

        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 GetTransitGatewayRouteTablePropagationsResult { +export namespace GetTransitGatewayAttachmentPropagationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsRequest): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceSampleConfigurationRequest { +/** + *

        Describes a propagation route table.

        + */ +export interface TransitGatewayAttachmentPropagation { /** - *

        The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample - * configuration.

        + *

        The ID of the propagation route table.

        */ - VpnConnectionId: string | undefined; + TransitGatewayRouteTableId?: string; /** - *

        Device identifier provided by the GetVpnConnectionDeviceTypes API.

        + *

        The state of the propagation route table.

        */ - VpnConnectionDeviceTypeId: string | undefined; + State?: TransitGatewayPropagationState | string; +} +export namespace TransitGatewayAttachmentPropagation { /** - *

        The IKE version to be used in the sample configuration file for your customer gateway - * device. You can specify one of the following versions: ikev1 or - * ikev2.

        + * @internal */ - InternetKeyExchangeVersion?: string; + export const filterSensitiveLog = (obj: TransitGatewayAttachmentPropagation): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayAttachmentPropagationsResult { /** - *

        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.

        + *

        Information about the propagation route tables.

        */ - DryRun?: boolean; + TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; + + /** + *

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

        + */ + NextToken?: string; } -export namespace GetVpnConnectionDeviceSampleConfigurationRequest { +export namespace GetTransitGatewayAttachmentPropagationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsResult): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceSampleConfigurationResult { +export interface GetTransitGatewayMulticastDomainAssociationsRequest { /** - *

        Sample configuration file for the specified customer gateway device.

        + *

        The ID of the transit gateway multicast domain.

        */ - VpnConnectionDeviceSampleConfiguration?: string; -} + TransitGatewayMulticastDomainId?: string; -export namespace GetVpnConnectionDeviceSampleConfigurationResult { /** - * @internal + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * resource-id - The ID of the resource.

          + *
        • + *
        • + *

          + * resource-type - The type of resource. The valid value is: vpc.

          + *
        • + *
        • + * + *

          + * state - The state of the subnet association. Valid values are + * associated | + * associating + * | disassociated | disassociating.

          + *
        • + *
        • + *

          + * subnet-id - The ID of the subnet.

          + *
        • + *
        • + *

          + * transit-gateway-attachment-id - The id of the transit gateway attachment.

          + *
        • + *
        */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationResult): any => ({ - ...obj, - ...(obj.VpnConnectionDeviceSampleConfiguration && { VpnConnectionDeviceSampleConfiguration: SENSITIVE_STRING }), - }); -} + Filters?: Filter[]; -export interface GetVpnConnectionDeviceTypesRequest { /** - *

        The maximum number of results returned by GetVpnConnectionDeviceTypes in - * paginated output. When this parameter is used, GetVpnConnectionDeviceTypes - * 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 GetVpnConnectionDeviceTypes request - * with the returned NextToken value. This value can be between 200 and 1000. - * If this parameter is not used, then GetVpnConnectionDeviceTypes returns all - * results.

        + *

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

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

        The NextToken value returned from a previous paginated - * GetVpnConnectionDeviceTypes 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 token for the next page of results.

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

        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.

        + *

        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 GetVpnConnectionDeviceTypesRequest { +export namespace GetTransitGatewayMulticastDomainAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesRequest): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsRequest): any => ({ ...obj, }); } /** - *

        List of customer gateway devices that have a sample configuration file available for - * use. You can also see the list of device types with sample configuration files available - * under Your customer - * gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

        + *

        Describes the resources associated with the transit gateway multicast domain.

        */ -export interface VpnConnectionDeviceType { +export interface TransitGatewayMulticastDomainAssociation { /** - *

        Customer gateway device identifier.

        + *

        The ID of the transit gateway attachment.

        */ - VpnConnectionDeviceTypeId?: string; + TransitGatewayAttachmentId?: string; /** - *

        Customer gateway device vendor.

        + *

        The ID of the resource.

        */ - Vendor?: string; + ResourceId?: string; /** - *

        Customer gateway device platform.

        + *

        The type of resource, for example a VPC attachment.

        */ - Platform?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

        Customer gateway device software version.

        + *

        The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

        */ - Software?: string; + ResourceOwnerId?: string; + + /** + *

        The subnet associated with the transit gateway multicast domain.

        + */ + Subnet?: SubnetAssociation; } -export namespace VpnConnectionDeviceType { +export namespace TransitGatewayMulticastDomainAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: VpnConnectionDeviceType): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainAssociation): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceTypesResult { +export interface GetTransitGatewayMulticastDomainAssociationsResult { /** - *

        List of customer gateway devices that have a sample configuration file available for - * use.

        + *

        Information about the multicast domain associations.

        */ - VpnConnectionDeviceTypes?: VpnConnectionDeviceType[]; + MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; /** - *

        The NextToken value to include in a future - * GetVpnConnectionDeviceTypes request. When the results of a - * GetVpnConnectionDeviceTypes 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 token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ NextToken?: string; } -export namespace GetVpnConnectionDeviceTypesResult { +export namespace GetTransitGatewayMulticastDomainAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsResult): any => ({ ...obj, }); } -export interface ImportClientVpnClientCertificateRevocationListRequest { +export interface GetTransitGatewayPrefixListReferencesRequest { /** - *

        The ID of the Client VPN endpoint to which the client certificate revocation list applies.

        + *

        The ID of the transit gateway route table.

        */ - ClientVpnEndpointId: string | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

        The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the - * Client VPN Administrator Guide.

        + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * attachment.resource-id - The ID of the resource for the attachment.

          + *
        • + *
        • + *

          + * attachment.resource-type - The type of resource for the + * attachment. Valid values are vpc | vpn | + * direct-connect-gateway | peering.

          + *
        • + *
        • + *

          + * attachment.transit-gateway-attachment-id - The ID of the attachment.

          + *
        • + *
        • + *

          + * is-blackhole - Whether traffic matching the route is blocked (true | false).

          + *
        • + *
        • + *

          + * prefix-list-id - The ID of the prefix list.

          + *
        • + *
        • + *

          + * prefix-list-owner-id - The ID of the owner of the prefix list.

          + *
        • + *
        • + *

          + * state - The state of the prefix list reference (pending | available | modifying | deleting).

          + *
        • + *
        */ - CertificateRevocationList: string | undefined; + Filters?: Filter[]; /** - *

        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.

        + *

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

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

        The token for the next page of results.

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

        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 ImportClientVpnClientCertificateRevocationListRequest { +export namespace GetTransitGatewayPrefixListReferencesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListRequest): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesRequest): any => ({ ...obj, }); } -export interface ImportClientVpnClientCertificateRevocationListResult { +export interface GetTransitGatewayPrefixListReferencesResult { /** - *

        Returns true if the request succeeds; otherwise, it returns an error.

        + *

        Information about the prefix list references.

        */ - Return?: boolean; + TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; + + /** + *

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

        + */ + NextToken?: string; } -export namespace ImportClientVpnClientCertificateRevocationListResult { +export namespace GetTransitGatewayPrefixListReferencesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesResult): any => ({ ...obj, }); } -/** - *

        Describes the client-specific data.

        - */ -export interface ClientData { +export interface GetTransitGatewayRouteTableAssociationsRequest { /** - *

        A user-defined comment about the disk upload.

        + *

        The ID of the transit gateway route table.

        */ - Comment?: string; + TransitGatewayRouteTableId: string | undefined; /** - *

        The time that the disk upload ends.

        + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * resource-id - The ID of the resource.

          + *
        • + *
        • + *

          + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

          + *
        • + *
        • + *

          + * transit-gateway-attachment-id - The ID of the attachment.

          + *
        • + *
        */ - UploadEnd?: Date; + Filters?: Filter[]; /** - *

        The size of the uploaded disk image, in GiB.

        + *

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

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

        The time that the disk upload starts.

        + *

        The token for the next page of results.

        */ - UploadStart?: Date; + NextToken?: string; + + /** + *

        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 ClientData { +export namespace GetTransitGatewayRouteTableAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ClientData): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsRequest): any => ({ ...obj, }); } /** - *

        Describes the Amazon S3 bucket for the disk image.

        + *

        Describes an association between a route table and a resource attachment.

        */ -export interface UserBucket { +export interface TransitGatewayRouteTableAssociation { /** - *

        The name of the Amazon S3 bucket where the disk image is located.

        + *

        The ID of the attachment.

        */ - S3Bucket?: string; + TransitGatewayAttachmentId?: string; /** - *

        The file name of the disk image.

        + *

        The ID of the resource.

        */ - S3Key?: string; + ResourceId?: string; + + /** + *

        The resource type. Note that the tgw-peering resource type has been deprecated.

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

        The state of the association.

        + */ + State?: TransitGatewayAssociationState | string; } -export namespace UserBucket { +export namespace TransitGatewayRouteTableAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: UserBucket): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRouteTableAssociation): any => ({ ...obj, }); } -/** - *

        Describes the disk container object for an import image task.

        - */ -export interface ImageDiskContainer { +export interface GetTransitGatewayRouteTableAssociationsResult { /** - *

        The description of the disk image.

        + *

        Information about the associations.

        */ - Description?: string; + Associations?: TransitGatewayRouteTableAssociation[]; /** - *

        The block device mapping for the disk.

        + *

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

        */ - DeviceName?: string; + NextToken?: string; +} +export namespace GetTransitGatewayRouteTableAssociationsResult { /** - *

        The format of the disk image being imported.

        - *

        Valid values: OVA | VHD | VHDX | VMDK | RAW - *

        + * @internal */ - Format?: string; + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsResult): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayRouteTablePropagationsRequest { /** - *

        The ID of the EBS snapshot to be used for importing the snapshot.

        + *

        The ID of the transit gateway route table.

        */ - SnapshotId?: string; + TransitGatewayRouteTableId: string | undefined; /** - *

        The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an - * Amazon S3 URL (s3://..)

        + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * resource-id - The ID of the resource.

          + *
        • + *
        • + *

          + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

          + *
        • + *
        • + *

          + * transit-gateway-attachment-id - The ID of the attachment.

          + *
        • + *
        */ - Url?: string; + Filters?: Filter[]; /** - *

        The S3 bucket for the disk image.

        + *

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

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

        The token for the next page of results.

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

        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 ImageDiskContainer { +export namespace GetTransitGatewayRouteTablePropagationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImageDiskContainer): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsRequest): any => ({ ...obj, }); } /** - *

        The request information of license configurations.

        + *

        Describes a route table propagation.

        */ -export interface ImportImageLicenseConfigurationRequest { +export interface TransitGatewayRouteTablePropagation { /** - *

        The ARN of a license configuration.

        + *

        The ID of the attachment.

        */ - LicenseConfigurationArn?: string; + TransitGatewayAttachmentId?: string; + + /** + *

        The ID of the resource.

        + */ + ResourceId?: string; + + /** + *

        The type of resource. Note that the tgw-peering resource type has been deprecated.

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

        The state of the resource.

        + */ + State?: TransitGatewayPropagationState | string; } -export namespace ImportImageLicenseConfigurationRequest { +export namespace TransitGatewayRouteTablePropagation { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRouteTablePropagation): any => ({ ...obj, }); } -export interface ImportImageRequest { +export interface GetTransitGatewayRouteTablePropagationsResult { /** - *

        The architecture of the virtual machine.

        - *

        Valid values: i386 | x86_64 - *

        + *

        Information about the route table propagations.

        */ - Architecture?: string; + TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; /** - *

        The client-specific data.

        + *

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

        */ - ClientData?: ClientData; + NextToken?: string; +} +export namespace GetTransitGatewayRouteTablePropagationsResult { /** - *

        The token to enable idempotency for VM import requests.

        + * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsResult): any => ({ + ...obj, + }); +} +export interface GetVpnConnectionDeviceSampleConfigurationRequest { /** - *

        A description string for the import image task.

        + *

        The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample + * configuration.

        */ - Description?: string; + VpnConnectionId: string | undefined; /** - *

        Information about the disk containers.

        + *

        Device identifier provided by the GetVpnConnectionDeviceTypes API.

        */ - DiskContainers?: ImageDiskContainer[]; + VpnConnectionDeviceTypeId: string | undefined; /** - *

        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.

        + *

        The IKE version to be used in the sample configuration file for your customer gateway + * device. You can specify one of the following versions: ikev1 or + * ikev2.

        + */ + InternetKeyExchangeVersion?: string; + + /** + *

        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 GetVpnConnectionDeviceSampleConfigurationRequest { /** - *

        Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used - * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

        + * @internal */ - Encrypted?: boolean; + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationRequest): any => ({ + ...obj, + }); +} +export interface GetVpnConnectionDeviceSampleConfigurationResult { /** - *

        The target hypervisor platform.

        - *

        Valid values: xen - *

        + *

        Sample configuration file for the specified customer gateway device.

        */ - Hypervisor?: string; + VpnConnectionDeviceSampleConfiguration?: string; +} +export namespace GetVpnConnectionDeviceSampleConfigurationResult { /** - *

        An identifier for the symmetric KMS key to use when creating the - * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this - * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

        - *

        The KMS key identifier may be provided in any of the following formats:

        - *
          - *
        • - *

          Key ID

          - *
        • - *
        • - *

          Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          - *
        • - *
        • - *

          ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

          - *
        • - *
        • - *

          ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          - *
        • - *
        - *

        Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even - * though you provided an invalid identifier. This action will eventually report failure.

        - *

        The specified KMS key must exist in the Region that the AMI is being copied to.

        - *

        Amazon EBS does not support asymmetric KMS keys.

        + * @internal */ - KmsKeyId?: string; + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationResult): any => ({ + ...obj, + ...(obj.VpnConnectionDeviceSampleConfiguration && { VpnConnectionDeviceSampleConfiguration: SENSITIVE_STRING }), + }); +} +export interface GetVpnConnectionDeviceTypesRequest { /** - *

        The license type to be used for the Amazon Machine Image (AMI) after importing.

        - *

        By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify - * AWS to replace the source-system license with an Amazon Web Services license, if appropriate. Specify BYOL - * to retain the source-system license, if appropriate.

        - *

        To use BYOL, you must have existing licenses with rights to use these licenses in a third party - * cloud, such as Amazon Web Services. For more information, see Prerequisites in the - * VM Import/Export User Guide.

        + *

        The maximum number of results returned by GetVpnConnectionDeviceTypes in + * paginated output. When this parameter is used, GetVpnConnectionDeviceTypes + * 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 GetVpnConnectionDeviceTypes request + * with the returned NextToken value. This value can be between 200 and 1000. + * If this parameter is not used, then GetVpnConnectionDeviceTypes returns all + * results.

        */ - LicenseType?: string; + MaxResults?: number; /** - *

        The operating system of the virtual machine.

        - *

        Valid values: Windows | Linux - *

        + *

        The NextToken value returned from a previous paginated + * GetVpnConnectionDeviceTypes 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.

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

        The name of the role to use when not using the default role, 'vmimport'.

        + *

        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.

        */ - RoleName?: string; + DryRun?: boolean; +} +export namespace GetVpnConnectionDeviceTypesRequest { /** - *

        The ARNs of the license configurations.

        + * @internal */ - LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesRequest): any => ({ + ...obj, + }); +} +/** + *

        List of customer gateway devices that have a sample configuration file available for + * use. You can also see the list of device types with sample configuration files available + * under Your customer + * gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

        + */ +export interface VpnConnectionDeviceType { /** - *

        The tags to apply to the import image task during creation.

        + *

        Customer gateway device identifier.

        */ - TagSpecifications?: TagSpecification[]; + VpnConnectionDeviceTypeId?: string; /** - *

        The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

        + *

        Customer gateway device vendor.

        */ - UsageOperation?: string; + Vendor?: string; /** - *

        The boot mode of the virtual machine.

        + *

        Customer gateway device platform.

        */ - BootMode?: BootModeValues | string; + Platform?: string; + + /** + *

        Customer gateway device software version.

        + */ + Software?: string; } -export namespace ImportImageRequest { +export namespace VpnConnectionDeviceType { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageRequest): any => ({ + export const filterSensitiveLog = (obj: VpnConnectionDeviceType): any => ({ ...obj, }); } -export interface ImportImageResult { +export interface GetVpnConnectionDeviceTypesResult { /** - *

        The architecture of the virtual machine.

        + *

        List of customer gateway devices that have a sample configuration file available for + * use.

        */ - Architecture?: string; + VpnConnectionDeviceTypes?: VpnConnectionDeviceType[]; /** - *

        A description of the import task.

        + *

        The NextToken value to include in a future + * GetVpnConnectionDeviceTypes request. When the results of a + * GetVpnConnectionDeviceTypes 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.

        */ - Description?: string; + NextToken?: string; +} +export namespace GetVpnConnectionDeviceTypesResult { /** - *

        Indicates whether the AMI is encrypted.

        + * @internal */ - Encrypted?: boolean; + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesResult): any => ({ + ...obj, + }); +} +export interface ImportClientVpnClientCertificateRevocationListRequest { /** - *

        The target hypervisor of the import task.

        + *

        The ID of the Client VPN endpoint to which the client certificate revocation list applies.

        */ - Hypervisor?: string; + ClientVpnEndpointId: string | undefined; /** - *

        The ID of the Amazon Machine Image (AMI) created by the import task.

        + *

        The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the + * Client VPN Administrator Guide.

        */ - ImageId?: string; + CertificateRevocationList: string | undefined; /** - *

        The task ID of the import image task.

        + *

        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.

        */ - ImportTaskId?: string; + DryRun?: boolean; +} +export namespace ImportClientVpnClientCertificateRevocationListRequest { /** - *

        The identifier for the symmetric KMS key that was used to create the encrypted AMI.

        + * @internal */ - KmsKeyId?: string; + export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListRequest): any => ({ + ...obj, + }); +} +export interface ImportClientVpnClientCertificateRevocationListResult { /** - *

        The license type of the virtual machine.

        + *

        Returns true if the request succeeds; otherwise, it returns an error.

        */ - LicenseType?: string; + Return?: boolean; +} +export namespace ImportClientVpnClientCertificateRevocationListResult { /** - *

        The operating system of the virtual machine.

        + * @internal */ - Platform?: string; + export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListResult): any => ({ + ...obj, + }); +} +/** + *

        Describes the client-specific data.

        + */ +export interface ClientData { /** - *

        The progress of the task.

        + *

        A user-defined comment about the disk upload.

        */ - Progress?: string; + Comment?: string; /** - *

        Information about the snapshots.

        + *

        The time that the disk upload ends.

        */ - SnapshotDetails?: SnapshotDetail[]; + UploadEnd?: Date; /** - *

        A brief status of the task.

        + *

        The size of the uploaded disk image, in GiB.

        */ - Status?: string; + UploadSize?: number; /** - *

        A detailed status message of the import task.

        + *

        The time that the disk upload starts.

        */ - StatusMessage?: string; + UploadStart?: Date; +} +export namespace ClientData { /** - *

        The ARNs of the license configurations.

        + * @internal */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + export const filterSensitiveLog = (obj: ClientData): any => ({ + ...obj, + }); +} +/** + *

        Describes the Amazon S3 bucket for the disk image.

        + */ +export interface UserBucket { /** - *

        Any tags assigned to the import image task.

        + *

        The name of the Amazon S3 bucket where the disk image is located.

        */ - Tags?: Tag[]; + S3Bucket?: string; /** - *

        The usage operation value.

        + *

        The file name of the disk image.

        */ - UsageOperation?: string; + S3Key?: string; } -export namespace ImportImageResult { +export namespace UserBucket { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageResult): any => ({ + export const filterSensitiveLog = (obj: UserBucket): any => ({ ...obj, }); } /** - *

        Describes a disk image.

        + *

        Describes the disk container object for an import image task.

        */ -export interface DiskImageDetail { +export interface ImageDiskContainer { /** - *

        The size of the disk image, in GiB.

        + *

        The description of the disk image.

        */ - Bytes: number | undefined; + Description?: string; /** - *

        The disk image format.

        + *

        The block device mapping for the disk.

        */ - Format: DiskImageFormat | string | undefined; + DeviceName?: string; /** - *

        A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. - * For information about creating a presigned URL for an Amazon S3 object, read the "Query String Request Authentication - * Alternative" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer - * Guide.

        - *

        For information about the import manifest referenced by this API action, see VM Import Manifest.

        + *

        The format of the disk image being imported.

        + *

        Valid values: OVA | VHD | VHDX | VMDK | RAW + *

        */ - ImportManifestUrl: string | undefined; + Format?: string; + + /** + *

        The ID of the EBS snapshot to be used for importing the snapshot.

        + */ + SnapshotId?: string; + + /** + *

        The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an + * Amazon S3 URL (s3://..)

        + */ + Url?: string; + + /** + *

        The S3 bucket for the disk image.

        + */ + UserBucket?: UserBucket; } -export namespace DiskImageDetail { +export namespace ImageDiskContainer { /** * @internal */ - export const filterSensitiveLog = (obj: DiskImageDetail): any => ({ + export const filterSensitiveLog = (obj: ImageDiskContainer): any => ({ ...obj, }); } /** - *

        Describes an EBS volume.

        + *

        The request information of license configurations.

        */ -export interface VolumeDetail { +export interface ImportImageLicenseConfigurationRequest { /** - *

        The size of the volume, in GiB.

        + *

        The ARN of a license configuration.

        */ - Size: number | undefined; + LicenseConfigurationArn?: string; } -export namespace VolumeDetail { +export namespace ImportImageLicenseConfigurationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeDetail): any => ({ + export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationRequest): any => ({ ...obj, }); } -/** - *

        Describes a disk image.

        - */ -export interface DiskImage { - /** - *

        A description of the disk image.

        - */ - Description?: string; - +export interface ImportImageRequest { /** - *

        Information about the disk image.

        + *

        The architecture of the virtual machine.

        + *

        Valid values: i386 | x86_64 + *

        */ - Image?: DiskImageDetail; + Architecture?: string; /** - *

        Information about the volume.

        + *

        The client-specific data.

        */ - Volume?: VolumeDetail; -} + ClientData?: ClientData; -export namespace DiskImage { /** - * @internal + *

        The token to enable idempotency for VM import requests.

        */ - export const filterSensitiveLog = (obj: DiskImage): any => ({ - ...obj, - }); -} + ClientToken?: string; -/** - *

        Describes the user data for an instance.

        - */ -export interface UserData { /** - *

        The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you - * can load the text from a file. Otherwise, you must provide Base64-encoded text.

        + *

        A description string for the import image task.

        */ - Data?: string; -} + Description?: string; -export namespace UserData { /** - * @internal + *

        Information about the disk containers.

        */ - export const filterSensitiveLog = (obj: UserData): any => ({ - ...obj, - }); -} + DiskContainers?: ImageDiskContainer[]; -/** - *

        Describes the launch specification for VM import.

        - */ -export interface ImportInstanceLaunchSpecification { /** - *

        Reserved.

        + *

        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.

        */ - AdditionalInfo?: string; + DryRun?: boolean; /** - *

        The architecture of the instance.

        + *

        Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used + * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

        */ - Architecture?: ArchitectureValues | string; + Encrypted?: boolean; /** - *

        The security group IDs.

        + *

        The target hypervisor platform.

        + *

        Valid values: xen + *

        */ - GroupIds?: string[]; + Hypervisor?: string; /** - *

        The security group names.

        + *

        An identifier for the symmetric KMS key to use when creating the + * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

        + *

        The KMS key identifier may be provided in any of the following formats:

        + *
          + *
        • + *

          Key ID

          + *
        • + *
        • + *

          Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          + *
        • + *
        • + *

          ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

          + *
        • + *
        • + *

          ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          + *
        • + *
        + *

        Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + * though you provided an invalid identifier. This action will eventually report failure.

        + *

        The specified KMS key must exist in the Region that the AMI is being copied to.

        + *

        Amazon EBS does not support asymmetric KMS keys.

        */ - GroupNames?: string[]; + KmsKeyId?: string; /** - *

        Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the - * operating system command for system shutdown).

        + *

        The license type to be used for the Amazon Machine Image (AMI) after importing.

        + *

        By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify + * AWS to replace the source-system license with an Amazon Web Services license, if appropriate. Specify BYOL + * to retain the source-system license, if appropriate.

        + *

        To use BYOL, you must have existing licenses with rights to use these licenses in a third party + * cloud, such as Amazon Web Services. For more information, see Prerequisites in the + * VM Import/Export User Guide.

        */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + LicenseType?: string; /** - *

        The instance type. For more information about the instance types that you can import, see Instance Types in the - * VM Import/Export User Guide.

        + *

        The operating system of the virtual machine.

        + *

        Valid values: Windows | Linux + *

        */ - InstanceType?: _InstanceType | string; + Platform?: string; /** - *

        Indicates whether monitoring is enabled.

        + *

        The name of the role to use when not using the default role, 'vmimport'.

        */ - Monitoring?: boolean; + RoleName?: string; /** - *

        The placement information for the instance.

        + *

        The ARNs of the license configurations.

        */ - Placement?: Placement; + LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; /** - *

        [EC2-VPC] An available IP address from the IP address range of the subnet.

        + *

        The tags to apply to the import image task during creation.

        */ - PrivateIpAddress?: string; + TagSpecifications?: TagSpecification[]; /** - *

        [EC2-VPC] The ID of the subnet in which to launch the instance.

        + *

        The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

        */ - SubnetId?: string; + UsageOperation?: string; /** - *

        The Base64-encoded user data to make available to the instance.

        + *

        The boot mode of the virtual machine.

        */ - UserData?: UserData; + BootMode?: BootModeValues | string; } -export namespace ImportInstanceLaunchSpecification { +export namespace ImportImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceLaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: ImportImageRequest): any => ({ ...obj, - ...(obj.UserData && { UserData: SENSITIVE_STRING }), }); } -export interface ImportInstanceRequest { - /** - *

        A description for the instance being imported.

        - */ - Description?: string; - +export interface ImportImageResult { /** - *

        The disk image.

        + *

        The architecture of the virtual machine.

        */ - DiskImages?: DiskImage[]; + Architecture?: string; /** - *

        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.

        + *

        A description of the import task.

        */ - DryRun?: boolean; + Description?: string; /** - *

        The launch specification.

        + *

        Indicates whether the AMI is encrypted.

        */ - LaunchSpecification?: ImportInstanceLaunchSpecification; + Encrypted?: boolean; /** - *

        The instance operating system.

        + *

        The target hypervisor of the import task.

        */ - Platform: PlatformValues | string | undefined; -} + Hypervisor?: string; -export namespace ImportInstanceRequest { /** - * @internal + *

        The ID of the Amazon Machine Image (AMI) created by the import task.

        */ - export const filterSensitiveLog = (obj: ImportInstanceRequest): any => ({ - ...obj, - ...(obj.LaunchSpecification && { - LaunchSpecification: ImportInstanceLaunchSpecification.filterSensitiveLog(obj.LaunchSpecification), - }), - }); -} + ImageId?: string; -export interface ImportInstanceResult { /** - *

        Information about the conversion task.

        + *

        The task ID of the import image task.

        */ - ConversionTask?: ConversionTask; -} + ImportTaskId?: string; -export namespace ImportInstanceResult { /** - * @internal + *

        The identifier for the symmetric KMS key that was used to create the encrypted AMI.

        */ - export const filterSensitiveLog = (obj: ImportInstanceResult): any => ({ - ...obj, - }); -} + KmsKeyId?: string; -export interface ImportKeyPairRequest { /** - *

        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.

        + *

        The license type of the virtual machine.

        */ - DryRun?: boolean; + LicenseType?: string; /** - *

        A unique name for the key pair.

        + *

        The operating system of the virtual machine.

        */ - KeyName: string | undefined; + Platform?: string; /** - *

        The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

        + *

        The progress of the task.

        */ - PublicKeyMaterial: Uint8Array | undefined; + Progress?: string; /** - *

        The tags to apply to the imported key pair.

        + *

        Information about the snapshots.

        */ - TagSpecifications?: TagSpecification[]; -} + SnapshotDetails?: SnapshotDetail[]; -export namespace ImportKeyPairRequest { /** - * @internal + *

        A brief status of the task.

        */ - export const filterSensitiveLog = (obj: ImportKeyPairRequest): any => ({ - ...obj, - }); -} + Status?: string; -export interface ImportKeyPairResult { /** - *

        The MD5 public key fingerprint as specified in section 4 of RFC 4716.

        + *

        A detailed status message of the import task.

        */ - KeyFingerprint?: string; + StatusMessage?: string; /** - *

        The key pair name that you provided.

        + *

        The ARNs of the license configurations.

        */ - KeyName?: string; + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; /** - *

        The ID of the resulting key pair.

        + *

        Any tags assigned to the import image task.

        */ - KeyPairId?: string; + Tags?: Tag[]; /** - *

        The tags applied to the imported key pair.

        + *

        The usage operation value.

        */ - Tags?: Tag[]; + UsageOperation?: string; } -export namespace ImportKeyPairResult { +export namespace ImportImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportKeyPairResult): any => ({ + export const filterSensitiveLog = (obj: ImportImageResult): any => ({ ...obj, }); } /** - *

        The disk container object for the import snapshot request.

        + *

        Describes a disk image.

        */ -export interface SnapshotDiskContainer { +export interface DiskImageDetail { /** - *

        The description of the disk image being imported.

        + *

        The size of the disk image, in GiB.

        */ - Description?: string; + Bytes: number | undefined; /** - *

        The format of the disk image being imported.

        - *

        Valid values: VHD | VMDK | RAW - *

        + *

        The disk image format.

        */ - Format?: string; + Format: DiskImageFormat | string | undefined; /** - *

        The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon - * S3 URL (s3://..).

        - */ - Url?: string; + *

        A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. + * For information about creating a presigned URL for an Amazon S3 object, read the "Query String Request Authentication + * Alternative" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer + * Guide.

        + *

        For information about the import manifest referenced by this API action, see VM Import Manifest.

        + */ + ImportManifestUrl: string | undefined; +} +export namespace DiskImageDetail { /** - *

        The Amazon S3 bucket for the disk image.

        + * @internal */ - UserBucket?: UserBucket; + export const filterSensitiveLog = (obj: DiskImageDetail): any => ({ + ...obj, + }); } -export namespace SnapshotDiskContainer { +/** + *

        Describes an EBS volume.

        + */ +export interface VolumeDetail { + /** + *

        The size of the volume, in GiB.

        + */ + Size: number | undefined; +} + +export namespace VolumeDetail { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotDiskContainer): any => ({ + export const filterSensitiveLog = (obj: VolumeDetail): any => ({ ...obj, }); } -export interface ImportSnapshotRequest { +/** + *

        Describes a disk image.

        + */ +export interface DiskImage { /** - *

        The client-specific data.

        + *

        A description of the disk image.

        */ - ClientData?: ClientData; + Description?: string; /** - *

        Token to enable idempotency for VM import requests.

        + *

        Information about the disk image.

        */ - ClientToken?: string; + Image?: DiskImageDetail; /** - *

        The description string for the import snapshot task.

        + *

        Information about the volume.

        */ - Description?: string; + Volume?: VolumeDetail; +} +export namespace DiskImage { /** - *

        Information about the disk container.

        + * @internal */ - DiskContainer?: SnapshotDiskContainer; + export const filterSensitiveLog = (obj: DiskImage): any => ({ + ...obj, + }); +} +/** + *

        Describes the user data for an instance.

        + */ +export interface UserData { /** - *

        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.

        + *

        The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you + * can load the text from a file. Otherwise, you must provide Base64-encoded text.

        */ - DryRun?: boolean; + Data?: string; +} +export namespace UserData { /** - *

        Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is - * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

        + * @internal */ - Encrypted?: boolean; + export const filterSensitiveLog = (obj: UserData): any => ({ + ...obj, + }); +} +/** + *

        Describes the launch specification for VM import.

        + */ +export interface ImportInstanceLaunchSpecification { /** - *

        An identifier for the symmetric KMS key to use when creating the - * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this - * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

        - *

        The KMS key identifier may be provided in any of the following formats:

        - *
          - *
        • - *

          Key ID

          - *
        • - *
        • - *

          Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          - *
        • - *
        • - *

          ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

          - *
        • - *
        • - *

          ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          - *
        • - *
        - *

        Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even - * though you provided an invalid identifier. This action will eventually report failure.

        - *

        The specified KMS key must exist in the Region that the snapshot is being copied to.

        - *

        Amazon EBS does not support asymmetric KMS keys.

        + *

        Reserved.

        */ - KmsKeyId?: string; + AdditionalInfo?: string; /** - *

        The name of the role to use when not using the default role, 'vmimport'.

        + *

        The architecture of the instance.

        */ - RoleName?: string; + Architecture?: ArchitectureValues | string; /** - *

        The tags to apply to the import snapshot task during creation.

        + *

        The security group IDs.

        */ - TagSpecifications?: TagSpecification[]; -} + GroupIds?: string[]; -export namespace ImportSnapshotRequest { /** - * @internal + *

        The security group names.

        */ - export const filterSensitiveLog = (obj: ImportSnapshotRequest): any => ({ - ...obj, - }); -} + GroupNames?: string[]; -export interface ImportSnapshotResult { /** - *

        A description of the import snapshot task.

        + *

        Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the + * operating system command for system shutdown).

        */ - Description?: string; + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; /** - *

        The ID of the import snapshot task.

        + *

        The instance type. For more information about the instance types that you can import, see Instance Types in the + * VM Import/Export User Guide.

        */ - ImportTaskId?: string; + InstanceType?: _InstanceType | string; /** - *

        Information about the import snapshot task.

        + *

        Indicates whether monitoring is enabled.

        */ - SnapshotTaskDetail?: SnapshotTaskDetail; + Monitoring?: boolean; /** - *

        Any tags assigned to the import snapshot task.

        + *

        The placement information for the instance.

        */ - Tags?: Tag[]; + Placement?: Placement; + + /** + *

        [EC2-VPC] An available IP address from the IP address range of the subnet.

        + */ + PrivateIpAddress?: string; + + /** + *

        [EC2-VPC] The ID of the subnet in which to launch the instance.

        + */ + SubnetId?: string; + + /** + *

        The Base64-encoded user data to make available to the instance.

        + */ + UserData?: UserData; } -export namespace ImportSnapshotResult { +export namespace ImportInstanceLaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ImportSnapshotResult): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceLaunchSpecification): any => ({ ...obj, + ...(obj.UserData && { UserData: SENSITIVE_STRING }), }); } -export interface ImportVolumeRequest { +export interface ImportInstanceRequest { /** - *

        The Availability Zone for the resulting EBS volume.

        + *

        A description for the instance being imported.

        */ - AvailabilityZone: string | undefined; + Description?: string; /** - *

        A description of the volume.

        + *

        The disk image.

        */ - Description?: string; + DiskImages?: DiskImage[]; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -2637,194 +2767,165 @@ export interface ImportVolumeRequest { DryRun?: boolean; /** - *

        The disk image.

        + *

        The launch specification.

        */ - Image: DiskImageDetail | undefined; + LaunchSpecification?: ImportInstanceLaunchSpecification; /** - *

        The volume size.

        + *

        The instance operating system.

        */ - Volume: VolumeDetail | undefined; + Platform: PlatformValues | string | undefined; } -export namespace ImportVolumeRequest { +export namespace ImportInstanceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceRequest): any => ({ ...obj, + ...(obj.LaunchSpecification && { + LaunchSpecification: ImportInstanceLaunchSpecification.filterSensitiveLog(obj.LaunchSpecification), + }), }); } -export interface ImportVolumeResult { +export interface ImportInstanceResult { /** *

        Information about the conversion task.

        */ ConversionTask?: ConversionTask; } -export namespace ImportVolumeResult { +export namespace ImportInstanceResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportVolumeResult): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceResult): any => ({ ...obj, }); } -export interface ListSnapshotsInRecycleBinRequest { +export interface ImportKeyPairRequest { /** - *

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

        + *

        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.

        */ - MaxResults?: number; + DryRun?: boolean; /** - *

        The token for the next page of results.

        + *

        A unique name for the key pair.

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

        The IDs of the snapshots to list. Omit this parameter to list all of the - * snapshots that are in the Recycle Bin.

        + *

        The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

        */ - SnapshotIds?: string[]; + PublicKeyMaterial: Uint8Array | undefined; /** - *

        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.

        + *

        The tags to apply to the imported key pair.

        */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; } -export namespace ListSnapshotsInRecycleBinRequest { +export namespace ImportKeyPairRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ListSnapshotsInRecycleBinRequest): any => ({ + export const filterSensitiveLog = (obj: ImportKeyPairRequest): any => ({ ...obj, }); } -/** - *

        Information about a snapshot that is currently in the Recycle Bin.

        - */ -export interface SnapshotRecycleBinInfo { - /** - *

        The ID of the snapshot.

        - */ - SnapshotId?: string; - +export interface ImportKeyPairResult { /** - *

        The date and time when the snaphsot entered the Recycle Bin.

        + *

        The MD5 public key fingerprint as specified in section 4 of RFC 4716.

        */ - RecycleBinEnterTime?: Date; + KeyFingerprint?: string; /** - *

        The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

        + *

        The key pair name that you provided.

        */ - RecycleBinExitTime?: Date; + KeyName?: string; /** - *

        The description for the snapshot.

        + *

        The ID of the resulting key pair.

        */ - Description?: string; + KeyPairId?: string; /** - *

        The ID of the volume from which the snapshot was created.

        + *

        The tags applied to the imported key pair.

        */ - VolumeId?: string; + Tags?: Tag[]; } -export namespace SnapshotRecycleBinInfo { +export namespace ImportKeyPairResult { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotRecycleBinInfo): any => ({ + export const filterSensitiveLog = (obj: ImportKeyPairResult): any => ({ ...obj, }); } -export interface ListSnapshotsInRecycleBinResult { - /** - *

        Information about the snapshots.

        - */ - Snapshots?: SnapshotRecycleBinInfo[]; - - /** - *

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

        - */ - NextToken?: string; -} - -export namespace ListSnapshotsInRecycleBinResult { +/** + *

        The disk container object for the import snapshot request.

        + */ +export interface SnapshotDiskContainer { /** - * @internal + *

        The description of the disk image being imported.

        */ - export const filterSensitiveLog = (obj: ListSnapshotsInRecycleBinResult): any => ({ - ...obj, - }); -} + Description?: string; -export interface ModifyAddressAttributeRequest { /** - *

        [EC2-VPC] The allocation ID.

        + *

        The format of the disk image being imported.

        + *

        Valid values: VHD | VMDK | RAW + *

        */ - AllocationId: string | undefined; + Format?: string; /** - *

        The domain name to modify for the IP address.

        + *

        The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon + * S3 URL (s3://..).

        */ - DomainName?: string; + Url?: string; /** - *

        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.

        + *

        The Amazon S3 bucket for the disk image.

        */ - DryRun?: boolean; + UserBucket?: UserBucket; } -export namespace ModifyAddressAttributeRequest { +export namespace SnapshotDiskContainer { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAddressAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: SnapshotDiskContainer): any => ({ ...obj, }); } -export interface ModifyAddressAttributeResult { +export interface ImportSnapshotRequest { /** - *

        Information about the Elastic IP address.

        + *

        The client-specific data.

        */ - Address?: AddressAttribute; -} + ClientData?: ClientData; -export namespace ModifyAddressAttributeResult { /** - * @internal + *

        Token to enable idempotency for VM import requests.

        */ - export const filterSensitiveLog = (obj: ModifyAddressAttributeResult): any => ({ - ...obj, - }); -} - -export type ModifyAvailabilityZoneOptInStatus = "not-opted-in" | "opted-in"; + ClientToken?: string; -export interface ModifyAvailabilityZoneGroupRequest { /** - *

        The name of the Availability Zone group, Local Zone group, or Wavelength Zone - * group.

        + *

        The description string for the import snapshot task.

        */ - GroupName: string | undefined; + Description?: string; /** - *

        Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The - * only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

        + *

        Information about the disk container.

        */ - OptInStatus: ModifyAvailabilityZoneOptInStatus | string | undefined; + DiskContainer?: SnapshotDiskContainer; /** *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -2832,1966 +2933,1616 @@ export interface ModifyAvailabilityZoneGroupRequest { * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; -} -export namespace ModifyAvailabilityZoneGroupRequest { /** - * @internal + *

        Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is + * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

        */ - export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupRequest): any => ({ - ...obj, - }); -} + Encrypted?: boolean; -export interface ModifyAvailabilityZoneGroupResult { /** - *

        Is true if the request succeeds, and an error otherwise.

        + *

        An identifier for the symmetric KMS key to use when creating the + * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

        + *

        The KMS key identifier may be provided in any of the following formats:

        + *
          + *
        • + *

          Key ID

          + *
        • + *
        • + *

          Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          + *
        • + *
        • + *

          ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

          + *
        • + *
        • + *

          ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

          + *
        • + *
        + *

        Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + * though you provided an invalid identifier. This action will eventually report failure.

        + *

        The specified KMS key must exist in the Region that the snapshot is being copied to.

        + *

        Amazon EBS does not support asymmetric KMS keys.

        */ - Return?: boolean; + KmsKeyId?: string; + + /** + *

        The name of the role to use when not using the default role, 'vmimport'.

        + */ + RoleName?: string; + + /** + *

        The tags to apply to the import snapshot task during creation.

        + */ + TagSpecifications?: TagSpecification[]; } -export namespace ModifyAvailabilityZoneGroupResult { +export namespace ImportSnapshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupResult): any => ({ + export const filterSensitiveLog = (obj: ImportSnapshotRequest): any => ({ ...obj, }); } -export interface ModifyCapacityReservationRequest { +export interface ImportSnapshotResult { /** - *

        The ID of the Capacity Reservation.

        + *

        A description of the import snapshot task.

        */ - CapacityReservationId: string | undefined; + Description?: string; /** - *

        The number of instances for which to reserve capacity. The number of instances can't be increased or - * decreased by more than 1000 in a single request.

        + *

        The ID of the import snapshot task.

        */ - InstanceCount?: number; + ImportTaskId?: string; /** - *

        The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity - * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to - * expired when it reaches its end date and time.

        - *

        The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify - * 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

        - *

        You must provide an EndDate value if EndDateType is - * limited. Omit EndDate if EndDateType is - * unlimited.

        + *

        Information about the import snapshot task.

        */ - EndDate?: Date; + SnapshotTaskDetail?: SnapshotTaskDetail; /** - *

        Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end - * types:

        - *
          - *
        • - *

          - * unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not - * provide an EndDate value if EndDateType is - * unlimited.

          - *
        • - *
        • - *

          - * limited - The Capacity Reservation expires automatically at a specified date and time. You must - * provide an EndDate value if EndDateType is - * limited.

          - *
        • - *
        + *

        Any tags assigned to the import snapshot task.

        */ - EndDateType?: EndDateType | string; + Tags?: Tag[]; +} +export namespace ImportSnapshotResult { /** - *

        Reserved. Capacity Reservations you have created are accepted by default.

        + * @internal */ - Accept?: boolean; + export const filterSensitiveLog = (obj: ImportSnapshotResult): any => ({ + ...obj, + }); +} +export interface ImportVolumeRequest { /** - *

        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.

        + *

        The Availability Zone for the resulting EBS volume.

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

        A description of the volume.

        + */ + Description?: string; + + /** + *

        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; /** - *

        Reserved for future use.

        + *

        The disk image.

        */ - AdditionalInfo?: string; + Image: DiskImageDetail | undefined; + + /** + *

        The volume size.

        + */ + Volume: VolumeDetail | undefined; } -export namespace ModifyCapacityReservationRequest { +export namespace ImportVolumeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationRequest): any => ({ + export const filterSensitiveLog = (obj: ImportVolumeRequest): any => ({ ...obj, }); } -export interface ModifyCapacityReservationResult { +export interface ImportVolumeResult { /** - *

        Returns true if the request succeeds; otherwise, it returns an error.

        + *

        Information about the conversion task.

        */ - Return?: boolean; + ConversionTask?: ConversionTask; } -export namespace ModifyCapacityReservationResult { +export namespace ImportVolumeResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationResult): any => ({ + export const filterSensitiveLog = (obj: ImportVolumeResult): any => ({ ...obj, }); } -export interface ModifyCapacityReservationFleetRequest { +export interface ListSnapshotsInRecycleBinRequest { /** - *

        The ID of the Capacity Reservation Fleet to modify.

        + *

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

        */ - CapacityReservationFleetId: string | undefined; + MaxResults?: number; /** - *

        The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, - * together with the instance type weights that you assign to each instance type used by the Fleet - * determine the number of instances for which the Fleet reserves capacity. Both values are based on - * units that make sense for your workload. For more information, see Total target capacity - * in the Amazon EC2 User Guide.

        + *

        The token for the next page of results.

        */ - TotalTargetCapacity?: number; + NextToken?: string; /** - *

        The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation - * Fleet expires, its state changes to expired and all of the Capacity Reservations in the - * Fleet expire.

        - *

        The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you - * specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed - * to expire between 13:30:55 and 14:30:55 on 5/31/2019.

        - *

        You can't specify EndDate and - * RemoveEndDate in the same request.

        + *

        The IDs of the snapshots to list. Omit this parameter to list all of the + * snapshots that are in the Recycle Bin.

        */ - EndDate?: Date; + SnapshotIds?: string[]; /** - *

        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.

        + *

        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; - - /** - *

        Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the - * end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly - * cancel it using the CancelCapacityReservationFleet action.

        - *

        You can't specify RemoveEndDate and - * EndDate in the same request.

        - */ - RemoveEndDate?: boolean; } -export namespace ModifyCapacityReservationFleetRequest { +export namespace ListSnapshotsInRecycleBinRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetRequest): any => ({ - ...obj, - }); -} - -export interface ModifyCapacityReservationFleetResult { - /** - *

        Returns true if the request succeeds; otherwise, it returns an error.

        - */ - Return?: boolean; -} - -export namespace ModifyCapacityReservationFleetResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetResult): any => ({ + export const filterSensitiveLog = (obj: ListSnapshotsInRecycleBinRequest): any => ({ ...obj, }); } /** - *

        Information about the DNS server to be used.

        + *

        Information about a snapshot that is currently in the Recycle Bin.

        */ -export interface DnsServersOptionsModifyStructure { - /** - *

        The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to - * two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values - * overwrite the existing values.

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

        Indicates whether DNS servers should be used. Specify False to delete the existing DNS - * servers.

        - */ - Enabled?: boolean; -} - -export namespace DnsServersOptionsModifyStructure { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DnsServersOptionsModifyStructure): any => ({ - ...obj, - }); -} - -export interface ModifyClientVpnEndpointRequest { +export interface SnapshotRecycleBinInfo { /** - *

        The ID of the Client VPN endpoint to modify.

        + *

        The ID of the snapshot.

        */ - ClientVpnEndpointId: string | undefined; + SnapshotId?: string; /** - *

        The ARN of the server certificate to be used. The server certificate must be provisioned in - * Certificate Manager (ACM).

        + *

        The date and time when the snaphsot entered the Recycle Bin.

        */ - ServerCertificateArn?: string; + RecycleBinEnterTime?: Date; /** - *

        Information about the client connection logging options.

        - *

        If you enable client connection logging, data about client connections is sent to a - * Cloudwatch Logs log stream. The following information is logged:

        - *
          - *
        • - *

          Client connection requests

          - *
        • - *
        • - *

          Client connection results (successful and unsuccessful)

          - *
        • - *
        • - *

          Reasons for unsuccessful client connection requests

          - *
        • - *
        • - *

          Client connection termination time

          - *
        • - *
        + *

        The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

        */ - ConnectionLogOptions?: ConnectionLogOptions; + RecycleBinExitTime?: Date; /** - *

        Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have - * up to two DNS servers.

        + *

        The description for the snapshot.

        */ - DnsServers?: DnsServersOptionsModifyStructure; + Description?: string; /** - *

        The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

        - *

        Valid Values: 443 | 1194 - *

        - *

        Default Value: 443 - *

        + *

        The ID of the volume from which the snapshot was created.

        */ - VpnPort?: number; + VolumeId?: string; +} +export namespace SnapshotRecycleBinInfo { /** - *

        A brief description of the Client VPN endpoint.

        + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: SnapshotRecycleBinInfo): any => ({ + ...obj, + }); +} +export interface ListSnapshotsInRecycleBinResult { /** - *

        Indicates whether the VPN is split-tunnel.

        - *

        For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the - * Client VPN Administrator Guide.

        + *

        Information about the snapshots.

        */ - SplitTunnel?: boolean; + Snapshots?: SnapshotRecycleBinInfo[]; /** - *

        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.

        + *

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

        */ - DryRun?: boolean; + NextToken?: string; +} +export namespace ListSnapshotsInRecycleBinResult { /** - *

        The IDs of one or more security groups to apply to the target network.

        + * @internal */ - SecurityGroupIds?: string[]; + export const filterSensitiveLog = (obj: ListSnapshotsInRecycleBinResult): any => ({ + ...obj, + }); +} +export interface ModifyAddressAttributeRequest { /** - *

        The ID of the VPC to associate with the Client VPN endpoint.

        + *

        [EC2-VPC] The allocation ID.

        */ - VpcId?: string; + AllocationId: string | undefined; /** - *

        Specify whether to enable the self-service portal for the Client VPN endpoint.

        + *

        The domain name to modify for the IP address.

        */ - SelfServicePortal?: SelfServicePortal | string; + DomainName?: string; /** - *

        The options for managing connection authorization for new client connections.

        + *

        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.

        */ - ClientConnectOptions?: ClientConnectOptions; + DryRun?: boolean; } -export namespace ModifyClientVpnEndpointRequest { +export namespace ModifyAddressAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyClientVpnEndpointRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyAddressAttributeRequest): any => ({ ...obj, }); } -export interface ModifyClientVpnEndpointResult { +export interface ModifyAddressAttributeResult { /** - *

        Returns true if the request succeeds; otherwise, it returns an error.

        + *

        Information about the Elastic IP address.

        */ - Return?: boolean; + Address?: AddressAttribute; } -export namespace ModifyClientVpnEndpointResult { +export namespace ModifyAddressAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyClientVpnEndpointResult): any => ({ + export const filterSensitiveLog = (obj: ModifyAddressAttributeResult): any => ({ ...obj, }); } -export interface ModifyDefaultCreditSpecificationRequest { +export type ModifyAvailabilityZoneOptInStatus = "not-opted-in" | "opted-in"; + +export interface ModifyAvailabilityZoneGroupRequest { /** - *

        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.

        + *

        The name of the Availability Zone group, Local Zone group, or Wavelength Zone + * group.

        */ - DryRun?: boolean; + GroupName: string | undefined; /** - *

        The instance family.

        + *

        Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The + * only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

        */ - InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; + OptInStatus: ModifyAvailabilityZoneOptInStatus | string | undefined; /** - *

        The credit option for CPU usage of the instance family.

        - *

        Valid Values: standard | unlimited - *

        + *

        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.

        */ - CpuCredits: string | undefined; + DryRun?: boolean; } -export namespace ModifyDefaultCreditSpecificationRequest { +export namespace ModifyAvailabilityZoneGroupRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupRequest): any => ({ ...obj, }); } -export interface ModifyDefaultCreditSpecificationResult { +export interface ModifyAvailabilityZoneGroupResult { /** - *

        The default credit option for CPU usage of the instance family.

        + *

        Is true if the request succeeds, and an error otherwise.

        */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; + Return?: boolean; } -export namespace ModifyDefaultCreditSpecificationResult { +export namespace ModifyAvailabilityZoneGroupResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationResult): any => ({ + export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupResult): any => ({ ...obj, }); } -export interface ModifyEbsDefaultKmsKeyIdRequest { +export interface ModifyCapacityReservationRequest { /** - *

        The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. - * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is - * specified, the encrypted state must be true.

        - *

        You can specify the KMS key using any of the following:

        - *
          - *
        • - *

          Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

          - *
        • - *
        • - *

          Key alias. For example, alias/ExampleAlias.

          - *
        • + *

          The ID of the Capacity Reservation.

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

          The number of instances for which to reserve capacity. The number of instances can't be increased or + * decreased by more than 1000 in a single request.

          + */ + InstanceCount?: number; + + /** + *

          The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity + * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to + * expired when it reaches its end date and time.

          + *

          The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify + * 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

          + *

          You must provide an EndDate value if EndDateType is + * limited. Omit EndDate if EndDateType is + * unlimited.

          + */ + EndDate?: Date; + + /** + *

          Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end + * types:

          + *
            *
          • - *

            Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

            + *

            + * unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not + * provide an EndDate value if EndDateType is + * unlimited.

            *
          • *
          • - *

            Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            + *

            + * limited - The Capacity Reservation expires automatically at a specified date and time. You must + * provide an EndDate value if EndDateType is + * limited.

            *
          • *
          - *

          Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, - * the action can appear to complete, but eventually fails.

          - *

          Amazon EBS does not support asymmetric KMS keys.

          */ - KmsKeyId: string | undefined; + EndDateType?: EndDateType | string; /** - *

          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.

          + *

          Reserved. Capacity Reservations you have created are accepted by default.

          + */ + Accept?: boolean; + + /** + *

          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; + + /** + *

          Reserved for future use.

          + */ + AdditionalInfo?: string; } -export namespace ModifyEbsDefaultKmsKeyIdRequest { +export namespace ModifyCapacityReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationRequest): any => ({ ...obj, }); } -export interface ModifyEbsDefaultKmsKeyIdResult { +export interface ModifyCapacityReservationResult { /** - *

          The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - KmsKeyId?: string; + Return?: boolean; } -export namespace ModifyEbsDefaultKmsKeyIdResult { +export namespace ModifyCapacityReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdResult): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationResult): any => ({ ...obj, }); } -export interface ModifyFleetRequest { - /** - *

          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 interface ModifyCapacityReservationFleetRequest { /** - *

          Indicates whether running instances should be terminated if the total target capacity of - * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

          + *

          The ID of the Capacity Reservation Fleet to modify.

          */ - ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; + CapacityReservationFleetId: string | undefined; /** - *

          The launch template and overrides.

          + *

          The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, + * together with the instance type weights that you assign to each instance type used by the Fleet + * determine the number of instances for which the Fleet reserves capacity. Both values are based on + * units that make sense for your workload. For more information, see Total target capacity + * in the Amazon EC2 User Guide.

          */ - LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; + TotalTargetCapacity?: number; /** - *

          The ID of the EC2 Fleet.

          + *

          The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation + * Fleet expires, its state changes to expired and all of the Capacity Reservations in the + * Fleet expire.

          + *

          The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you + * specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed + * to expire between 13:30:55 and 14:30:55 on 5/31/2019.

          + *

          You can't specify EndDate and + * RemoveEndDate in the same request.

          */ - FleetId: string | undefined; + EndDate?: Date; /** - *

          The size of the EC2 Fleet.

          + *

          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.

          */ - TargetCapacitySpecification?: TargetCapacitySpecificationRequest; + DryRun?: boolean; /** - *

          Reserved.

          + *

          Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the + * end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly + * cancel it using the CancelCapacityReservationFleet action.

          + *

          You can't specify RemoveEndDate and + * EndDate in the same request.

          */ - Context?: string; + RemoveEndDate?: boolean; } -export namespace ModifyFleetRequest { +export namespace ModifyCapacityReservationFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyFleetRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetRequest): any => ({ ...obj, }); } -export interface ModifyFleetResult { +export interface ModifyCapacityReservationFleetResult { /** - *

          Is true if the request succeeds, and an error otherwise.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ Return?: boolean; } -export namespace ModifyFleetResult { +export namespace ModifyCapacityReservationFleetResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyFleetResult): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetResult): any => ({ ...obj, }); } /** - *

          Describes a load permission.

          + *

          Information about the DNS server to be used.

          */ -export interface LoadPermissionRequest { +export interface DnsServersOptionsModifyStructure { /** - *

          The name of the group.

          + *

          The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to + * two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values + * overwrite the existing values.

          */ - Group?: PermissionGroup | string; + CustomDnsServers?: string[]; /** - *

          The Amazon Web Services account ID.

          + *

          Indicates whether DNS servers should be used. Specify False to delete the existing DNS + * servers.

          */ - UserId?: string; + Enabled?: boolean; } -export namespace LoadPermissionRequest { +export namespace DnsServersOptionsModifyStructure { /** * @internal */ - export const filterSensitiveLog = (obj: LoadPermissionRequest): any => ({ + export const filterSensitiveLog = (obj: DnsServersOptionsModifyStructure): any => ({ ...obj, }); } -/** - *

          Describes modifications to the load permissions of an Amazon FPGA image (AFI).

          - */ -export interface LoadPermissionModifications { +export interface ModifyClientVpnEndpointRequest { /** - *

          The load permissions to add.

          + *

          The ID of the Client VPN endpoint to modify.

          */ - Add?: LoadPermissionRequest[]; + ClientVpnEndpointId: string | undefined; /** - *

          The load permissions to remove.

          + *

          The ARN of the server certificate to be used. The server certificate must be provisioned in + * Certificate Manager (ACM).

          */ - Remove?: LoadPermissionRequest[]; -} + ServerCertificateArn?: string; -export namespace LoadPermissionModifications { /** - * @internal + *

          Information about the client connection logging options.

          + *

          If you enable client connection logging, data about client connections is sent to a + * Cloudwatch Logs log stream. The following information is logged:

          + *
            + *
          • + *

            Client connection requests

            + *
          • + *
          • + *

            Client connection results (successful and unsuccessful)

            + *
          • + *
          • + *

            Reasons for unsuccessful client connection requests

            + *
          • + *
          • + *

            Client connection termination time

            + *
          • + *
          */ - export const filterSensitiveLog = (obj: LoadPermissionModifications): any => ({ - ...obj, - }); -} - -export type OperationType = "add" | "remove"; + ConnectionLogOptions?: ConnectionLogOptions; -export interface ModifyFpgaImageAttributeRequest { /** - *

          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.

          + *

          Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have + * up to two DNS servers.

          */ - DryRun?: boolean; + DnsServers?: DnsServersOptionsModifyStructure; /** - *

          The ID of the AFI.

          + *

          The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

          + *

          Valid Values: 443 | 1194 + *

          + *

          Default Value: 443 + *

          */ - FpgaImageId: string | undefined; + VpnPort?: number; /** - *

          The name of the attribute.

          + *

          A brief description of the Client VPN endpoint.

          */ - Attribute?: FpgaImageAttributeName | string; + Description?: string; /** - *

          The operation type.

          + *

          Indicates whether the VPN is split-tunnel.

          + *

          For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the + * Client VPN Administrator Guide.

          */ - OperationType?: OperationType | string; + SplitTunnel?: boolean; /** - *

          The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

          + *

          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.

          */ - UserIds?: string[]; + DryRun?: boolean; /** - *

          The user groups. This parameter is valid only when modifying the loadPermission attribute.

          + *

          The IDs of one or more security groups to apply to the target network.

          */ - UserGroups?: string[]; + SecurityGroupIds?: string[]; /** - *

          The product codes. After you add a product code to an AFI, it can't be removed. - * This parameter is valid only when modifying the productCodes attribute.

          + *

          The ID of the VPC to associate with the Client VPN endpoint.

          */ - ProductCodes?: string[]; + VpcId?: string; /** - *

          The load permission for the AFI.

          + *

          Specify whether to enable the self-service portal for the Client VPN endpoint.

          */ - LoadPermission?: LoadPermissionModifications; + SelfServicePortal?: SelfServicePortal | string; /** - *

          A description for the AFI.

          + *

          The options for managing connection authorization for new client connections.

          */ - Description?: string; + ClientConnectOptions?: ClientConnectOptions; - /** - *

          A name for the AFI.

          - */ - Name?: string; + SessionTimeoutHours?: number; + ClientLoginBannerOptions?: ClientLoginBannerOptions; } -export namespace ModifyFpgaImageAttributeRequest { +export namespace ModifyClientVpnEndpointRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyClientVpnEndpointRequest): any => ({ ...obj, }); } -export interface ModifyFpgaImageAttributeResult { +export interface ModifyClientVpnEndpointResult { /** - *

          Information about the attribute.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - FpgaImageAttribute?: FpgaImageAttribute; + Return?: boolean; } -export namespace ModifyFpgaImageAttributeResult { +export namespace ModifyClientVpnEndpointResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeResult): any => ({ + export const filterSensitiveLog = (obj: ModifyClientVpnEndpointResult): any => ({ ...obj, }); } -export interface ModifyHostsRequest { - /** - *

          Specify whether to enable or disable auto-placement.

          - */ - AutoPlacement?: AutoPlacement | string; - - /** - *

          The IDs of the Dedicated Hosts to modify.

          - */ - HostIds: string[] | undefined; - +export interface ModifyDefaultCreditSpecificationRequest { /** - *

          Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, - * see - * Host recovery in the Amazon EC2 User Guide.

          + *

          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.

          */ - HostRecovery?: HostRecovery | string; + DryRun?: boolean; /** - *

          Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to - * modify a Dedicated Host to support only a specific instance type.

          - * - *

          If you want to modify a Dedicated Host to support multiple instance types in its current instance - * family, omit this parameter and specify InstanceFamily - * instead. You cannot specify InstanceType and - * InstanceFamily in the same request.

          + *

          The instance family.

          */ - InstanceType?: string; + InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; /** - *

          Specifies the instance family to be supported by the Dedicated Host. Specify this parameter - * to modify a Dedicated Host to support multiple instance types within its current - * instance family.

          - * - *

          If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter - * and specify InstanceType instead. You cannot specify - * InstanceFamily and InstanceType - * in the same request.

          + *

          The credit option for CPU usage of the instance family.

          + *

          Valid Values: standard | unlimited + *

          */ - InstanceFamily?: string; + CpuCredits: string | undefined; } -export namespace ModifyHostsRequest { +export namespace ModifyDefaultCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyHostsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationRequest): any => ({ ...obj, }); } -export interface ModifyHostsResult { - /** - *

          The IDs of the Dedicated Hosts that were successfully modified.

          - */ - Successful?: string[]; - +export interface ModifyDefaultCreditSpecificationResult { /** - *

          The IDs of the Dedicated Hosts that could not be modified. Check whether the - * setting you requested can be used.

          + *

          The default credit option for CPU usage of the instance family.

          */ - Unsuccessful?: UnsuccessfulItem[]; + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; } -export namespace ModifyHostsResult { +export namespace ModifyDefaultCreditSpecificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyHostsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationResult): any => ({ ...obj, }); } -export interface ModifyIdentityIdFormatRequest { +export interface ModifyEbsDefaultKmsKeyIdRequest { /** - *

          The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify - * all to modify the ID format for all IAM users, IAM roles, and the root user of - * the account.

          + *

          The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. + * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is + * specified, the encrypted state must be true.

          + *

          You can specify the KMS key using any of the following:

          + *
            + *
          • + *

            Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

            + *
          • + *
          • + *

            Key alias. For example, alias/ExampleAlias.

            + *
          • + *
          • + *

            Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

            + *
          • + *
          • + *

            Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

            + *
          • + *
          + *

          Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, + * the action can appear to complete, but eventually fails.

          + *

          Amazon EBS does not support asymmetric KMS keys.

          */ - PrincipalArn: string | undefined; + KmsKeyId: string | undefined; /** - *

          The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | internet-gateway | network-acl - * | network-acl-association | network-interface | - * network-interface-attachment | prefix-list | - * route-table | route-table-association | - * security-group | subnet | - * subnet-cidr-block-association | vpc | - * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

          - *

          Alternatively, use the all-current option to include all resource types that are - * currently within their opt-in period for longer IDs.

          + *

          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.

          */ - Resource: string | undefined; + DryRun?: boolean; +} +export namespace ModifyEbsDefaultKmsKeyIdRequest { /** - *

          Indicates whether the resource should use longer IDs (17-character IDs)

          + * @internal */ - UseLongIds: boolean | undefined; + export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdRequest): any => ({ + ...obj, + }); } -export namespace ModifyIdentityIdFormatRequest { +export interface ModifyEbsDefaultKmsKeyIdResult { + /** + *

          The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

          + */ + KmsKeyId?: string; +} + +export namespace ModifyEbsDefaultKmsKeyIdResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIdentityIdFormatRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdResult): any => ({ ...obj, }); } -export interface ModifyIdFormatRequest { +export interface ModifyFleetRequest { /** - *

          The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | internet-gateway | network-acl - * | network-acl-association | network-interface | - * network-interface-attachment | prefix-list | - * route-table | route-table-association | - * security-group | subnet | - * subnet-cidr-block-association | vpc | - * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

          - *

          Alternatively, use the all-current option to include all resource types that are - * currently within their opt-in period for longer IDs.

          + *

          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.

          */ - Resource: string | undefined; + DryRun?: boolean; /** - *

          Indicate whether the resource should use longer IDs (17-character IDs).

          + *

          Indicates whether running instances should be terminated if the total target capacity of + * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

          */ - UseLongIds: boolean | undefined; + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; + + /** + *

          The launch template and overrides.

          + */ + LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; + + /** + *

          The ID of the EC2 Fleet.

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

          The size of the EC2 Fleet.

          + */ + TargetCapacitySpecification?: TargetCapacitySpecificationRequest; + + /** + *

          Reserved.

          + */ + Context?: string; } -export namespace ModifyIdFormatRequest { +export namespace ModifyFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIdFormatRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyFleetRequest): any => ({ + ...obj, + }); +} + +export interface ModifyFleetResult { + /** + *

          Is true if the request succeeds, and an error otherwise.

          + */ + Return?: boolean; +} + +export namespace ModifyFleetResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyFleetResult): any => ({ ...obj, }); } /** - *

          Describes a launch permission modification.

          + *

          Describes a load permission.

          */ -export interface LaunchPermissionModifications { +export interface LoadPermissionRequest { /** - *

          The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

          + *

          The name of the group.

          */ - Add?: LaunchPermission[]; + Group?: PermissionGroup | string; /** - *

          The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

          + *

          The Amazon Web Services account ID.

          */ - Remove?: LaunchPermission[]; + UserId?: string; } -export namespace LaunchPermissionModifications { +export namespace LoadPermissionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchPermissionModifications): any => ({ + export const filterSensitiveLog = (obj: LoadPermissionRequest): any => ({ ...obj, }); } /** - *

          Contains the parameters for ModifyImageAttribute.

          + *

          Describes modifications to the load permissions of an Amazon FPGA image (AFI).

          */ -export interface ModifyImageAttributeRequest { +export interface LoadPermissionModifications { /** - *

          The name of the attribute to modify.

          - *

          Valid values: description | launchPermission - *

          + *

          The load permissions to add.

          */ - Attribute?: string; + Add?: LoadPermissionRequest[]; /** - *

          A new description for the AMI.

          + *

          The load permissions to remove.

          */ - Description?: AttributeValue; + Remove?: LoadPermissionRequest[]; +} +export namespace LoadPermissionModifications { /** - *

          The ID of the AMI.

          + * @internal */ - ImageId: string | undefined; + export const filterSensitiveLog = (obj: LoadPermissionModifications): any => ({ + ...obj, + }); +} + +export type OperationType = "add" | "remove"; +export interface ModifyFpgaImageAttributeRequest { /** - *

          A new launch permission for the AMI.

          + *

          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.

          */ - LaunchPermission?: LaunchPermissionModifications; + DryRun?: boolean; /** - *

          The operation type. - * This parameter can be used only when the Attribute parameter is launchPermission.

          + *

          The ID of the AFI.

          */ - OperationType?: OperationType | string; + FpgaImageId: string | undefined; /** - *

          Not supported.

          + *

          The name of the attribute.

          */ - ProductCodes?: string[]; + Attribute?: FpgaImageAttributeName | string; /** - *

          The user groups. - * This parameter can be used only when the Attribute parameter is launchPermission.

          + *

          The operation type.

          */ - UserGroups?: string[]; + OperationType?: OperationType | string; /** - *

          The Amazon Web Services account IDs. - * This parameter can be used only when the Attribute parameter is launchPermission.

          + *

          The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

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

          The value of the attribute being modified. - * This parameter can be used only when the Attribute parameter is description.

          + *

          The user groups. This parameter is valid only when modifying the loadPermission attribute.

          */ - Value?: string; + UserGroups?: string[]; /** - *

          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.

          + *

          The product codes. After you add a product code to an AFI, it can't be removed. + * This parameter is valid only when modifying the productCodes attribute.

          */ - DryRun?: boolean; + ProductCodes?: string[]; /** - *

          The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

          + *

          The load permission for the AFI.

          */ - OrganizationArns?: string[]; + LoadPermission?: LoadPermissionModifications; /** - *

          The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

          + *

          A description for the AFI.

          */ - OrganizationalUnitArns?: string[]; + Description?: string; + + /** + *

          A name for the AFI.

          + */ + Name?: string; } -export namespace ModifyImageAttributeRequest { +export namespace ModifyFpgaImageAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeRequest): any => ({ ...obj, }); } -/** - *

          Describes information used to set up an EBS volume specified in a block device - * mapping.

          - */ -export interface EbsInstanceBlockDeviceSpecification { - /** - *

          Indicates whether the volume is deleted on instance termination.

          - */ - DeleteOnTermination?: boolean; - +export interface ModifyFpgaImageAttributeResult { /** - *

          The ID of the EBS volume.

          + *

          Information about the attribute.

          */ - VolumeId?: string; + FpgaImageAttribute?: FpgaImageAttribute; } -export namespace EbsInstanceBlockDeviceSpecification { +export namespace ModifyFpgaImageAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: EbsInstanceBlockDeviceSpecification): any => ({ + export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeResult): any => ({ ...obj, }); } -/** - *

          Describes a block device mapping entry.

          - */ -export interface InstanceBlockDeviceMappingSpecification { +export interface ModifyHostsRequest { /** - *

          The device name (for example, /dev/sdh or xvdh).

          + *

          Specify whether to enable or disable auto-placement.

          */ - DeviceName?: string; + AutoPlacement?: AutoPlacement | string; /** - *

          Parameters used to automatically set up EBS volumes when the instance is - * launched.

          + *

          The IDs of the Dedicated Hosts to modify.

          */ - Ebs?: EbsInstanceBlockDeviceSpecification; + HostIds: string[] | undefined; /** - *

          suppress the specified device included in the block device mapping.

          + *

          Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, + * see + * Host recovery in the Amazon EC2 User Guide.

          */ - NoDevice?: string; + HostRecovery?: HostRecovery | string; /** - *

          The virtual device name.

          - */ - VirtualName?: string; -} - -export namespace InstanceBlockDeviceMappingSpecification { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceBlockDeviceMappingSpecification): any => ({ - ...obj, - }); -} - -export interface BlobAttributeValue { - Value?: Uint8Array; -} - -export namespace BlobAttributeValue { - /** - * @internal - */ - export const filterSensitiveLog = (obj: BlobAttributeValue): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceAttributeRequest { - /** - *

          Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

          - */ - SourceDestCheck?: AttributeBooleanValue; - - /** - *

          The name of the attribute.

          - */ - Attribute?: InstanceAttributeName | string; - - /** - *

          Modifies the DeleteOnTermination attribute for volumes that are currently - * attached. The volume must be owned by the caller. If no value is specified for - * DeleteOnTermination, the default is true and the volume is - * deleted when the instance is terminated.

          - *

          To add instance store volumes to an Amazon EBS-backed instance, you must add them when - * you launch the instance. For more information, see Update the block device mapping when launching an instance in the - * Amazon EC2 User Guide.

          - */ - BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; - - /** - *

          If the value is true, you can't terminate the instance using the Amazon - * EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot - * Instances.

          - */ - DisableApiTermination?: AttributeBooleanValue; - - /** - *

          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; - - /** - *

          Specifies whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal EBS I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

          - */ - EbsOptimized?: AttributeBooleanValue; - - /** - *

          Set to true to enable enhanced networking with ENA for the - * instance.

          - *

          This option is supported only for HVM instances. Specifying this option with a PV - * instance can make it unreachable.

          - */ - EnaSupport?: AttributeBooleanValue; - - /** - *

          [EC2-VPC] Replaces the security groups of the instance with the specified security groups. - * You must specify at least one security group, even if it's just the default security group for the VPC. You must - * specify the security group ID, not the security group name.

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

          The ID of the instance.

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

          Specifies whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

          - */ - InstanceInitiatedShutdownBehavior?: AttributeValue; - - /** - *

          Changes the instance type to the specified value. For more information, see Instance - * types in the Amazon EC2 User Guide. If the instance type is not valid, - * the error returned is InvalidInstanceAttributeValue.

          - */ - InstanceType?: AttributeValue; - - /** - *

          Changes the instance's kernel to the specified value. We recommend that you use - * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

          - */ - Kernel?: AttributeValue; - - /** - *

          Changes the instance's RAM disk to the specified value. We recommend that you use - * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

          - */ - Ramdisk?: AttributeValue; - - /** - *

          Set to simple to enable enhanced networking with the Intel 82599 Virtual - * Function interface for the instance.

          - *

          There is no way to disable enhanced networking with the Intel 82599 Virtual Function - * interface at this time.

          - *

          This option is supported only for HVM instances. Specifying this option with a PV - * instance can make it unreachable.

          - */ - SriovNetSupport?: AttributeValue; - - /** - *

          Changes the instance's user data to the specified value. If you are using an Amazon Web Services SDK - * or command line tool, base64-encoding is performed for you, and you can load the text - * from a file. Otherwise, you must provide base64-encoded text.

          - */ - UserData?: BlobAttributeValue; - - /** - *

          A new value for the attribute. Use only with the kernel, - * ramdisk, userData, disableApiTermination, or - * instanceInitiatedShutdownBehavior attribute.

          - */ - Value?: string; -} - -export namespace ModifyInstanceAttributeRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceAttributeRequest): any => ({ - ...obj, - }); -} - -/** - *

          Describes an instance's Capacity Reservation targeting option. You can specify only one parameter - * at a time. If you specify CapacityReservationPreference and - * CapacityReservationTarget, the request fails.

          - *

          Use the CapacityReservationPreference parameter to configure the instance - * to run as an On-Demand Instance or to run in any open Capacity Reservation that has - * matching attributes (instance type, platform, Availability Zone). Use the - * CapacityReservationTarget parameter to explicitly target a specific - * Capacity Reservation or a Capacity Reservation group.

          - */ -export interface CapacityReservationSpecification { - /** - *

          Indicates the instance's Capacity Reservation preferences. Possible preferences include:

          - *
            - *
          • - *

            - * open - The instance can run in any open Capacity Reservation that has matching attributes - * (instance type, platform, Availability Zone).

            - *
          • - *
          • - *

            - * none - The instance avoids running in a Capacity Reservation even if one is available. The - * instance runs as an On-Demand Instance.

            - *
          • - *
          - */ - CapacityReservationPreference?: CapacityReservationPreference | string; - - /** - *

          Information about the target Capacity Reservation or Capacity Reservation group.

          - */ - CapacityReservationTarget?: CapacityReservationTarget; -} - -export namespace CapacityReservationSpecification { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CapacityReservationSpecification): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceCapacityReservationAttributesRequest { - /** - *

          The ID of the instance to be modified.

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

          Information about the Capacity Reservation targeting option.

          - */ - CapacityReservationSpecification: CapacityReservationSpecification | undefined; - - /** - *

          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 ModifyInstanceCapacityReservationAttributesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesRequest): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceCapacityReservationAttributesResult { - /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          - */ - Return?: boolean; -} - -export namespace ModifyInstanceCapacityReservationAttributesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesResult): any => ({ - ...obj, - }); -} - -/** - *

          Describes the credit option for CPU usage of a burstable performance instance.

          - */ -export interface InstanceCreditSpecificationRequest { - /** - *

          The ID of the instance.

          - */ - InstanceId?: string; - - /** - *

          The credit option for CPU usage of the instance. Valid values are - * standard and unlimited.

          - *

          T3 instances with host tenancy do not support the unlimited - * CPU credit option.

          - */ - CpuCredits?: string; -} - -export namespace InstanceCreditSpecificationRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceCreditSpecificationRequest): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceCreditSpecificationRequest { - /** - *

          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; - - /** - *

          A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring - * Idempotency.

          - */ - ClientToken?: string; - - /** - *

          Information about the credit option for CPU usage.

          - */ - InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; -} - -export namespace ModifyInstanceCreditSpecificationRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationRequest): any => ({ - ...obj, - }); -} - -/** - *

          Describes the burstable performance instance whose credit option for CPU usage was - * successfully modified.

          - */ -export interface SuccessfulInstanceCreditSpecificationItem { - /** - *

          The ID of the instance.

          - */ - InstanceId?: string; -} - -export namespace SuccessfulInstanceCreditSpecificationItem { - /** - * @internal - */ - export const filterSensitiveLog = (obj: SuccessfulInstanceCreditSpecificationItem): any => ({ - ...obj, - }); -} - -export enum UnsuccessfulInstanceCreditSpecificationErrorCode { - INCORRECT_INSTANCE_STATE = "IncorrectInstanceState", - INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED = "InstanceCreditSpecification.NotSupported", - INSTANCE_NOT_FOUND = "InvalidInstanceID.NotFound", - INVALID_INSTANCE_ID = "InvalidInstanceID.Malformed", -} - -/** - *

          Information about the error for the burstable performance instance whose credit option - * for CPU usage was not modified.

          - */ -export interface UnsuccessfulInstanceCreditSpecificationItemError { - /** - *

          The error code.

          - */ - Code?: UnsuccessfulInstanceCreditSpecificationErrorCode | string; - - /** - *

          The applicable error message.

          - */ - Message?: string; -} - -export namespace UnsuccessfulInstanceCreditSpecificationItemError { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItemError): any => ({ - ...obj, - }); -} - -/** - *

          Describes the burstable performance instance whose credit option for CPU usage was not - * modified.

          - */ -export interface UnsuccessfulInstanceCreditSpecificationItem { - /** - *

          The ID of the instance.

          - */ - InstanceId?: string; - - /** - *

          The applicable error for the burstable performance instance whose credit option for - * CPU usage was not modified.

          - */ - Error?: UnsuccessfulInstanceCreditSpecificationItemError; -} - -export namespace UnsuccessfulInstanceCreditSpecificationItem { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItem): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceCreditSpecificationResult { - /** - *

          Information about the instances whose credit option for CPU usage was successfully - * modified.

          - */ - SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[]; - - /** - *

          Information about the instances whose credit option for CPU usage was not - * modified.

          - */ - UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[]; -} - -export namespace ModifyInstanceCreditSpecificationResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationResult): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceEventStartTimeRequest { - /** - *

          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; - - /** - *

          The ID of the instance with the scheduled event.

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

          The ID of the event whose date and time you are modifying.

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

          The new date and time when the event will take place.

          - */ - NotBefore: Date | undefined; -} - -export namespace ModifyInstanceEventStartTimeRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeRequest): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceEventStartTimeResult { - /** - *

          Describes a scheduled event for an instance.

          - */ - Event?: InstanceStatusEvent; -} - -export namespace ModifyInstanceEventStartTimeResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeResult): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceEventWindowRequest { - /** - *

          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; - - /** - *

          The name of the event window.

          - */ - Name?: string; - - /** - *

          The ID of the event window.

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

          The time ranges of the event window.

          + *

          Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to + * modify a Dedicated Host to support only a specific instance type.

          + * + *

          If you want to modify a Dedicated Host to support multiple instance types in its current instance + * family, omit this parameter and specify InstanceFamily + * instead. You cannot specify InstanceType and + * InstanceFamily in the same request.

          */ - TimeRanges?: InstanceEventWindowTimeRangeRequest[]; + InstanceType?: string; /** - *

          The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

          - *

          Constraints:

          - *
            - *
          • - *

            Only hour and day of the week values are supported.

            - *
          • - *
          • - *

            For day of the week values, you can specify either integers 0 through - * 6, or alternative single values SUN through - * SAT.

            - *
          • - *
          • - *

            The minute, month, and year must be specified by *.

            - *
          • - *
          • - *

            The hour value must be one or a multiple range, for example, 0-4 or - * 0-4,20-23.

            - *
          • - *
          • - *

            Each hour range must be >= 2 hours, for example, 0-2 or - * 20-23.

            - *
          • - *
          • - *

            The event window must be >= 4 hours. The combined total time ranges in the event - * window must be >= 4 hours.

            - *
          • - *
          - *

          For more information about cron expressions, see cron on the Wikipedia - * website.

          + *

          Specifies the instance family to be supported by the Dedicated Host. Specify this parameter + * to modify a Dedicated Host to support multiple instance types within its current + * instance family.

          + * + *

          If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter + * and specify InstanceType instead. You cannot specify + * InstanceFamily and InstanceType + * in the same request.

          */ - CronExpression?: string; + InstanceFamily?: string; } -export namespace ModifyInstanceEventWindowRequest { +export namespace ModifyHostsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceEventWindowRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyHostsRequest): any => ({ ...obj, }); } -export interface ModifyInstanceEventWindowResult { +export interface ModifyHostsResult { /** - *

          Information about the event window.

          + *

          The IDs of the Dedicated Hosts that were successfully modified.

          */ - InstanceEventWindow?: InstanceEventWindow; + Successful?: string[]; + + /** + *

          The IDs of the Dedicated Hosts that could not be modified. Check whether the + * setting you requested can be used.

          + */ + Unsuccessful?: UnsuccessfulItem[]; } -export namespace ModifyInstanceEventWindowResult { +export namespace ModifyHostsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceEventWindowResult): any => ({ + export const filterSensitiveLog = (obj: ModifyHostsResult): any => ({ ...obj, }); } -export interface ModifyInstanceMetadataOptionsRequest { - /** - *

          The ID of the instance.

          - */ - InstanceId: string | undefined; - +export interface ModifyIdentityIdFormatRequest { /** - *

          The state of token usage for your instance metadata requests. If the parameter is not - * specified in the request, the default state is optional.

          - *

          If the state is optional, you can choose to retrieve instance metadata - * with or without a signed token header on your request. If you retrieve the IAM role - * credentials without a token, the version 1.0 role credentials are returned. If you - * retrieve the IAM role credentials using a valid signed token, the version 2.0 role - * credentials are returned.

          - *

          If the state is required, you must send a signed token header with any - * instance metadata retrieval requests. In this state, retrieving the IAM role credential - * always returns the version 2.0 credentials; the version 1.0 credentials are not - * available.

          + *

          The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify + * all to modify the ID format for all IAM users, IAM roles, and the root user of + * the account.

          */ - HttpTokens?: HttpTokensState | string; + PrincipalArn: string | undefined; /** - *

          The desired HTTP PUT response hop limit for instance metadata requests. The larger the - * number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.

          - *

          Possible values: Integers from 1 to 64

          + *

          The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | internet-gateway | network-acl + * | network-acl-association | network-interface | + * network-interface-attachment | prefix-list | + * route-table | route-table-association | + * security-group | subnet | + * subnet-cidr-block-association | vpc | + * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

          + *

          Alternatively, use the all-current option to include all resource types that are + * currently within their opt-in period for longer IDs.

          */ - HttpPutResponseHopLimit?: number; + Resource: string | undefined; /** - *

          Enables or disables the HTTP metadata endpoint on your instances. If - * this parameter is not specified, the existing state is maintained.

          - *

          If you specify a value of disabled, you cannot access your - * instance metadata.

          + *

          Indicates whether the resource should use longer IDs (17-character IDs)

          */ - HttpEndpoint?: InstanceMetadataEndpointState | string; + UseLongIds: boolean | undefined; +} +export namespace ModifyIdentityIdFormatRequest { /** - *

          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.

          + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: ModifyIdentityIdFormatRequest): any => ({ + ...obj, + }); +} +export interface ModifyIdFormatRequest { /** - *

          Enables or disables the IPv6 endpoint for the instance metadata service. This setting - * applies only if you have enabled the HTTP metadata endpoint.

          + *

          The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | internet-gateway | network-acl + * | network-acl-association | network-interface | + * network-interface-attachment | prefix-list | + * route-table | route-table-association | + * security-group | subnet | + * subnet-cidr-block-association | vpc | + * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

          + *

          Alternatively, use the all-current option to include all resource types that are + * currently within their opt-in period for longer IDs.

          */ - HttpProtocolIpv6?: InstanceMetadataProtocolState | string; + Resource: string | undefined; /** - *

          Set to enabled to allow access to instance tags from the instance - * metadata. Set to disabled to turn off access to instance tags from the - * instance metadata. For more information, see Work with - * instance tags using the instance metadata.

          - *

          Default: disabled - *

          + *

          Indicate whether the resource should use longer IDs (17-character IDs).

          */ - InstanceMetadataTags?: InstanceMetadataTagsState | string; + UseLongIds: boolean | undefined; } -export namespace ModifyInstanceMetadataOptionsRequest { +export namespace ModifyIdFormatRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIdFormatRequest): any => ({ ...obj, }); } -export interface ModifyInstanceMetadataOptionsResult { +/** + *

          Describes a launch permission modification.

          + */ +export interface LaunchPermissionModifications { /** - *

          The ID of the instance.

          + *

          The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

          */ - InstanceId?: string; + Add?: LaunchPermission[]; /** - *

          The metadata options for the instance.

          + *

          The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

          */ - InstanceMetadataOptions?: InstanceMetadataOptionsResponse; + Remove?: LaunchPermission[]; } -export namespace ModifyInstanceMetadataOptionsResult { +export namespace LaunchPermissionModifications { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsResult): any => ({ + export const filterSensitiveLog = (obj: LaunchPermissionModifications): any => ({ ...obj, }); } -export type HostTenancy = "dedicated" | "host"; +/** + *

          Contains the parameters for ModifyImageAttribute.

          + */ +export interface ModifyImageAttributeRequest { + /** + *

          The name of the attribute to modify.

          + *

          Valid values: description | launchPermission + *

          + */ + Attribute?: string; -export interface ModifyInstancePlacementRequest { /** - *

          The affinity setting for the instance.

          + *

          A new description for the AMI.

          */ - Affinity?: Affinity | string; + Description?: AttributeValue; /** - *

          The name of the placement group in which to place the instance. For spread placement - * groups, the instance must have a tenancy of default. For cluster and - * partition placement groups, the instance must have a tenancy of default or - * dedicated.

          - *

          To remove an instance from a placement group, specify an empty string - * ("").

          + *

          The ID of the AMI.

          */ - GroupName?: string; + ImageId: string | undefined; /** - *

          The ID of the Dedicated Host with which to associate the instance.

          + *

          A new launch permission for the AMI.

          */ - HostId?: string; + LaunchPermission?: LaunchPermissionModifications; /** - *

          The ID of the instance that you are modifying.

          + *

          The operation type. + * This parameter can be used only when the Attribute parameter is launchPermission.

          */ - InstanceId: string | undefined; + OperationType?: OperationType | string; /** - *

          The tenancy for the instance.

          - * - * - *

          For T3 instances, you can't change the tenancy from dedicated - * to host, or from host to dedicated. - * Attempting to make one of these unsupported tenancy changes results in the - * InvalidTenancy error code.

          - *
          + *

          Not supported.

          */ - Tenancy?: HostTenancy | string; + ProductCodes?: string[]; /** - *

          The number of the partition in which to place the instance. Valid only if the - * placement group strategy is set to partition.

          + *

          The user groups. + * This parameter can be used only when the Attribute parameter is launchPermission.

          */ - PartitionNumber?: number; + UserGroups?: string[]; /** - *

          The ARN of the host resource group in which to place the instance.

          + *

          The Amazon Web Services account IDs. + * This parameter can be used only when the Attribute parameter is launchPermission.

          */ - HostResourceGroupArn?: string; -} + UserIds?: string[]; -export namespace ModifyInstancePlacementRequest { /** - * @internal + *

          The value of the attribute being modified. + * This parameter can be used only when the Attribute parameter is description.

          */ - export const filterSensitiveLog = (obj: ModifyInstancePlacementRequest): any => ({ - ...obj, - }); -} + Value?: string; -export interface ModifyInstancePlacementResult { /** - *

          Is true if the request succeeds, and an error otherwise.

          + *

          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.

          */ - Return?: boolean; + DryRun?: boolean; + + /** + *

          The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

          + */ + OrganizationArns?: string[]; + + /** + *

          The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

          + */ + OrganizationalUnitArns?: string[]; } -export namespace ModifyInstancePlacementResult { +export namespace ModifyImageAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstancePlacementResult): any => ({ + export const filterSensitiveLog = (obj: ModifyImageAttributeRequest): any => ({ ...obj, }); } /** - *

          Remove an operating Region from an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only - * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

          - *

          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide - *

          + *

          Describes information used to set up an EBS volume specified in a block device + * mapping.

          */ -export interface RemoveIpamOperatingRegion { +export interface EbsInstanceBlockDeviceSpecification { /** - *

          The name of the operating Region you want to remove.

          + *

          Indicates whether the volume is deleted on instance termination.

          */ - RegionName?: string; + DeleteOnTermination?: boolean; + + /** + *

          The ID of the EBS volume.

          + */ + VolumeId?: string; } -export namespace RemoveIpamOperatingRegion { +export namespace EbsInstanceBlockDeviceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: RemoveIpamOperatingRegion): any => ({ + export const filterSensitiveLog = (obj: EbsInstanceBlockDeviceSpecification): any => ({ ...obj, }); } -export interface ModifyIpamRequest { - /** - *

          A check for 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; - +/** + *

          Describes a block device mapping entry.

          + */ +export interface InstanceBlockDeviceMappingSpecification { /** - *

          The ID of the IPAM you want to modify.

          + *

          The device name (for example, /dev/sdh or xvdh).

          */ - IpamId: string | undefined; + DeviceName?: string; /** - *

          The description of the IPAM you want to modify.

          + *

          Parameters used to automatically set up EBS volumes when the instance is + * launched.

          */ - Description?: string; + Ebs?: EbsInstanceBlockDeviceSpecification; /** - *

          Choose the operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only - * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

          - *

          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

          + *

          suppress the specified device included in the block device mapping.

          */ - AddOperatingRegions?: AddIpamOperatingRegion[]; + NoDevice?: string; /** - *

          The operating Regions to remove.

          + *

          The virtual device name.

          */ - RemoveOperatingRegions?: RemoveIpamOperatingRegion[]; + VirtualName?: string; } -export namespace ModifyIpamRequest { +export namespace InstanceBlockDeviceMappingSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIpamRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceBlockDeviceMappingSpecification): any => ({ ...obj, }); } -export interface ModifyIpamResult { - /** - *

          The results of the modification.

          - */ - Ipam?: Ipam; +export interface BlobAttributeValue { + Value?: Uint8Array; } -export namespace ModifyIpamResult { +export namespace BlobAttributeValue { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIpamResult): any => ({ + export const filterSensitiveLog = (obj: BlobAttributeValue): any => ({ ...obj, }); } -export interface ModifyIpamPoolRequest { +export interface ModifyInstanceAttributeRequest { /** - *

          A check for whether you have the required permissions for the action without actually making the request + *

          Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

          + */ + SourceDestCheck?: AttributeBooleanValue; + + /** + *

          The name of the attribute.

          + */ + Attribute?: InstanceAttributeName | string; + + /** + *

          Modifies the DeleteOnTermination attribute for volumes that are currently + * attached. The volume must be owned by the caller. If no value is specified for + * DeleteOnTermination, the default is true and the volume is + * deleted when the instance is terminated.

          + *

          To add instance store volumes to an Amazon EBS-backed instance, you must add them when + * you launch the instance. For more information, see Update the block device mapping when launching an instance in the + * Amazon EC2 User Guide.

          + */ + BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; + + /** + *

          If the value is true, you can't terminate the instance using the Amazon + * EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot + * Instances.

          + */ + DisableApiTermination?: AttributeBooleanValue; + + /** + *

          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; /** - *

          The ID of the IPAM pool you want to modify.

          + *

          Specifies whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal EBS I/O performance. This optimization isn't available with all instance + * types. Additional usage charges apply when using an EBS Optimized instance.

          */ - IpamPoolId: string | undefined; + EbsOptimized?: AttributeBooleanValue; /** - *

          The description of the IPAM pool you want to modify.

          + *

          Set to true to enable enhanced networking with ENA for the + * instance.

          + *

          This option is supported only for HVM instances. Specifying this option with a PV + * instance can make it unreachable.

          */ - Description?: string; + EnaSupport?: AttributeBooleanValue; /** - *

          If true, IPAM will continuously look for resources within the CIDR range of this pool - * and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for - * these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import - * a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently - * marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM - * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. - *

          - *

          A locale must be set on the pool for this feature to work.

          + *

          [EC2-VPC] Replaces the security groups of the instance with the specified security groups. + * You must specify at least one security group, even if it's just the default security group for the VPC. You must + * specify the security group ID, not the security group name.

          */ - AutoImport?: boolean; + Groups?: string[]; /** - *

          The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible - * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask - * length must be less than the maximum netmask length.

          + *

          The ID of the instance.

          */ - AllocationMinNetmaskLength?: number; + InstanceId: string | undefined; /** - *

          The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible - * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask - * length must be greater than the minimum netmask length.

          + *

          Specifies whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

          */ - AllocationMaxNetmaskLength?: number; + InstanceInitiatedShutdownBehavior?: AttributeValue; /** - *

          The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

          + *

          Changes the instance type to the specified value. For more information, see Instance + * types in the Amazon EC2 User Guide. If the instance type is not valid, + * the error returned is InvalidInstanceAttributeValue.

          */ - AllocationDefaultNetmaskLength?: number; + InstanceType?: AttributeValue; /** - *

          Clear the default netmask length allocation rule for this pool.

          + *

          Changes the instance's kernel to the specified value. We recommend that you use + * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

          */ - ClearAllocationDefaultNetmaskLength?: boolean; + Kernel?: AttributeValue; /** - *

          Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

          + *

          Changes the instance's RAM disk to the specified value. We recommend that you use + * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

          */ - AddAllocationResourceTags?: RequestIpamResourceTag[]; + Ramdisk?: AttributeValue; /** - *

          Remove tag allocation rules from a pool.

          + *

          Set to simple to enable enhanced networking with the Intel 82599 Virtual + * Function interface for the instance.

          + *

          There is no way to disable enhanced networking with the Intel 82599 Virtual Function + * interface at this time.

          + *

          This option is supported only for HVM instances. Specifying this option with a PV + * instance can make it unreachable.

          */ - RemoveAllocationResourceTags?: RequestIpamResourceTag[]; -} + SriovNetSupport?: AttributeValue; -export namespace ModifyIpamPoolRequest { /** - * @internal + *

          Changes the instance's user data to the specified value. If you are using an Amazon Web Services SDK + * or command line tool, base64-encoding is performed for you, and you can load the text + * from a file. Otherwise, you must provide base64-encoded text.

          */ - export const filterSensitiveLog = (obj: ModifyIpamPoolRequest): any => ({ - ...obj, - }); -} + UserData?: BlobAttributeValue; -export interface ModifyIpamPoolResult { /** - *

          The results of the modification.

          + *

          A new value for the attribute. Use only with the kernel, + * ramdisk, userData, disableApiTermination, or + * instanceInitiatedShutdownBehavior attribute.

          */ - IpamPool?: IpamPool; + Value?: string; } -export namespace ModifyIpamPoolResult { +export namespace ModifyInstanceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIpamPoolResult): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceAttributeRequest): any => ({ ...obj, }); } -export interface ModifyIpamResourceCidrRequest { +/** + *

          Describes an instance's Capacity Reservation targeting option. You can specify only one parameter + * at a time. If you specify CapacityReservationPreference and + * CapacityReservationTarget, the request fails.

          + *

          Use the CapacityReservationPreference parameter to configure the instance + * to run as an On-Demand Instance or to run in any open Capacity Reservation that has + * matching attributes (instance type, platform, Availability Zone). Use the + * CapacityReservationTarget parameter to explicitly target a specific + * Capacity Reservation or a Capacity Reservation group.

          + */ +export interface CapacityReservationSpecification { /** - *

          A check for 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.

          + *

          Indicates the instance's Capacity Reservation preferences. Possible preferences include:

          + *
            + *
          • + *

            + * open - The instance can run in any open Capacity Reservation that has matching attributes + * (instance type, platform, Availability Zone).

            + *
          • + *
          • + *

            + * none - The instance avoids running in a Capacity Reservation even if one is available. The + * instance runs as an On-Demand Instance.

            + *
          • + *
          */ - DryRun?: boolean; + CapacityReservationPreference?: CapacityReservationPreference | string; /** - *

          The ID of the resource you want to modify.

          + *

          Information about the target Capacity Reservation or Capacity Reservation group.

          */ - ResourceId: string | undefined; + CapacityReservationTarget?: CapacityReservationTarget; +} +export namespace CapacityReservationSpecification { /** - *

          The CIDR of the resource you want to modify.

          + * @internal */ - ResourceCidr: string | undefined; + export const filterSensitiveLog = (obj: CapacityReservationSpecification): any => ({ + ...obj, + }); +} +export interface ModifyInstanceCapacityReservationAttributesRequest { /** - *

          The Amazon Web Services Region of the resource you want to modify.

          + *

          The ID of the instance to be modified.

          */ - ResourceRegion: string | undefined; + InstanceId: string | undefined; /** - *

          The ID of the current scope that the resource CIDR is in.

          + *

          Information about the Capacity Reservation targeting option.

          */ - CurrentIpamScopeId: string | undefined; + CapacityReservationSpecification: CapacityReservationSpecification | undefined; /** - *

          The ID of the scope you want to transfer the resource CIDR to.

          + *

          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 ModifyInstanceCapacityReservationAttributesRequest { + /** + * @internal */ - DestinationIpamScopeId?: string; + export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesRequest): any => ({ + ...obj, + }); +} +export interface ModifyInstanceCapacityReservationAttributesResult { /** - *

          Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - Monitored: boolean | undefined; + Return?: boolean; } -export namespace ModifyIpamResourceCidrRequest { +export namespace ModifyInstanceCapacityReservationAttributesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIpamResourceCidrRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesResult): any => ({ ...obj, }); } -export interface ModifyIpamResourceCidrResult { +/** + *

          Describes the credit option for CPU usage of a burstable performance instance.

          + */ +export interface InstanceCreditSpecificationRequest { /** - *

          The CIDR for an IPAM resource.

          + *

          The ID of the instance.

          */ - IpamResourceCidr?: IpamResourceCidr; + InstanceId?: string; + + /** + *

          The credit option for CPU usage of the instance. Valid values are + * standard and unlimited.

          + *

          T3 instances with host tenancy do not support the unlimited + * CPU credit option.

          + */ + CpuCredits?: string; } -export namespace ModifyIpamResourceCidrResult { +export namespace InstanceCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIpamResourceCidrResult): any => ({ + export const filterSensitiveLog = (obj: InstanceCreditSpecificationRequest): any => ({ ...obj, }); } -export interface ModifyIpamScopeRequest { +export interface ModifyInstanceCreditSpecificationRequest { /** - *

          A check for whether you have the required permissions for the action without actually making the request + *

          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; /** - *

          The ID of the scope you want to modify.

          + *

          A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring + * Idempotency.

          */ - IpamScopeId: string | undefined; + ClientToken?: string; /** - *

          The description of the scope you want to modify.

          + *

          Information about the credit option for CPU usage.

          */ - Description?: string; + InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; } -export namespace ModifyIpamScopeRequest { +export namespace ModifyInstanceCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIpamScopeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationRequest): any => ({ ...obj, }); } -export interface ModifyIpamScopeResult { +/** + *

          Describes the burstable performance instance whose credit option for CPU usage was + * successfully modified.

          + */ +export interface SuccessfulInstanceCreditSpecificationItem { /** - *

          The results of the modification.

          + *

          The ID of the instance.

          */ - IpamScope?: IpamScope; + InstanceId?: string; } -export namespace ModifyIpamScopeResult { +export namespace SuccessfulInstanceCreditSpecificationItem { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyIpamScopeResult): any => ({ + export const filterSensitiveLog = (obj: SuccessfulInstanceCreditSpecificationItem): any => ({ ...obj, }); } -export interface ModifyLaunchTemplateRequest { - /** - *

          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; - - /** - *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

          - *

          Constraint: Maximum 128 ASCII characters.

          - */ - ClientToken?: string; - - /** - *

          The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

          - */ - LaunchTemplateId?: string; +export enum UnsuccessfulInstanceCreditSpecificationErrorCode { + INCORRECT_INSTANCE_STATE = "IncorrectInstanceState", + INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED = "InstanceCreditSpecification.NotSupported", + INSTANCE_NOT_FOUND = "InvalidInstanceID.NotFound", + INVALID_INSTANCE_ID = "InvalidInstanceID.Malformed", +} +/** + *

          Information about the error for the burstable performance instance whose credit option + * for CPU usage was not modified.

          + */ +export interface UnsuccessfulInstanceCreditSpecificationItemError { /** - *

          The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

          + *

          The error code.

          */ - LaunchTemplateName?: string; + Code?: UnsuccessfulInstanceCreditSpecificationErrorCode | string; /** - *

          The version number of the launch template to set as the default version.

          + *

          The applicable error message.

          */ - DefaultVersion?: string; + Message?: string; } -export namespace ModifyLaunchTemplateRequest { +export namespace UnsuccessfulInstanceCreditSpecificationItemError { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyLaunchTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItemError): any => ({ ...obj, }); } -export interface ModifyLaunchTemplateResult { +/** + *

          Describes the burstable performance instance whose credit option for CPU usage was not + * modified.

          + */ +export interface UnsuccessfulInstanceCreditSpecificationItem { /** - *

          Information about the launch template.

          + *

          The ID of the instance.

          */ - LaunchTemplate?: LaunchTemplate; + InstanceId?: string; + + /** + *

          The applicable error for the burstable performance instance whose credit option for + * CPU usage was not modified.

          + */ + Error?: UnsuccessfulInstanceCreditSpecificationItemError; } -export namespace ModifyLaunchTemplateResult { +export namespace UnsuccessfulInstanceCreditSpecificationItem { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyLaunchTemplateResult): any => ({ + export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItem): any => ({ ...obj, }); } -/** - *

          An entry for a prefix list.

          - */ -export interface RemovePrefixListEntry { +export interface ModifyInstanceCreditSpecificationResult { /** - *

          The CIDR block.

          + *

          Information about the instances whose credit option for CPU usage was successfully + * modified.

          */ - Cidr: string | undefined; + SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[]; + + /** + *

          Information about the instances whose credit option for CPU usage was not + * modified.

          + */ + UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[]; } -export namespace RemovePrefixListEntry { +export namespace ModifyInstanceCreditSpecificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: RemovePrefixListEntry): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationResult): any => ({ ...obj, }); } -export interface ModifyManagedPrefixListRequest { +export interface ModifyInstanceEventStartTimeRequest { /** *

          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. @@ -4800,962 +4551,1007 @@ export interface ModifyManagedPrefixListRequest { DryRun?: boolean; /** - *

          The ID of the prefix list.

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

          The current version of the prefix list.

          - */ - CurrentVersion?: number; - - /** - *

          A name for the prefix list.

          - */ - PrefixListName?: string; - - /** - *

          One or more entries to add to the prefix list.

          + *

          The ID of the instance with the scheduled event.

          */ - AddEntries?: AddPrefixListEntry[]; + InstanceId: string | undefined; /** - *

          One or more entries to remove from the prefix list.

          + *

          The ID of the event whose date and time you are modifying.

          */ - RemoveEntries?: RemovePrefixListEntry[]; + InstanceEventId: string | undefined; /** - *

          The maximum number of entries for the prefix list. You cannot modify the entries - * of a prefix list and modify the size of a prefix list at the same time.

          - *

          If any of the resources that reference the prefix list cannot support the new - * maximum size, the modify operation fails. Check the state message for the IDs of - * the first ten resources that do not support the new maximum size.

          + *

          The new date and time when the event will take place.

          */ - MaxEntries?: number; + NotBefore: Date | undefined; } -export namespace ModifyManagedPrefixListRequest { +export namespace ModifyInstanceEventStartTimeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyManagedPrefixListRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeRequest): any => ({ ...obj, }); } -export interface ModifyManagedPrefixListResult { +export interface ModifyInstanceEventStartTimeResult { /** - *

          Information about the prefix list.

          + *

          Describes a scheduled event for an instance.

          */ - PrefixList?: ManagedPrefixList; + Event?: InstanceStatusEvent; } -export namespace ModifyManagedPrefixListResult { +export namespace ModifyInstanceEventStartTimeResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyManagedPrefixListResult): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeResult): any => ({ ...obj, }); } -/** - *

          Describes an attachment change.

          - */ -export interface NetworkInterfaceAttachmentChanges { - /** - *

          The ID of the network interface attachment.

          - */ - AttachmentId?: string; - - /** - *

          Indicates whether the network interface is deleted when the instance is terminated.

          - */ - DeleteOnTermination?: boolean; -} - -export namespace NetworkInterfaceAttachmentChanges { +export interface ModifyInstanceEventWindowRequest { /** - * @internal + *

          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.

          */ - export const filterSensitiveLog = (obj: NetworkInterfaceAttachmentChanges): any => ({ - ...obj, - }); -} + DryRun?: boolean; -/** - *

          Contains the parameters for ModifyNetworkInterfaceAttribute.

          - */ -export interface ModifyNetworkInterfaceAttributeRequest { /** - *

          Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

          + *

          The name of the event window.

          */ - Attachment?: NetworkInterfaceAttachmentChanges; + Name?: string; /** - *

          A description for the network interface.

          + *

          The ID of the event window.

          */ - Description?: AttributeValue; + InstanceEventWindowId: string | undefined; /** - *

          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.

          + *

          The time ranges of the event window.

          */ - DryRun?: boolean; + TimeRanges?: InstanceEventWindowTimeRangeRequest[]; /** - *

          Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

          + *

          The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

          + *

          Constraints:

          + *
            + *
          • + *

            Only hour and day of the week values are supported.

            + *
          • + *
          • + *

            For day of the week values, you can specify either integers 0 through + * 6, or alternative single values SUN through + * SAT.

            + *
          • + *
          • + *

            The minute, month, and year must be specified by *.

            + *
          • + *
          • + *

            The hour value must be one or a multiple range, for example, 0-4 or + * 0-4,20-23.

            + *
          • + *
          • + *

            Each hour range must be >= 2 hours, for example, 0-2 or + * 20-23.

            + *
          • + *
          • + *

            The event window must be >= 4 hours. The combined total time ranges in the event + * window must be >= 4 hours.

            + *
          • + *
          + *

          For more information about cron expressions, see cron on the Wikipedia + * website.

          */ - Groups?: string[]; + CronExpression?: string; +} +export namespace ModifyInstanceEventWindowRequest { /** - *

          The ID of the network interface.

          + * @internal */ - NetworkInterfaceId: string | undefined; + export const filterSensitiveLog = (obj: ModifyInstanceEventWindowRequest): any => ({ + ...obj, + }); +} +export interface ModifyInstanceEventWindowResult { /** - *

          Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

          + *

          Information about the event window.

          */ - SourceDestCheck?: AttributeBooleanValue; + InstanceEventWindow?: InstanceEventWindow; } -export namespace ModifyNetworkInterfaceAttributeRequest { +export namespace ModifyInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyNetworkInterfaceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceEventWindowResult): any => ({ ...obj, }); } -export interface ModifyPrivateDnsNameOptionsRequest { +export interface ModifyInstanceMetadataOptionsRequest { /** - *

          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.

          + *

          The ID of the instance.

          */ - DryRun?: boolean; + InstanceId: string | undefined; /** - *

          The ID of the instance.

          + *

          The state of token usage for your instance metadata requests. If the parameter is not + * specified in the request, the default state is optional.

          + *

          If the state is optional, you can choose to retrieve instance metadata + * with or without a signed token header on your request. If you retrieve the IAM role + * credentials without a token, the version 1.0 role credentials are returned. If you + * retrieve the IAM role credentials using a valid signed token, the version 2.0 role + * credentials are returned.

          + *

          If the state is required, you must send a signed token header with any + * instance metadata retrieval requests. In this state, retrieving the IAM role credential + * always returns the version 2.0 credentials; the version 1.0 credentials are not + * available.

          */ - InstanceId?: string; + HttpTokens?: HttpTokensState | string; /** - *

          The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be - * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based - * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance - * IPv4 address or the instance ID.

          + *

          The desired HTTP PUT response hop limit for instance metadata requests. The larger the + * number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.

          + *

          Possible values: Integers from 1 to 64

          */ - PrivateDnsHostnameType?: HostnameType | string; + HttpPutResponseHopLimit?: number; /** - *

          Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

          + *

          Enables or disables the HTTP metadata endpoint on your instances. If + * this parameter is not specified, the existing state is maintained.

          + *

          If you specify a value of disabled, you cannot access your + * instance metadata.

          */ - EnableResourceNameDnsARecord?: boolean; + HttpEndpoint?: InstanceMetadataEndpointState | string; /** - *

          Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

          + *

          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.

          */ - EnableResourceNameDnsAAAARecord?: boolean; -} + DryRun?: boolean; -export namespace ModifyPrivateDnsNameOptionsRequest { /** - * @internal + *

          Enables or disables the IPv6 endpoint for the instance metadata service. This setting + * applies only if you have enabled the HTTP metadata endpoint.

          */ - export const filterSensitiveLog = (obj: ModifyPrivateDnsNameOptionsRequest): any => ({ - ...obj, - }); -} + HttpProtocolIpv6?: InstanceMetadataProtocolState | string; -export interface ModifyPrivateDnsNameOptionsResult { /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          Set to enabled to allow access to instance tags from the instance + * metadata. Set to disabled to turn off access to instance tags from the + * instance metadata. For more information, see Work with + * instance tags using the instance metadata.

          + *

          Default: disabled + *

          */ - Return?: boolean; + InstanceMetadataTags?: InstanceMetadataTagsState | string; } -export namespace ModifyPrivateDnsNameOptionsResult { +export namespace ModifyInstanceMetadataOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyPrivateDnsNameOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsRequest): any => ({ ...obj, }); } -/** - *

          Contains the parameters for ModifyReservedInstances.

          - */ -export interface ModifyReservedInstancesRequest { - /** - *

          The IDs of the Reserved Instances to modify.

          - */ - ReservedInstancesIds: string[] | undefined; - +export interface ModifyInstanceMetadataOptionsResult { /** - *

          A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see - * Ensuring Idempotency.

          + *

          The ID of the instance.

          */ - ClientToken?: string; + InstanceId?: string; /** - *

          The configuration settings for the Reserved Instances to modify.

          + *

          The metadata options for the instance.

          */ - TargetConfigurations: ReservedInstancesConfiguration[] | undefined; + InstanceMetadataOptions?: InstanceMetadataOptionsResponse; } -export namespace ModifyReservedInstancesRequest { +export namespace ModifyInstanceMetadataOptionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyReservedInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsResult): any => ({ ...obj, }); } -/** - *

          Contains the output of ModifyReservedInstances.

          - */ -export interface ModifyReservedInstancesResult { - /** - *

          The ID for the modification.

          - */ - ReservedInstancesModificationId?: string; -} +export type HostTenancy = "dedicated" | "host"; -export namespace ModifyReservedInstancesResult { +export interface ModifyInstancePlacementRequest { /** - * @internal + *

          The affinity setting for the instance.

          */ - export const filterSensitiveLog = (obj: ModifyReservedInstancesResult): any => ({ - ...obj, - }); -} + Affinity?: Affinity | string; -/** - *

          Describes a security group rule.

          - *

          You must specify exactly one of the following parameters, based on the rule type:

          - *
            - *
          • - *

            CidrIpv4

            - *
          • - *
          • - *

            CidrIpv6

            - *
          • - *
          • - *

            PrefixListId

            - *
          • - *
          • - *

            ReferencedGroupId

            - *
          • - *
          - *

          When you modify a rule, you cannot change the rule type. For example, if the rule - * uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 - * address range.

          - */ -export interface SecurityGroupRuleRequest { /** - *

          The IP protocol name (tcp, udp, icmp, - * icmpv6) or number (see Protocol Numbers).

          - *

          Use -1 to specify all protocols.

          + *

          The name of the placement group in which to place the instance. For spread placement + * groups, the instance must have a tenancy of default. For cluster and + * partition placement groups, the instance must have a tenancy of default or + * dedicated.

          + *

          To remove an instance from a placement group, specify an empty string + * ("").

          */ - IpProtocol?: string; + GroupName?: string; /** - *

          The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

          + *

          The ID of the Dedicated Host with which to associate the instance.

          */ - FromPort?: number; + HostId?: string; /** - *

          The end of 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 ID of the instance that you are modifying.

          */ - ToPort?: number; + InstanceId: string | undefined; /** - *

          The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

          + *

          The tenancy for the instance.

          + * + * + *

          For T3 instances, you can't change the tenancy from dedicated + * to host, or from host to dedicated. + * Attempting to make one of these unsupported tenancy changes results in the + * InvalidTenancy error code.

          + *
          */ - CidrIpv4?: string; + Tenancy?: HostTenancy | string; /** - *

          The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

          + *

          The number of the partition in which to place the instance. Valid only if the + * placement group strategy is set to partition.

          */ - CidrIpv6?: string; + PartitionNumber?: number; /** - *

          The ID of the prefix list.

          + *

          The ARN of the host resource group in which to place the instance.

          */ - PrefixListId?: string; + HostResourceGroupArn?: string; +} +export namespace ModifyInstancePlacementRequest { /** - *

          The ID of the security group that is referenced in the security group rule.

          + * @internal */ - ReferencedGroupId?: string; + export const filterSensitiveLog = (obj: ModifyInstancePlacementRequest): any => ({ + ...obj, + }); +} +export interface ModifyInstancePlacementResult { /** - *

          The description of the security group rule.

          + *

          Is true if the request succeeds, and an error otherwise.

          */ - Description?: string; + Return?: boolean; } -export namespace SecurityGroupRuleRequest { +export namespace ModifyInstancePlacementResult { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupRuleRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstancePlacementResult): any => ({ ...obj, }); } /** - *

          Describes an update to a security group rule.

          + *

          Remove an operating Region from an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only + * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

          + *

          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide + *

          */ -export interface SecurityGroupRuleUpdate { +export interface RemoveIpamOperatingRegion { /** - *

          The ID of the security group rule.

          + *

          The name of the operating Region you want to remove.

          */ - SecurityGroupRuleId?: string; + RegionName?: string; +} +export namespace RemoveIpamOperatingRegion { /** - *

          Information about the security group rule.

          + * @internal + */ + export const filterSensitiveLog = (obj: RemoveIpamOperatingRegion): any => ({ + ...obj, + }); +} + +export interface ModifyIpamRequest { + /** + *

          A check for 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.

          */ - SecurityGroupRule?: SecurityGroupRuleRequest; -} + DryRun?: boolean; -export namespace SecurityGroupRuleUpdate { /** - * @internal + *

          The ID of the IPAM you want to modify.

          */ - export const filterSensitiveLog = (obj: SecurityGroupRuleUpdate): any => ({ - ...obj, - }); -} + IpamId: string | undefined; -export interface ModifySecurityGroupRulesRequest { /** - *

          The ID of the security group.

          + *

          The description of the IPAM you want to modify.

          */ - GroupId: string | undefined; + Description?: string; /** - *

          Information about the security group properties to update.

          + *

          Choose the operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only + * discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

          + *

          For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

          */ - SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; + AddOperatingRegions?: AddIpamOperatingRegion[]; /** - *

          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.

          + *

          The operating Regions to remove.

          */ - DryRun?: boolean; + RemoveOperatingRegions?: RemoveIpamOperatingRegion[]; } -export namespace ModifySecurityGroupRulesRequest { +export namespace ModifyIpamRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySecurityGroupRulesRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamRequest): any => ({ ...obj, }); } -export interface ModifySecurityGroupRulesResult { +export interface ModifyIpamResult { /** - *

          Returns true if the request succeeds; otherwise, returns an error.

          + *

          The results of the modification.

          */ - Return?: boolean; + Ipam?: Ipam; } -export namespace ModifySecurityGroupRulesResult { +export namespace ModifyIpamResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySecurityGroupRulesResult): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamResult): any => ({ ...obj, }); } -/** - *

          Describes modifications to the list of create volume permissions for a volume.

          - */ -export interface CreateVolumePermissionModifications { +export interface ModifyIpamPoolRequest { /** - *

          Adds the specified Amazon Web Services account ID or group to the list.

          + *

          A check for 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.

          */ - Add?: CreateVolumePermission[]; + DryRun?: boolean; /** - *

          Removes the specified Amazon Web Services account ID or group from the list.

          + *

          The ID of the IPAM pool you want to modify.

          */ - Remove?: CreateVolumePermission[]; -} + IpamPoolId: string | undefined; -export namespace CreateVolumePermissionModifications { /** - * @internal + *

          The description of the IPAM pool you want to modify.

          */ - export const filterSensitiveLog = (obj: CreateVolumePermissionModifications): any => ({ - ...obj, - }); -} + Description?: string; -export interface ModifySnapshotAttributeRequest { /** - *

          The snapshot attribute to modify. Only volume creation permissions can be modified.

          + *

          If true, IPAM will continuously look for resources within the CIDR range of this pool + * and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for + * these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import + * a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently + * marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM + * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. + *

          + *

          A locale must be set on the pool for this feature to work.

          */ - Attribute?: SnapshotAttributeName | string; + AutoImport?: boolean; /** - *

          A JSON representation of the snapshot attribute modification.

          + *

          The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible + * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask + * length must be less than the maximum netmask length.

          */ - CreateVolumePermission?: CreateVolumePermissionModifications; + AllocationMinNetmaskLength?: number; /** - *

          The group to modify for the snapshot.

          + *

          The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible + * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask + * length must be greater than the minimum netmask length.

          */ - GroupNames?: string[]; + AllocationMaxNetmaskLength?: number; /** - *

          The type of operation to perform to the attribute.

          + *

          The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

          */ - OperationType?: OperationType | string; + AllocationDefaultNetmaskLength?: number; /** - *

          The ID of the snapshot.

          + *

          Clear the default netmask length allocation rule for this pool.

          */ - SnapshotId: string | undefined; + ClearAllocationDefaultNetmaskLength?: boolean; /** - *

          The account ID to modify for the snapshot.

          + *

          Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

          */ - UserIds?: string[]; + AddAllocationResourceTags?: RequestIpamResourceTag[]; /** - *

          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.

          + *

          Remove tag allocation rules from a pool.

          */ - DryRun?: boolean; + RemoveAllocationResourceTags?: RequestIpamResourceTag[]; } -export namespace ModifySnapshotAttributeRequest { +export namespace ModifyIpamPoolRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySnapshotAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamPoolRequest): any => ({ ...obj, }); } -export enum TargetStorageTier { - archive = "archive", -} - -export interface ModifySnapshotTierRequest { - /** - *

          The ID of the snapshot.

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

          The name of the storage tier. You must specify archive.

          - */ - StorageTier?: TargetStorageTier | string; - +export interface ModifyIpamPoolResult { /** - *

          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.

          + *

          The results of the modification.

          */ - DryRun?: boolean; + IpamPool?: IpamPool; } -export namespace ModifySnapshotTierRequest { +export namespace ModifyIpamPoolResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySnapshotTierRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamPoolResult): any => ({ ...obj, }); } -export interface ModifySnapshotTierResult { +export interface ModifyIpamResourceCidrRequest { /** - *

          The ID of the snapshot.

          + *

          A check for 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.

          */ - SnapshotId?: string; + DryRun?: boolean; /** - *

          The date and time when the archive process was started.

          + *

          The ID of the resource you want to modify.

          */ - TieringStartTime?: Date; -} + ResourceId: string | undefined; -export namespace ModifySnapshotTierResult { /** - * @internal + *

          The CIDR of the resource you want to modify.

          */ - export const filterSensitiveLog = (obj: ModifySnapshotTierResult): any => ({ - ...obj, - }); -} + ResourceCidr: string | undefined; -/** - *

          Contains the parameters for ModifySpotFleetRequest.

          - */ -export interface ModifySpotFleetRequestRequest { /** - *

          Indicates whether running Spot Instances should be terminated if the target capacity - * of the Spot Fleet request is decreased below the current size of the Spot Fleet.

          + *

          The Amazon Web Services Region of the resource you want to modify.

          */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + ResourceRegion: string | undefined; /** - *

          The launch template and overrides. You can only use this parameter if you specified a - * launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you - * specified LaunchSpecifications in your Spot Fleet request, then omit this - * parameter.

          + *

          The ID of the current scope that the resource CIDR is in.

          */ - LaunchTemplateConfigs?: LaunchTemplateConfig[]; + CurrentIpamScopeId: string | undefined; /** - *

          The ID of the Spot Fleet request.

          + *

          The ID of the scope you want to transfer the resource CIDR to.

          */ - SpotFleetRequestId: string | undefined; + DestinationIpamScopeId?: string; /** - *

          The size of the fleet.

          + *

          Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

          */ - TargetCapacity?: number; + Monitored: boolean | undefined; +} +export namespace ModifyIpamResourceCidrRequest { /** - *

          The number of On-Demand Instances in the fleet.

          + * @internal */ - OnDemandTargetCapacity?: number; + export const filterSensitiveLog = (obj: ModifyIpamResourceCidrRequest): any => ({ + ...obj, + }); +} +export interface ModifyIpamResourceCidrResult { /** - *

          Reserved.

          + *

          The CIDR for an IPAM resource.

          */ - Context?: string; + IpamResourceCidr?: IpamResourceCidr; } -export namespace ModifySpotFleetRequestRequest { +export namespace ModifyIpamResourceCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySpotFleetRequestRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamResourceCidrResult): any => ({ ...obj, }); } -/** - *

          Contains the output of ModifySpotFleetRequest.

          - */ -export interface ModifySpotFleetRequestResponse { +export interface ModifyIpamScopeRequest { /** - *

          Is true if the request succeeds, and an error otherwise.

          + *

          A check for 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.

          */ - Return?: boolean; + DryRun?: boolean; + + /** + *

          The ID of the scope you want to modify.

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

          The description of the scope you want to modify.

          + */ + Description?: string; } -export namespace ModifySpotFleetRequestResponse { +export namespace ModifyIpamScopeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySpotFleetRequestResponse): any => ({ + export const filterSensitiveLog = (obj: ModifyIpamScopeRequest): any => ({ ...obj, }); } -export interface ModifySubnetAttributeRequest { +export interface ModifyIpamScopeResult { /** - *

          Specify true to indicate that network interfaces created in the - * specified subnet should be assigned an IPv6 address. This includes a network interface - * that's created when launching an instance into the subnet (the instance therefore - * receives an IPv6 address).

          - *

          If you enable the IPv6 addressing feature for your subnet, your network interface - * or instance only receives an IPv6 address if it's created using version - * 2016-11-15 or later of the Amazon EC2 API.

          + *

          The results of the modification.

          */ - AssignIpv6AddressOnCreation?: AttributeBooleanValue; + IpamScope?: IpamScope; +} +export namespace ModifyIpamScopeResult { /** - *

          Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a public IPv4 address.

          + * @internal */ - MapPublicIpOnLaunch?: AttributeBooleanValue; + export const filterSensitiveLog = (obj: ModifyIpamScopeResult): any => ({ + ...obj, + }); +} +export interface ModifyLaunchTemplateRequest { /** - *

          The ID of the subnet.

          + *

          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.

          */ - SubnetId: string | undefined; + DryRun?: boolean; /** - *

          Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a customer-owned IPv4 address.

          - *

          When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

          + *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

          + *

          Constraint: Maximum 128 ASCII characters.

          */ - MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; + ClientToken?: string; /** - *

          The customer-owned IPv4 address pool associated with the subnet.

          - *

          You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

          + *

          The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

          */ - CustomerOwnedIpv4Pool?: string; + LaunchTemplateId?: string; /** - *

          Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet - * should return synthetic IPv6 addresses for IPv4-only destinations.

          + *

          The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

          */ - EnableDns64?: AttributeBooleanValue; + LaunchTemplateName?: string; /** - *

          The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an - * instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance - * DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS - * names use the instance IPv4 address or the instance ID.

          + *

          The version number of the launch template to set as the default version.

          */ - PrivateDnsHostnameTypeOnLaunch?: HostnameType | string; + DefaultVersion?: string; +} +export namespace ModifyLaunchTemplateRequest { /** - *

          Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

          + * @internal */ - EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue; + export const filterSensitiveLog = (obj: ModifyLaunchTemplateRequest): any => ({ + ...obj, + }); +} +export interface ModifyLaunchTemplateResult { /** - *

          Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

          + *

          Information about the launch template.

          */ - EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue; + LaunchTemplate?: LaunchTemplate; +} +export namespace ModifyLaunchTemplateResult { /** - *

          - * Indicates the device position for local network interfaces in this subnet. For example, - * 1 indicates local network interfaces in this subnet are the secondary - * network interface (eth1). A local network interface cannot be the primary network - * interface (eth0). - *

          + * @internal */ - EnableLniAtDeviceIndex?: number; + export const filterSensitiveLog = (obj: ModifyLaunchTemplateResult): any => ({ + ...obj, + }); +} +/** + *

          An entry for a prefix list.

          + */ +export interface RemovePrefixListEntry { /** - *

          - * Specify true to indicate that local network interfaces at the current - * position should be disabled. - *

          + *

          The CIDR block.

          */ - DisableLniAtDeviceIndex?: AttributeBooleanValue; + Cidr: string | undefined; } -export namespace ModifySubnetAttributeRequest { +export namespace RemovePrefixListEntry { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySubnetAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: RemovePrefixListEntry): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorFilterNetworkServicesRequest { +export interface ModifyManagedPrefixListRequest { /** - *

          The ID of the Traffic Mirror filter.

          + *

          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.

          */ - TrafficMirrorFilterId: string | undefined; + DryRun?: boolean; /** - *

          The network service, for example Amazon DNS, that you want to mirror.

          + *

          The ID of the prefix list.

          */ - AddNetworkServices?: (TrafficMirrorNetworkService | string)[]; + PrefixListId: string | undefined; /** - *

          The network service, for example Amazon DNS, that you no longer want to mirror.

          + *

          The current version of the prefix list.

          */ - RemoveNetworkServices?: (TrafficMirrorNetworkService | string)[]; + CurrentVersion?: number; /** - *

          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.

          + *

          A name for the prefix list.

          */ - DryRun?: boolean; -} + PrefixListName?: string; -export namespace ModifyTrafficMirrorFilterNetworkServicesRequest { /** - * @internal + *

          One or more entries to add to the prefix list.

          */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesRequest): any => ({ - ...obj, - }); -} + AddEntries?: AddPrefixListEntry[]; -export interface ModifyTrafficMirrorFilterNetworkServicesResult { /** - *

          The Traffic Mirror filter that the network service is associated with.

          + *

          One or more entries to remove from the prefix list.

          */ - TrafficMirrorFilter?: TrafficMirrorFilter; + RemoveEntries?: RemovePrefixListEntry[]; + + /** + *

          The maximum number of entries for the prefix list. You cannot modify the entries + * of a prefix list and modify the size of a prefix list at the same time.

          + *

          If any of the resources that reference the prefix list cannot support the new + * maximum size, the modify operation fails. Check the state message for the IDs of + * the first ten resources that do not support the new maximum size.

          + */ + MaxEntries?: number; } -export namespace ModifyTrafficMirrorFilterNetworkServicesResult { +export namespace ModifyManagedPrefixListRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesResult): any => ({ + export const filterSensitiveLog = (obj: ModifyManagedPrefixListRequest): any => ({ ...obj, }); } -export type TrafficMirrorFilterRuleField = "description" | "destination-port-range" | "protocol" | "source-port-range"; - -export interface ModifyTrafficMirrorFilterRuleRequest { - /** - *

          The ID of the Traffic Mirror rule.

          - */ - TrafficMirrorFilterRuleId: string | undefined; - +export interface ModifyManagedPrefixListResult { /** - *

          The type of traffic to assign to the rule.

          + *

          Information about the prefix list.

          */ - TrafficDirection?: TrafficDirection | string; + PrefixList?: ManagedPrefixList; +} +export namespace ModifyManagedPrefixListResult { /** - *

          The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given - * direction. The rules are processed in ascending order by rule number.

          + * @internal */ - RuleNumber?: number; + export const filterSensitiveLog = (obj: ModifyManagedPrefixListResult): any => ({ + ...obj, + }); +} +/** + *

          Describes an attachment change.

          + */ +export interface NetworkInterfaceAttachmentChanges { /** - *

          The action to assign to the rule.

          + *

          The ID of the network interface attachment.

          */ - RuleAction?: TrafficMirrorRuleAction | string; + AttachmentId?: string; /** - *

          The destination ports that are associated with the Traffic Mirror rule.

          + *

          Indicates whether the network interface is deleted when the instance is terminated.

          */ - DestinationPortRange?: TrafficMirrorPortRangeRequest; + DeleteOnTermination?: boolean; +} +export namespace NetworkInterfaceAttachmentChanges { /** - *

          The port range to assign to the Traffic Mirror rule.

          + * @internal */ - SourcePortRange?: TrafficMirrorPortRangeRequest; + export const filterSensitiveLog = (obj: NetworkInterfaceAttachmentChanges): any => ({ + ...obj, + }); +} +/** + *

          Contains the parameters for ModifyNetworkInterfaceAttribute.

          + */ +export interface ModifyNetworkInterfaceAttributeRequest { /** - *

          The protocol, for example TCP, to assign to the Traffic Mirror rule.

          + *

          Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

          */ - Protocol?: number; + Attachment?: NetworkInterfaceAttachmentChanges; /** - *

          The destination CIDR block to assign to the Traffic Mirror rule.

          + *

          A description for the network interface.

          */ - DestinationCidrBlock?: string; + Description?: AttributeValue; /** - *

          The source CIDR block to assign to the Traffic Mirror rule.

          + *

          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.

          */ - SourceCidrBlock?: string; + DryRun?: boolean; /** - *

          The description to assign to the Traffic Mirror rule.

          + *

          Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

          */ - Description?: string; + Groups?: string[]; /** - *

          The properties that you want to remove from the Traffic Mirror filter rule.

          - *

          When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

          + *

          The ID of the network interface.

          */ - RemoveFields?: (TrafficMirrorFilterRuleField | string)[]; + NetworkInterfaceId: string | undefined; /** - *

          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.

          + *

          Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

          */ - DryRun?: boolean; + SourceDestCheck?: AttributeBooleanValue; } -export namespace ModifyTrafficMirrorFilterRuleRequest { +export namespace ModifyNetworkInterfaceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyNetworkInterfaceAttributeRequest): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorFilterRuleResult { +export interface ModifyPrivateDnsNameOptionsRequest { /** - *

          Modifies a Traffic Mirror rule.

          + *

          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.

          */ - TrafficMirrorFilterRule?: TrafficMirrorFilterRule; -} + DryRun?: boolean; -export namespace ModifyTrafficMirrorFilterRuleResult { /** - * @internal + *

          The ID of the instance.

          */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleResult): any => ({ - ...obj, - }); -} - -export type TrafficMirrorSessionField = "description" | "packet-length" | "virtual-network-id"; + InstanceId?: string; -export interface ModifyTrafficMirrorSessionRequest { /** - *

          The ID of the Traffic Mirror session.

          + *

          The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be + * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based + * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance + * IPv4 address or the instance ID.

          */ - TrafficMirrorSessionId: string | undefined; + PrivateDnsHostnameType?: HostnameType | string; /** - *

          The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

          + *

          Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

          */ - TrafficMirrorTargetId?: string; + EnableResourceNameDnsARecord?: boolean; /** - *

          The ID of the Traffic Mirror filter.

          + *

          Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

          */ - TrafficMirrorFilterId?: string; + EnableResourceNameDnsAAAARecord?: boolean; +} +export namespace ModifyPrivateDnsNameOptionsRequest { /** - *

          The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

          + * @internal */ - PacketLength?: number; + export const filterSensitiveLog = (obj: ModifyPrivateDnsNameOptionsRequest): any => ({ + ...obj, + }); +} - /** - *

          The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

          - *

          Valid values are 1-32766.

          +export interface ModifyPrivateDnsNameOptionsResult { + /** + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - SessionNumber?: number; + Return?: boolean; +} +export namespace ModifyPrivateDnsNameOptionsResult { /** - *

          The virtual network ID of the Traffic Mirror session.

          + * @internal */ - VirtualNetworkId?: number; + export const filterSensitiveLog = (obj: ModifyPrivateDnsNameOptionsResult): any => ({ + ...obj, + }); +} +/** + *

          Contains the parameters for ModifyReservedInstances.

          + */ +export interface ModifyReservedInstancesRequest { /** - *

          The description to assign to the Traffic Mirror session.

          + *

          The IDs of the Reserved Instances to modify.

          */ - Description?: string; + ReservedInstancesIds: string[] | undefined; /** - *

          The properties that you want to remove from the Traffic Mirror session.

          - *

          When you remove a property from a Traffic Mirror session, the property is set to the default.

          + *

          A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see + * Ensuring Idempotency.

          */ - RemoveFields?: (TrafficMirrorSessionField | string)[]; + ClientToken?: string; /** - *

          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.

          + *

          The configuration settings for the Reserved Instances to modify.

          */ - DryRun?: boolean; + TargetConfigurations: ReservedInstancesConfiguration[] | undefined; } -export namespace ModifyTrafficMirrorSessionRequest { +export namespace ModifyReservedInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyReservedInstancesRequest): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorSessionResult { +/** + *

          Contains the output of ModifyReservedInstances.

          + */ +export interface ModifyReservedInstancesResult { /** - *

          Information about the Traffic Mirror session.

          + *

          The ID for the modification.

          */ - TrafficMirrorSession?: TrafficMirrorSession; + ReservedInstancesModificationId?: string; } -export namespace ModifyTrafficMirrorSessionResult { +export namespace ModifyReservedInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionResult): any => ({ + export const filterSensitiveLog = (obj: ModifyReservedInstancesResult): any => ({ ...obj, }); } /** - *

          The transit gateway options.

          + *

          Describes a security group rule.

          + *

          You must specify exactly one of the following parameters, based on the rule type:

          + *
            + *
          • + *

            CidrIpv4

            + *
          • + *
          • + *

            CidrIpv6

            + *
          • + *
          • + *

            PrefixListId

            + *
          • + *
          • + *

            ReferencedGroupId

            + *
          • + *
          + *

          When you modify a rule, you cannot change the rule type. For example, if the rule + * uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 + * address range.

          */ -export interface ModifyTransitGatewayOptions { - /** - *

          Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

          - */ - AddTransitGatewayCidrBlocks?: string[]; - +export interface SecurityGroupRuleRequest { /** - *

          Removes CIDR blocks for the transit gateway.

          + *

          The IP protocol name (tcp, udp, icmp, + * icmpv6) or number (see Protocol Numbers).

          + *

          Use -1 to specify all protocols.

          */ - RemoveTransitGatewayCidrBlocks?: string[]; + IpProtocol?: string; /** - *

          Enable or disable Equal Cost Multipath Protocol support.

          + *

          The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

          */ - VpnEcmpSupport?: VpnEcmpSupportValue | string; + FromPort?: number; /** - *

          Enable or disable DNS support.

          + *

          The end of 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.

          */ - DnsSupport?: DnsSupportValue | string; + ToPort?: number; /** - *

          Enable or disable automatic acceptance of attachment requests.

          + *

          The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

          */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + CidrIpv4?: string; /** - *

          Enable or disable automatic association with the default association route table.

          + *

          The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

          */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; + CidrIpv6?: string; /** - *

          The ID of the default association route table.

          + *

          The ID of the prefix list.

          */ - AssociationDefaultRouteTableId?: string; + PrefixListId?: string; /** - *

          Enable or disable automatic propagation of routes to the default propagation route table.

          + *

          The ID of the security group that is referenced in the security group rule.

          */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + ReferencedGroupId?: string; /** - *

          The ID of the default propagation route table.

          + *

          The description of the security group rule.

          */ - PropagationDefaultRouteTableId?: string; + Description?: string; } -export namespace ModifyTransitGatewayOptions { +export namespace SecurityGroupRuleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayOptions): any => ({ + export const filterSensitiveLog = (obj: SecurityGroupRuleRequest): any => ({ ...obj, }); } -export interface ModifyTransitGatewayRequest { +/** + *

          Describes an update to a security group rule.

          + */ +export interface SecurityGroupRuleUpdate { /** - *

          The ID of the transit gateway.

          + *

          The ID of the security group rule.

          */ - TransitGatewayId: string | undefined; + SecurityGroupRuleId?: string; /** - *

          The description for the transit gateway.

          + *

          Information about the security group rule.

          */ - Description?: string; + SecurityGroupRule?: SecurityGroupRuleRequest; +} +export namespace SecurityGroupRuleUpdate { /** - *

          The options to modify.

          + * @internal */ - Options?: ModifyTransitGatewayOptions; + export const filterSensitiveLog = (obj: SecurityGroupRuleUpdate): any => ({ + ...obj, + }); +} + +export interface ModifySecurityGroupRulesRequest { + /** + *

          The ID of the security group.

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

          Information about the security group properties to update.

          + */ + SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -5765,51 +5561,85 @@ export interface ModifyTransitGatewayRequest { DryRun?: boolean; } -export namespace ModifyTransitGatewayRequest { +export namespace ModifySecurityGroupRulesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: ModifySecurityGroupRulesRequest): any => ({ ...obj, }); } -export interface ModifyTransitGatewayResult { +export interface ModifySecurityGroupRulesResult { /** - *

          Describes a transit gateway.

          + *

          Returns true if the request succeeds; otherwise, returns an error.

          */ - TransitGateway?: TransitGateway; + Return?: boolean; } -export namespace ModifyTransitGatewayResult { +export namespace ModifySecurityGroupRulesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayResult): any => ({ + export const filterSensitiveLog = (obj: ModifySecurityGroupRulesResult): any => ({ ...obj, }); } -export interface ModifyTransitGatewayPrefixListReferenceRequest { +/** + *

          Describes modifications to the list of create volume permissions for a volume.

          + */ +export interface CreateVolumePermissionModifications { /** - *

          The ID of the transit gateway route table.

          + *

          Adds the specified Amazon Web Services account ID or group to the list.

          */ - TransitGatewayRouteTableId: string | undefined; + Add?: CreateVolumePermission[]; /** - *

          The ID of the prefix list.

          + *

          Removes the specified Amazon Web Services account ID or group from the list.

          */ - PrefixListId: string | undefined; + Remove?: CreateVolumePermission[]; +} +export namespace CreateVolumePermissionModifications { /** - *

          The ID of the attachment to which traffic is routed.

          + * @internal */ - TransitGatewayAttachmentId?: string; + export const filterSensitiveLog = (obj: CreateVolumePermissionModifications): any => ({ + ...obj, + }); +} +export interface ModifySnapshotAttributeRequest { /** - *

          Indicates whether to drop traffic that matches this route.

          + *

          The snapshot attribute to modify. Only volume creation permissions can be modified.

          */ - Blackhole?: boolean; + Attribute?: SnapshotAttributeName | string; + + /** + *

          A JSON representation of the snapshot attribute modification.

          + */ + CreateVolumePermission?: CreateVolumePermissionModifications; + + /** + *

          The group to modify for the snapshot.

          + */ + GroupNames?: string[]; + + /** + *

          The type of operation to perform to the attribute.

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

          The ID of the snapshot.

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

          The account ID to modify for the snapshot.

          + */ + UserIds?: string[]; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -5819,236 +5649,238 @@ export interface ModifyTransitGatewayPrefixListReferenceRequest { DryRun?: boolean; } -export namespace ModifyTransitGatewayPrefixListReferenceRequest { +export namespace ModifySnapshotAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceRequest): any => ({ + export const filterSensitiveLog = (obj: ModifySnapshotAttributeRequest): any => ({ ...obj, }); } -export interface ModifyTransitGatewayPrefixListReferenceResult { +export enum TargetStorageTier { + archive = "archive", +} + +export interface ModifySnapshotTierRequest { /** - *

          Information about the prefix list reference.

          + *

          The ID of the snapshot.

          */ - TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; + SnapshotId: string | undefined; + + /** + *

          The name of the storage tier. You must specify archive.

          + */ + StorageTier?: TargetStorageTier | string; + + /** + *

          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 ModifyTransitGatewayPrefixListReferenceResult { +export namespace ModifySnapshotTierRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceResult): any => ({ + export const filterSensitiveLog = (obj: ModifySnapshotTierRequest): any => ({ ...obj, }); } -/** - *

          Describes the options for a VPC attachment.

          - */ -export interface ModifyTransitGatewayVpcAttachmentRequestOptions { - /** - *

          Enable or disable DNS support. The default is enable.

          - */ - DnsSupport?: DnsSupportValue | string; - +export interface ModifySnapshotTierResult { /** - *

          Enable or disable IPv6 support. The default is enable.

          + *

          The ID of the snapshot.

          */ - Ipv6Support?: Ipv6SupportValue | string; + SnapshotId?: string; /** - *

          Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

          + *

          The date and time when the archive process was started.

          */ - ApplianceModeSupport?: ApplianceModeSupportValue | string; + TieringStartTime?: Date; } -export namespace ModifyTransitGatewayVpcAttachmentRequestOptions { +export namespace ModifySnapshotTierResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentRequestOptions): any => ({ + export const filterSensitiveLog = (obj: ModifySnapshotTierResult): any => ({ ...obj, }); } -export interface ModifyTransitGatewayVpcAttachmentRequest { +/** + *

          Contains the parameters for ModifySpotFleetRequest.

          + */ +export interface ModifySpotFleetRequestRequest { /** - *

          The ID of the attachment.

          + *

          Indicates whether running Spot Instances should be terminated if the target capacity + * of the Spot Fleet request is decreased below the current size of the Spot Fleet.

          */ - TransitGatewayAttachmentId: string | undefined; + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; /** - *

          The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

          + *

          The launch template and overrides. You can only use this parameter if you specified a + * launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you + * specified LaunchSpecifications in your Spot Fleet request, then omit this + * parameter.

          */ - AddSubnetIds?: string[]; + LaunchTemplateConfigs?: LaunchTemplateConfig[]; /** - *

          The IDs of one or more subnets to remove.

          + *

          The ID of the Spot Fleet request.

          */ - RemoveSubnetIds?: string[]; + SpotFleetRequestId: string | undefined; /** - *

          The new VPC attachment options.

          + *

          The size of the fleet.

          */ - Options?: ModifyTransitGatewayVpcAttachmentRequestOptions; + TargetCapacity?: number; /** - *

          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.

          + *

          The number of On-Demand Instances in the fleet.

          */ - DryRun?: boolean; + OnDemandTargetCapacity?: number; + + /** + *

          Reserved.

          + */ + Context?: string; } -export namespace ModifyTransitGatewayVpcAttachmentRequest { +export namespace ModifySpotFleetRequestRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: ModifySpotFleetRequestRequest): any => ({ ...obj, }); } -export interface ModifyTransitGatewayVpcAttachmentResult { +/** + *

          Contains the output of ModifySpotFleetRequest.

          + */ +export interface ModifySpotFleetRequestResponse { /** - *

          Information about the modified attachment.

          + *

          Is true if the request succeeds, and an error otherwise.

          */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; + Return?: boolean; } -export namespace ModifyTransitGatewayVpcAttachmentResult { +export namespace ModifySpotFleetRequestResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: ModifySpotFleetRequestResponse): any => ({ ...obj, }); } -export interface ModifyVolumeRequest { +export interface ModifySubnetAttributeRequest { /** - *

          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.

          + *

          Specify true to indicate that network interfaces created in the + * specified subnet should be assigned an IPv6 address. This includes a network interface + * that's created when launching an instance into the subnet (the instance therefore + * receives an IPv6 address).

          + *

          If you enable the IPv6 addressing feature for your subnet, your network interface + * or instance only receives an IPv6 address if it's created using version + * 2016-11-15 or later of the Amazon EC2 API.

          */ - DryRun?: boolean; + AssignIpv6AddressOnCreation?: AttributeBooleanValue; /** - *

          The ID of the volume.

          + *

          Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a public IPv4 address.

          */ - VolumeId: string | undefined; + MapPublicIpOnLaunch?: AttributeBooleanValue; /** - *

          The target size of the volume, in GiB. The target volume size must be greater than or - * equal to the existing size of the volume.

          - *

          The following are the supported volumes sizes for each volume type:

          - *
            - *
          • - *

            - * gp2 and gp3: 1-16,384

            - *
          • - *
          • - *

            - * io1 and io2: 4-16,384

            - *
          • - *
          • - *

            - * st1 and sc1: 125-16,384

            - *
          • - *
          • - *

            - * standard: 1-1,024

            - *
          • - *
          - *

          Default: The existing size is retained.

          + *

          The ID of the subnet.

          */ - Size?: number; + SubnetId: string | undefined; /** - *

          The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

          - *

          Default: The existing type is retained.

          + *

          Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a customer-owned IPv4 address.

          + *

          When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

          */ - VolumeType?: VolumeType | string; + MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; /** - *

          The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

          - *

          The following are the supported values for each volume type:

          - *
            - *
          • - *

            - * gp3: 3,000-16,000 IOPS

            - *
          • - *
          • - *

            - * io1: 100-64,000 IOPS

            - *
          • - *
          • - *

            - * io2: 100-64,000 IOPS

            - *
          • - *
          - *

          Default: The existing value is retained if you keep the same volume type. If you change - * the volume type to io1, io2, or gp3, the default is 3,000.

          + *

          The customer-owned IPv4 address pool associated with the subnet.

          + *

          You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

          */ - Iops?: number; + CustomerOwnedIpv4Pool?: string; /** - *

          The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. - * The maximum value is 1,000.

          - *

          Default: The existing value is retained if the source and target volume type is gp3. - * Otherwise, the default value is 125.

          - *

          Valid Range: Minimum value of 125. Maximum value of 1000.

          + *

          Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet + * should return synthetic IPv6 addresses for IPv4-only destinations.

          */ - Throughput?: number; + EnableDns64?: AttributeBooleanValue; /** - *

          Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the - * volume to up to 16 - * Nitro-based instances in the same Availability Zone. This parameter is - * supported with io1 and io2 volumes only. For more information, see - * - * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

          + *

          The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an + * instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance + * DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS + * names use the instance IPv4 address or the instance ID.

          */ - MultiAttachEnabled?: boolean; -} + PrivateDnsHostnameTypeOnLaunch?: HostnameType | string; -export namespace ModifyVolumeRequest { /** - * @internal + *

          Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

          */ - export const filterSensitiveLog = (obj: ModifyVolumeRequest): any => ({ - ...obj, - }); -} + EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue; -export interface ModifyVolumeResult { /** - *

          Information about the volume modification.

          + *

          Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

          */ - VolumeModification?: VolumeModification; + EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue; + + /** + *

          + * Indicates the device position for local network interfaces in this subnet. For example, + * 1 indicates local network interfaces in this subnet are the secondary + * network interface (eth1). A local network interface cannot be the primary network + * interface (eth0). + *

          + */ + EnableLniAtDeviceIndex?: number; + + /** + *

          + * Specify true to indicate that local network interfaces at the current + * position should be disabled. + *

          + */ + DisableLniAtDeviceIndex?: AttributeBooleanValue; } -export namespace ModifyVolumeResult { +export namespace ModifySubnetAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVolumeResult): any => ({ + export const filterSensitiveLog = (obj: ModifySubnetAttributeRequest): any => ({ ...obj, }); } -export interface ModifyVolumeAttributeRequest { +export interface ModifyTrafficMirrorFilterNetworkServicesRequest { /** - *

          Indicates whether the volume should be auto-enabled for I/O operations.

          + *

          The ID of the Traffic Mirror filter.

          */ - AutoEnableIO?: AttributeBooleanValue; + TrafficMirrorFilterId: string | undefined; /** - *

          The ID of the volume.

          + *

          The network service, for example Amazon DNS, that you want to mirror.

          */ - VolumeId: string | undefined; + AddNetworkServices?: (TrafficMirrorNetworkService | string)[]; + + /** + *

          The network service, for example Amazon DNS, that you no longer want to mirror.

          + */ + RemoveNetworkServices?: (TrafficMirrorNetworkService | string)[]; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -6058,399 +5890,413 @@ export interface ModifyVolumeAttributeRequest { DryRun?: boolean; } -export namespace ModifyVolumeAttributeRequest { +export namespace ModifyTrafficMirrorFilterNetworkServicesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVolumeAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesRequest): any => ({ ...obj, }); } -export interface ModifyVpcAttributeRequest { - /** - *

          Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

          - *

          You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

          - */ - EnableDnsHostnames?: AttributeBooleanValue; - - /** - *

          Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to - * the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP - * address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon - * provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is - * not enabled.

          - *

          You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

          - */ - EnableDnsSupport?: AttributeBooleanValue; - +export interface ModifyTrafficMirrorFilterNetworkServicesResult { /** - *

          The ID of the VPC.

          + *

          The Traffic Mirror filter that the network service is associated with.

          */ - VpcId: string | undefined; + TrafficMirrorFilter?: TrafficMirrorFilter; } -export namespace ModifyVpcAttributeRequest { +export namespace ModifyTrafficMirrorFilterNetworkServicesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesResult): any => ({ ...obj, }); } -/** - *

          Contains the parameters for ModifyVpcEndpoint.

          - */ -export interface ModifyVpcEndpointRequest { +export type TrafficMirrorFilterRuleField = "description" | "destination-port-range" | "protocol" | "source-port-range"; + +export interface ModifyTrafficMirrorFilterRuleRequest { /** - *

          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.

          + *

          The ID of the Traffic Mirror rule.

          */ - DryRun?: boolean; + TrafficMirrorFilterRuleId: string | undefined; + + /** + *

          The type of traffic to assign to the rule.

          + */ + TrafficDirection?: TrafficDirection | string; /** - *

          The ID of the endpoint.

          + *

          The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given + * direction. The rules are processed in ascending order by rule number.

          */ - VpcEndpointId: string | undefined; + RuleNumber?: number; /** - *

          (Gateway endpoint) Specify true to reset the policy document to the - * default policy. The default policy allows full access to the service.

          + *

          The action to assign to the rule.

          */ - ResetPolicy?: boolean; + RuleAction?: TrafficMirrorRuleAction | string; /** - *

          (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must - * be in valid JSON format.

          + *

          The destination ports that are associated with the Traffic Mirror rule.

          */ - PolicyDocument?: string; + DestinationPortRange?: TrafficMirrorPortRangeRequest; /** - *

          (Gateway endpoint) One or more route tables IDs to associate with the endpoint.

          + *

          The port range to assign to the Traffic Mirror rule.

          */ - AddRouteTableIds?: string[]; + SourcePortRange?: TrafficMirrorPortRangeRequest; /** - *

          (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

          + *

          The protocol, for example TCP, to assign to the Traffic Mirror rule.

          */ - RemoveRouteTableIds?: string[]; + Protocol?: number; /** - *

          (Interface and Gateway Load Balancer endpoints) One or more subnet IDs in which to serve the endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.

          + *

          The destination CIDR block to assign to the Traffic Mirror rule.

          */ - AddSubnetIds?: string[]; + DestinationCidrBlock?: string; /** - *

          (Interface endpoint) One or more subnets IDs in which to remove the endpoint.

          + *

          The source CIDR block to assign to the Traffic Mirror rule.

          */ - RemoveSubnetIds?: string[]; + SourceCidrBlock?: string; /** - *

          (Interface endpoint) One or more security group IDs to associate with the network interface.

          + *

          The description to assign to the Traffic Mirror rule.

          */ - AddSecurityGroupIds?: string[]; + Description?: string; /** - *

          (Interface endpoint) One or more security group IDs to disassociate from the network interface.

          + *

          The properties that you want to remove from the Traffic Mirror filter rule.

          + *

          When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

          */ - RemoveSecurityGroupIds?: string[]; + RemoveFields?: (TrafficMirrorFilterRuleField | string)[]; /** - *

          (Interface endpoint) Indicates whether a private hosted zone is associated with the - * VPC.

          + *

          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.

          */ - PrivateDnsEnabled?: boolean; + DryRun?: boolean; } -export namespace ModifyVpcEndpointRequest { +export namespace ModifyTrafficMirrorFilterRuleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleRequest): any => ({ ...obj, }); } -export interface ModifyVpcEndpointResult { +export interface ModifyTrafficMirrorFilterRuleResult { /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          Modifies a Traffic Mirror rule.

          */ - Return?: boolean; + TrafficMirrorFilterRule?: TrafficMirrorFilterRule; } -export namespace ModifyVpcEndpointResult { +export namespace ModifyTrafficMirrorFilterRuleResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointResult): any => ({ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterRuleResult): any => ({ ...obj, }); } -export interface ModifyVpcEndpointConnectionNotificationRequest { +export type TrafficMirrorSessionField = "description" | "packet-length" | "virtual-network-id"; + +export interface ModifyTrafficMirrorSessionRequest { /** - *

          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.

          + *

          The ID of the Traffic Mirror session.

          */ - DryRun?: boolean; + TrafficMirrorSessionId: string | undefined; /** - *

          The ID of the notification.

          + *

          The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

          */ - ConnectionNotificationId: string | undefined; + TrafficMirrorTargetId?: string; /** - *

          The ARN for the SNS topic for the notification.

          + *

          The ID of the Traffic Mirror filter.

          */ - ConnectionNotificationArn?: string; + TrafficMirrorFilterId?: string; /** - *

          One or more events for the endpoint. Valid values are Accept, - * Connect, Delete, and Reject.

          + *

          The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

          */ - ConnectionEvents?: string[]; + PacketLength?: number; + + /** + *

          The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

          + *

          Valid values are 1-32766.

          + */ + SessionNumber?: number; + + /** + *

          The virtual network ID of the Traffic Mirror session.

          + */ + VirtualNetworkId?: number; + + /** + *

          The description to assign to the Traffic Mirror session.

          + */ + Description?: string; + + /** + *

          The properties that you want to remove from the Traffic Mirror session.

          + *

          When you remove a property from a Traffic Mirror session, the property is set to the default.

          + */ + RemoveFields?: (TrafficMirrorSessionField | string)[]; + + /** + *

          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 ModifyVpcEndpointConnectionNotificationRequest { +export namespace ModifyTrafficMirrorSessionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointConnectionNotificationRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionRequest): any => ({ ...obj, }); } -export interface ModifyVpcEndpointConnectionNotificationResult { +export interface ModifyTrafficMirrorSessionResult { /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          Information about the Traffic Mirror session.

          */ - ReturnValue?: boolean; + TrafficMirrorSession?: TrafficMirrorSession; } -export namespace ModifyVpcEndpointConnectionNotificationResult { +export namespace ModifyTrafficMirrorSessionResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointConnectionNotificationResult): any => ({ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorSessionResult): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServiceConfigurationRequest { +/** + *

          The transit gateway options.

          + */ +export interface ModifyTransitGatewayOptions { /** - *

          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.

          + *

          Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

          */ - DryRun?: boolean; + AddTransitGatewayCidrBlocks?: string[]; /** - *

          The ID of the service.

          + *

          Removes CIDR blocks for the transit gateway.

          */ - ServiceId: string | undefined; + RemoveTransitGatewayCidrBlocks?: string[]; /** - *

          (Interface endpoint configuration) The private DNS name to assign to the endpoint service.

          + *

          Enable or disable Equal Cost Multipath Protocol support.

          */ - PrivateDnsName?: string; + VpnEcmpSupport?: VpnEcmpSupportValue | string; /** - *

          (Interface endpoint configuration) Removes the private DNS name of the endpoint service.

          + *

          Enable or disable DNS support.

          */ - RemovePrivateDnsName?: boolean; + DnsSupport?: DnsSupportValue | string; /** - *

          Indicates whether requests to create an endpoint to your service must be accepted.

          + *

          Enable or disable automatic acceptance of attachment requests.

          */ - AcceptanceRequired?: boolean; + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; /** - *

          The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service - * configuration.

          + *

          Enable or disable automatic association with the default association route table.

          */ - AddNetworkLoadBalancerArns?: string[]; + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; /** - *

          The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service - * configuration.

          + *

          The ID of the default association route table.

          */ - RemoveNetworkLoadBalancerArns?: string[]; + AssociationDefaultRouteTableId?: string; /** - *

          The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service - * configuration.

          + *

          Enable or disable automatic propagation of routes to the default propagation route table.

          */ - AddGatewayLoadBalancerArns?: string[]; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; /** - *

          The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service - * configuration.

          + *

          The ID of the default propagation route table.

          */ - RemoveGatewayLoadBalancerArns?: string[]; + PropagationDefaultRouteTableId?: string; } -export namespace ModifyVpcEndpointServiceConfigurationRequest { +export namespace ModifyTransitGatewayOptions { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServiceConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTransitGatewayOptions): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServiceConfigurationResult { +export interface ModifyTransitGatewayRequest { /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The ID of the transit gateway.

          */ - Return?: boolean; -} + TransitGatewayId: string | undefined; -export namespace ModifyVpcEndpointServiceConfigurationResult { /** - * @internal + *

          The description for the transit gateway.

          */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServiceConfigurationResult): any => ({ - ...obj, - }); -} + Description?: string; + + /** + *

          The options to modify.

          + */ + Options?: ModifyTransitGatewayOptions; -export interface ModifyVpcEndpointServicePayerResponsibilityRequest { /** *

          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; - - /** - *

          The ID of the service.

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

          The entity that is responsible for the endpoint costs. The default is the endpoint owner. - * If you set the payer responsibility to the service owner, you cannot set it back to the - * endpoint owner.

          - */ - PayerResponsibility: PayerResponsibility | string | undefined; } -export namespace ModifyVpcEndpointServicePayerResponsibilityRequest { +export namespace ModifyTransitGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePayerResponsibilityRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTransitGatewayRequest): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServicePayerResponsibilityResult { +export interface ModifyTransitGatewayResult { /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          Describes a transit gateway.

          */ - ReturnValue?: boolean; + TransitGateway?: TransitGateway; } -export namespace ModifyVpcEndpointServicePayerResponsibilityResult { +export namespace ModifyTransitGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePayerResponsibilityResult): any => ({ + export const filterSensitiveLog = (obj: ModifyTransitGatewayResult): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServicePermissionsRequest { +export interface ModifyTransitGatewayPrefixListReferenceRequest { /** - *

          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.

          + *

          The ID of the transit gateway route table.

          */ - DryRun?: boolean; + TransitGatewayRouteTableId: string | undefined; /** - *

          The ID of the service.

          + *

          The ID of the prefix list.

          */ - ServiceId: string | undefined; + PrefixListId: string | undefined; /** - *

          The Amazon Resource Names (ARN) of one or more principals. - * Permissions are granted to the principals in this list. - * To grant permissions to all principals, specify an asterisk (*).

          + *

          The ID of the attachment to which traffic is routed.

          */ - AddAllowedPrincipals?: string[]; + TransitGatewayAttachmentId?: string; /** - *

          The Amazon Resource Names (ARN) of one or more principals. - * Permissions are revoked for principals in this list.

          + *

          Indicates whether to drop traffic that matches this route.

          */ - RemoveAllowedPrincipals?: string[]; + Blackhole?: boolean; + + /** + *

          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 ModifyVpcEndpointServicePermissionsRequest { +export namespace ModifyTransitGatewayPrefixListReferenceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePermissionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceRequest): any => ({ ...obj, }); } -export interface ModifyVpcEndpointServicePermissionsResult { +export interface ModifyTransitGatewayPrefixListReferenceResult { /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          Information about the prefix list reference.

          */ - ReturnValue?: boolean; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; } -export namespace ModifyVpcEndpointServicePermissionsResult { +export namespace ModifyTransitGatewayPrefixListReferenceResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePermissionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyTransitGatewayPrefixListReferenceResult): any => ({ ...obj, }); } /** - *

          The VPC peering connection options.

          + *

          Describes the options for a VPC attachment.

          */ -export interface PeeringConnectionOptionsRequest { +export interface ModifyTransitGatewayVpcAttachmentRequestOptions { /** - *

          If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

          + *

          Enable or disable DNS support. The default is enable.

          */ - AllowDnsResolutionFromRemoteVpc?: boolean; + DnsSupport?: DnsSupportValue | string; /** - *

          If true, enables outbound communication from an EC2-Classic instance that's linked to - * a local VPC using ClassicLink to instances in a peer VPC.

          + *

          Enable or disable IPv6 support. The default is enable.

          */ - AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + Ipv6Support?: Ipv6SupportValue | string; /** - *

          If true, enables outbound communication from instances in a local VPC to an - * EC2-Classic instance that's linked to a peer VPC using ClassicLink.

          + *

          Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

          */ - AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; + ApplianceModeSupport?: ApplianceModeSupportValue | string; } -export namespace PeeringConnectionOptionsRequest { +export namespace ModifyTransitGatewayVpcAttachmentRequestOptions { /** * @internal */ - export const filterSensitiveLog = (obj: PeeringConnectionOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentRequestOptions): any => ({ ...obj, }); } -export interface ModifyVpcPeeringConnectionOptionsRequest { +export interface ModifyTransitGatewayVpcAttachmentRequest { /** - *

          The VPC peering connection options for the accepter VPC.

          + *

          The ID of the attachment.

          */ - AccepterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + TransitGatewayAttachmentId: string | undefined; + + /** + *

          The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

          + */ + AddSubnetIds?: string[]; + + /** + *

          The IDs of one or more subnets to remove.

          + */ + RemoveSubnetIds?: string[]; + + /** + *

          The new VPC attachment options.

          + */ + Options?: ModifyTransitGatewayVpcAttachmentRequestOptions; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -6458,562 +6304,557 @@ export interface ModifyVpcPeeringConnectionOptionsRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; +} +export namespace ModifyTransitGatewayVpcAttachmentRequest { /** - *

          The VPC peering connection options for the requester VPC.

          + * @internal */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentRequest): any => ({ + ...obj, + }); +} +export interface ModifyTransitGatewayVpcAttachmentResult { /** - *

          The ID of the VPC peering connection.

          + *

          Information about the modified attachment.

          */ - VpcPeeringConnectionId: string | undefined; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; } -export namespace ModifyVpcPeeringConnectionOptionsRequest { +export namespace ModifyTransitGatewayVpcAttachmentResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyTransitGatewayVpcAttachmentResult): any => ({ ...obj, }); } -/** - *

          Describes the VPC peering connection options.

          - */ -export interface PeeringConnectionOptions { +export interface ModifyVolumeRequest { /** - *

          If true, the public DNS hostnames of instances in the specified VPC resolve to private - * IP addresses when queried from instances in the peer VPC.

          + *

          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.

          */ - AllowDnsResolutionFromRemoteVpc?: boolean; + DryRun?: boolean; /** - *

          If true, enables outbound communication from an EC2-Classic instance that's linked to - * a local VPC using ClassicLink to instances in a peer VPC.

          + *

          The ID of the volume.

          */ - AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + VolumeId: string | undefined; /** - *

          If true, enables outbound communication from instances in a local VPC to an - * EC2-Classic instance that's linked to a peer VPC using ClassicLink.

          + *

          The target size of the volume, in GiB. The target volume size must be greater than or + * equal to the existing size of the volume.

          + *

          The following are the supported volumes sizes for each volume type:

          + *
            + *
          • + *

            + * gp2 and gp3: 1-16,384

            + *
          • + *
          • + *

            + * io1 and io2: 4-16,384

            + *
          • + *
          • + *

            + * st1 and sc1: 125-16,384

            + *
          • + *
          • + *

            + * standard: 1-1,024

            + *
          • + *
          + *

          Default: The existing size is retained.

          */ - AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; -} + Size?: number; -export namespace PeeringConnectionOptions { /** - * @internal + *

          The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

          + *

          Default: The existing type is retained.

          */ - export const filterSensitiveLog = (obj: PeeringConnectionOptions): any => ({ - ...obj, - }); -} + VolumeType?: VolumeType | string; -export interface ModifyVpcPeeringConnectionOptionsResult { /** - *

          Information about the VPC peering connection options for the accepter VPC.

          + *

          The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

          + *

          The following are the supported values for each volume type:

          + *
            + *
          • + *

            + * gp3: 3,000-16,000 IOPS

            + *
          • + *
          • + *

            + * io1: 100-64,000 IOPS

            + *
          • + *
          • + *

            + * io2: 100-64,000 IOPS

            + *
          • + *
          + *

          Default: The existing value is retained if you keep the same volume type. If you change + * the volume type to io1, io2, or gp3, the default is 3,000.

          */ - AccepterPeeringConnectionOptions?: PeeringConnectionOptions; + Iops?: number; /** - *

          Information about the VPC peering connection options for the requester VPC.

          + *

          The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. + * The maximum value is 1,000.

          + *

          Default: The existing value is retained if the source and target volume type is gp3. + * Otherwise, the default value is 125.

          + *

          Valid Range: Minimum value of 125. Maximum value of 1000.

          */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptions; + Throughput?: number; + + /** + *

          Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the + * volume to up to 16 + * Nitro-based instances in the same Availability Zone. This parameter is + * supported with io1 and io2 volumes only. For more information, see + * + * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

          + */ + MultiAttachEnabled?: boolean; } -export namespace ModifyVpcPeeringConnectionOptionsResult { +export namespace ModifyVolumeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVolumeRequest): any => ({ ...obj, }); } -export type VpcTenancy = "default"; - -export interface ModifyVpcTenancyRequest { +export interface ModifyVolumeResult { /** - *

          The ID of the VPC.

          + *

          Information about the volume modification.

          */ - VpcId: string | undefined; + VolumeModification?: VolumeModification; +} +export namespace ModifyVolumeResult { /** - *

          The instance tenancy attribute for the VPC.

          + * @internal */ - InstanceTenancy: VpcTenancy | string | undefined; + export const filterSensitiveLog = (obj: ModifyVolumeResult): any => ({ + ...obj, + }); +} +export interface ModifyVolumeAttributeRequest { /** - *

          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.

          + *

          Indicates whether the volume should be auto-enabled for I/O operations.

          */ - DryRun?: boolean; -} + AutoEnableIO?: AttributeBooleanValue; -export namespace ModifyVpcTenancyRequest { /** - * @internal + *

          The ID of the volume.

          */ - export const filterSensitiveLog = (obj: ModifyVpcTenancyRequest): any => ({ - ...obj, - }); -} + VolumeId: string | undefined; -export interface ModifyVpcTenancyResult { /** - *

          Returns true if the request succeeds; otherwise, returns an - * error.

          + *

          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.

          */ - ReturnValue?: boolean; + DryRun?: boolean; } -export namespace ModifyVpcTenancyResult { +export namespace ModifyVolumeAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpcTenancyResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVolumeAttributeRequest): any => ({ ...obj, }); } -export interface ModifyVpnConnectionRequest { +export interface ModifyVpcAttributeRequest { /** - *

          The ID of the VPN connection.

          + *

          Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

          + *

          You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

          */ - VpnConnectionId: string | undefined; + EnableDnsHostnames?: AttributeBooleanValue; /** - *

          The ID of the transit gateway.

          + *

          Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to + * the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP + * address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon + * provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is + * not enabled.

          + *

          You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

          */ - TransitGatewayId?: string; + EnableDnsSupport?: AttributeBooleanValue; /** - *

          The ID of the customer gateway at your end of the VPN connection.

          + *

          The ID of the VPC.

          */ - CustomerGatewayId?: string; + VpcId: string | undefined; +} +export namespace ModifyVpcAttributeRequest { /** - *

          The ID of the virtual private gateway at the Amazon Web Services side of the VPN - * connection.

          + * @internal */ - VpnGatewayId?: string; + export const filterSensitiveLog = (obj: ModifyVpcAttributeRequest): any => ({ + ...obj, + }); +} +/** + *

          Contains the parameters for ModifyVpcEndpoint.

          + */ +export interface ModifyVpcEndpointRequest { /** - *

          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.

          + *

          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 ModifyVpnConnectionRequest { /** - * @internal + *

          The ID of the endpoint.

          */ - export const filterSensitiveLog = (obj: ModifyVpnConnectionRequest): any => ({ - ...obj, - }); -} + VpcEndpointId: string | undefined; -export interface ModifyVpnConnectionResult { /** - *

          Describes a VPN connection.

          + *

          (Gateway endpoint) Specify true to reset the policy document to the + * default policy. The default policy allows full access to the service.

          */ - VpnConnection?: VpnConnection; -} + ResetPolicy?: boolean; -export namespace ModifyVpnConnectionResult { /** - * @internal + *

          (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must + * be in valid JSON format.

          */ - export const filterSensitiveLog = (obj: ModifyVpnConnectionResult): any => ({ - ...obj, - }); -} + PolicyDocument?: string; -export interface ModifyVpnConnectionOptionsRequest { /** - *

          The ID of the Site-to-Site VPN connection.

          + *

          (Gateway endpoint) One or more route tables IDs to associate with the endpoint.

          */ - VpnConnectionId: string | undefined; + AddRouteTableIds?: string[]; /** - *

          The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

          - *

          Default: 0.0.0.0/0 - *

          + *

          (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

          */ - LocalIpv4NetworkCidr?: string; + RemoveRouteTableIds?: string[]; /** - *

          The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

          - *

          Default: 0.0.0.0/0 - *

          + *

          (Interface and Gateway Load Balancer endpoints) One or more subnet IDs in which to serve the endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.

          */ - RemoteIpv4NetworkCidr?: string; + AddSubnetIds?: string[]; /** - *

          The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

          - *

          Default: ::/0 - *

          + *

          (Interface endpoint) One or more subnets IDs in which to remove the endpoint.

          */ - LocalIpv6NetworkCidr?: string; + RemoveSubnetIds?: string[]; /** - *

          The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

          - *

          Default: ::/0 - *

          + *

          (Interface endpoint) One or more security group IDs to associate with the network interface.

          */ - RemoteIpv6NetworkCidr?: string; + AddSecurityGroupIds?: string[]; /** - *

          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.

          + *

          (Interface endpoint) One or more security group IDs to disassociate from the network interface.

          */ - DryRun?: boolean; + RemoveSecurityGroupIds?: string[]; + + /** + *

          (Interface endpoint) Indicates whether a private hosted zone is associated with the + * VPC.

          + */ + PrivateDnsEnabled?: boolean; } -export namespace ModifyVpnConnectionOptionsRequest { +export namespace ModifyVpcEndpointRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcEndpointRequest): any => ({ ...obj, }); } -export interface ModifyVpnConnectionOptionsResult { +export interface ModifyVpcEndpointResult { /** - *

          Describes a VPN connection.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - VpnConnection?: VpnConnection; + Return?: boolean; } -export namespace ModifyVpnConnectionOptionsResult { +export namespace ModifyVpcEndpointResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcEndpointResult): any => ({ ...obj, }); } -export interface ModifyVpnTunnelCertificateRequest { +export interface ModifyVpcEndpointConnectionNotificationRequest { /** - *

          The ID of the Amazon Web Services Site-to-Site VPN connection.

          + *

          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.

          */ - VpnConnectionId: string | undefined; + DryRun?: boolean; /** - *

          The external IP address of the VPN tunnel.

          + *

          The ID of the notification.

          */ - VpnTunnelOutsideIpAddress: string | undefined; + ConnectionNotificationId: string | undefined; /** - *

          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.

          + *

          The ARN for the SNS topic for the notification.

          */ - DryRun?: boolean; + ConnectionNotificationArn?: string; + + /** + *

          One or more events for the endpoint. Valid values are Accept, + * Connect, Delete, and Reject.

          + */ + ConnectionEvents?: string[]; } -export namespace ModifyVpnTunnelCertificateRequest { +export namespace ModifyVpcEndpointConnectionNotificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcEndpointConnectionNotificationRequest): any => ({ ...obj, }); } -export interface ModifyVpnTunnelCertificateResult { +export interface ModifyVpcEndpointConnectionNotificationResult { /** - *

          Describes a VPN connection.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - VpnConnection?: VpnConnection; + ReturnValue?: boolean; } -export namespace ModifyVpnTunnelCertificateResult { +export namespace ModifyVpcEndpointConnectionNotificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcEndpointConnectionNotificationResult): any => ({ ...obj, }); } -/** - *

          The Amazon Web Services Site-to-Site VPN tunnel options to modify.

          - */ -export interface ModifyVpnTunnelOptionsSpecification { - /** - *

          The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be - * unique across all VPN connections that use the same virtual private gateway.

          - *

          Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The - * following CIDR blocks are reserved and cannot be used:

          - *
            - *
          • - *

            - * 169.254.0.0/30 - *

            - *
          • - *
          • - *

            - * 169.254.1.0/30 - *

            - *
          • - *
          • - *

            - * 169.254.2.0/30 - *

            - *
          • - *
          • - *

            - * 169.254.3.0/30 - *

            - *
          • - *
          • - *

            - * 169.254.4.0/30 - *

            - *
          • - *
          • - *

            - * 169.254.5.0/30 - *

            - *
          • - *
          • - *

            - * 169.254.169.252/30 - *

            - *
          • - *
          - */ - TunnelInsideCidr?: string; - +export interface ModifyVpcEndpointServiceConfigurationRequest { /** - *

          The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be - * unique across all VPN connections that use the same transit gateway.

          - *

          Constraints: A size /126 CIDR block from the local fd00::/8 range.

          + *

          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.

          */ - TunnelInsideIpv6Cidr?: string; + DryRun?: boolean; /** - *

          The pre-shared key (PSK) to establish initial authentication between the virtual - * private gateway and the customer gateway.

          - *

          Constraints: Allowed characters are alphanumeric characters, periods (.), and - * underscores (_). Must be between 8 and 64 characters in length and cannot start with - * zero (0).

          + *

          The ID of the service.

          */ - PreSharedKey?: string; + ServiceId: string | undefined; /** - *

          The lifetime for phase 1 of the IKE negotiation, in seconds.

          - *

          Constraints: A value between 900 and 28,800.

          - *

          Default: 28800 - *

          + *

          (Interface endpoint configuration) The private DNS name to assign to the endpoint service.

          */ - Phase1LifetimeSeconds?: number; + PrivateDnsName?: string; /** - *

          The lifetime for phase 2 of the IKE negotiation, in seconds.

          - *

          Constraints: A value between 900 and 3,600. The value must be less than the value for - * Phase1LifetimeSeconds.

          - *

          Default: 3600 - *

          + *

          (Interface endpoint configuration) Removes the private DNS name of the endpoint service.

          */ - Phase2LifetimeSeconds?: number; + RemovePrivateDnsName?: boolean; /** - *

          The margin time, in seconds, before the phase 2 lifetime expires, during which the - * Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time - * of the rekey is randomly selected based on the value for - * RekeyFuzzPercentage.

          - *

          Constraints: A value between 60 and half of Phase2LifetimeSeconds.

          - *

          Default: 540 - *

          + *

          Indicates whether requests to create an endpoint to your service must be accepted.

          */ - RekeyMarginTimeSeconds?: number; + AcceptanceRequired?: boolean; /** - *

          The percentage of the rekey window (determined by RekeyMarginTimeSeconds) - * during which the rekey time is randomly selected.

          - *

          Constraints: A value between 0 and 100.

          - *

          Default: 100 - *

          + *

          The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service + * configuration.

          */ - RekeyFuzzPercentage?: number; + AddNetworkLoadBalancerArns?: string[]; /** - *

          The number of packets in an IKE replay window.

          - *

          Constraints: A value between 64 and 2048.

          - *

          Default: 1024 - *

          + *

          The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service + * configuration.

          */ - ReplayWindowSize?: number; + RemoveNetworkLoadBalancerArns?: string[]; /** - *

          The number of seconds after which a DPD timeout occurs.

          - *

          Constraints: A value greater than or equal to 30.

          - *

          Default: 30 - *

          + *

          The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service + * configuration.

          */ - DPDTimeoutSeconds?: number; + AddGatewayLoadBalancerArns?: string[]; /** - *

          The action to take after DPD timeout occurs. Specify restart to restart - * the IKE initiation. Specify clear to end the IKE session.

          - *

          Valid Values: clear | none | restart - *

          - *

          Default: clear - *

          + *

          The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service + * configuration.

          */ - DPDTimeoutAction?: string; + RemoveGatewayLoadBalancerArns?: string[]; +} +export namespace ModifyVpcEndpointServiceConfigurationRequest { /** - *

          One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 - * IKE negotiations.

          - *

          Valid values: AES128 | AES256 | AES128-GCM-16 | - * AES256-GCM-16 - *

          + * @internal */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; + export const filterSensitiveLog = (obj: ModifyVpcEndpointServiceConfigurationRequest): any => ({ + ...obj, + }); +} +export interface ModifyVpcEndpointServiceConfigurationResult { /** - *

          One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 - * IKE negotiations.

          - *

          Valid values: AES128 | AES256 | AES128-GCM-16 | - * AES256-GCM-16 - *

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + Return?: boolean; +} +export namespace ModifyVpcEndpointServiceConfigurationResult { /** - *

          One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE - * negotiations.

          - *

          Valid values: SHA1 | SHA2-256 | SHA2-384 | - * SHA2-512 - *

          + * @internal */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + export const filterSensitiveLog = (obj: ModifyVpcEndpointServiceConfigurationResult): any => ({ + ...obj, + }); +} +export interface ModifyVpcEndpointServicePayerResponsibilityRequest { /** - *

          One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE - * negotiations.

          - *

          Valid values: SHA1 | SHA2-256 | SHA2-384 | - * SHA2-512 - *

          + *

          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.

          */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + DryRun?: boolean; /** - *

          One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for - * phase 1 IKE negotiations.

          - *

          Valid values: 2 | 14 | 15 | 16 | - * 17 | 18 | 19 | 20 | - * 21 | 22 | 23 | 24 - *

          + *

          The ID of the service.

          */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + ServiceId: string | undefined; /** - *

          One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for - * phase 2 IKE negotiations.

          - *

          Valid values: 2 | 5 | 14 | 15 | - * 16 | 17 | 18 | 19 | - * 20 | 21 | 22 | 23 | - * 24 - *

          + *

          The entity that is responsible for the endpoint costs. The default is the endpoint owner. + * If you set the payer responsibility to the service owner, you cannot set it back to the + * endpoint owner.

          */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + PayerResponsibility: PayerResponsibility | string | undefined; +} +export namespace ModifyVpcEndpointServicePayerResponsibilityRequest { /** - *

          The IKE versions that are permitted for the VPN tunnel.

          - *

          Valid values: ikev1 | ikev2 - *

          + * @internal */ - IKEVersions?: IKEVersionsRequestListValue[]; + export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePayerResponsibilityRequest): any => ({ + ...obj, + }); +} +export interface ModifyVpcEndpointServicePayerResponsibilityResult { /** - *

          The action to take when the establishing the tunnel for the VPN connection. By - * default, your customer gateway device must initiate the IKE negotiation and bring up the - * tunnel. Specify start for Amazon Web Services to initiate the IKE - * negotiation.

          - *

          Valid Values: add | start - *

          - *

          Default: add - *

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - StartupAction?: string; + ReturnValue?: boolean; } -export namespace ModifyVpnTunnelOptionsSpecification { +export namespace ModifyVpcEndpointServicePayerResponsibilityResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsSpecification): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePayerResponsibilityResult): any => ({ ...obj, }); } -export interface ModifyVpnTunnelOptionsRequest { +export interface ModifyVpcEndpointServicePermissionsRequest { /** - *

          The ID of the Amazon Web Services Site-to-Site VPN connection.

          + *

          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.

          */ - VpnConnectionId: string | undefined; + DryRun?: boolean; /** - *

          The external IP address of the VPN tunnel.

          + *

          The ID of the service.

          */ - VpnTunnelOutsideIpAddress: string | undefined; + ServiceId: string | undefined; /** - *

          The tunnel options to modify.

          + *

          The Amazon Resource Names (ARN) of one or more principals. + * Permissions are granted to the principals in this list. + * To grant permissions to all principals, specify an asterisk (*).

          */ - TunnelOptions: ModifyVpnTunnelOptionsSpecification | undefined; + AddAllowedPrincipals?: string[]; /** - *

          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.

          + *

          The Amazon Resource Names (ARN) of one or more principals. + * Permissions are revoked for principals in this list.

          */ - DryRun?: boolean; + RemoveAllowedPrincipals?: string[]; } -export namespace ModifyVpnTunnelOptionsRequest { +export namespace ModifyVpcEndpointServicePermissionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePermissionsRequest): any => ({ ...obj, }); } -export interface ModifyVpnTunnelOptionsResult { +export interface ModifyVpcEndpointServicePermissionsResult { /** - *

          Describes a VPN connection.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - VpnConnection?: VpnConnection; + ReturnValue?: boolean; } -export namespace ModifyVpnTunnelOptionsResult { +export namespace ModifyVpcEndpointServicePermissionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcEndpointServicePermissionsResult): any => ({ ...obj, }); } -export interface MonitorInstancesRequest { +/** + *

          The VPC peering connection options.

          + */ +export interface PeeringConnectionOptionsRequest { /** - *

          The IDs of the instances.

          + *

          If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

          */ - InstanceIds: string[] | undefined; + AllowDnsResolutionFromRemoteVpc?: boolean; + + /** + *

          If true, enables outbound communication from an EC2-Classic instance that's linked to + * a local VPC using ClassicLink to instances in a peer VPC.

          + */ + AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + + /** + *

          If true, enables outbound communication from instances in a local VPC to an + * EC2-Classic instance that's linked to a peer VPC using ClassicLink.

          + */ + AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; +} + +export namespace PeeringConnectionOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PeeringConnectionOptionsRequest): any => ({ + ...obj, + }); +} + +export interface ModifyVpcPeeringConnectionOptionsRequest { + /** + *

          The VPC peering connection options for the accepter VPC.

          + */ + AccepterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -7021,585 +6862,621 @@ export interface MonitorInstancesRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; + + /** + *

          The VPC peering connection options for the requester VPC.

          + */ + RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + + /** + *

          The ID of the VPC peering connection.

          + */ + VpcPeeringConnectionId: string | undefined; } -export namespace MonitorInstancesRequest { +export namespace ModifyVpcPeeringConnectionOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: MonitorInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsRequest): any => ({ ...obj, }); } /** - *

          Describes the monitoring of an instance.

          + *

          Describes the VPC peering connection options.

          */ -export interface InstanceMonitoring { +export interface PeeringConnectionOptions { /** - *

          The ID of the instance.

          + *

          If true, the public DNS hostnames of instances in the specified VPC resolve to private + * IP addresses when queried from instances in the peer VPC.

          */ - InstanceId?: string; + AllowDnsResolutionFromRemoteVpc?: boolean; /** - *

          The monitoring for the instance.

          + *

          If true, enables outbound communication from an EC2-Classic instance that's linked to + * a local VPC using ClassicLink to instances in a peer VPC.

          */ - Monitoring?: Monitoring; + AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + + /** + *

          If true, enables outbound communication from instances in a local VPC to an + * EC2-Classic instance that's linked to a peer VPC using ClassicLink.

          + */ + AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; } -export namespace InstanceMonitoring { +export namespace PeeringConnectionOptions { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceMonitoring): any => ({ + export const filterSensitiveLog = (obj: PeeringConnectionOptions): any => ({ ...obj, }); } -export interface MonitorInstancesResult { +export interface ModifyVpcPeeringConnectionOptionsResult { /** - *

          The monitoring information.

          + *

          Information about the VPC peering connection options for the accepter VPC.

          */ - InstanceMonitorings?: InstanceMonitoring[]; + AccepterPeeringConnectionOptions?: PeeringConnectionOptions; + + /** + *

          Information about the VPC peering connection options for the requester VPC.

          + */ + RequesterPeeringConnectionOptions?: PeeringConnectionOptions; } -export namespace MonitorInstancesResult { +export namespace ModifyVpcPeeringConnectionOptionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: MonitorInstancesResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcPeeringConnectionOptionsResult): any => ({ ...obj, }); } -export interface MoveAddressToVpcRequest { +export type VpcTenancy = "default"; + +export interface ModifyVpcTenancyRequest { + /** + *

          The ID of the VPC.

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

          The instance tenancy attribute for the VPC.

          + */ + InstanceTenancy: VpcTenancy | string | undefined; + /** *

          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; - - /** - *

          The Elastic IP address.

          - */ - PublicIp: string | undefined; } -export namespace MoveAddressToVpcRequest { +export namespace ModifyVpcTenancyRequest { /** * @internal */ - export const filterSensitiveLog = (obj: MoveAddressToVpcRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcTenancyRequest): any => ({ ...obj, }); } -export enum Status { - inClassic = "InClassic", - inVpc = "InVpc", - moveInProgress = "MoveInProgress", -} - -export interface MoveAddressToVpcResult { - /** - *

          The allocation ID for the Elastic IP address.

          - */ - AllocationId?: string; - +export interface ModifyVpcTenancyResult { /** - *

          The status of the move of the IP address.

          + *

          Returns true if the request succeeds; otherwise, returns an + * error.

          */ - Status?: Status | string; + ReturnValue?: boolean; } -export namespace MoveAddressToVpcResult { +export namespace ModifyVpcTenancyResult { /** * @internal */ - export const filterSensitiveLog = (obj: MoveAddressToVpcResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVpcTenancyResult): any => ({ ...obj, }); } -export interface MoveByoipCidrToIpamRequest { - /** - *

          A check for 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 interface ModifyVpnConnectionRequest { /** - *

          The BYOIP CIDR.

          + *

          The ID of the VPN connection.

          */ - Cidr: string | undefined; + VpnConnectionId: string | undefined; /** - *

          The IPAM pool ID.

          + *

          The ID of the transit gateway.

          */ - IpamPoolId: string | undefined; + TransitGatewayId?: string; /** - *

          The Amazon Web Services account ID of the owner of the IPAM pool.

          + *

          The ID of the customer gateway at your end of the VPN connection.

          */ - IpamPoolOwner: string | undefined; -} + CustomerGatewayId?: string; -export namespace MoveByoipCidrToIpamRequest { /** - * @internal + *

          The ID of the virtual private gateway at the Amazon Web Services side of the VPN + * connection.

          */ - export const filterSensitiveLog = (obj: MoveByoipCidrToIpamRequest): any => ({ - ...obj, - }); -} + VpnGatewayId?: string; -export interface MoveByoipCidrToIpamResult { /** - *

          Information about an address range that is provisioned for use with your Amazon Web Services resources - * through bring your own IP addresses (BYOIP).

          + *

          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.

          */ - ByoipCidr?: ByoipCidr; + DryRun?: boolean; } -export namespace MoveByoipCidrToIpamResult { +export namespace ModifyVpnConnectionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: MoveByoipCidrToIpamResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnConnectionRequest): any => ({ ...obj, }); } -/** - *

          Provides authorization for Amazon to bring a specific IP address range to a specific - * Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

          - */ -export interface CidrAuthorizationContext { - /** - *

          The plain-text authorization message for the prefix and account.

          - */ - Message: string | undefined; - +export interface ModifyVpnConnectionResult { /** - *

          The signed authorization message for the prefix and account.

          + *

          Describes a VPN connection.

          */ - Signature: string | undefined; + VpnConnection?: VpnConnection; } -export namespace CidrAuthorizationContext { +export namespace ModifyVpnConnectionResult { /** * @internal */ - export const filterSensitiveLog = (obj: CidrAuthorizationContext): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnConnectionResult): any => ({ ...obj, }); } -export interface ProvisionByoipCidrRequest { - /** - *

          The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can - * specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've - * brought to this or another Region.

          - */ - Cidr: string | undefined; - +export interface ModifyVpnConnectionOptionsRequest { /** - *

          A signed document that proves that you are authorized to bring the specified IP address - * range to Amazon using BYOIP.

          + *

          The ID of the Site-to-Site VPN connection.

          */ - CidrAuthorizationContext?: CidrAuthorizationContext; + VpnConnectionId: string | undefined; /** - *

          (IPv6 only) Indicate whether the address range will be publicly advertised to the - * internet.

          - *

          Default: true

          + *

          The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

          + *

          Default: 0.0.0.0/0 + *

          */ - PubliclyAdvertisable?: boolean; + LocalIpv4NetworkCidr?: string; /** - *

          A description for the address range and the address pool.

          + *

          The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

          + *

          Default: 0.0.0.0/0 + *

          */ - Description?: string; + RemoteIpv4NetworkCidr?: string; /** - *

          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.

          + *

          The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

          + *

          Default: ::/0 + *

          */ - DryRun?: boolean; + LocalIpv6NetworkCidr?: string; /** - *

          The tags to apply to the address pool.

          + *

          The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

          + *

          Default: ::/0 + *

          */ - PoolTagSpecifications?: TagSpecification[]; + RemoteIpv6NetworkCidr?: string; /** - *

          Reserved.

          + *

          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.

          */ - MultiRegion?: boolean; + DryRun?: boolean; } -export namespace ProvisionByoipCidrRequest { +export namespace ModifyVpnConnectionOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ProvisionByoipCidrRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsRequest): any => ({ ...obj, }); } -export interface ProvisionByoipCidrResult { +export interface ModifyVpnConnectionOptionsResult { /** - *

          Information about the address range.

          + *

          Describes a VPN connection.

          */ - ByoipCidr?: ByoipCidr; + VpnConnection?: VpnConnection; } -export namespace ProvisionByoipCidrResult { +export namespace ModifyVpnConnectionOptionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ProvisionByoipCidrResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnConnectionOptionsResult): any => ({ ...obj, }); } -/** - *

          A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

          - */ -export interface IpamCidrAuthorizationContext { +export interface ModifyVpnTunnelCertificateRequest { /** - *

          The plain-text authorization message for the prefix and account.

          + *

          The ID of the Amazon Web Services Site-to-Site VPN connection.

          */ - Message?: string; + VpnConnectionId: string | undefined; /** - *

          The signed authorization message for the prefix and account.

          + *

          The external IP address of the VPN tunnel.

          */ - Signature?: string; + VpnTunnelOutsideIpAddress: string | undefined; + + /** + *

          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 IpamCidrAuthorizationContext { +export namespace ModifyVpnTunnelCertificateRequest { /** * @internal */ - export const filterSensitiveLog = (obj: IpamCidrAuthorizationContext): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateRequest): any => ({ ...obj, }); } -export interface ProvisionIpamPoolCidrRequest { - /** - *

          A check for 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; - - /** - *

          The ID of the IPAM pool to which you want to assign a CIDR.

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

          The CIDR you want to assign to the IPAM pool.

          - */ - Cidr?: string; - +export interface ModifyVpnTunnelCertificateResult { /** - *

          A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

          + *

          Describes a VPN connection.

          */ - CidrAuthorizationContext?: IpamCidrAuthorizationContext; + VpnConnection?: VpnConnection; } -export namespace ProvisionIpamPoolCidrRequest { +export namespace ModifyVpnTunnelCertificateResult { /** * @internal */ - export const filterSensitiveLog = (obj: ProvisionIpamPoolCidrRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnTunnelCertificateResult): any => ({ ...obj, }); } -export interface ProvisionIpamPoolCidrResult { +/** + *

          The Amazon Web Services Site-to-Site VPN tunnel options to modify.

          + */ +export interface ModifyVpnTunnelOptionsSpecification { /** - *

          Information about the provisioned CIDR.

          + *

          The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be + * unique across all VPN connections that use the same virtual private gateway.

          + *

          Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The + * following CIDR blocks are reserved and cannot be used:

          + *
            + *
          • + *

            + * 169.254.0.0/30 + *

            + *
          • + *
          • + *

            + * 169.254.1.0/30 + *

            + *
          • + *
          • + *

            + * 169.254.2.0/30 + *

            + *
          • + *
          • + *

            + * 169.254.3.0/30 + *

            + *
          • + *
          • + *

            + * 169.254.4.0/30 + *

            + *
          • + *
          • + *

            + * 169.254.5.0/30 + *

            + *
          • + *
          • + *

            + * 169.254.169.252/30 + *

            + *
          • + *
          */ - IpamPoolCidr?: IpamPoolCidr; -} + TunnelInsideCidr?: string; -export namespace ProvisionIpamPoolCidrResult { /** - * @internal + *

          The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be + * unique across all VPN connections that use the same transit gateway.

          + *

          Constraints: A size /126 CIDR block from the local fd00::/8 range.

          */ - export const filterSensitiveLog = (obj: ProvisionIpamPoolCidrResult): any => ({ - ...obj, - }); -} + TunnelInsideIpv6Cidr?: string; -export interface ProvisionPublicIpv4PoolCidrRequest { /** - *

          A check for 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.

          + *

          The pre-shared key (PSK) to establish initial authentication between the virtual + * private gateway and the customer gateway.

          + *

          Constraints: Allowed characters are alphanumeric characters, periods (.), and + * underscores (_). Must be between 8 and 64 characters in length and cannot start with + * zero (0).

          + */ + PreSharedKey?: string; + + /** + *

          The lifetime for phase 1 of the IKE negotiation, in seconds.

          + *

          Constraints: A value between 900 and 28,800.

          + *

          Default: 28800 + *

          + */ + Phase1LifetimeSeconds?: number; + + /** + *

          The lifetime for phase 2 of the IKE negotiation, in seconds.

          + *

          Constraints: A value between 900 and 3,600. The value must be less than the value for + * Phase1LifetimeSeconds.

          + *

          Default: 3600 + *

          */ - DryRun?: boolean; + Phase2LifetimeSeconds?: number; /** - *

          The ID of the IPAM pool you would like to use to allocate this CIDR.

          + *

          The margin time, in seconds, before the phase 2 lifetime expires, during which the + * Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time + * of the rekey is randomly selected based on the value for + * RekeyFuzzPercentage.

          + *

          Constraints: A value between 60 and half of Phase2LifetimeSeconds.

          + *

          Default: 540 + *

          */ - IpamPoolId: string | undefined; + RekeyMarginTimeSeconds?: number; /** - *

          The ID of the public IPv4 pool you would like to use for this CIDR.

          + *

          The percentage of the rekey window (determined by RekeyMarginTimeSeconds) + * during which the rekey time is randomly selected.

          + *

          Constraints: A value between 0 and 100.

          + *

          Default: 100 + *

          */ - PoolId: string | undefined; + RekeyFuzzPercentage?: number; /** - *

          The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

          + *

          The number of packets in an IKE replay window.

          + *

          Constraints: A value between 64 and 2048.

          + *

          Default: 1024 + *

          */ - NetmaskLength: number | undefined; -} + ReplayWindowSize?: number; -export namespace ProvisionPublicIpv4PoolCidrRequest { /** - * @internal + *

          The number of seconds after which a DPD timeout occurs.

          + *

          Constraints: A value greater than or equal to 30.

          + *

          Default: 30 + *

          */ - export const filterSensitiveLog = (obj: ProvisionPublicIpv4PoolCidrRequest): any => ({ - ...obj, - }); -} + DPDTimeoutSeconds?: number; -export interface ProvisionPublicIpv4PoolCidrResult { /** - *

          The ID of the pool that you want to provision the CIDR to.

          + *

          The action to take after DPD timeout occurs. Specify restart to restart + * the IKE initiation. Specify clear to end the IKE session.

          + *

          Valid Values: clear | none | restart + *

          + *

          Default: clear + *

          */ - PoolId?: string; + DPDTimeoutAction?: string; /** - *

          Describes an address range of an IPv4 address pool.

          + *

          One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 + * IKE negotiations.

          + *

          Valid values: AES128 | AES256 | AES128-GCM-16 | + * AES256-GCM-16 + *

          */ - PoolAddressRange?: PublicIpv4PoolRange; -} + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; -export namespace ProvisionPublicIpv4PoolCidrResult { /** - * @internal + *

          One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 + * IKE negotiations.

          + *

          Valid values: AES128 | AES256 | AES128-GCM-16 | + * AES256-GCM-16 + *

          */ - export const filterSensitiveLog = (obj: ProvisionPublicIpv4PoolCidrResult): any => ({ - ...obj, - }); -} + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; -export interface PurchaseHostReservationRequest { /** - *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

          + *

          One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE + * negotiations.

          + *

          Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

          */ - ClientToken?: string; + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; /** - *

          The currency in which the totalUpfrontPrice, LimitPrice, - * and totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

          + *

          One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE + * negotiations.

          + *

          Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

          */ - CurrencyCode?: CurrencyCodeValues | string; + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; /** - *

          The IDs of the Dedicated Hosts with which the reservation will be associated.

          + *

          One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for + * phase 1 IKE negotiations.

          + *

          Valid values: 2 | 14 | 15 | 16 | + * 17 | 18 | 19 | 20 | + * 21 | 22 | 23 | 24 + *

          */ - HostIdSet: string[] | undefined; + Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; /** - *

          The specified limit is checked against the total upfront cost of the reservation - * (calculated as the offering's upfront cost multiplied by the host count). If the total - * upfront cost is greater than the specified price limit, the request fails. This is used - * to ensure that the purchase does not exceed the expected upfront cost of the purchase. - * At this time, the only supported currency is USD. For example, to indicate - * a limit price of USD 100, specify 100.00.

          + *

          One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for + * phase 2 IKE negotiations.

          + *

          Valid values: 2 | 5 | 14 | 15 | + * 16 | 17 | 18 | 19 | + * 20 | 21 | 22 | 23 | + * 24 + *

          */ - LimitPrice?: string; + Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; /** - *

          The ID of the offering.

          + *

          The IKE versions that are permitted for the VPN tunnel.

          + *

          Valid values: ikev1 | ikev2 + *

          */ - OfferingId: string | undefined; + IKEVersions?: IKEVersionsRequestListValue[]; /** - *

          The tags to apply to the Dedicated Host Reservation during purchase.

          + *

          The action to take when the establishing the tunnel for the VPN connection. By + * default, your customer gateway device must initiate the IKE negotiation and bring up the + * tunnel. Specify start for Amazon Web Services to initiate the IKE + * negotiation.

          + *

          Valid Values: add | start + *

          + *

          Default: add + *

          */ - TagSpecifications?: TagSpecification[]; + StartupAction?: string; } -export namespace PurchaseHostReservationRequest { +export namespace ModifyVpnTunnelOptionsSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseHostReservationRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsSpecification): any => ({ ...obj, }); } -export interface PurchaseHostReservationResult { - /** - *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

          - */ - ClientToken?: string; - +export interface ModifyVpnTunnelOptionsRequest { /** - *

          The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

          + *

          The ID of the Amazon Web Services Site-to-Site VPN connection.

          */ - CurrencyCode?: CurrencyCodeValues | string; + VpnConnectionId: string | undefined; /** - *

          Describes the details of the purchase.

          + *

          The external IP address of the VPN tunnel.

          */ - Purchase?: Purchase[]; + VpnTunnelOutsideIpAddress: string | undefined; /** - *

          The total hourly price of the reservation calculated per hour.

          + *

          The tunnel options to modify.

          */ - TotalHourlyPrice?: string; + TunnelOptions: ModifyVpnTunnelOptionsSpecification | undefined; /** - *

          The total amount charged to your account when you purchase the reservation.

          + *

          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.

          */ - TotalUpfrontPrice?: string; + DryRun?: boolean; } -export namespace PurchaseHostReservationResult { +export namespace ModifyVpnTunnelOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseHostReservationResult): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsRequest): any => ({ ...obj, }); } -/** - *

          Describes the limit price of a Reserved Instance offering.

          - */ -export interface ReservedInstanceLimitPrice { - /** - *

          Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

          - */ - Amount?: number; - +export interface ModifyVpnTunnelOptionsResult { /** - *

          The currency in which the limitPrice amount is specified. - * At this time, the only supported currency is USD.

          + *

          Describes a VPN connection.

          */ - CurrencyCode?: CurrencyCodeValues | string; + VpnConnection?: VpnConnection; } -export namespace ReservedInstanceLimitPrice { +export namespace ModifyVpnTunnelOptionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstanceLimitPrice): any => ({ + export const filterSensitiveLog = (obj: ModifyVpnTunnelOptionsResult): any => ({ ...obj, }); } -/** - *

          Contains the parameters for PurchaseReservedInstancesOffering.

          - */ -export interface PurchaseReservedInstancesOfferingRequest { - /** - *

          The number of Reserved Instances to purchase.

          - */ - InstanceCount: number | undefined; - +export interface MonitorInstancesRequest { /** - *

          The ID of the Reserved Instance offering to purchase.

          + *

          The IDs of the instances.

          */ - ReservedInstancesOfferingId: string | undefined; + InstanceIds: string[] | undefined; /** *

          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.

          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; - - /** - *

          Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

          - */ - LimitPrice?: ReservedInstanceLimitPrice; - - /** - *

          The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

          - */ - PurchaseTime?: Date; } -export namespace PurchaseReservedInstancesOfferingRequest { +export namespace MonitorInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseReservedInstancesOfferingRequest): any => ({ + export const filterSensitiveLog = (obj: MonitorInstancesRequest): any => ({ ...obj, }); } /** - *

          Contains the output of PurchaseReservedInstancesOffering.

          + *

          Describes the monitoring of an instance.

          */ -export interface PurchaseReservedInstancesOfferingResult { +export interface InstanceMonitoring { /** - *

          The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted - * pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing - * pricing tiers in the Amazon Elastic Compute Cloud User Guide.

          + *

          The ID of the instance.

          */ - ReservedInstancesId?: string; + InstanceId?: string; + + /** + *

          The monitoring for the instance.

          + */ + Monitoring?: Monitoring; } -export namespace PurchaseReservedInstancesOfferingResult { +export namespace InstanceMonitoring { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseReservedInstancesOfferingResult): any => ({ + export const filterSensitiveLog = (obj: InstanceMonitoring): any => ({ ...obj, }); } -/** - *

          Describes a request to purchase Scheduled Instances.

          - */ -export interface PurchaseRequest { - /** - *

          The number of instances.

          - */ - InstanceCount: number | undefined; - +export interface MonitorInstancesResult { /** - *

          The purchase token.

          + *

          The monitoring information.

          */ - PurchaseToken: string | undefined; + InstanceMonitorings?: InstanceMonitoring[]; } -export namespace PurchaseRequest { +export namespace MonitorInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseRequest): any => ({ + export const filterSensitiveLog = (obj: MonitorInstancesResult): any => ({ ...obj, }); } -/** - *

          Contains the parameters for PurchaseScheduledInstances.

          - */ -export interface PurchaseScheduledInstancesRequest { - /** - *

          Unique, case-sensitive identifier that ensures the idempotency of the request. - * For more information, see Ensuring Idempotency.

          - */ - ClientToken?: string; - +export interface MoveAddressToVpcRequest { /** *

          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. @@ -7608,500 +7485,524 @@ export interface PurchaseScheduledInstancesRequest { DryRun?: boolean; /** - *

          The purchase requests.

          + *

          The Elastic IP address.

          */ - PurchaseRequests: PurchaseRequest[] | undefined; + PublicIp: string | undefined; } -export namespace PurchaseScheduledInstancesRequest { +export namespace MoveAddressToVpcRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseScheduledInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: MoveAddressToVpcRequest): any => ({ ...obj, }); } -/** - *

          Contains the output of PurchaseScheduledInstances.

          - */ -export interface PurchaseScheduledInstancesResult { +export enum Status { + inClassic = "InClassic", + inVpc = "InVpc", + moveInProgress = "MoveInProgress", +} + +export interface MoveAddressToVpcResult { /** - *

          Information about the Scheduled Instances.

          + *

          The allocation ID for the Elastic IP address.

          */ - ScheduledInstanceSet?: ScheduledInstance[]; + AllocationId?: string; + + /** + *

          The status of the move of the IP address.

          + */ + Status?: Status | string; } -export namespace PurchaseScheduledInstancesResult { +export namespace MoveAddressToVpcResult { /** * @internal */ - export const filterSensitiveLog = (obj: PurchaseScheduledInstancesResult): any => ({ + export const filterSensitiveLog = (obj: MoveAddressToVpcResult): any => ({ ...obj, }); } -export interface RebootInstancesRequest { - /** - *

          The instance IDs.

          - */ - InstanceIds: string[] | undefined; - +export interface MoveByoipCidrToIpamRequest { /** - *

          Checks whether you have the required permissions for the action, without actually making the request, + *

          A check for 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 RebootInstancesRequest { /** - * @internal + *

          The BYOIP CIDR.

          */ - export const filterSensitiveLog = (obj: RebootInstancesRequest): any => ({ - ...obj, - }); -} + Cidr: string | undefined; -/** - *

          Contains the parameters for RegisterImage.

          - */ -export interface RegisterImageRequest { /** - *

          The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the - * aws-exec-read canned access control list (ACL) to ensure that it can be accessed - * by Amazon EC2. For more information, see Canned ACLs in the - * Amazon S3 Service Developer Guide.

          + *

          The IPAM pool ID.

          */ - ImageLocation?: string; + IpamPoolId: string | undefined; /** - *

          The architecture of the AMI.

          - *

          Default: For Amazon EBS-backed AMIs, i386. - * For instance store-backed AMIs, the architecture specified in the manifest file.

          + *

          The Amazon Web Services account ID of the owner of the IPAM pool.

          */ - Architecture?: ArchitectureValues | string; + IpamPoolOwner: string | undefined; +} +export namespace MoveByoipCidrToIpamRequest { /** - *

          The block device mapping entries.

          - *

          If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

          - *

          If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region - * of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost - * only. For more information, - * Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

          + * @internal */ - BlockDeviceMappings?: BlockDeviceMapping[]; + export const filterSensitiveLog = (obj: MoveByoipCidrToIpamRequest): any => ({ + ...obj, + }); +} +export interface MoveByoipCidrToIpamResult { /** - *

          A description for your AMI.

          + *

          Information about an address range that is provisioned for use with your Amazon Web Services resources + * through bring your own IP addresses (BYOIP).

          */ - Description?: string; + ByoipCidr?: ByoipCidr; +} +export namespace MoveByoipCidrToIpamResult { /** - *

          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.

          + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: MoveByoipCidrToIpamResult): any => ({ + ...obj, + }); +} +/** + *

          Provides authorization for Amazon to bring a specific IP address range to a specific + * Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

          + */ +export interface CidrAuthorizationContext { /** - *

          Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

          - *

          This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

          + *

          The plain-text authorization message for the prefix and account.

          */ - EnaSupport?: boolean; + Message: string | undefined; /** - *

          The ID of the kernel.

          + *

          The signed authorization message for the prefix and account.

          */ - KernelId?: string; + Signature: string | undefined; +} +export namespace CidrAuthorizationContext { /** - *

          A name for your AMI.

          - *

          Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

          + * @internal */ - Name: string | undefined; + export const filterSensitiveLog = (obj: CidrAuthorizationContext): any => ({ + ...obj, + }); +} +export interface ProvisionByoipCidrRequest { /** - *

          The billing product codes. Your account must be authorized to specify billing product codes. Otherwise, - * you can use the Amazon Web Services Marketplace to bill for the use of an AMI.

          + *

          The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can + * specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've + * brought to this or another Region.

          */ - BillingProducts?: string[]; + Cidr: string | undefined; /** - *

          The ID of the RAM disk.

          + *

          A signed document that proves that you are authorized to bring the specified IP address + * range to Amazon using BYOIP.

          */ - RamdiskId?: string; + CidrAuthorizationContext?: CidrAuthorizationContext; /** - *

          The device name of the root device volume (for example, /dev/sda1).

          + *

          (IPv6 only) Indicate whether the address range will be publicly advertised to the + * internet.

          + *

          Default: true

          */ - RootDeviceName?: string; + PubliclyAdvertisable?: boolean; /** - *

          Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

          - *

          There is no way to disable sriovNetSupport at this time.

          - *

          This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

          + *

          A description for the address range and the address pool.

          */ - SriovNetSupport?: string; + Description?: string; /** - *

          The type of virtualization (hvm | paravirtual).

          - *

          Default: paravirtual - *

          + *

          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.

          */ - VirtualizationType?: string; + DryRun?: boolean; /** - *

          The boot mode of the AMI. For more information, see Boot modes in the - * Amazon Elastic Compute Cloud User Guide.

          + *

          The tags to apply to the address pool.

          */ - BootMode?: BootModeValues | string; + PoolTagSpecifications?: TagSpecification[]; + + /** + *

          Reserved.

          + */ + MultiRegion?: boolean; } -export namespace RegisterImageRequest { +export namespace ProvisionByoipCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterImageRequest): any => ({ + export const filterSensitiveLog = (obj: ProvisionByoipCidrRequest): any => ({ ...obj, }); } -/** - *

          Contains the output of RegisterImage.

          - */ -export interface RegisterImageResult { +export interface ProvisionByoipCidrResult { /** - *

          The ID of the newly registered AMI.

          + *

          Information about the address range.

          */ - ImageId?: string; + ByoipCidr?: ByoipCidr; } -export namespace RegisterImageResult { +export namespace ProvisionByoipCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterImageResult): any => ({ + export const filterSensitiveLog = (obj: ProvisionByoipCidrResult): any => ({ ...obj, }); } /** - *

          Information about the tag keys to register for the current Region. You can either specify - * individual tag keys or register all tag keys in the current Region. You must specify either - * IncludeAllTagsOfInstance or InstanceTagKeys in the request

          + *

          A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

          */ -export interface RegisterInstanceTagAttributeRequest { +export interface IpamCidrAuthorizationContext { /** - *

          Indicates whether to register all tag keys in the current Region. Specify true - * to register all tag keys.

          + *

          The plain-text authorization message for the prefix and account.

          */ - IncludeAllTagsOfInstance?: boolean; + Message?: string; /** - *

          The tag keys to register.

          + *

          The signed authorization message for the prefix and account.

          */ - InstanceTagKeys?: string[]; + Signature?: string; } -export namespace RegisterInstanceTagAttributeRequest { +export namespace IpamCidrAuthorizationContext { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterInstanceTagAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: IpamCidrAuthorizationContext): any => ({ ...obj, }); } -export interface RegisterInstanceEventNotificationAttributesRequest { +export interface ProvisionIpamPoolCidrRequest { /** - *

          Checks whether you have the required permissions for the action, without actually making the request, + *

          A check for 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; /** - *

          Information about the tag keys to register.

          + *

          The ID of the IPAM pool to which you want to assign a CIDR.

          */ - InstanceTagAttribute?: RegisterInstanceTagAttributeRequest; + IpamPoolId: string | undefined; + + /** + *

          The CIDR you want to assign to the IPAM pool.

          + */ + Cidr?: string; + + /** + *

          A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

          + */ + CidrAuthorizationContext?: IpamCidrAuthorizationContext; } -export namespace RegisterInstanceEventNotificationAttributesRequest { +export namespace ProvisionIpamPoolCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterInstanceEventNotificationAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: ProvisionIpamPoolCidrRequest): any => ({ ...obj, }); } -export interface RegisterInstanceEventNotificationAttributesResult { +export interface ProvisionIpamPoolCidrResult { /** - *

          The resulting set of tag keys.

          + *

          Information about the provisioned CIDR.

          */ - InstanceTagAttribute?: InstanceTagNotificationAttribute; + IpamPoolCidr?: IpamPoolCidr; } -export namespace RegisterInstanceEventNotificationAttributesResult { +export namespace ProvisionIpamPoolCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterInstanceEventNotificationAttributesResult): any => ({ + export const filterSensitiveLog = (obj: ProvisionIpamPoolCidrResult): any => ({ ...obj, }); } -export interface RegisterTransitGatewayMulticastGroupMembersRequest { +export interface ProvisionPublicIpv4PoolCidrRequest { /** - *

          The ID of the transit gateway multicast domain.

          + *

          A check for 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.

          */ - TransitGatewayMulticastDomainId?: string; + DryRun?: boolean; /** - *

          The IP address assigned to the transit gateway multicast group.

          + *

          The ID of the IPAM pool you would like to use to allocate this CIDR.

          */ - GroupIpAddress?: string; + IpamPoolId: string | undefined; /** - *

          The group members' network interface IDs to register with the transit gateway multicast group.

          + *

          The ID of the public IPv4 pool you would like to use for this CIDR.

          */ - NetworkInterfaceIds?: string[]; + PoolId: string | undefined; /** - *

          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.

          + *

          The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

          */ - DryRun?: boolean; + NetmaskLength: number | undefined; } -export namespace RegisterTransitGatewayMulticastGroupMembersRequest { +export namespace ProvisionPublicIpv4PoolCidrRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupMembersRequest): any => ({ + export const filterSensitiveLog = (obj: ProvisionPublicIpv4PoolCidrRequest): any => ({ ...obj, }); } -/** - *

          Describes the registered transit gateway multicast group members.

          - */ -export interface TransitGatewayMulticastRegisteredGroupMembers { - /** - *

          The ID of the transit gateway multicast domain.

          - */ - TransitGatewayMulticastDomainId?: string; - +export interface ProvisionPublicIpv4PoolCidrResult { /** - *

          The ID of the registered network interfaces.

          + *

          The ID of the pool that you want to provision the CIDR to.

          */ - RegisteredNetworkInterfaceIds?: string[]; + PoolId?: string; /** - *

          The IP address assigned to the transit gateway multicast group.

          + *

          Describes an address range of an IPv4 address pool.

          */ - GroupIpAddress?: string; + PoolAddressRange?: PublicIpv4PoolRange; } -export namespace TransitGatewayMulticastRegisteredGroupMembers { +export namespace ProvisionPublicIpv4PoolCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastRegisteredGroupMembers): any => ({ + export const filterSensitiveLog = (obj: ProvisionPublicIpv4PoolCidrResult): any => ({ ...obj, }); } -export interface RegisterTransitGatewayMulticastGroupMembersResult { +export interface PurchaseHostReservationRequest { /** - *

          Information about the registered transit gateway multicast group members.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

          */ - RegisteredMulticastGroupMembers?: TransitGatewayMulticastRegisteredGroupMembers; -} + ClientToken?: string; -export namespace RegisterTransitGatewayMulticastGroupMembersResult { /** - * @internal + *

          The currency in which the totalUpfrontPrice, LimitPrice, + * and totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

          */ - export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupMembersResult): any => ({ - ...obj, - }); -} + CurrencyCode?: CurrencyCodeValues | string; -export interface RegisterTransitGatewayMulticastGroupSourcesRequest { /** - *

          The ID of the transit gateway multicast domain.

          + *

          The IDs of the Dedicated Hosts with which the reservation will be associated.

          */ - TransitGatewayMulticastDomainId?: string; + HostIdSet: string[] | undefined; /** - *

          The IP address assigned to the transit gateway multicast group.

          + *

          The specified limit is checked against the total upfront cost of the reservation + * (calculated as the offering's upfront cost multiplied by the host count). If the total + * upfront cost is greater than the specified price limit, the request fails. This is used + * to ensure that the purchase does not exceed the expected upfront cost of the purchase. + * At this time, the only supported currency is USD. For example, to indicate + * a limit price of USD 100, specify 100.00.

          */ - GroupIpAddress?: string; + LimitPrice?: string; /** - *

          The group sources' network interface IDs to register with the transit gateway multicast group.

          + *

          The ID of the offering.

          */ - NetworkInterfaceIds?: string[]; + OfferingId: string | undefined; /** - *

          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.

          + *

          The tags to apply to the Dedicated Host Reservation during purchase.

          */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; } -export namespace RegisterTransitGatewayMulticastGroupSourcesRequest { +export namespace PurchaseHostReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupSourcesRequest): any => ({ + export const filterSensitiveLog = (obj: PurchaseHostReservationRequest): any => ({ ...obj, }); } -/** - *

          Describes the members registered with the transit gateway multicast group.

          - */ -export interface TransitGatewayMulticastRegisteredGroupSources { +export interface PurchaseHostReservationResult { /** - *

          The ID of the transit gateway multicast domain.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

          */ - TransitGatewayMulticastDomainId?: string; + ClientToken?: string; /** - *

          The IDs of the network interfaces members registered with the transit gateway multicast group.

          + *

          The currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

          */ - RegisteredNetworkInterfaceIds?: string[]; + CurrencyCode?: CurrencyCodeValues | string; /** - *

          The IP address assigned to the transit gateway multicast group.

          + *

          Describes the details of the purchase.

          */ - GroupIpAddress?: string; + Purchase?: Purchase[]; + + /** + *

          The total hourly price of the reservation calculated per hour.

          + */ + TotalHourlyPrice?: string; + + /** + *

          The total amount charged to your account when you purchase the reservation.

          + */ + TotalUpfrontPrice?: string; } -export namespace TransitGatewayMulticastRegisteredGroupSources { +export namespace PurchaseHostReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastRegisteredGroupSources): any => ({ + export const filterSensitiveLog = (obj: PurchaseHostReservationResult): any => ({ ...obj, }); } -export interface RegisterTransitGatewayMulticastGroupSourcesResult { +/** + *

          Describes the limit price of a Reserved Instance offering.

          + */ +export interface ReservedInstanceLimitPrice { /** - *

          Information about the transit gateway multicast group sources.

          + *

          Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

          */ - RegisteredMulticastGroupSources?: TransitGatewayMulticastRegisteredGroupSources; + Amount?: number; + + /** + *

          The currency in which the limitPrice amount is specified. + * At this time, the only supported currency is USD.

          + */ + CurrencyCode?: CurrencyCodeValues | string; } -export namespace RegisterTransitGatewayMulticastGroupSourcesResult { +export namespace ReservedInstanceLimitPrice { /** * @internal */ - export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupSourcesResult): any => ({ + export const filterSensitiveLog = (obj: ReservedInstanceLimitPrice): any => ({ ...obj, }); } -export interface RejectTransitGatewayMulticastDomainAssociationsRequest { - /** - *

          The ID of the transit gateway multicast domain.

          - */ - TransitGatewayMulticastDomainId?: string; - +/** + *

          Contains the parameters for PurchaseReservedInstancesOffering.

          + */ +export interface PurchaseReservedInstancesOfferingRequest { /** - *

          The ID of the transit gateway attachment.

          + *

          The number of Reserved Instances to purchase.

          */ - TransitGatewayAttachmentId?: string; + InstanceCount: number | undefined; /** - *

          The IDs of the subnets to associate with the transit gateway multicast domain.

          + *

          The ID of the Reserved Instance offering to purchase.

          */ - SubnetIds?: string[]; + ReservedInstancesOfferingId: string | undefined; /** *

          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.

          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; -} -export namespace RejectTransitGatewayMulticastDomainAssociationsRequest { /** - * @internal + *

          Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

          */ - export const filterSensitiveLog = (obj: RejectTransitGatewayMulticastDomainAssociationsRequest): any => ({ - ...obj, - }); -} + LimitPrice?: ReservedInstanceLimitPrice; -export interface RejectTransitGatewayMulticastDomainAssociationsResult { /** - *

          Describes the multicast domain associations.

          + *

          The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

          */ - Associations?: TransitGatewayMulticastDomainAssociations; + PurchaseTime?: Date; } -export namespace RejectTransitGatewayMulticastDomainAssociationsResult { +export namespace PurchaseReservedInstancesOfferingRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayMulticastDomainAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: PurchaseReservedInstancesOfferingRequest): any => ({ ...obj, }); } -export interface RejectTransitGatewayPeeringAttachmentRequest { - /** - *

          The ID of the transit gateway peering attachment.

          - */ - TransitGatewayAttachmentId: string | undefined; - +/** + *

          Contains the output of PurchaseReservedInstancesOffering.

          + */ +export interface PurchaseReservedInstancesOfferingResult { /** - *

          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.

          + *

          The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted + * pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing + * pricing tiers in the Amazon Elastic Compute Cloud User Guide.

          */ - DryRun?: boolean; + ReservedInstancesId?: string; } -export namespace RejectTransitGatewayPeeringAttachmentRequest { +export namespace PurchaseReservedInstancesOfferingResult { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayPeeringAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: PurchaseReservedInstancesOfferingResult): any => ({ ...obj, }); } -export interface RejectTransitGatewayPeeringAttachmentResult { +/** + *

          Describes a request to purchase Scheduled Instances.

          + */ +export interface PurchaseRequest { /** - *

          The transit gateway peering attachment.

          + *

          The number of instances.

          */ - TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; + InstanceCount: number | undefined; + + /** + *

          The purchase token.

          + */ + PurchaseToken: string | undefined; } -export namespace RejectTransitGatewayPeeringAttachmentResult { +export namespace PurchaseRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayPeeringAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: PurchaseRequest): any => ({ ...obj, }); } -export interface RejectTransitGatewayVpcAttachmentRequest { +/** + *

          Contains the parameters for PurchaseScheduledInstances.

          + */ +export interface PurchaseScheduledInstancesRequest { /** - *

          The ID of the attachment.

          + *

          Unique, case-sensitive identifier that ensures the idempotency of the request. + * For more information, see Ensuring Idempotency.

          */ - TransitGatewayAttachmentId: string | undefined; + ClientToken?: string; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -8109,411 +8010,463 @@ export interface RejectTransitGatewayVpcAttachmentRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; + + /** + *

          The purchase requests.

          + */ + PurchaseRequests: PurchaseRequest[] | undefined; } -export namespace RejectTransitGatewayVpcAttachmentRequest { +export namespace PurchaseScheduledInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayVpcAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: PurchaseScheduledInstancesRequest): any => ({ ...obj, }); } -export interface RejectTransitGatewayVpcAttachmentResult { +/** + *

          Contains the output of PurchaseScheduledInstances.

          + */ +export interface PurchaseScheduledInstancesResult { /** - *

          Information about the attachment.

          + *

          Information about the Scheduled Instances.

          */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; + ScheduledInstanceSet?: ScheduledInstance[]; } -export namespace RejectTransitGatewayVpcAttachmentResult { +export namespace PurchaseScheduledInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: RejectTransitGatewayVpcAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: PurchaseScheduledInstancesResult): any => ({ ...obj, }); } -export interface RejectVpcEndpointConnectionsRequest { +export interface RebootInstancesRequest { + /** + *

          The instance IDs.

          + */ + InstanceIds: string[] | undefined; + /** *

          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 RebootInstancesRequest { /** - *

          The ID of the service.

          + * @internal */ - ServiceId: string | undefined; + export const filterSensitiveLog = (obj: RebootInstancesRequest): any => ({ + ...obj, + }); +} +/** + *

          Contains the parameters for RegisterImage.

          + */ +export interface RegisterImageRequest { /** - *

          The IDs of one or more VPC endpoints.

          + *

          The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the + * aws-exec-read canned access control list (ACL) to ensure that it can be accessed + * by Amazon EC2. For more information, see Canned ACLs in the + * Amazon S3 Service Developer Guide.

          */ - VpcEndpointIds: string[] | undefined; -} + ImageLocation?: string; -export namespace RejectVpcEndpointConnectionsRequest { /** - * @internal + *

          The architecture of the AMI.

          + *

          Default: For Amazon EBS-backed AMIs, i386. + * For instance store-backed AMIs, the architecture specified in the manifest file.

          */ - export const filterSensitiveLog = (obj: RejectVpcEndpointConnectionsRequest): any => ({ - ...obj, - }); -} + Architecture?: ArchitectureValues | string; -export interface RejectVpcEndpointConnectionsResult { /** - *

          Information about the endpoints that were not rejected, if applicable.

          + *

          The block device mapping entries.

          + *

          If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

          + *

          If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region + * of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost + * only. For more information, + * Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

          */ - Unsuccessful?: UnsuccessfulItem[]; -} + BlockDeviceMappings?: BlockDeviceMapping[]; -export namespace RejectVpcEndpointConnectionsResult { /** - * @internal + *

          A description for your AMI.

          */ - export const filterSensitiveLog = (obj: RejectVpcEndpointConnectionsResult): any => ({ - ...obj, - }); -} + Description?: string; -export interface RejectVpcPeeringConnectionRequest { /** *

          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.

          + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; /** - *

          The ID of the VPC peering connection.

          + *

          Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

          + *

          This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

          */ - VpcPeeringConnectionId: string | undefined; -} + EnaSupport?: boolean; -export namespace RejectVpcPeeringConnectionRequest { /** - * @internal + *

          The ID of the kernel.

          */ - export const filterSensitiveLog = (obj: RejectVpcPeeringConnectionRequest): any => ({ - ...obj, - }); -} + KernelId?: string; -export interface RejectVpcPeeringConnectionResult { /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          A name for your AMI.

          + *

          Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

          */ - Return?: boolean; -} + Name: string | undefined; -export namespace RejectVpcPeeringConnectionResult { /** - * @internal + *

          The billing product codes. Your account must be authorized to specify billing product codes. Otherwise, + * you can use the Amazon Web Services Marketplace to bill for the use of an AMI.

          */ - export const filterSensitiveLog = (obj: RejectVpcPeeringConnectionResult): any => ({ - ...obj, - }); -} + BillingProducts?: string[]; -export interface ReleaseAddressRequest { /** - *

          [EC2-VPC] The allocation ID. Required for EC2-VPC.

          + *

          The ID of the RAM disk.

          */ - AllocationId?: string; + RamdiskId?: string; /** - *

          [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

          + *

          The device name of the root device volume (for example, /dev/sda1).

          */ - PublicIp?: string; + RootDeviceName?: string; /** - *

          The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises - * IP addresses.

          - *

          If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

          - *

          You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you - * receive an InvalidParameterCombination error.

          + *

          Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

          + *

          There is no way to disable sriovNetSupport at this time.

          + *

          This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

          */ - NetworkBorderGroup?: string; + SriovNetSupport?: string; /** - *

          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.

          + *

          The type of virtualization (hvm | paravirtual).

          + *

          Default: paravirtual + *

          */ - DryRun?: boolean; + VirtualizationType?: string; + + /** + *

          The boot mode of the AMI. For more information, see Boot modes in the + * Amazon Elastic Compute Cloud User Guide.

          + */ + BootMode?: BootModeValues | string; } -export namespace ReleaseAddressRequest { +export namespace RegisterImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReleaseAddressRequest): any => ({ + export const filterSensitiveLog = (obj: RegisterImageRequest): any => ({ ...obj, }); } -export interface ReleaseHostsRequest { +/** + *

          Contains the output of RegisterImage.

          + */ +export interface RegisterImageResult { /** - *

          The IDs of the Dedicated Hosts to release.

          + *

          The ID of the newly registered AMI.

          */ - HostIds: string[] | undefined; + ImageId?: string; } -export namespace ReleaseHostsRequest { +export namespace RegisterImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReleaseHostsRequest): any => ({ + export const filterSensitiveLog = (obj: RegisterImageResult): any => ({ ...obj, }); } -export interface ReleaseHostsResult { +/** + *

          Information about the tag keys to register for the current Region. You can either specify + * individual tag keys or register all tag keys in the current Region. You must specify either + * IncludeAllTagsOfInstance or InstanceTagKeys in the request

          + */ +export interface RegisterInstanceTagAttributeRequest { /** - *

          The IDs of the Dedicated Hosts that were successfully released.

          + *

          Indicates whether to register all tag keys in the current Region. Specify true + * to register all tag keys.

          */ - Successful?: string[]; + IncludeAllTagsOfInstance?: boolean; /** - *

          The IDs of the Dedicated Hosts that could not be released, including an error - * message.

          + *

          The tag keys to register.

          */ - Unsuccessful?: UnsuccessfulItem[]; + InstanceTagKeys?: string[]; } -export namespace ReleaseHostsResult { +export namespace RegisterInstanceTagAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReleaseHostsResult): any => ({ + export const filterSensitiveLog = (obj: RegisterInstanceTagAttributeRequest): any => ({ ...obj, }); } -export interface ReleaseIpamPoolAllocationRequest { +export interface RegisterInstanceEventNotificationAttributesRequest { /** - *

          A check for whether you have the required permissions for the action without actually making the request + *

          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; /** - *

          The ID of the IPAM pool which contains the allocation you want to release.

          + *

          Information about the tag keys to register.

          */ - IpamPoolId: string | undefined; + InstanceTagAttribute?: RegisterInstanceTagAttributeRequest; +} +export namespace RegisterInstanceEventNotificationAttributesRequest { /** - *

          The CIDR of the allocation you want to release.

          + * @internal */ - Cidr: string | undefined; + export const filterSensitiveLog = (obj: RegisterInstanceEventNotificationAttributesRequest): any => ({ + ...obj, + }); +} +export interface RegisterInstanceEventNotificationAttributesResult { /** - *

          The ID of the allocation.

          + *

          The resulting set of tag keys.

          */ - IpamPoolAllocationId?: string; + InstanceTagAttribute?: InstanceTagNotificationAttribute; } -export namespace ReleaseIpamPoolAllocationRequest { +export namespace RegisterInstanceEventNotificationAttributesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReleaseIpamPoolAllocationRequest): any => ({ + export const filterSensitiveLog = (obj: RegisterInstanceEventNotificationAttributesResult): any => ({ ...obj, }); } -export interface ReleaseIpamPoolAllocationResult { +export interface RegisterTransitGatewayMulticastGroupMembersRequest { /** - *

          Indicates if the release was successful.

          + *

          The ID of the transit gateway multicast domain.

          */ - Success?: boolean; + TransitGatewayMulticastDomainId?: string; + + /** + *

          The IP address assigned to the transit gateway multicast group.

          + */ + GroupIpAddress?: string; + + /** + *

          The group members' network interface IDs to register with the transit gateway multicast group.

          + */ + NetworkInterfaceIds?: string[]; + + /** + *

          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 ReleaseIpamPoolAllocationResult { +export namespace RegisterTransitGatewayMulticastGroupMembersRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReleaseIpamPoolAllocationResult): any => ({ + export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupMembersRequest): any => ({ ...obj, }); } -export interface ReplaceIamInstanceProfileAssociationRequest { +/** + *

          Describes the registered transit gateway multicast group members.

          + */ +export interface TransitGatewayMulticastRegisteredGroupMembers { /** - *

          The IAM instance profile.

          + *

          The ID of the transit gateway multicast domain.

          */ - IamInstanceProfile: IamInstanceProfileSpecification | undefined; + TransitGatewayMulticastDomainId?: string; /** - *

          The ID of the existing IAM instance profile association.

          + *

          The ID of the registered network interfaces.

          */ - AssociationId: string | undefined; + RegisteredNetworkInterfaceIds?: string[]; + + /** + *

          The IP address assigned to the transit gateway multicast group.

          + */ + GroupIpAddress?: string; } -export namespace ReplaceIamInstanceProfileAssociationRequest { +export namespace TransitGatewayMulticastRegisteredGroupMembers { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceIamInstanceProfileAssociationRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayMulticastRegisteredGroupMembers): any => ({ ...obj, }); } -export interface ReplaceIamInstanceProfileAssociationResult { +export interface RegisterTransitGatewayMulticastGroupMembersResult { /** - *

          Information about the IAM instance profile association.

          + *

          Information about the registered transit gateway multicast group members.

          */ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation; + RegisteredMulticastGroupMembers?: TransitGatewayMulticastRegisteredGroupMembers; } -export namespace ReplaceIamInstanceProfileAssociationResult { +export namespace RegisterTransitGatewayMulticastGroupMembersResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceIamInstanceProfileAssociationResult): any => ({ + export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupMembersResult): any => ({ ...obj, }); } -export interface ReplaceNetworkAclAssociationRequest { - /** - *

          The ID of the current association between the original network ACL and the subnet.

          - */ - AssociationId: string | undefined; - +export interface RegisterTransitGatewayMulticastGroupSourcesRequest { /** - *

          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.

          + *

          The ID of the transit gateway multicast domain.

          */ - DryRun?: boolean; + TransitGatewayMulticastDomainId?: string; /** - *

          The ID of the new network ACL to associate with the subnet.

          + *

          The IP address assigned to the transit gateway multicast group.

          */ - NetworkAclId: string | undefined; -} + GroupIpAddress?: string; -export namespace ReplaceNetworkAclAssociationRequest { /** - * @internal + *

          The group sources' network interface IDs to register with the transit gateway multicast group.

          */ - export const filterSensitiveLog = (obj: ReplaceNetworkAclAssociationRequest): any => ({ - ...obj, - }); -} + NetworkInterfaceIds?: string[]; -export interface ReplaceNetworkAclAssociationResult { /** - *

          The ID of the new association.

          + *

          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.

          */ - NewAssociationId?: string; + DryRun?: boolean; } -export namespace ReplaceNetworkAclAssociationResult { +export namespace RegisterTransitGatewayMulticastGroupSourcesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceNetworkAclAssociationResult): any => ({ + export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupSourcesRequest): any => ({ ...obj, }); } -export interface ReplaceNetworkAclEntryRequest { +/** + *

          Describes the members registered with the transit gateway multicast group.

          + */ +export interface TransitGatewayMulticastRegisteredGroupSources { /** - *

          The IPv4 network range to allow or deny, in CIDR notation (for example - * 172.16.0.0/24).

          + *

          The ID of the transit gateway multicast domain.

          */ - CidrBlock?: string; + TransitGatewayMulticastDomainId?: string; /** - *

          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.

          + *

          The IDs of the network interfaces members registered with the transit gateway multicast group.

          */ - DryRun?: boolean; + RegisteredNetworkInterfaceIds?: string[]; /** - *

          Indicates whether to replace the egress rule.

          - *

          Default: If no value is specified, we replace the ingress rule.

          + *

          The IP address assigned to the transit gateway multicast group.

          */ - Egress: boolean | undefined; + GroupIpAddress?: string; +} +export namespace TransitGatewayMulticastRegisteredGroupSources { /** - *

          ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol - * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

          + * @internal */ - IcmpTypeCode?: IcmpTypeCode; + export const filterSensitiveLog = (obj: TransitGatewayMulticastRegisteredGroupSources): any => ({ + ...obj, + }); +} +export interface RegisterTransitGatewayMulticastGroupSourcesResult { /** - *

          The IPv6 network range to allow or deny, in CIDR notation (for example - * 2001:bd8:1234:1a00::/64).

          + *

          Information about the transit gateway multicast group sources.

          */ - Ipv6CidrBlock?: string; + RegisteredMulticastGroupSources?: TransitGatewayMulticastRegisteredGroupSources; +} +export namespace RegisterTransitGatewayMulticastGroupSourcesResult { /** - *

          The ID of the ACL.

          + * @internal */ - NetworkAclId: string | undefined; + export const filterSensitiveLog = (obj: RegisterTransitGatewayMulticastGroupSourcesResult): any => ({ + ...obj, + }); +} +export interface RejectTransitGatewayMulticastDomainAssociationsRequest { /** - *

          TCP or UDP protocols: The range of ports the rule applies to. - * Required if specifying protocol 6 (TCP) or 17 (UDP).

          + *

          The ID of the transit gateway multicast domain.

          */ - PortRange?: PortRange; + TransitGatewayMulticastDomainId?: string; /** - *

          The protocol number. A value of "-1" means all protocols. If you specify "-1" or a - * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is - * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify - * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and - * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) - * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

          + *

          The ID of the transit gateway attachment.

          */ - Protocol: string | undefined; + TransitGatewayAttachmentId?: string; /** - *

          Indicates whether to allow or deny the traffic that matches the rule.

          + *

          The IDs of the subnets to associate with the transit gateway multicast domain.

          */ - RuleAction: RuleAction | string | undefined; + SubnetIds?: string[]; /** - *

          The rule number of the entry to replace.

          + *

          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.

          */ - RuleNumber: number | undefined; + DryRun?: boolean; } -export namespace ReplaceNetworkAclEntryRequest { +export namespace RejectTransitGatewayMulticastDomainAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceNetworkAclEntryRequest): any => ({ + export const filterSensitiveLog = (obj: RejectTransitGatewayMulticastDomainAssociationsRequest): any => ({ ...obj, }); } -export interface ReplaceRouteRequest { +export interface RejectTransitGatewayMulticastDomainAssociationsResult { /** - *

          The IPv4 CIDR address block used for the destination match. The value that you - * provide must match the CIDR of an existing route in the table.

          + *

          Describes the multicast domain associations.

          */ - DestinationCidrBlock?: string; + Associations?: TransitGatewayMulticastDomainAssociations; +} +export namespace RejectTransitGatewayMulticastDomainAssociationsResult { /** - *

          The IPv6 CIDR address block used for the destination match. The value that you - * provide must match the CIDR of an existing route in the table.

          + * @internal */ - DestinationIpv6CidrBlock?: string; + export const filterSensitiveLog = (obj: RejectTransitGatewayMulticastDomainAssociationsResult): any => ({ + ...obj, + }); +} +export interface RejectTransitGatewayPeeringAttachmentRequest { /** - *

          The ID of the prefix list for the route.

          + *

          The ID of the transit gateway peering attachment.

          */ - DestinationPrefixListId?: string; + TransitGatewayAttachmentId: string | undefined; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -8521,88 +8474,117 @@ export interface ReplaceRouteRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; +} +export namespace RejectTransitGatewayPeeringAttachmentRequest { /** - *

          The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

          + * @internal */ - VpcEndpointId?: string; + export const filterSensitiveLog = (obj: RejectTransitGatewayPeeringAttachmentRequest): any => ({ + ...obj, + }); +} +export interface RejectTransitGatewayPeeringAttachmentResult { /** - *

          [IPv6 traffic only] The ID of an egress-only internet gateway.

          + *

          The transit gateway peering attachment.

          */ - EgressOnlyInternetGatewayId?: string; + TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; +} +export namespace RejectTransitGatewayPeeringAttachmentResult { /** - *

          The ID of an internet gateway or virtual private gateway.

          + * @internal */ - GatewayId?: string; + export const filterSensitiveLog = (obj: RejectTransitGatewayPeeringAttachmentResult): any => ({ + ...obj, + }); +} +export interface RejectTransitGatewayVpcAttachmentRequest { /** - *

          The ID of a NAT instance in your VPC.

          + *

          The ID of the attachment.

          */ - InstanceId?: string; + TransitGatewayAttachmentId: string | undefined; /** - *

          Specifies whether to reset the local route to its default target (local).

          + *

          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.

          */ - LocalTarget?: boolean; + DryRun?: boolean; +} +export namespace RejectTransitGatewayVpcAttachmentRequest { /** - *

          [IPv4 traffic only] The ID of a NAT gateway.

          + * @internal */ - NatGatewayId?: string; + export const filterSensitiveLog = (obj: RejectTransitGatewayVpcAttachmentRequest): any => ({ + ...obj, + }); +} +export interface RejectTransitGatewayVpcAttachmentResult { /** - *

          The ID of a transit gateway.

          + *

          Information about the attachment.

          */ - TransitGatewayId?: string; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} +export namespace RejectTransitGatewayVpcAttachmentResult { /** - *

          The ID of the local gateway.

          + * @internal */ - LocalGatewayId?: string; + export const filterSensitiveLog = (obj: RejectTransitGatewayVpcAttachmentResult): any => ({ + ...obj, + }); +} +export interface RejectVpcEndpointConnectionsRequest { /** - *

          [IPv4 traffic only] The ID of a carrier gateway.

          + *

          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.

          */ - CarrierGatewayId?: string; + DryRun?: boolean; /** - *

          The ID of a network interface.

          + *

          The ID of the service.

          */ - NetworkInterfaceId?: string; + ServiceId: string | undefined; /** - *

          The ID of the route table.

          + *

          The IDs of one or more VPC endpoints.

          */ - RouteTableId: string | undefined; + VpcEndpointIds: string[] | undefined; +} +export namespace RejectVpcEndpointConnectionsRequest { /** - *

          The ID of a VPC peering connection.

          + * @internal */ - VpcPeeringConnectionId?: string; + export const filterSensitiveLog = (obj: RejectVpcEndpointConnectionsRequest): any => ({ + ...obj, + }); +} +export interface RejectVpcEndpointConnectionsResult { /** - *

          The Amazon Resource Name (ARN) of the core network.

          + *

          Information about the endpoints that were not rejected, if applicable.

          */ - CoreNetworkArn?: string; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace ReplaceRouteRequest { +export namespace RejectVpcEndpointConnectionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceRouteRequest): any => ({ + export const filterSensitiveLog = (obj: RejectVpcEndpointConnectionsResult): any => ({ ...obj, }); } -export interface ReplaceRouteTableAssociationRequest { - /** - *

          The association ID.

          - */ - AssociationId: string | undefined; - +export interface RejectVpcPeeringConnectionRequest { /** *

          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. @@ -8611,61 +8593,55 @@ export interface ReplaceRouteTableAssociationRequest { DryRun?: boolean; /** - *

          The ID of the new route table to associate with the subnet.

          + *

          The ID of the VPC peering connection.

          */ - RouteTableId: string | undefined; + VpcPeeringConnectionId: string | undefined; } -export namespace ReplaceRouteTableAssociationRequest { +export namespace RejectVpcPeeringConnectionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceRouteTableAssociationRequest): any => ({ + export const filterSensitiveLog = (obj: RejectVpcPeeringConnectionRequest): any => ({ ...obj, }); } -export interface ReplaceRouteTableAssociationResult { - /** - *

          The ID of the new association.

          - */ - NewAssociationId?: string; - +export interface RejectVpcPeeringConnectionResult { /** - *

          The state of the association.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - AssociationState?: RouteTableAssociationState; + Return?: boolean; } -export namespace ReplaceRouteTableAssociationResult { +export namespace RejectVpcPeeringConnectionResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceRouteTableAssociationResult): any => ({ + export const filterSensitiveLog = (obj: RejectVpcPeeringConnectionResult): any => ({ ...obj, }); } -export interface ReplaceTransitGatewayRouteRequest { - /** - *

          The CIDR range used for the destination match. Routing decisions are based on the most specific match.

          - */ - DestinationCidrBlock: string | undefined; - +export interface ReleaseAddressRequest { /** - *

          The ID of the route table.

          + *

          [EC2-VPC] The allocation ID. Required for EC2-VPC.

          */ - TransitGatewayRouteTableId: string | undefined; + AllocationId?: string; /** - *

          The ID of the attachment.

          + *

          [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

          */ - TransitGatewayAttachmentId?: string; + PublicIp?: string; /** - *

          Indicates whether traffic matching this route is to be dropped.

          + *

          The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises + * IP addresses.

          + *

          If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

          + *

          You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you + * receive an InvalidParameterCombination error.

          */ - Blackhole?: boolean; + NetworkBorderGroup?: string; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -8675,437 +8651,361 @@ export interface ReplaceTransitGatewayRouteRequest { DryRun?: boolean; } -export namespace ReplaceTransitGatewayRouteRequest { +export namespace ReleaseAddressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceTransitGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: ReleaseAddressRequest): any => ({ ...obj, }); } -export interface ReplaceTransitGatewayRouteResult { +export interface ReleaseHostsRequest { /** - *

          Information about the modified route.

          + *

          The IDs of the Dedicated Hosts to release.

          */ - Route?: TransitGatewayRoute; + HostIds: string[] | undefined; } -export namespace ReplaceTransitGatewayRouteResult { +export namespace ReleaseHostsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceTransitGatewayRouteResult): any => ({ + export const filterSensitiveLog = (obj: ReleaseHostsRequest): any => ({ ...obj, }); } -export type ReportInstanceReasonCodes = - | "instance-stuck-in-state" - | "not-accepting-credentials" - | "other" - | "password-not-available" - | "performance-ebs-volume" - | "performance-instance-store" - | "performance-network" - | "performance-other" - | "unresponsive"; +export interface ReleaseHostsResult { + /** + *

          The IDs of the Dedicated Hosts that were successfully released.

          + */ + Successful?: string[]; -export type ReportStatusType = "impaired" | "ok"; + /** + *

          The IDs of the Dedicated Hosts that could not be released, including an error + * message.

          + */ + Unsuccessful?: UnsuccessfulItem[]; +} -export interface ReportInstanceStatusRequest { +export namespace ReleaseHostsResult { /** - *

          Descriptive text about the health state of your instance.

          + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: ReleaseHostsResult): any => ({ + ...obj, + }); +} +export interface ReleaseIpamPoolAllocationRequest { /** - *

          Checks whether you have the required permissions for the action, without actually making the request, + *

          A check for 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; /** - *

          The time at which the reported instance health state ended.

          + *

          The ID of the IPAM pool which contains the allocation you want to release.

          */ - EndTime?: Date; + IpamPoolId: string | undefined; /** - *

          The instances.

          + *

          The CIDR of the allocation you want to release.

          */ - Instances: string[] | undefined; + Cidr: string | undefined; /** - *

          The reason codes that describe the health state of your instance.

          - *
            - *
          • - *

            - * instance-stuck-in-state: My instance is stuck in a state.

            - *
          • - *
          • - *

            - * unresponsive: My instance is unresponsive.

            - *
          • - *
          • - *

            - * not-accepting-credentials: My instance is not accepting my - * credentials.

            - *
          • - *
          • - *

            - * password-not-available: A password is not available for my - * instance.

            - *
          • - *
          • - *

            - * performance-network: My instance is experiencing performance - * problems that I believe are network related.

            - *
          • - *
          • - *

            - * performance-instance-store: My instance is experiencing performance - * problems that I believe are related to the instance stores.

            - *
          • - *
          • - *

            - * performance-ebs-volume: My instance is experiencing performance - * problems that I believe are related to an EBS volume.

            - *
          • - *
          • - *

            - * performance-other: My instance is experiencing performance - * problems.

            - *
          • - *
          • - *

            - * other: [explain using the description parameter]

            - *
          • - *
          + *

          The ID of the allocation.

          */ - ReasonCodes: (ReportInstanceReasonCodes | string)[] | undefined; + IpamPoolAllocationId?: string; +} +export namespace ReleaseIpamPoolAllocationRequest { /** - *

          The time at which the reported instance health state began.

          + * @internal */ - StartTime?: Date; + export const filterSensitiveLog = (obj: ReleaseIpamPoolAllocationRequest): any => ({ + ...obj, + }); +} +export interface ReleaseIpamPoolAllocationResult { /** - *

          The status of all instances listed.

          + *

          Indicates if the release was successful.

          */ - Status: ReportStatusType | string | undefined; + Success?: boolean; } -export namespace ReportInstanceStatusRequest { +export namespace ReleaseIpamPoolAllocationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReportInstanceStatusRequest): any => ({ + export const filterSensitiveLog = (obj: ReleaseIpamPoolAllocationResult): any => ({ ...obj, }); } -/** - *

          Contains the parameters for RequestSpotFleet.

          - */ -export interface RequestSpotFleetRequest { +export interface ReplaceIamInstanceProfileAssociationRequest { /** - *

          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.

          + *

          The IAM instance profile.

          */ - DryRun?: boolean; + IamInstanceProfile: IamInstanceProfileSpecification | undefined; /** - *

          The configuration for the Spot Fleet request.

          + *

          The ID of the existing IAM instance profile association.

          */ - SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined; + AssociationId: string | undefined; } -export namespace RequestSpotFleetRequest { +export namespace ReplaceIamInstanceProfileAssociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RequestSpotFleetRequest): any => ({ + export const filterSensitiveLog = (obj: ReplaceIamInstanceProfileAssociationRequest): any => ({ ...obj, }); } -/** - *

          Contains the output of RequestSpotFleet.

          - */ -export interface RequestSpotFleetResponse { +export interface ReplaceIamInstanceProfileAssociationResult { /** - *

          The ID of the Spot Fleet request.

          + *

          Information about the IAM instance profile association.

          */ - SpotFleetRequestId?: string; + IamInstanceProfileAssociation?: IamInstanceProfileAssociation; } -export namespace RequestSpotFleetResponse { +export namespace ReplaceIamInstanceProfileAssociationResult { /** * @internal */ - export const filterSensitiveLog = (obj: RequestSpotFleetResponse): any => ({ + export const filterSensitiveLog = (obj: ReplaceIamInstanceProfileAssociationResult): any => ({ ...obj, }); } -/** - *

          Describes the launch specification for an instance.

          - */ -export interface RequestSpotLaunchSpecification { +export interface ReplaceNetworkAclAssociationRequest { /** - *

          One or more security group IDs.

          + *

          The ID of the current association between the original network ACL and the subnet.

          */ - SecurityGroupIds?: string[]; + AssociationId: string | undefined; /** - *

          One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

          + *

          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.

          */ - SecurityGroups?: string[]; + DryRun?: boolean; /** - *

          Deprecated.

          + *

          The ID of the new network ACL to associate with the subnet.

          */ - AddressingType?: string; + NetworkAclId: string | undefined; +} +export namespace ReplaceNetworkAclAssociationRequest { /** - *

          One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. - * This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, - * it is not blank and its encryption status is used for the volume encryption status.

          + * @internal */ - BlockDeviceMappings?: BlockDeviceMapping[]; + export const filterSensitiveLog = (obj: ReplaceNetworkAclAssociationRequest): any => ({ + ...obj, + }); +} +export interface ReplaceNetworkAclAssociationResult { /** - *

          Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

          - *

          Default: false - *

          + *

          The ID of the new association.

          */ - EbsOptimized?: boolean; + NewAssociationId?: string; +} +export namespace ReplaceNetworkAclAssociationResult { /** - *

          The IAM instance profile.

          + * @internal */ - IamInstanceProfile?: IamInstanceProfileSpecification; + export const filterSensitiveLog = (obj: ReplaceNetworkAclAssociationResult): any => ({ + ...obj, + }); +} +export interface ReplaceNetworkAclEntryRequest { /** - *

          The ID of the AMI.

          + *

          The IPv4 network range to allow or deny, in CIDR notation (for example + * 172.16.0.0/24).

          */ - ImageId?: string; + CidrBlock?: string; /** - *

          The instance type.

          + *

          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.

          */ - InstanceType?: _InstanceType | string; + DryRun?: boolean; /** - *

          The ID of the kernel.

          + *

          Indicates whether to replace the egress rule.

          + *

          Default: If no value is specified, we replace the ingress rule.

          */ - KernelId?: string; + Egress: boolean | undefined; /** - *

          The name of the key pair.

          + *

          ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol + * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

          */ - KeyName?: string; + IcmpTypeCode?: IcmpTypeCode; /** - *

          Indicates whether basic or detailed monitoring is enabled for the instance.

          - *

          Default: Disabled

          + *

          The IPv6 network range to allow or deny, in CIDR notation (for example + * 2001:bd8:1234:1a00::/64).

          */ - Monitoring?: RunInstancesMonitoringEnabled; + Ipv6CidrBlock?: string; /** - *

          One or more network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

          + *

          The ID of the ACL.

          */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + NetworkAclId: string | undefined; /** - *

          The placement information for the instance.

          + *

          TCP or UDP protocols: The range of ports the rule applies to. + * Required if specifying protocol 6 (TCP) or 17 (UDP).

          */ - Placement?: SpotPlacement; + PortRange?: PortRange; /** - *

          The ID of the RAM disk.

          + *

          The protocol number. A value of "-1" means all protocols. If you specify "-1" or a + * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is + * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify + * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and + * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) + * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

          */ - RamdiskId?: string; + Protocol: string | undefined; /** - *

          The ID of the subnet in which to launch the instance.

          + *

          Indicates whether to allow or deny the traffic that matches the rule.

          */ - SubnetId?: string; + RuleAction: RuleAction | string | undefined; /** - *

          The Base64-encoded user data for the instance. User data is limited to 16 KB.

          + *

          The rule number of the entry to replace.

          */ - UserData?: string; + RuleNumber: number | undefined; } -export namespace RequestSpotLaunchSpecification { +export namespace ReplaceNetworkAclEntryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RequestSpotLaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: ReplaceNetworkAclEntryRequest): any => ({ ...obj, }); } -/** - *

          Contains the parameters for RequestSpotInstances.

          - */ -export interface RequestSpotInstancesRequest { +export interface ReplaceRouteRequest { /** - *

          The user-specified name for a logical grouping of requests.

          - *

          When you specify an Availability Zone group in a Spot Instance request, all Spot - * Instances in the request are launched in the same Availability Zone. Instance proximity - * is maintained with this parameter, but the choice of Availability Zone is not. The group - * applies only to requests for Spot Instances of the same instance type. Any additional - * Spot Instance requests that are specified with the same Availability Zone group name are - * launched in that same Availability Zone, as long as at least one instance from the group - * is still active.

          - *

          If there is no active instance running in the Availability Zone group that you specify - * for a new Spot Instance request (all instances are terminated, the request is expired, - * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches - * the instance in any Availability Zone where the constraint can be met. Consequently, the - * subsequent set of Spot Instances could be placed in a different zone from the original - * request, even if you specified the same Availability Zone group.

          - *

          Default: Instances are launched in any available Availability Zone.

          + *

          The IPv4 CIDR address block used for the destination match. The value that you + * provide must match the CIDR of an existing route in the table.

          */ - AvailabilityZoneGroup?: string; + DestinationCidrBlock?: string; /** - *

          Deprecated.

          + *

          The IPv6 CIDR address block used for the destination match. The value that you + * provide must match the CIDR of an existing route in the table.

          */ - BlockDurationMinutes?: number; + DestinationIpv6CidrBlock?: string; /** - *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency in the Amazon EC2 User Guide for Linux Instances.

          + *

          The ID of the prefix list for the route.

          */ - ClientToken?: string; + DestinationPrefixListId?: string; /** - *

          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.

          + *

          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; /** - *

          The maximum number of Spot Instances to launch.

          - *

          Default: 1

          + *

          The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

          */ - InstanceCount?: number; + VpcEndpointId?: string; /** - *

          The instance launch group. Launch groups are Spot Instances that launch together and - * terminate together.

          - *

          Default: Instances are launched and terminated individually

          + *

          [IPv6 traffic only] The ID of an egress-only internet gateway.

          */ - LaunchGroup?: string; + EgressOnlyInternetGatewayId?: string; /** - *

          The launch specification.

          + *

          The ID of an internet gateway or virtual private gateway.

          */ - LaunchSpecification?: RequestSpotLaunchSpecification; + GatewayId?: string; /** - *

          The maximum price per hour that you are willing to pay for a Spot Instance. The - * default is the On-Demand price.

          + *

          The ID of a NAT instance in your VPC.

          */ - SpotPrice?: string; + InstanceId?: string; /** - *

          The Spot Instance request type.

          - *

          Default: one-time - *

          + *

          Specifies whether to reset the local route to its default target (local).

          */ - Type?: SpotInstanceType | string; + LocalTarget?: boolean; /** - *

          The start date of the request. If this is a one-time request, the request becomes - * active at this date and time and remains active until all instances launch, the request - * expires, or the request is canceled. If the request is persistent, the request becomes - * active at this date and time and remains active until it expires or is canceled.

          - *

          The specified start date and time cannot be equal to the current date and time. You - * must specify a start date and time that occurs after the current date and time.

          + *

          [IPv4 traffic only] The ID of a NAT gateway.

          */ - ValidFrom?: Date; + NatGatewayId?: string; /** - *

          The end date of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ).

          - *
            - *
          • - *

            For a persistent request, the request remains active until the - * ValidUntil date and time is reached. Otherwise, the request - * remains active until you cancel it.

            - *
          • - *
          • - *

            For a one-time request, the request remains active until all instances launch, - * the request is canceled, or the ValidUntil date and time is - * reached. By default, the request is valid for 7 days from the date the request - * was created.

            - *
          • - *
          + *

          The ID of a transit gateway.

          */ - ValidUntil?: Date; + TransitGatewayId?: string; /** - *

          The key-value pair for tagging the Spot Instance request on creation. The value for - * ResourceType must be spot-instances-request, otherwise the - * Spot Instance request fails. To tag the Spot Instance request after it has been created, - * see CreateTags.

          + *

          The ID of the local gateway.

          */ - TagSpecifications?: TagSpecification[]; + LocalGatewayId?: string; /** - *

          The behavior when a Spot Instance is interrupted. The default is terminate.

          + *

          [IPv4 traffic only] The ID of a carrier gateway.

          */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; -} + CarrierGatewayId?: string; -export namespace RequestSpotInstancesRequest { /** - * @internal + *

          The ID of a network interface.

          */ - export const filterSensitiveLog = (obj: RequestSpotInstancesRequest): any => ({ - ...obj, - }); -} + NetworkInterfaceId?: string; -/** - *

          Contains the output of RequestSpotInstances.

          - */ -export interface RequestSpotInstancesResult { /** - *

          One or more Spot Instance requests.

          + *

          The ID of the route table.

          */ - SpotInstanceRequests?: SpotInstanceRequest[]; + RouteTableId: string | undefined; + + /** + *

          The ID of a VPC peering connection.

          + */ + VpcPeeringConnectionId?: string; + + /** + *

          The Amazon Resource Name (ARN) of the core network.

          + */ + CoreNetworkArn?: string; } -export namespace RequestSpotInstancesResult { +export namespace ReplaceRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RequestSpotInstancesResult): any => ({ + export const filterSensitiveLog = (obj: ReplaceRouteRequest): any => ({ ...obj, }); } -export interface ResetAddressAttributeRequest { - /** - *

          [EC2-VPC] The allocation ID.

          - */ - AllocationId: string | undefined; - +export interface ReplaceRouteTableAssociationRequest { /** - *

          The attribute of the IP address.

          + *

          The association ID.

          */ - Attribute: AddressAttributeName | string | undefined; + AssociationId: string | undefined; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -9113,683 +9013,660 @@ export interface ResetAddressAttributeRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; + + /** + *

          The ID of the new route table to associate with the subnet.

          + */ + RouteTableId: string | undefined; } -export namespace ResetAddressAttributeRequest { +export namespace ReplaceRouteTableAssociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetAddressAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ReplaceRouteTableAssociationRequest): any => ({ ...obj, }); } -export interface ResetAddressAttributeResult { +export interface ReplaceRouteTableAssociationResult { /** - *

          Information about the IP address.

          + *

          The ID of the new association.

          */ - Address?: AddressAttribute; + NewAssociationId?: string; + + /** + *

          The state of the association.

          + */ + AssociationState?: RouteTableAssociationState; } -export namespace ResetAddressAttributeResult { +export namespace ReplaceRouteTableAssociationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ResetAddressAttributeResult): any => ({ + export const filterSensitiveLog = (obj: ReplaceRouteTableAssociationResult): any => ({ ...obj, }); } -export interface ResetEbsDefaultKmsKeyIdRequest { +export interface ReplaceTransitGatewayRouteRequest { /** - *

          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.

          + *

          The CIDR range used for the destination match. Routing decisions are based on the most specific match.

          */ - DryRun?: boolean; -} + DestinationCidrBlock: string | undefined; -export namespace ResetEbsDefaultKmsKeyIdRequest { /** - * @internal + *

          The ID of the route table.

          */ - export const filterSensitiveLog = (obj: ResetEbsDefaultKmsKeyIdRequest): any => ({ - ...obj, - }); -} + TransitGatewayRouteTableId: string | undefined; -export interface ResetEbsDefaultKmsKeyIdResult { /** - *

          The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.

          + *

          The ID of the attachment.

          */ - KmsKeyId?: string; -} + TransitGatewayAttachmentId?: string; -export namespace ResetEbsDefaultKmsKeyIdResult { /** - * @internal + *

          Indicates whether traffic matching this route is to be dropped.

          */ - export const filterSensitiveLog = (obj: ResetEbsDefaultKmsKeyIdResult): any => ({ - ...obj, - }); -} - -export type ResetFpgaImageAttributeName = "loadPermission"; + Blackhole?: boolean; -export interface ResetFpgaImageAttributeRequest { /** *

          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; - - /** - *

          The ID of the AFI.

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

          The attribute.

          - */ - Attribute?: ResetFpgaImageAttributeName | string; } -export namespace ResetFpgaImageAttributeRequest { +export namespace ReplaceTransitGatewayRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetFpgaImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ReplaceTransitGatewayRouteRequest): any => ({ ...obj, }); } -export interface ResetFpgaImageAttributeResult { +export interface ReplaceTransitGatewayRouteResult { /** - *

          Is true if the request succeeds, and an error otherwise.

          + *

          Information about the modified route.

          */ - Return?: boolean; + Route?: TransitGatewayRoute; } -export namespace ResetFpgaImageAttributeResult { +export namespace ReplaceTransitGatewayRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: ResetFpgaImageAttributeResult): any => ({ + export const filterSensitiveLog = (obj: ReplaceTransitGatewayRouteResult): any => ({ ...obj, }); } -export type ResetImageAttributeName = "launchPermission"; - -/** - *

          Contains the parameters for ResetImageAttribute.

          - */ -export interface ResetImageAttributeRequest { - /** - *

          The attribute to reset (currently you can only reset the launch permission attribute).

          - */ - Attribute: ResetImageAttributeName | string | undefined; +export type ReportInstanceReasonCodes = + | "instance-stuck-in-state" + | "not-accepting-credentials" + | "other" + | "password-not-available" + | "performance-ebs-volume" + | "performance-instance-store" + | "performance-network" + | "performance-other" + | "unresponsive"; + +export type ReportStatusType = "impaired" | "ok"; +export interface ReportInstanceStatusRequest { /** - *

          The ID of the AMI.

          + *

          Descriptive text about the health state of your instance.

          */ - ImageId: string | undefined; + Description?: string; /** *

          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.

          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; -} -export namespace ResetImageAttributeRequest { /** - * @internal + *

          The time at which the reported instance health state ended.

          */ - export const filterSensitiveLog = (obj: ResetImageAttributeRequest): any => ({ - ...obj, - }); -} + EndTime?: Date; -export interface ResetInstanceAttributeRequest { /** - *

          The attribute to reset.

          - * - *

          You can only reset the following attributes: kernel | - * ramdisk | sourceDestCheck. To change an instance - * attribute, use ModifyInstanceAttribute.

          - *
          + *

          The instances.

          */ - Attribute: InstanceAttributeName | string | undefined; + Instances: string[] | undefined; /** - *

          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.

          + *

          The reason codes that describe the health state of your instance.

          + *
            + *
          • + *

            + * instance-stuck-in-state: My instance is stuck in a state.

            + *
          • + *
          • + *

            + * unresponsive: My instance is unresponsive.

            + *
          • + *
          • + *

            + * not-accepting-credentials: My instance is not accepting my + * credentials.

            + *
          • + *
          • + *

            + * password-not-available: A password is not available for my + * instance.

            + *
          • + *
          • + *

            + * performance-network: My instance is experiencing performance + * problems that I believe are network related.

            + *
          • + *
          • + *

            + * performance-instance-store: My instance is experiencing performance + * problems that I believe are related to the instance stores.

            + *
          • + *
          • + *

            + * performance-ebs-volume: My instance is experiencing performance + * problems that I believe are related to an EBS volume.

            + *
          • + *
          • + *

            + * performance-other: My instance is experiencing performance + * problems.

            + *
          • + *
          • + *

            + * other: [explain using the description parameter]

            + *
          • + *
          */ - DryRun?: boolean; + ReasonCodes: (ReportInstanceReasonCodes | string)[] | undefined; /** - *

          The ID of the instance.

          + *

          The time at which the reported instance health state began.

          */ - InstanceId: string | undefined; + StartTime?: Date; + + /** + *

          The status of all instances listed.

          + */ + Status: ReportStatusType | string | undefined; } -export namespace ResetInstanceAttributeRequest { +export namespace ReportInstanceStatusRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetInstanceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ReportInstanceStatusRequest): any => ({ ...obj, }); } /** - *

          Contains the parameters for ResetNetworkInterfaceAttribute.

          + *

          Contains the parameters for RequestSpotFleet.

          */ -export interface ResetNetworkInterfaceAttributeRequest { +export interface RequestSpotFleetRequest { /** - *

          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.

          + *

          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; /** - *

          The ID of the network interface.

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

          The source/destination checking attribute. Resets the value to true.

          + *

          The configuration for the Spot Fleet request.

          */ - SourceDestCheck?: string; + SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined; } -export namespace ResetNetworkInterfaceAttributeRequest { +export namespace RequestSpotFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ResetNetworkInterfaceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: RequestSpotFleetRequest): any => ({ ...obj, }); } -export interface ResetSnapshotAttributeRequest { - /** - *

          The attribute to reset. Currently, only the attribute for permission to create volumes can - * be reset.

          - */ - Attribute: SnapshotAttributeName | string | undefined; - - /** - *

          The ID of the snapshot.

          - */ - SnapshotId: string | undefined; - +/** + *

          Contains the output of RequestSpotFleet.

          + */ +export interface RequestSpotFleetResponse { /** - *

          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.

          + *

          The ID of the Spot Fleet request.

          */ - DryRun?: boolean; + SpotFleetRequestId?: string; } -export namespace ResetSnapshotAttributeRequest { +export namespace RequestSpotFleetResponse { /** * @internal */ - export const filterSensitiveLog = (obj: ResetSnapshotAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: RequestSpotFleetResponse): any => ({ ...obj, }); } -export interface RestoreAddressToClassicRequest { +/** + *

          Describes the launch specification for an instance.

          + */ +export interface RequestSpotLaunchSpecification { /** - *

          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.

          + *

          One or more security group IDs.

          */ - DryRun?: boolean; + SecurityGroupIds?: string[]; /** - *

          The Elastic IP address.

          + *

          One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

          */ - PublicIp: string | undefined; -} + SecurityGroups?: string[]; -export namespace RestoreAddressToClassicRequest { /** - * @internal + *

          Deprecated.

          */ - export const filterSensitiveLog = (obj: RestoreAddressToClassicRequest): any => ({ - ...obj, - }); -} + AddressingType?: string; -export interface RestoreAddressToClassicResult { /** - *

          The Elastic IP address.

          + *

          One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. + * This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, + * it is not blank and its encryption status is used for the volume encryption status.

          */ - PublicIp?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

          The move status for the IP address.

          + *

          Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

          + *

          Default: false + *

          */ - Status?: Status | string; -} + EbsOptimized?: boolean; -export namespace RestoreAddressToClassicResult { /** - * @internal + *

          The IAM instance profile.

          */ - export const filterSensitiveLog = (obj: RestoreAddressToClassicResult): any => ({ - ...obj, - }); -} + IamInstanceProfile?: IamInstanceProfileSpecification; -export interface RestoreManagedPrefixListVersionRequest { /** - *

          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.

          + *

          The ID of the AMI.

          */ - DryRun?: boolean; + ImageId?: string; /** - *

          The ID of the prefix list.

          + *

          The instance type.

          */ - PrefixListId: string | undefined; + InstanceType?: _InstanceType | string; /** - *

          The version to restore.

          + *

          The ID of the kernel.

          */ - PreviousVersion: number | undefined; + KernelId?: string; /** - *

          The current version number for the prefix list.

          + *

          The name of the key pair.

          */ - CurrentVersion: number | undefined; -} + KeyName?: string; -export namespace RestoreManagedPrefixListVersionRequest { /** - * @internal + *

          Indicates whether basic or detailed monitoring is enabled for the instance.

          + *

          Default: Disabled

          */ - export const filterSensitiveLog = (obj: RestoreManagedPrefixListVersionRequest): any => ({ - ...obj, - }); -} + Monitoring?: RunInstancesMonitoringEnabled; -export interface RestoreManagedPrefixListVersionResult { /** - *

          Information about the prefix list.

          + *

          One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

          */ - PrefixList?: ManagedPrefixList; -} + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; -export namespace RestoreManagedPrefixListVersionResult { /** - * @internal + *

          The placement information for the instance.

          */ - export const filterSensitiveLog = (obj: RestoreManagedPrefixListVersionResult): any => ({ - ...obj, - }); -} + Placement?: SpotPlacement; -export interface RestoreSnapshotFromRecycleBinRequest { /** - *

          The ID of the snapshot to restore.

          + *

          The ID of the RAM disk.

          */ - SnapshotId: string | undefined; + RamdiskId?: string; /** - *

          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.

          + *

          The ID of the subnet in which to launch the instance.

          */ - DryRun?: boolean; + SubnetId?: string; + + /** + *

          The Base64-encoded user data for the instance. User data is limited to 16 KB.

          + */ + UserData?: string; } -export namespace RestoreSnapshotFromRecycleBinRequest { +export namespace RequestSpotLaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreSnapshotFromRecycleBinRequest): any => ({ + export const filterSensitiveLog = (obj: RequestSpotLaunchSpecification): any => ({ ...obj, }); } -export interface RestoreSnapshotFromRecycleBinResult { - /** - *

          The ID of the snapshot.

          - */ - SnapshotId?: string; - - /** - *

          The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the - * Amazon Elastic Compute Cloud User Guide.

          - */ - OutpostArn?: string; - +/** + *

          Contains the parameters for RequestSpotInstances.

          + */ +export interface RequestSpotInstancesRequest { /** - *

          The description for the snapshot.

          + *

          The user-specified name for a logical grouping of requests.

          + *

          When you specify an Availability Zone group in a Spot Instance request, all Spot + * Instances in the request are launched in the same Availability Zone. Instance proximity + * is maintained with this parameter, but the choice of Availability Zone is not. The group + * applies only to requests for Spot Instances of the same instance type. Any additional + * Spot Instance requests that are specified with the same Availability Zone group name are + * launched in that same Availability Zone, as long as at least one instance from the group + * is still active.

          + *

          If there is no active instance running in the Availability Zone group that you specify + * for a new Spot Instance request (all instances are terminated, the request is expired, + * or the maximum price you specified falls below current Spot price), then Amazon EC2 launches + * the instance in any Availability Zone where the constraint can be met. Consequently, the + * subsequent set of Spot Instances could be placed in a different zone from the original + * request, even if you specified the same Availability Zone group.

          + *

          Default: Instances are launched in any available Availability Zone.

          */ - Description?: string; + AvailabilityZoneGroup?: string; /** - *

          Indicates whether the snapshot is encrypted.

          + *

          Deprecated.

          */ - Encrypted?: boolean; + BlockDurationMinutes?: number; /** - *

          The ID of the Amazon Web Services account that owns the EBS snapshot.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency in the Amazon EC2 User Guide for Linux Instances.

          */ - OwnerId?: string; + ClientToken?: string; /** - *

          The progress of the snapshot, as a percentage.

          + *

          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.

          */ - Progress?: string; + DryRun?: boolean; /** - *

          The time stamp when the snapshot was initiated.

          + *

          The maximum number of Spot Instances to launch.

          + *

          Default: 1

          */ - StartTime?: Date; + InstanceCount?: number; /** - *

          The state of the snapshot.

          + *

          The instance launch group. Launch groups are Spot Instances that launch together and + * terminate together.

          + *

          Default: Instances are launched and terminated individually

          */ - State?: SnapshotState | string; + LaunchGroup?: string; /** - *

          The ID of the volume that was used to create the snapshot.

          + *

          The launch specification.

          */ - VolumeId?: string; + LaunchSpecification?: RequestSpotLaunchSpecification; /** - *

          The size of the volume, in GiB.

          + *

          The maximum price per hour that you are willing to pay for a Spot Instance. The + * default is the On-Demand price.

          */ - VolumeSize?: number; -} + SpotPrice?: string; -export namespace RestoreSnapshotFromRecycleBinResult { /** - * @internal + *

          The Spot Instance request type.

          + *

          Default: one-time + *

          */ - export const filterSensitiveLog = (obj: RestoreSnapshotFromRecycleBinResult): any => ({ - ...obj, - }); -} + Type?: SpotInstanceType | string; -export interface RestoreSnapshotTierRequest { /** - *

          The ID of the snapshot to restore.

          + *

          The start date of the request. If this is a one-time request, the request becomes + * active at this date and time and remains active until all instances launch, the request + * expires, or the request is canceled. If the request is persistent, the request becomes + * active at this date and time and remains active until it expires or is canceled.

          + *

          The specified start date and time cannot be equal to the current date and time. You + * must specify a start date and time that occurs after the current date and time.

          */ - SnapshotId: string | undefined; + ValidFrom?: Date; /** - *

          Specifies the number of days for which to temporarily restore an archived snapshot. - * Required for temporary restores only. The snapshot will be automatically re-archived - * after this period.

          - *

          To temporarily restore an archived snapshot, specify the number of days and omit - * the PermanentRestore parameter or set it to - * false.

          + *

          The end date of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ).

          + *
            + *
          • + *

            For a persistent request, the request remains active until the + * ValidUntil date and time is reached. Otherwise, the request + * remains active until you cancel it.

            + *
          • + *
          • + *

            For a one-time request, the request remains active until all instances launch, + * the request is canceled, or the ValidUntil date and time is + * reached. By default, the request is valid for 7 days from the date the request + * was created.

            + *
          • + *
          */ - TemporaryRestoreDays?: number; + ValidUntil?: Date; /** - *

          Indicates whether to permanently restore an archived snapshot. To permanently restore - * an archived snapshot, specify true and omit the - * RestoreSnapshotTierRequest$TemporaryRestoreDays parameter.

          + *

          The key-value pair for tagging the Spot Instance request on creation. The value for + * ResourceType must be spot-instances-request, otherwise the + * Spot Instance request fails. To tag the Spot Instance request after it has been created, + * see CreateTags.

          */ - PermanentRestore?: boolean; + TagSpecifications?: TagSpecification[]; /** - *

          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.

          + *

          The behavior when a Spot Instance is interrupted. The default is terminate.

          */ - DryRun?: boolean; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; } -export namespace RestoreSnapshotTierRequest { +export namespace RequestSpotInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreSnapshotTierRequest): any => ({ + export const filterSensitiveLog = (obj: RequestSpotInstancesRequest): any => ({ ...obj, }); } -export interface RestoreSnapshotTierResult { - /** - *

          The ID of the snapshot.

          - */ - SnapshotId?: string; - - /** - *

          The date and time when the snapshot restore process started.

          - */ - RestoreStartTime?: Date; - - /** - *

          For temporary restores only. The number of days for which the archived snapshot - * is temporarily restored.

          - */ - RestoreDuration?: number; - +/** + *

          Contains the output of RequestSpotInstances.

          + */ +export interface RequestSpotInstancesResult { /** - *

          Indicates whether the snapshot is permanently restored. true indicates a permanent - * restore. false indicates a temporary restore.

          + *

          One or more Spot Instance requests.

          */ - IsPermanentRestore?: boolean; + SpotInstanceRequests?: SpotInstanceRequest[]; } -export namespace RestoreSnapshotTierResult { +export namespace RequestSpotInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: RestoreSnapshotTierResult): any => ({ + export const filterSensitiveLog = (obj: RequestSpotInstancesResult): any => ({ ...obj, }); } -export interface RevokeClientVpnIngressRequest { - /** - *

          The ID of the Client VPN endpoint with which the authorization rule is associated.

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

          The IPv4 address range, in CIDR notation, of the network for which access is being removed.

          - */ - TargetNetworkCidr: string | undefined; - +export interface ResetAddressAttributeRequest { /** - *

          The ID of the Active Directory group for which to revoke access.

          + *

          [EC2-VPC] The allocation ID.

          */ - AccessGroupId?: string; + AllocationId: string | undefined; /** - *

          Indicates whether access should be revoked for all clients.

          + *

          The attribute of the IP address.

          */ - RevokeAllGroups?: boolean; + Attribute: AddressAttributeName | string | undefined; /** - *

          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.

          + *

          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 RevokeClientVpnIngressRequest { +export namespace ResetAddressAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeClientVpnIngressRequest): any => ({ + export const filterSensitiveLog = (obj: ResetAddressAttributeRequest): any => ({ ...obj, }); } -export interface RevokeClientVpnIngressResult { +export interface ResetAddressAttributeResult { /** - *

          The current state of the authorization rule.

          + *

          Information about the IP address.

          */ - Status?: ClientVpnAuthorizationRuleStatus; + Address?: AddressAttribute; } -export namespace RevokeClientVpnIngressResult { +export namespace ResetAddressAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeClientVpnIngressResult): any => ({ + export const filterSensitiveLog = (obj: ResetAddressAttributeResult): any => ({ ...obj, }); } -export interface RevokeSecurityGroupEgressRequest { +export interface ResetEbsDefaultKmsKeyIdRequest { /** *

          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 ResetEbsDefaultKmsKeyIdRequest { /** - *

          The ID of the security group.

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

          The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

          - */ - IpPermissions?: IpPermission[]; - - /** - *

          The IDs of the security group rules.

          + * @internal */ - SecurityGroupRuleIds?: string[]; + export const filterSensitiveLog = (obj: ResetEbsDefaultKmsKeyIdRequest): any => ({ + ...obj, + }); +} +export interface ResetEbsDefaultKmsKeyIdResult { /** - *

          Not supported. Use a set of IP permissions to specify the CIDR.

          + *

          The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.

          */ - CidrIp?: string; + KmsKeyId?: string; +} +export namespace ResetEbsDefaultKmsKeyIdResult { /** - *

          Not supported. Use a set of IP permissions to specify the port.

          + * @internal */ - FromPort?: number; + export const filterSensitiveLog = (obj: ResetEbsDefaultKmsKeyIdResult): any => ({ + ...obj, + }); +} - /** - *

          Not supported. Use a set of IP permissions to specify the protocol name or - * number.

          - */ - IpProtocol?: string; +export type ResetFpgaImageAttributeName = "loadPermission"; +export interface ResetFpgaImageAttributeRequest { /** - *

          Not supported. Use a set of IP permissions to specify the port.

          + *

          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.

          */ - ToPort?: number; + DryRun?: boolean; /** - *

          Not supported. Use a set of IP permissions to specify a - * destination security group.

          + *

          The ID of the AFI.

          */ - SourceSecurityGroupName?: string; + FpgaImageId: string | undefined; /** - *

          Not supported. Use a set of IP permissions to specify a destination security - * group.

          + *

          The attribute.

          */ - SourceSecurityGroupOwnerId?: string; + Attribute?: ResetFpgaImageAttributeName | string; } -export namespace RevokeSecurityGroupEgressRequest { +export namespace ResetFpgaImageAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressRequest): any => ({ + export const filterSensitiveLog = (obj: ResetFpgaImageAttributeRequest): any => ({ ...obj, }); } -export interface RevokeSecurityGroupEgressResult { +export interface ResetFpgaImageAttributeResult { /** - *

          Returns true if the request succeeds; otherwise, returns an error.

          + *

          Is true if the request succeeds, and an error otherwise.

          */ Return?: boolean; - - /** - *

          The outbound rules that were unknown to the service. In some cases, - * unknownIpPermissionSet might be in a different format from the request - * parameter.

          - */ - UnknownIpPermissions?: IpPermission[]; } -export namespace RevokeSecurityGroupEgressResult { +export namespace ResetFpgaImageAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressResult): any => ({ + export const filterSensitiveLog = (obj: ResetFpgaImageAttributeResult): any => ({ ...obj, }); } -export interface RevokeSecurityGroupIngressRequest { - /** - *

          The CIDR IP address range. You can't specify this parameter when specifying a source security group.

          - */ - CidrIp?: string; - - /** - *

          The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, - * use -1 to specify all ICMP types.

          - */ - FromPort?: number; - - /** - *

          The ID of the security group. You must specify either the security group ID or the - * security group name in the request. For security groups in a nondefault VPC, you must - * specify the security group ID.

          - */ - GroupId?: string; - - /** - *

          [EC2-Classic, default VPC] The name of the security group. You must specify either the - * security group ID or the security group name in the request.

          - */ - GroupName?: string; +export type ResetImageAttributeName = "launchPermission"; +/** + *

          Contains the parameters for ResetImageAttribute.

          + */ +export interface ResetImageAttributeRequest { /** - *

          The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

          + *

          The attribute to reset (currently you can only reset the launch permission attribute).

          */ - IpPermissions?: IpPermission[]; + Attribute: ResetImageAttributeName | string | undefined; /** - *

          The IP protocol name (tcp, udp, icmp) or number - * (see Protocol Numbers). - * Use -1 to specify all.

          + *

          The ID of the AMI.

          */ - IpProtocol?: string; + ImageId: string | undefined; /** - *

          [EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

          + *

          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.

          */ - SourceSecurityGroupName?: string; + DryRun?: boolean; +} +export namespace ResetImageAttributeRequest { /** - *

          [EC2-Classic] The Amazon Web Services account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

          + * @internal */ - SourceSecurityGroupOwnerId?: string; + export const filterSensitiveLog = (obj: ResetImageAttributeRequest): any => ({ + ...obj, + }); +} +export interface ResetInstanceAttributeRequest { /** - *

          The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, - * use -1 to specify all ICMP codes for the ICMP type.

          + *

          The attribute to reset.

          + * + *

          You can only reset the following attributes: kernel | + * ramdisk | sourceDestCheck. To change an instance + * attribute, use ModifyInstanceAttribute.

          + *
          */ - ToPort?: number; + Attribute: InstanceAttributeName | string | undefined; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -9799,66 +9676,76 @@ export interface RevokeSecurityGroupIngressRequest { DryRun?: boolean; /** - *

          The IDs of the security group rules.

          + *

          The ID of the instance.

          */ - SecurityGroupRuleIds?: string[]; + InstanceId: string | undefined; } -export namespace RevokeSecurityGroupIngressRequest { +export namespace ResetInstanceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressRequest): any => ({ + export const filterSensitiveLog = (obj: ResetInstanceAttributeRequest): any => ({ ...obj, }); } -export interface RevokeSecurityGroupIngressResult { +/** + *

          Contains the parameters for ResetNetworkInterfaceAttribute.

          + */ +export interface ResetNetworkInterfaceAttributeRequest { + /** + *

          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; + /** - *

          Returns true if the request succeeds; otherwise, returns an error.

          + *

          The ID of the network interface.

          */ - Return?: boolean; + NetworkInterfaceId: string | undefined; /** - *

          The inbound rules that were unknown to the service. In some cases, - * unknownIpPermissionSet might be in a different format from the request - * parameter.

          + *

          The source/destination checking attribute. Resets the value to true.

          */ - UnknownIpPermissions?: IpPermission[]; + SourceDestCheck?: string; } -export namespace RevokeSecurityGroupIngressResult { +export namespace ResetNetworkInterfaceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressResult): any => ({ + export const filterSensitiveLog = (obj: ResetNetworkInterfaceAttributeRequest): any => ({ ...obj, }); } -/** - *

          The CPU options for the instance. Both the core count and threads per core must be - * specified in the request.

          - */ -export interface CpuOptionsRequest { +export interface ResetSnapshotAttributeRequest { + /** + *

          The attribute to reset. Currently, only the attribute for permission to create volumes can + * be reset.

          + */ + Attribute: SnapshotAttributeName | string | undefined; + /** - *

          The number of CPU cores for the instance.

          + *

          The ID of the snapshot.

          */ - CoreCount?: number; + SnapshotId: string | undefined; /** - *

          The number of threads per CPU core. To disable multithreading for - * the instance, specify a value of 1. Otherwise, specify the default value of - * 2.

          + *

          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.

          */ - ThreadsPerCore?: number; + DryRun?: boolean; } -export namespace CpuOptionsRequest { +export namespace ResetSnapshotAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CpuOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ResetSnapshotAttributeRequest): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index ea066247c5cfd..4f239c5f091a0 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -1,6 +1,7 @@ import { _InstanceType, ByoipCidr, + ClientVpnAuthorizationRuleStatus, HostnameType, IamInstanceProfileSpecification, IpPermission, @@ -14,9 +15,11 @@ import { InstanceInterruptionBehavior, InstanceIpv6Address, LocalGatewayRoute, + ManagedPrefixList, MarketType, Placement, ShutdownBehavior, + SnapshotState, SpotInstanceType, } from "./models_1"; import { ClientVpnConnectionStatus, Filter, TransitGatewayRoute } from "./models_2"; @@ -30,7 +33,524 @@ import { NetworkInsightsAnalysis, } from "./models_3"; import { InstanceNetworkInterfaceSpecification, RunInstancesMonitoringEnabled } from "./models_4"; -import { CapacityReservationSpecification, CpuOptionsRequest, InstanceMonitoring } from "./models_5"; +import { CapacityReservationSpecification, InstanceMonitoring, Status } from "./models_5"; + +export interface RestoreAddressToClassicRequest { + /** + *

          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; + + /** + *

          The Elastic IP address.

          + */ + PublicIp: string | undefined; +} + +export namespace RestoreAddressToClassicRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RestoreAddressToClassicRequest): any => ({ + ...obj, + }); +} + +export interface RestoreAddressToClassicResult { + /** + *

          The Elastic IP address.

          + */ + PublicIp?: string; + + /** + *

          The move status for the IP address.

          + */ + Status?: Status | string; +} + +export namespace RestoreAddressToClassicResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RestoreAddressToClassicResult): any => ({ + ...obj, + }); +} + +export interface RestoreManagedPrefixListVersionRequest { + /** + *

          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; + + /** + *

          The ID of the prefix list.

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

          The version to restore.

          + */ + PreviousVersion: number | undefined; + + /** + *

          The current version number for the prefix list.

          + */ + CurrentVersion: number | undefined; +} + +export namespace RestoreManagedPrefixListVersionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RestoreManagedPrefixListVersionRequest): any => ({ + ...obj, + }); +} + +export interface RestoreManagedPrefixListVersionResult { + /** + *

          Information about the prefix list.

          + */ + PrefixList?: ManagedPrefixList; +} + +export namespace RestoreManagedPrefixListVersionResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RestoreManagedPrefixListVersionResult): any => ({ + ...obj, + }); +} + +export interface RestoreSnapshotFromRecycleBinRequest { + /** + *

          The ID of the snapshot to restore.

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

          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 RestoreSnapshotFromRecycleBinRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RestoreSnapshotFromRecycleBinRequest): any => ({ + ...obj, + }); +} + +export interface RestoreSnapshotFromRecycleBinResult { + /** + *

          The ID of the snapshot.

          + */ + SnapshotId?: string; + + /** + *

          The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the + * Amazon Elastic Compute Cloud User Guide.

          + */ + OutpostArn?: string; + + /** + *

          The description for the snapshot.

          + */ + Description?: string; + + /** + *

          Indicates whether the snapshot is encrypted.

          + */ + Encrypted?: boolean; + + /** + *

          The ID of the Amazon Web Services account that owns the EBS snapshot.

          + */ + OwnerId?: string; + + /** + *

          The progress of the snapshot, as a percentage.

          + */ + Progress?: string; + + /** + *

          The time stamp when the snapshot was initiated.

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

          The state of the snapshot.

          + */ + State?: SnapshotState | string; + + /** + *

          The ID of the volume that was used to create the snapshot.

          + */ + VolumeId?: string; + + /** + *

          The size of the volume, in GiB.

          + */ + VolumeSize?: number; +} + +export namespace RestoreSnapshotFromRecycleBinResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RestoreSnapshotFromRecycleBinResult): any => ({ + ...obj, + }); +} + +export interface RestoreSnapshotTierRequest { + /** + *

          The ID of the snapshot to restore.

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

          Specifies the number of days for which to temporarily restore an archived snapshot. + * Required for temporary restores only. The snapshot will be automatically re-archived + * after this period.

          + *

          To temporarily restore an archived snapshot, specify the number of days and omit + * the PermanentRestore parameter or set it to + * false.

          + */ + TemporaryRestoreDays?: number; + + /** + *

          Indicates whether to permanently restore an archived snapshot. To permanently restore + * an archived snapshot, specify true and omit the + * RestoreSnapshotTierRequest$TemporaryRestoreDays parameter.

          + */ + PermanentRestore?: boolean; + + /** + *

          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 RestoreSnapshotTierRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RestoreSnapshotTierRequest): any => ({ + ...obj, + }); +} + +export interface RestoreSnapshotTierResult { + /** + *

          The ID of the snapshot.

          + */ + SnapshotId?: string; + + /** + *

          The date and time when the snapshot restore process started.

          + */ + RestoreStartTime?: Date; + + /** + *

          For temporary restores only. The number of days for which the archived snapshot + * is temporarily restored.

          + */ + RestoreDuration?: number; + + /** + *

          Indicates whether the snapshot is permanently restored. true indicates a permanent + * restore. false indicates a temporary restore.

          + */ + IsPermanentRestore?: boolean; +} + +export namespace RestoreSnapshotTierResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RestoreSnapshotTierResult): any => ({ + ...obj, + }); +} + +export interface RevokeClientVpnIngressRequest { + /** + *

          The ID of the Client VPN endpoint with which the authorization rule is associated.

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

          The IPv4 address range, in CIDR notation, of the network for which access is being removed.

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

          The ID of the Active Directory group for which to revoke access.

          + */ + AccessGroupId?: string; + + /** + *

          Indicates whether access should be revoked for all clients.

          + */ + RevokeAllGroups?: boolean; + + /** + *

          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 RevokeClientVpnIngressRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RevokeClientVpnIngressRequest): any => ({ + ...obj, + }); +} + +export interface RevokeClientVpnIngressResult { + /** + *

          The current state of the authorization rule.

          + */ + Status?: ClientVpnAuthorizationRuleStatus; +} + +export namespace RevokeClientVpnIngressResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RevokeClientVpnIngressResult): any => ({ + ...obj, + }); +} + +export interface RevokeSecurityGroupEgressRequest { + /** + *

          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; + + /** + *

          The ID of the security group.

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

          The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

          + */ + IpPermissions?: IpPermission[]; + + /** + *

          The IDs of the security group rules.

          + */ + SecurityGroupRuleIds?: string[]; + + /** + *

          Not supported. Use a set of IP permissions to specify the CIDR.

          + */ + CidrIp?: string; + + /** + *

          Not supported. Use a set of IP permissions to specify the port.

          + */ + FromPort?: number; + + /** + *

          Not supported. Use a set of IP permissions to specify the protocol name or + * number.

          + */ + IpProtocol?: string; + + /** + *

          Not supported. Use a set of IP permissions to specify the port.

          + */ + ToPort?: number; + + /** + *

          Not supported. Use a set of IP permissions to specify a + * destination security group.

          + */ + SourceSecurityGroupName?: string; + + /** + *

          Not supported. Use a set of IP permissions to specify a destination security + * group.

          + */ + SourceSecurityGroupOwnerId?: string; +} + +export namespace RevokeSecurityGroupEgressRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressRequest): any => ({ + ...obj, + }); +} + +export interface RevokeSecurityGroupEgressResult { + /** + *

          Returns true if the request succeeds; otherwise, returns an error.

          + */ + Return?: boolean; + + /** + *

          The outbound rules that were unknown to the service. In some cases, + * unknownIpPermissionSet might be in a different format from the request + * parameter.

          + */ + UnknownIpPermissions?: IpPermission[]; +} + +export namespace RevokeSecurityGroupEgressResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RevokeSecurityGroupEgressResult): any => ({ + ...obj, + }); +} + +export interface RevokeSecurityGroupIngressRequest { + /** + *

          The CIDR IP address range. You can't specify this parameter when specifying a source security group.

          + */ + CidrIp?: string; + + /** + *

          The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, + * use -1 to specify all ICMP types.

          + */ + FromPort?: number; + + /** + *

          The ID of the security group. You must specify either the security group ID or the + * security group name in the request. For security groups in a nondefault VPC, you must + * specify the security group ID.

          + */ + GroupId?: string; + + /** + *

          [EC2-Classic, default VPC] The name of the security group. You must specify either the + * security group ID or the security group name in the request.

          + */ + GroupName?: string; + + /** + *

          The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

          + */ + IpPermissions?: IpPermission[]; + + /** + *

          The IP protocol name (tcp, udp, icmp) or number + * (see Protocol Numbers). + * Use -1 to specify all.

          + */ + IpProtocol?: string; + + /** + *

          [EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

          + */ + SourceSecurityGroupName?: string; + + /** + *

          [EC2-Classic] The Amazon Web Services account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

          + */ + SourceSecurityGroupOwnerId?: string; + + /** + *

          The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, + * use -1 to specify all ICMP codes for the ICMP type.

          + */ + ToPort?: number; + + /** + *

          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; + + /** + *

          The IDs of the security group rules.

          + */ + SecurityGroupRuleIds?: string[]; +} + +export namespace RevokeSecurityGroupIngressRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressRequest): any => ({ + ...obj, + }); +} + +export interface RevokeSecurityGroupIngressResult { + /** + *

          Returns true if the request succeeds; otherwise, returns an error.

          + */ + Return?: boolean; + + /** + *

          The inbound rules that were unknown to the service. In some cases, + * unknownIpPermissionSet might be in a different format from the request + * parameter.

          + */ + UnknownIpPermissions?: IpPermission[]; +} + +export namespace RevokeSecurityGroupIngressResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RevokeSecurityGroupIngressResult): any => ({ + ...obj, + }); +} + +/** + *

          The CPU options for the instance. Both the core count and threads per core must be + * specified in the request.

          + */ +export interface CpuOptionsRequest { + /** + *

          The number of CPU cores for the instance.

          + */ + CoreCount?: number; + + /** + *

          The number of threads per CPU core. To disable multithreading for + * the instance, specify a value of 1. Otherwise, specify the default value of + * 2.

          + */ + ThreadsPerCore?: number; +} + +export namespace CpuOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CpuOptionsRequest): any => ({ + ...obj, + }); +} /** *

          diff --git a/clients/client-ec2/src/pagination/DescribeFastLaunchImagesPaginator.ts b/clients/client-ec2/src/pagination/DescribeFastLaunchImagesPaginator.ts new file mode 100644 index 0000000000000..8039a61e06174 --- /dev/null +++ b/clients/client-ec2/src/pagination/DescribeFastLaunchImagesPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + DescribeFastLaunchImagesCommand, + DescribeFastLaunchImagesCommandInput, + DescribeFastLaunchImagesCommandOutput, +} from "../commands/DescribeFastLaunchImagesCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: DescribeFastLaunchImagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeFastLaunchImagesCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: DescribeFastLaunchImagesCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeFastLaunchImages(input, ...args); +}; +export async function* paginateDescribeFastLaunchImages( + config: EC2PaginationConfiguration, + input: DescribeFastLaunchImagesCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeFastLaunchImagesCommandOutput; + 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/src/pagination/index.ts b/clients/client-ec2/src/pagination/index.ts index 3e9cf79947bea..a5a0d59668781 100644 --- a/clients/client-ec2/src/pagination/index.ts +++ b/clients/client-ec2/src/pagination/index.ts @@ -14,6 +14,7 @@ export * from "./DescribeCoipPoolsPaginator"; export * from "./DescribeDhcpOptionsPaginator"; export * from "./DescribeEgressOnlyInternetGatewaysPaginator"; export * from "./DescribeExportImageTasksPaginator"; +export * from "./DescribeFastLaunchImagesPaginator"; export * from "./DescribeFastSnapshotRestoresPaginator"; export * from "./DescribeFleetsPaginator"; export * from "./DescribeFlowLogsPaginator"; diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index 198af71b73469..7e2502af99cda 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -690,6 +690,10 @@ import { DescribeExportTasksCommandInput, DescribeExportTasksCommandOutput, } from "../commands/DescribeExportTasksCommand"; +import { + DescribeFastLaunchImagesCommandInput, + DescribeFastLaunchImagesCommandOutput, +} from "../commands/DescribeFastLaunchImagesCommand"; import { DescribeFastSnapshotRestoresCommandInput, DescribeFastSnapshotRestoresCommandOutput, @@ -1086,6 +1090,7 @@ import { DisableEbsEncryptionByDefaultCommandInput, DisableEbsEncryptionByDefaultCommandOutput, } from "../commands/DisableEbsEncryptionByDefaultCommand"; +import { DisableFastLaunchCommandInput, DisableFastLaunchCommandOutput } from "../commands/DisableFastLaunchCommand"; import { DisableFastSnapshotRestoresCommandInput, DisableFastSnapshotRestoresCommandOutput, @@ -1166,6 +1171,7 @@ import { EnableEbsEncryptionByDefaultCommandInput, EnableEbsEncryptionByDefaultCommandOutput, } from "../commands/EnableEbsEncryptionByDefaultCommand"; +import { EnableFastLaunchCommandInput, EnableFastLaunchCommandOutput } from "../commands/EnableFastLaunchCommand"; import { EnableFastSnapshotRestoresCommandInput, EnableFastSnapshotRestoresCommandOutput, @@ -1869,6 +1875,7 @@ import { CertificateAuthenticationRequest, CidrBlock, ClientConnectOptions, + ClientLoginBannerOptions, ClientVpnAuthenticationRequest, ClientVpnAuthorizationRuleStatus, ClientVpnEndpointStatus, @@ -1928,7 +1935,6 @@ import { Ipv4PrefixSpecification, Ipv6CidrBlock, Ipv6Range, - LocalStorageType, NewDhcpConfiguration, PacketHeaderStatement, PacketHeaderStatementRequest, @@ -2150,6 +2156,7 @@ import { LaunchTemplateVersion, LocalGatewayRoute, LocalGatewayRouteTableVpcAssociation, + LocalStorageType, ManagedPrefixList, MemoryGiBPerVCpu, MemoryGiBPerVCpuRequest, @@ -2225,6 +2232,7 @@ import { CertificateAuthentication, ClassicLinkInstance, ClientConnectResponseOptions, + ClientLoginBannerResponseOptions, ClientVpnAuthentication, ClientVpnConnection, ClientVpnConnectionStatus, @@ -2434,8 +2442,6 @@ import { IdFormat, IKEVersionsListValue, IKEVersionsRequestListValue, - ImportInstanceTaskDetails, - ImportInstanceVolumeDetailItem, InstanceEventWindowStateChange, InstanceTagNotificationAttribute, IpamPoolCidr, @@ -2507,6 +2513,9 @@ import { DescribeExportImageTasksResult, DescribeExportTasksRequest, DescribeExportTasksResult, + DescribeFastLaunchImagesRequest, + DescribeFastLaunchImagesResult, + DescribeFastLaunchImagesSuccessItem, DescribeFastSnapshotRestoresRequest, DescribeFastSnapshotRestoresResult, DescribeFastSnapshotRestoreSuccessItem, @@ -2620,11 +2629,7 @@ import { DescribeRegionsResult, DescribeReplaceRootVolumeTasksRequest, DescribeReplaceRootVolumeTasksResult, - DescribeReservedInstancesListingsRequest, - DescribeReservedInstancesListingsResult, - DescribeReservedInstancesModificationsRequest, DescribeReservedInstancesRequest, - DescribeReservedInstancesResult, DestinationOptionsResponse, DiskInfo, EbsInfo, @@ -2640,6 +2645,8 @@ import { Explanation, ExportImageTask, ExportTaskS3Location, + FastLaunchLaunchTemplateSpecificationResponse, + FastLaunchSnapshotConfigurationResponse, FleetData, FleetLaunchTemplateConfig, FleetSpotCapacityRebalance, @@ -2665,6 +2672,8 @@ import { ImageAttribute, ImportImageLicenseConfigurationResponse, ImportImageTask, + ImportInstanceTaskDetails, + ImportInstanceVolumeDetailItem, ImportSnapshotTask, ImportVolumeTaskDetails, InferenceAcceleratorInfo, @@ -2718,11 +2727,8 @@ import { ProductCode, PublicIpv4Pool, PublicIpv4PoolRange, - RecurringCharge, Region, Reservation, - ReservedInstances, - ReservedInstancesConfiguration, RootDeviceType, SnapshotDetail, SnapshotTaskDetail, @@ -2744,9 +2750,13 @@ import { ClientCertificateRevocationListStatus, CoipAddressUsage, CreateVolumePermission, + DescribeReservedInstancesListingsRequest, + DescribeReservedInstancesListingsResult, + DescribeReservedInstancesModificationsRequest, DescribeReservedInstancesModificationsResult, DescribeReservedInstancesOfferingsRequest, DescribeReservedInstancesOfferingsResult, + DescribeReservedInstancesResult, DescribeRouteTablesRequest, DescribeRouteTablesResult, DescribeScheduledInstanceAvailabilityRequest, @@ -2851,6 +2861,8 @@ import { DetachVpnGatewayRequest, DisableEbsEncryptionByDefaultRequest, DisableEbsEncryptionByDefaultResult, + DisableFastLaunchRequest, + DisableFastLaunchResult, DisableFastSnapshotRestoreErrorItem, DisableFastSnapshotRestoresRequest, DisableFastSnapshotRestoresResult, @@ -2892,6 +2904,8 @@ import { DisassociateVpcCidrBlockResult, EnableEbsEncryptionByDefaultRequest, EnableEbsEncryptionByDefaultResult, + EnableFastLaunchRequest, + EnableFastLaunchResult, EnableFastSnapshotRestoreErrorItem, EnableFastSnapshotRestoresRequest, EnableFastSnapshotRestoresResult, @@ -2921,6 +2935,8 @@ import { ExportTaskS3LocationRequest, ExportTransitGatewayRoutesRequest, ExportTransitGatewayRoutesResult, + FastLaunchLaunchTemplateSpecificationRequest, + FastLaunchSnapshotConfigurationRequest, GetAssociatedEnclaveCertificateIamRolesRequest, GetAssociatedEnclaveCertificateIamRolesResult, GetAssociatedIpv6PoolCidrsRequest, @@ -2946,22 +2962,12 @@ import { GetHostReservationPurchasePreviewRequest, GetHostReservationPurchasePreviewResult, GetInstanceTypesFromInstanceRequirementsRequest, - GetInstanceTypesFromInstanceRequirementsResult, - GetIpamAddressHistoryRequest, - GetIpamAddressHistoryResult, - GetIpamPoolAllocationsRequest, - GetIpamPoolAllocationsResult, - GetIpamPoolCidrsRequest, - GetIpamPoolCidrsResult, - GetIpamResourceCidrsRequest, HistoryRecord, InstanceEventWindowDisassociationRequest, InstanceFamilyCreditSpecification, InstanceNetworkInterfaceSpecification, - InstanceTypeInfoFromInstanceRequirements, InstanceUsage, IntegrateServices, - IpamAddressHistoryRecord, Ipv6CidrAssociation, LaunchSpecification, LaunchTemplateConfig, @@ -2970,6 +2976,9 @@ import { PricingDetail, PrivateDnsDetails, Purchase, + RecurringCharge, + ReservedInstances, + ReservedInstancesConfiguration, ReservedInstancesId, ReservedInstancesModification, ReservedInstancesModificationResult, @@ -3020,12 +3029,19 @@ import { CapacityReservationSpecification, CidrAuthorizationContext, ClientData, - CpuOptionsRequest, CreateVolumePermissionModifications, DiskImage, DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + GetInstanceTypesFromInstanceRequirementsResult, + GetIpamAddressHistoryRequest, + GetIpamAddressHistoryResult, + GetIpamPoolAllocationsRequest, + GetIpamPoolAllocationsResult, + GetIpamPoolCidrsRequest, + GetIpamPoolCidrsResult, + GetIpamResourceCidrsRequest, GetIpamResourceCidrsResult, GetLaunchTemplateDataRequest, GetLaunchTemplateDataResult, @@ -3080,6 +3096,8 @@ import { InstanceCreditSpecificationRequest, InstanceMonitoring, InstanceRequirementsWithMetadataRequest, + InstanceTypeInfoFromInstanceRequirements, + IpamAddressHistoryRecord, IpamCidrAuthorizationContext, IpamResourceCidr, LaunchPermissionModifications, @@ -3270,20 +3288,6 @@ import { ResetInstanceAttributeRequest, ResetNetworkInterfaceAttributeRequest, ResetSnapshotAttributeRequest, - RestoreAddressToClassicRequest, - RestoreAddressToClassicResult, - RestoreManagedPrefixListVersionRequest, - RestoreManagedPrefixListVersionResult, - RestoreSnapshotFromRecycleBinRequest, - RestoreSnapshotFromRecycleBinResult, - RestoreSnapshotTierRequest, - RestoreSnapshotTierResult, - RevokeClientVpnIngressRequest, - RevokeClientVpnIngressResult, - RevokeSecurityGroupEgressRequest, - RevokeSecurityGroupEgressResult, - RevokeSecurityGroupIngressRequest, - RevokeSecurityGroupIngressResult, SecurityGroupRuleRequest, SecurityGroupRuleUpdate, SnapshotDiskContainer, @@ -3308,6 +3312,7 @@ import { VpnConnectionDeviceType, } from "../models/models_5"; import { + CpuOptionsRequest, ElasticInferenceAccelerator, EnclaveOptionsRequest, HibernationOptionsRequest, @@ -3317,6 +3322,20 @@ import { LaunchTemplateSpecification, LicenseConfigurationRequest, PrivateDnsNameOptionsRequest, + RestoreAddressToClassicRequest, + RestoreAddressToClassicResult, + RestoreManagedPrefixListVersionRequest, + RestoreManagedPrefixListVersionResult, + RestoreSnapshotFromRecycleBinRequest, + RestoreSnapshotFromRecycleBinResult, + RestoreSnapshotTierRequest, + RestoreSnapshotTierResult, + RevokeClientVpnIngressRequest, + RevokeClientVpnIngressResult, + RevokeSecurityGroupEgressRequest, + RevokeSecurityGroupEgressResult, + RevokeSecurityGroupIngressRequest, + RevokeSecurityGroupIngressResult, RunInstancesRequest, RunScheduledInstancesRequest, RunScheduledInstancesResult, @@ -6727,6 +6746,22 @@ export const serializeAws_ec2DescribeExportTasksCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DescribeFastLaunchImagesCommand = async ( + input: DescribeFastLaunchImagesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DescribeFastLaunchImagesRequest(input, context), + Action: "DescribeFastLaunchImages", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DescribeFastSnapshotRestoresCommand = async ( input: DescribeFastSnapshotRestoresCommandInput, context: __SerdeContext @@ -8551,6 +8586,22 @@ export const serializeAws_ec2DisableEbsEncryptionByDefaultCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2DisableFastLaunchCommand = async ( + input: DisableFastLaunchCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2DisableFastLaunchRequest(input, context), + Action: "DisableFastLaunch", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2DisableFastSnapshotRestoresCommand = async ( input: DisableFastSnapshotRestoresCommandInput, context: __SerdeContext @@ -8871,6 +8922,22 @@ export const serializeAws_ec2EnableEbsEncryptionByDefaultCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2EnableFastLaunchCommand = async ( + input: EnableFastLaunchCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2EnableFastLaunchRequest(input, context), + Action: "EnableFastLaunch", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2EnableFastSnapshotRestoresCommand = async ( input: EnableFastSnapshotRestoresCommandInput, context: __SerdeContext @@ -21199,6 +21266,52 @@ const deserializeAws_ec2DescribeExportTasksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2DescribeFastLaunchImagesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DescribeFastLaunchImagesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DescribeFastLaunchImagesResult(data, context); + const response: DescribeFastLaunchImagesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DescribeFastLaunchImagesCommandError = 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 = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2DescribeFastSnapshotRestoresCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -26437,6 +26550,52 @@ const deserializeAws_ec2DisableEbsEncryptionByDefaultCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2DisableFastLaunchCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2DisableFastLaunchCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2DisableFastLaunchResult(data, context); + const response: DisableFastLaunchCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2DisableFastLaunchCommandError = 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 = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2DisableFastSnapshotRestoresCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -27348,6 +27507,52 @@ const deserializeAws_ec2EnableEbsEncryptionByDefaultCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_ec2EnableFastLaunchCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2EnableFastLaunchCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2EnableFastLaunchResult(data, context); + const response: EnableFastLaunchCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2EnableFastLaunchCommandError = 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 = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.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_ec2EnableFastSnapshotRestoresCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -36746,6 +36951,17 @@ const serializeAws_ec2ClientData = (input: ClientData, context: __SerdeContext): return entries; }; +const serializeAws_ec2ClientLoginBannerOptions = (input: ClientLoginBannerOptions, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Enabled !== undefined && input.Enabled !== null) { + entries["Enabled"] = input.Enabled; + } + if (input.BannerText !== undefined && input.BannerText !== null) { + entries["BannerText"] = input.BannerText; + } + return entries; +}; + const serializeAws_ec2ClientVpnAuthenticationRequest = ( input: ClientVpnAuthenticationRequest, context: __SerdeContext @@ -37227,6 +37443,16 @@ const serializeAws_ec2CreateClientVpnEndpointRequest = ( entries[loc] = value; }); } + if (input.SessionTimeoutHours !== undefined && input.SessionTimeoutHours !== null) { + entries["SessionTimeoutHours"] = input.SessionTimeoutHours; + } + if (input.ClientLoginBannerOptions !== undefined && input.ClientLoginBannerOptions !== null) { + const memberEntries = serializeAws_ec2ClientLoginBannerOptions(input.ClientLoginBannerOptions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ClientLoginBannerOptions.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -41203,6 +41429,37 @@ const serializeAws_ec2DescribeExportTasksRequest = ( return entries; }; +const serializeAws_ec2DescribeFastLaunchImagesRequest = ( + input: DescribeFastLaunchImagesRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.ImageIds !== undefined && input.ImageIds !== null) { + const memberEntries = serializeAws_ec2FastLaunchImageIdList(input.ImageIds, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ImageId.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.Filters !== undefined && input.Filters !== null) { + const memberEntries = serializeAws_ec2FilterList(input.Filters, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.MaxResults !== undefined && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + return entries; +}; + const serializeAws_ec2DescribeFastSnapshotRestoresRequest = ( input: DescribeFastSnapshotRestoresRequest, context: __SerdeContext @@ -44494,6 +44751,20 @@ const serializeAws_ec2DisableEbsEncryptionByDefaultRequest = ( return entries; }; +const serializeAws_ec2DisableFastLaunchRequest = (input: DisableFastLaunchRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.ImageId !== undefined && input.ImageId !== null) { + entries["ImageId"] = input.ImageId; + } + if (input.Force !== undefined && input.Force !== null) { + entries["Force"] = input.Force; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + return entries; +}; + const serializeAws_ec2DisableFastSnapshotRestoresRequest = ( input: DisableFastSnapshotRestoresRequest, context: __SerdeContext @@ -45026,6 +45297,37 @@ const serializeAws_ec2EnableEbsEncryptionByDefaultRequest = ( return entries; }; +const serializeAws_ec2EnableFastLaunchRequest = (input: EnableFastLaunchRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.ImageId !== undefined && input.ImageId !== null) { + entries["ImageId"] = input.ImageId; + } + if (input.ResourceType !== undefined && input.ResourceType !== null) { + entries["ResourceType"] = input.ResourceType; + } + if (input.SnapshotConfiguration !== undefined && input.SnapshotConfiguration !== null) { + const memberEntries = serializeAws_ec2FastLaunchSnapshotConfigurationRequest(input.SnapshotConfiguration, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SnapshotConfiguration.${key}`; + entries[loc] = value; + }); + } + if (input.LaunchTemplate !== undefined && input.LaunchTemplate !== null) { + const memberEntries = serializeAws_ec2FastLaunchLaunchTemplateSpecificationRequest(input.LaunchTemplate, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LaunchTemplate.${key}`; + entries[loc] = value; + }); + } + if (input.MaxParallelLaunches !== undefined && input.MaxParallelLaunches !== null) { + entries["MaxParallelLaunches"] = input.MaxParallelLaunches; + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + return entries; +}; + const serializeAws_ec2EnableFastSnapshotRestoresRequest = ( input: EnableFastSnapshotRestoresRequest, context: __SerdeContext @@ -45349,6 +45651,47 @@ const serializeAws_ec2ExportTransitGatewayRoutesRequest = ( return entries; }; +const serializeAws_ec2FastLaunchImageIdList = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`ImageId.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_ec2FastLaunchLaunchTemplateSpecificationRequest = ( + input: FastLaunchLaunchTemplateSpecificationRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.LaunchTemplateId !== undefined && input.LaunchTemplateId !== null) { + entries["LaunchTemplateId"] = input.LaunchTemplateId; + } + if (input.LaunchTemplateName !== undefined && input.LaunchTemplateName !== null) { + entries["LaunchTemplateName"] = input.LaunchTemplateName; + } + if (input.Version !== undefined && input.Version !== null) { + entries["Version"] = input.Version; + } + return entries; +}; + +const serializeAws_ec2FastLaunchSnapshotConfigurationRequest = ( + input: FastLaunchSnapshotConfigurationRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.TargetResourceCount !== undefined && input.TargetResourceCount !== null) { + entries["TargetResourceCount"] = input.TargetResourceCount; + } + return entries; +}; + const serializeAws_ec2FederatedAuthenticationRequest = ( input: FederatedAuthenticationRequest, context: __SerdeContext @@ -49052,6 +49395,16 @@ const serializeAws_ec2ModifyClientVpnEndpointRequest = ( entries[loc] = value; }); } + if (input.SessionTimeoutHours !== undefined && input.SessionTimeoutHours !== null) { + entries["SessionTimeoutHours"] = input.SessionTimeoutHours; + } + if (input.ClientLoginBannerOptions !== undefined && input.ClientLoginBannerOptions !== null) { + const memberEntries = serializeAws_ec2ClientLoginBannerOptions(input.ClientLoginBannerOptions, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ClientLoginBannerOptions.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -58422,6 +58775,23 @@ const deserializeAws_ec2ClientConnectResponseOptions = ( return contents; }; +const deserializeAws_ec2ClientLoginBannerResponseOptions = ( + output: any, + context: __SerdeContext +): ClientLoginBannerResponseOptions => { + const contents: any = { + Enabled: undefined, + BannerText: undefined, + }; + if (output["enabled"] !== undefined) { + contents.Enabled = __parseBoolean(output["enabled"]); + } + if (output["bannerText"] !== undefined) { + contents.BannerText = __expectString(output["bannerText"]); + } + return contents; +}; + const deserializeAws_ec2ClientVpnAuthentication = (output: any, context: __SerdeContext): ClientVpnAuthentication => { const contents: any = { Type: undefined, @@ -58603,6 +58973,8 @@ const deserializeAws_ec2ClientVpnEndpoint = (output: any, context: __SerdeContex VpcId: undefined, SelfServicePortalUrl: undefined, ClientConnectOptions: undefined, + SessionTimeoutHours: undefined, + ClientLoginBannerOptions: undefined, }; if (output["clientVpnEndpointId"] !== undefined) { contents.ClientVpnEndpointId = __expectString(output["clientVpnEndpointId"]); @@ -58700,6 +59072,15 @@ const deserializeAws_ec2ClientVpnEndpoint = (output: any, context: __SerdeContex context ); } + if (output["sessionTimeoutHours"] !== undefined) { + contents.SessionTimeoutHours = __strictParseInt32(output["sessionTimeoutHours"]) as number; + } + if (output["clientLoginBannerOptions"] !== undefined) { + contents.ClientLoginBannerOptions = deserializeAws_ec2ClientLoginBannerResponseOptions( + output["clientLoginBannerOptions"], + context + ); + } return contents; }; @@ -61689,6 +62070,94 @@ const deserializeAws_ec2DescribeExportTasksResult = ( return contents; }; +const deserializeAws_ec2DescribeFastLaunchImagesResult = ( + output: any, + context: __SerdeContext +): DescribeFastLaunchImagesResult => { + const contents: any = { + FastLaunchImages: undefined, + NextToken: undefined, + }; + if (output.fastLaunchImageSet === "") { + contents.FastLaunchImages = []; + } + if (output["fastLaunchImageSet"] !== undefined && output["fastLaunchImageSet"]["item"] !== undefined) { + contents.FastLaunchImages = deserializeAws_ec2DescribeFastLaunchImagesSuccessSet( + __getArrayIfSingleItem(output["fastLaunchImageSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + +const deserializeAws_ec2DescribeFastLaunchImagesSuccessItem = ( + output: any, + context: __SerdeContext +): DescribeFastLaunchImagesSuccessItem => { + const contents: any = { + ImageId: undefined, + ResourceType: undefined, + SnapshotConfiguration: undefined, + LaunchTemplate: undefined, + MaxParallelLaunches: undefined, + OwnerId: undefined, + State: undefined, + StateTransitionReason: undefined, + StateTransitionTime: undefined, + }; + if (output["imageId"] !== undefined) { + contents.ImageId = __expectString(output["imageId"]); + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = __expectString(output["resourceType"]); + } + if (output["snapshotConfiguration"] !== undefined) { + contents.SnapshotConfiguration = deserializeAws_ec2FastLaunchSnapshotConfigurationResponse( + output["snapshotConfiguration"], + context + ); + } + if (output["launchTemplate"] !== undefined) { + contents.LaunchTemplate = deserializeAws_ec2FastLaunchLaunchTemplateSpecificationResponse( + output["launchTemplate"], + context + ); + } + if (output["maxParallelLaunches"] !== undefined) { + contents.MaxParallelLaunches = __strictParseInt32(output["maxParallelLaunches"]) as number; + } + if (output["ownerId"] !== undefined) { + contents.OwnerId = __expectString(output["ownerId"]); + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + if (output["stateTransitionReason"] !== undefined) { + contents.StateTransitionReason = __expectString(output["stateTransitionReason"]); + } + if (output["stateTransitionTime"] !== undefined) { + contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"])); + } + return contents; +}; + +const deserializeAws_ec2DescribeFastLaunchImagesSuccessSet = ( + output: any, + context: __SerdeContext +): DescribeFastLaunchImagesSuccessItem[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2DescribeFastLaunchImagesSuccessItem(entry, context); + }); +}; + const deserializeAws_ec2DescribeFastSnapshotRestoresResult = ( output: any, context: __SerdeContext @@ -64367,6 +64836,54 @@ const deserializeAws_ec2DisableEbsEncryptionByDefaultResult = ( return contents; }; +const deserializeAws_ec2DisableFastLaunchResult = (output: any, context: __SerdeContext): DisableFastLaunchResult => { + const contents: any = { + ImageId: undefined, + ResourceType: undefined, + SnapshotConfiguration: undefined, + LaunchTemplate: undefined, + MaxParallelLaunches: undefined, + OwnerId: undefined, + State: undefined, + StateTransitionReason: undefined, + StateTransitionTime: undefined, + }; + if (output["imageId"] !== undefined) { + contents.ImageId = __expectString(output["imageId"]); + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = __expectString(output["resourceType"]); + } + if (output["snapshotConfiguration"] !== undefined) { + contents.SnapshotConfiguration = deserializeAws_ec2FastLaunchSnapshotConfigurationResponse( + output["snapshotConfiguration"], + context + ); + } + if (output["launchTemplate"] !== undefined) { + contents.LaunchTemplate = deserializeAws_ec2FastLaunchLaunchTemplateSpecificationResponse( + output["launchTemplate"], + context + ); + } + if (output["maxParallelLaunches"] !== undefined) { + contents.MaxParallelLaunches = __strictParseInt32(output["maxParallelLaunches"]) as number; + } + if (output["ownerId"] !== undefined) { + contents.OwnerId = __expectString(output["ownerId"]); + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + if (output["stateTransitionReason"] !== undefined) { + contents.StateTransitionReason = __expectString(output["stateTransitionReason"]); + } + if (output["stateTransitionTime"] !== undefined) { + contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"])); + } + return contents; +}; + const deserializeAws_ec2DisableFastSnapshotRestoreErrorItem = ( output: any, context: __SerdeContext @@ -65217,6 +65734,54 @@ const deserializeAws_ec2EnableEbsEncryptionByDefaultResult = ( return contents; }; +const deserializeAws_ec2EnableFastLaunchResult = (output: any, context: __SerdeContext): EnableFastLaunchResult => { + const contents: any = { + ImageId: undefined, + ResourceType: undefined, + SnapshotConfiguration: undefined, + LaunchTemplate: undefined, + MaxParallelLaunches: undefined, + OwnerId: undefined, + State: undefined, + StateTransitionReason: undefined, + StateTransitionTime: undefined, + }; + if (output["imageId"] !== undefined) { + contents.ImageId = __expectString(output["imageId"]); + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = __expectString(output["resourceType"]); + } + if (output["snapshotConfiguration"] !== undefined) { + contents.SnapshotConfiguration = deserializeAws_ec2FastLaunchSnapshotConfigurationResponse( + output["snapshotConfiguration"], + context + ); + } + if (output["launchTemplate"] !== undefined) { + contents.LaunchTemplate = deserializeAws_ec2FastLaunchLaunchTemplateSpecificationResponse( + output["launchTemplate"], + context + ); + } + if (output["maxParallelLaunches"] !== undefined) { + contents.MaxParallelLaunches = __strictParseInt32(output["maxParallelLaunches"]) as number; + } + if (output["ownerId"] !== undefined) { + contents.OwnerId = __expectString(output["ownerId"]); + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + if (output["stateTransitionReason"] !== undefined) { + contents.StateTransitionReason = __expectString(output["stateTransitionReason"]); + } + if (output["stateTransitionTime"] !== undefined) { + contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"])); + } + return contents; +}; + const deserializeAws_ec2EnableFastSnapshotRestoreErrorItem = ( output: any, context: __SerdeContext @@ -66072,6 +66637,40 @@ const deserializeAws_ec2FailedQueuedPurchaseDeletionSet = ( }); }; +const deserializeAws_ec2FastLaunchLaunchTemplateSpecificationResponse = ( + output: any, + context: __SerdeContext +): FastLaunchLaunchTemplateSpecificationResponse => { + const contents: any = { + LaunchTemplateId: undefined, + LaunchTemplateName: undefined, + Version: undefined, + }; + if (output["launchTemplateId"] !== undefined) { + contents.LaunchTemplateId = __expectString(output["launchTemplateId"]); + } + if (output["launchTemplateName"] !== undefined) { + contents.LaunchTemplateName = __expectString(output["launchTemplateName"]); + } + if (output["version"] !== undefined) { + contents.Version = __expectString(output["version"]); + } + return contents; +}; + +const deserializeAws_ec2FastLaunchSnapshotConfigurationResponse = ( + output: any, + context: __SerdeContext +): FastLaunchSnapshotConfigurationResponse => { + const contents: any = { + TargetResourceCount: undefined, + }; + if (output["targetResourceCount"] !== undefined) { + contents.TargetResourceCount = __strictParseInt32(output["targetResourceCount"]) as number; + } + return contents; +}; + const deserializeAws_ec2FederatedAuthentication = (output: any, context: __SerdeContext): FederatedAuthentication => { const contents: any = { SamlProviderArn: undefined, diff --git a/clients/client-elasticache/src/ElastiCache.ts b/clients/client-elasticache/src/ElastiCache.ts index 052d6394cfd2c..035ab57f20901 100644 --- a/clients/client-elasticache/src/ElastiCache.ts +++ b/clients/client-elasticache/src/ElastiCache.ts @@ -2548,7 +2548,7 @@ export class ElastiCache extends ElastiCacheClient { * Rebooting is not supported on Redis (cluster mode enabled) clusters.

          * *

          If you make changes to parameters that require a Redis (cluster mode enabled) cluster reboot for the changes to be applied, - * see Rebooting a Cluster for an alternate process.

          + * see Rebooting a Cluster for an alternate process.

          */ public rebootCacheCluster( args: RebootCacheClusterCommandInput, diff --git a/clients/client-elasticache/src/commands/RebootCacheClusterCommand.ts b/clients/client-elasticache/src/commands/RebootCacheClusterCommand.ts index f871578444ac0..a35153c28d713 100644 --- a/clients/client-elasticache/src/commands/RebootCacheClusterCommand.ts +++ b/clients/client-elasticache/src/commands/RebootCacheClusterCommand.ts @@ -34,7 +34,7 @@ export interface RebootCacheClusterCommandOutput extends RebootCacheClusterResul * Rebooting is not supported on Redis (cluster mode enabled) clusters.

          * *

          If you make changes to parameters that require a Redis (cluster mode enabled) cluster reboot for the changes to be applied, - * see Rebooting a Cluster for an alternate process.

          + * see Rebooting a Cluster for an alternate process.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-elasticache/src/models/models_0.ts b/clients/client-elasticache/src/models/models_0.ts index 6cac4fdb3f03a..6adeeb124e81b 100644 --- a/clients/client-elasticache/src/models/models_0.ts +++ b/clients/client-elasticache/src/models/models_0.ts @@ -724,6 +724,7 @@ export enum LogFormat { } export enum LogType { + ENGINE_LOG = "engine-log", SLOW_LOG = "slow-log", } @@ -740,7 +741,7 @@ export enum LogDeliveryConfigurationStatus { */ export interface LogDeliveryConfiguration { /** - *

          Refers to slow-log.

          + *

          Refers to slow-log or engine-log.

          */ LogType?: LogType | string; @@ -893,7 +894,7 @@ export enum PendingAutomaticFailoverStatus { */ export interface PendingLogDeliveryConfiguration { /** - *

          Refers to slow-log.

          + *

          Refers to slow-log or engine-log..

          */ LogType?: LogType | string; @@ -1499,7 +1500,7 @@ export interface Snapshot { *

          * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward):

          + * T4g node types (available only for Redis engine version 6.0 onward and Memcached engine version 1.5.16 onward):

          * * *

          @@ -1961,7 +1962,7 @@ export enum AZMode { */ export interface LogDeliveryConfigurationRequest { /** - *

          Refers to slow-log.

          + *

          Refers to slow-log or engine-log..

          */ LogType?: LogType | string; @@ -2130,7 +2131,7 @@ export interface CreateCacheClusterMessage { *

          * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): + * T4g node types (available only for Redis engine version 6.0 onward and Memcached engine version 1.5.16 onward): * cache.t4g.micro, * cache.t4g.small, * cache.t4g.medium @@ -2572,7 +2573,7 @@ export namespace CreateCacheClusterMessage { *

          * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): + * T4g node types (available only for Redis engine version 6.0 onward and for Memcached engine version 1.5.16 onward): * cache.t4g.micro, * cache.t4g.small, * cache.t4g.medium @@ -3062,7 +3063,7 @@ export interface CacheCluster { * * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): + * T4g node types (available only for Redis engine version 6.0 onward and for Memcached engine version 1.5.16 onward): * cache.t4g.micro, * cache.t4g.small, * cache.t4g.medium @@ -4407,7 +4408,7 @@ export interface CreateReplicationGroupMessage { * * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): + * T4g node types (available only for Redis engine version 6.0 onward and Memcached engine version 1.5.16 onward): * cache.t4g.micro, * cache.t4g.small, * cache.t4g.medium @@ -6896,7 +6897,7 @@ export interface DescribeReservedCacheNodesMessage { *

          * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): + * T4g node types (available only for Redis engine version 6.0 onward and for Memcached engine version 1.5.16 onward): * cache.t4g.micro, * cache.t4g.small, * cache.t4g.medium @@ -7247,7 +7248,7 @@ export interface ReservedCacheNode { *

          * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): + * T4g node types (available only for Redis engine version 6.0 onward and Memcached engine version 1.5.16 onward): * cache.t4g.micro, * cache.t4g.small, * cache.t4g.medium @@ -7608,7 +7609,7 @@ export interface DescribeReservedCacheNodesOfferingsMessage { *

          * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): + * T4g node types (available only for Redis engine version 6.0 onward and for Memcached engine version 1.5.16 onward): * cache.t4g.micro, * cache.t4g.small, * cache.t4g.medium @@ -7932,7 +7933,7 @@ export interface ReservedCacheNodesOffering { *

          * *

          - * T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): + * T4g node types (available only for Redis engine version 6.0 onward and Memcached engine version 1.5.16 onward): * cache.t4g.micro, * cache.t4g.small, * cache.t4g.medium diff --git a/clients/client-finspace-data/src/models/models_0.ts b/clients/client-finspace-data/src/models/models_0.ts index bed3cd465e4cf..c8802446a82dc 100644 --- a/clients/client-finspace-data/src/models/models_0.ts +++ b/clients/client-finspace-data/src/models/models_0.ts @@ -29,7 +29,7 @@ export enum ChangeType { */ export interface CreateChangesetRequest { /** - *

          A token used to ensure idempotency.

          + *

          A token that ensures idempotency. This token expires in 10 minutes.

          */ clientToken?: string; @@ -61,7 +61,19 @@ export interface CreateChangesetRequest { changeType: ChangeType | string | undefined; /** - *

          Options that define the location of the data being ingested.

          + *

          Options that define the location of the data being ingested (s3SourcePath) and the source of the changeset (sourceType).

          + *

          Both s3SourcePath and sourceType are required attributes.

          + *

          Here is an example of how you could specify the sourceParams:

          + *

          + * + * "sourceParams": + * { + * "s3SourcePath": "s3://finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d/scratch/wr5hh8pwkpqqkxa4sxrmcw/ingestion/equity.csv", + * "sourceType": "S3" + * } + * + *

          + *

          The S3 path that you specify must allow the FinSpace role access. To do that, you first need to configure the IAM policy on S3 bucket. For more information, see Loading data from an Amazon S3 Bucket using the FinSpace APIsection.

          */ sourceParams: { [key: string]: string } | undefined; @@ -90,11 +102,9 @@ export interface CreateChangesetRequest { * *
        * + *

        Here is an example of how you could specify the formatParams:

        *

        - * - * For example, you could specify the following for formatParams: - * - * + * * "formatParams": * { * "formatType": "CSV", @@ -102,8 +112,18 @@ export interface CreateChangesetRequest { * "separator": ",", * "compression":"None" * } - * + * + *

        + *

        Note that if you only provide formatType as CSV, the rest of the attributes will automatically default to CSV values as following:

        + *

        + * + * { + * "withHeader": "true", + * "separator": "," + * } + * *

        + *

        For more information about supported file formats, see Supported Data Types and File Formats in the FinSpace User Guide.

        */ formatParams: { [key: string]: string } | undefined; } @@ -221,7 +241,43 @@ export namespace DatasetOwnerInfo { } /** - *

        Resource permission for a Dataset.

        + *

        Resource permission for a dataset. When you create a dataset, all the other members of the same user group inherit access to the dataset. You can only create a dataset if your user group has application permission for Create Datasets.

        + *

        The following is a list of valid dataset permissions that you can apply: + * + *

        + *
          + *
        • + *

          + * ViewDatasetDetails + *

          + *
        • + *
        • + *

          + * ReadDatasetDetails + *

          + *
        • + *
        • + *

          + * AddDatasetData + *

          + *
        • + *
        • + *

          + * CreateSnapshot + *

          + *
        • + *
        • + *

          + * EditDatasetMetadata + *

          + *
        • + *
        • + *

          + * DeleteDataset + *

          + *
        • + *
        + *

        For more information on the ataset permissions, see Supported Dataset Permissions in the FinSpace User Guide.

        */ export interface ResourcePermission { /** @@ -241,6 +297,20 @@ export namespace ResourcePermission { /** *

        Permission group parameters for Dataset permissions.

        + *

        Here is an example of how you could specify the PermissionGroupParams:

        + *

        + * + * { + * "permissionGroupId": "0r6fCRtSTUk4XPfXQe3M0g", + * "datasetPermissions": [ + * {"permission": "ViewDatasetDetails"}, + * {"permission": "AddDatasetData"}, + * {"permission": "EditDatasetMetadata"}, + * {"permission": "DeleteDataset"} + * ] + * } + * + *

        */ export interface PermissionGroupParams { /** @@ -383,7 +453,7 @@ export namespace SchemaUnion { */ export interface CreateDatasetRequest { /** - *

        A token used to ensure idempotency.

        + *

        A token that ensures idempotency. This token expires in 10 minutes.

        */ clientToken?: string; @@ -477,15 +547,42 @@ export interface DataViewDestinationTypeParams { *

        * GLUE_TABLE - Glue table destination type.

        * + *
      • + *

        + * S3 - S3 destination type.

        + *
      • *
      */ destinationType: string | undefined; /** - * Data View Export File Format + *

      Data view export file format.

      + *
        + *
      • + *

        + * PARQUET - Parquet export file format.

        + *
      • + *
      • + *

        + * DELIMITED_TEXT - Delimited text export file format.

        + *
      • + *
      */ s3DestinationExportFileFormat?: ExportFileFormat | string; + /** + *

      Format Options for S3 Destination type.

      + *

      Here is an example of how you could specify the s3DestinationExportFileFormatOptions + *

      + *

      + * + * { + * "header": "true", + * "delimiter": ",", + * "compression": "gzip" + * } + *

      + */ s3DestinationExportFileFormatOptions?: { [key: string]: string }; } @@ -503,7 +600,7 @@ export namespace DataViewDestinationTypeParams { */ export interface CreateDataViewRequest { /** - *

      A token used to ensure idempotency.

      + *

      A token that ensures idempotency. This token expires in 10 minutes.

      */ clientToken?: string; @@ -576,7 +673,7 @@ export namespace CreateDataViewResponse { */ export interface DeleteDatasetRequest { /** - *

      A token used to ensure idempotency.

      + *

      A token that ensures idempotency. This token expires in 10 minutes.

      */ clientToken?: string; @@ -789,7 +886,7 @@ export interface GetChangesetResponse { activeUntilTimestamp?: number; /** - * Milliseconds since UTC epoch + *

      Beginning time from which the Changeset is active. The value is determined as Epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      */ activeFromTimestamp?: number; @@ -1396,7 +1493,7 @@ export interface ChangesetSummary { activeUntilTimestamp?: number; /** - * Milliseconds since UTC epoch + *

      Beginning time from which the Changeset is active. The value is determined as Epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      */ activeFromTimestamp?: number; @@ -1729,7 +1826,7 @@ export namespace ListDataViewsResponse { */ export interface UpdateChangesetRequest { /** - *

      A token used to ensure idempotency.

      + *

      A token that ensures idempotency. This token expires in 10 minutes.

      */ clientToken?: string; @@ -1744,12 +1841,69 @@ export interface UpdateChangesetRequest { changesetId: string | undefined; /** - *

      Options that define the location of the data being ingested.

      + *

      Options that define the location of the data being ingested (s3SourcePath) and the source of the changeset (sourceType).

      + *

      Both s3SourcePath and sourceType are required attributes.

      + *

      Here is an example of how you could specify the sourceParams:

      + *

      + * + * "sourceParams": + * { + * "s3SourcePath": "s3://finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d/scratch/wr5hh8pwkpqqkxa4sxrmcw/ingestion/equity.csv", + * "sourceType": "S3" + * } + * + *

      + *

      The S3 path that you specify must allow the FinSpace role access. To do that, you first need to configure the IAM policy on S3 bucket. For more information, see Loading data from an Amazon S3 Bucket using the FinSpace APIsection.

      */ sourceParams: { [key: string]: string } | undefined; /** - *

      Options that define the structure of the source file(s).

      + *

      Options that define the structure of the source file(s) including the format type (formatType), header row (withHeader), data separation character (separator) and the type of compression (compression). + *

      + *

      + * formatType is a required attribute and can have the following values: + *

      + *
        + *
      • + *

        + * PARQUET - Parquet source file format.

        + *
      • + *
      • + *

        + * CSV - CSV source file format.

        + *
      • + *
      • + *

        + * JSON - JSON source file format.

        + *
      • + *
      • + *

        + * XML - XML source file format.

        + *
      • + *
      + * + *

      Here is an example of how you could specify the formatParams:

      + *

      + * + * "formatParams": + * { + * "formatType": "CSV", + * "withHeader": "true", + * "separator": ",", + * "compression":"None" + * } + * + *

      + *

      Note that if you only provide formatType as CSV, the rest of the attributes will automatically default to CSV values as following:

      + *

      + * + * { + * "withHeader": "true", + * "separator": "," + * } + * + *

      + *

      For more information about supported file formats, see Supported Data Types and File Formats in the FinSpace User Guide.

      */ formatParams: { [key: string]: string } | undefined; } @@ -1792,7 +1946,7 @@ export namespace UpdateChangesetResponse { */ export interface UpdateDatasetRequest { /** - *

      A token used to ensure idempotency.

      + *

      A token that ensures idempotency. This token expires in 10 minutes.

      */ clientToken?: string; diff --git a/clients/client-fis/README.md b/clients/client-fis/README.md index 91c587837e734..6ffcb6e6ca7de 100644 --- a/clients/client-fis/README.md +++ b/clients/client-fis/README.md @@ -7,8 +7,8 @@ AWS SDK for JavaScript Fis Client for Node.js, Browser and React Native. -

      AWS Fault Injection Simulator is a managed service that enables you to perform fault injection -experiments on your AWS workloads. For more information, see the AWS Fault Injection Simulator User Guide.

      +

      Fault Injection Simulator is a managed service that enables you to perform fault injection +experiments on your Amazon Web Services workloads. For more information, see the Fault Injection Simulator User Guide.

      ## Installing diff --git a/clients/client-fis/src/Fis.ts b/clients/client-fis/src/Fis.ts index 4c611020f7c86..2f8fbfa3b4d86 100644 --- a/clients/client-fis/src/Fis.ts +++ b/clients/client-fis/src/Fis.ts @@ -61,18 +61,18 @@ import { import { FisClient } from "./FisClient"; /** - *

      AWS Fault Injection Simulator is a managed service that enables you to perform fault injection - * experiments on your AWS workloads. For more information, see the AWS Fault Injection Simulator User Guide.

      + *

      Fault Injection Simulator is a managed service that enables you to perform fault injection + * experiments on your Amazon Web Services workloads. For more information, see the Fault Injection Simulator User Guide.

      */ export class Fis extends FisClient { /** *

      Creates an experiment template.

      - *

      To create a template, specify the following information:

      + *

      An experiment template includes the following components:

      *
        *
      • *

        - * Targets: A target can be a specific resource - * in your AWS environment, or one or more resources that match criteria that you + * Targets: A target can be a specific resource in + * your Amazon Web Services environment, or one or more resources that match criteria that you * specify, for example, resources that have specific tags.

        *
      • *
      • @@ -87,7 +87,8 @@ export class Fis extends FisClient { * stopped. You can define a stop condition as a CloudWatch alarm.

        *
      • *
      - *

      For more information, see the AWS Fault Injection Simulator User Guide.

      + *

      For more information, see Experiment templates + * in the Fault Injection Simulator User Guide.

      */ public createExperimentTemplate( args: CreateExperimentTemplateCommandInput, @@ -151,7 +152,7 @@ export class Fis extends FisClient { } /** - *

      Gets information about the specified AWS FIS action.

      + *

      Gets information about the specified FIS action.

      */ public getAction(args: GetActionCommandInput, options?: __HttpHandlerOptions): Promise; public getAction(args: GetActionCommandInput, cb: (err: any, data?: GetActionCommandOutput) => void): void; @@ -241,7 +242,7 @@ export class Fis extends FisClient { } /** - *

      Lists the available AWS FIS actions.

      + *

      Lists the available FIS actions.

      */ public listActions(args: ListActionsCommandInput, options?: __HttpHandlerOptions): Promise; public listActions(args: ListActionsCommandInput, cb: (err: any, data?: ListActionsCommandOutput) => void): void; diff --git a/clients/client-fis/src/FisClient.ts b/clients/client-fis/src/FisClient.ts index c13adf2354dfc..d224b3c729507 100644 --- a/clients/client-fis/src/FisClient.ts +++ b/clients/client-fis/src/FisClient.ts @@ -270,8 +270,8 @@ type FisClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOp export interface FisClientResolvedConfig extends FisClientResolvedConfigType {} /** - *

      AWS Fault Injection Simulator is a managed service that enables you to perform fault injection - * experiments on your AWS workloads. For more information, see the AWS Fault Injection Simulator User Guide.

      + *

      Fault Injection Simulator is a managed service that enables you to perform fault injection + * experiments on your Amazon Web Services workloads. For more information, see the Fault Injection Simulator User Guide.

      */ export class FisClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-fis/src/commands/CreateExperimentTemplateCommand.ts b/clients/client-fis/src/commands/CreateExperimentTemplateCommand.ts index b51ff7fec69f6..180938b761b70 100644 --- a/clients/client-fis/src/commands/CreateExperimentTemplateCommand.ts +++ b/clients/client-fis/src/commands/CreateExperimentTemplateCommand.ts @@ -23,12 +23,12 @@ export interface CreateExperimentTemplateCommandOutput extends CreateExperimentT /** *

      Creates an experiment template.

      - *

      To create a template, specify the following information:

      + *

      An experiment template includes the following components:

      *
        *
      • *

        - * Targets: A target can be a specific resource - * in your AWS environment, or one or more resources that match criteria that you + * Targets: A target can be a specific resource in + * your Amazon Web Services environment, or one or more resources that match criteria that you * specify, for example, resources that have specific tags.

        *
      • *
      • @@ -43,7 +43,8 @@ export interface CreateExperimentTemplateCommandOutput extends CreateExperimentT * stopped. You can define a stop condition as a CloudWatch alarm.

        *
      • *
      - *

      For more information, see the AWS Fault Injection Simulator User Guide.

      + *

      For more information, see Experiment templates + * in the Fault Injection Simulator User Guide.

      * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-fis/src/commands/GetActionCommand.ts b/clients/client-fis/src/commands/GetActionCommand.ts index 11a8ee7c38e58..3c48f86467cc2 100644 --- a/clients/client-fis/src/commands/GetActionCommand.ts +++ b/clients/client-fis/src/commands/GetActionCommand.ts @@ -22,7 +22,7 @@ export interface GetActionCommandInput extends GetActionRequest {} export interface GetActionCommandOutput extends GetActionResponse, __MetadataBearer {} /** - *

      Gets information about the specified AWS FIS action.

      + *

      Gets information about the specified FIS action.

      * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-fis/src/commands/ListActionsCommand.ts b/clients/client-fis/src/commands/ListActionsCommand.ts index b15854f1b4979..117355431b0db 100644 --- a/clients/client-fis/src/commands/ListActionsCommand.ts +++ b/clients/client-fis/src/commands/ListActionsCommand.ts @@ -22,7 +22,7 @@ export interface ListActionsCommandInput extends ListActionsRequest {} export interface ListActionsCommandOutput extends ListActionsResponse, __MetadataBearer {} /** - *

      Lists the available AWS FIS actions.

      + *

      Lists the available FIS actions.

      * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-fis/src/models/models_0.ts b/clients/client-fis/src/models/models_0.ts index cd543a73a2ee4..055da1aa0b32c 100644 --- a/clients/client-fis/src/models/models_0.ts +++ b/clients/client-fis/src/models/models_0.ts @@ -44,8 +44,8 @@ export namespace ActionTarget { } /** - *

      Describes an action. For more information, see AWS FIS actions - * in the AWS Fault Injection Simulator User Guide.

      + *

      Describes an action. For more information, see FIS actions + * in the Fault Injection Simulator User Guide.

      */ export interface Action { /** @@ -128,10 +128,12 @@ export interface ConflictException extends __SmithyException, $MetadataBearer { /** *

      Specifies an action for an experiment template.

      + *

      For more information, see Actions + * in the Fault Injection Simulator User Guide.

      */ export interface CreateExperimentTemplateActionInput { /** - *

      The ID of the action.

      + *

      The ID of the action. The format of the action ID is: aws:service-name:action-type.

      */ actionId: string | undefined; @@ -193,7 +195,9 @@ export namespace CreateExperimentTemplateStopConditionInput { } /** - *

      Describes a filter used for the target resource input in an experiment template.

      + *

      Specifies a filter used for the target resource input in an experiment template.

      + *

      For more information, see Resource filters + * in the Fault Injection Simulator User Guide.

      */ export interface ExperimentTemplateTargetInputFilter { /** @@ -219,10 +223,12 @@ export namespace ExperimentTemplateTargetInputFilter { /** *

      Specifies a target for an experiment. You must specify at least one Amazon Resource Name (ARN) or * at least one resource tag. You cannot specify both ARNs and tags.

      + *

      For more information, see Targets + * in the Fault Injection Simulator User Guide.

      */ export interface CreateExperimentTemplateTargetInput { /** - *

      The AWS resource type. The resource type must be supported for the specified action.

      + *

      The Amazon Web Services resource type. The resource type must be supported for the specified action.

      */ resourceType: string | undefined; @@ -276,7 +282,7 @@ export interface CreateExperimentTemplateRequest { clientToken?: string; /** - *

      A description for the experiment template. Can contain up to 64 letters (A-Z and a-z).

      + *

      A description for the experiment template.

      */ description: string | undefined; @@ -296,7 +302,7 @@ export interface CreateExperimentTemplateRequest { actions: { [key: string]: CreateExperimentTemplateActionInput } | undefined; /** - *

      The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.

      + *

      The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.

      */ roleArn: string | undefined; @@ -643,6 +649,16 @@ export interface ExperimentAction { *

      The state of the action.

      */ state?: ExperimentActionState; + + /** + *

      The time that the action started.

      + */ + startTime?: Date; + + /** + *

      The time that the action ended.

      + */ + endTime?: Date; } export namespace ExperimentAction { @@ -790,7 +806,7 @@ export interface Experiment { experimentTemplateId?: string; /** - *

      The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.

      + *

      The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.

      */ roleArn?: string; @@ -815,12 +831,12 @@ export interface Experiment { stopConditions?: ExperimentStopCondition[]; /** - *

      The time the experiment was created.

      + *

      The time that the experiment was created.

      */ creationTime?: Date; /** - *

      The time that the experiment was started.

      + *

      The time that the experiment started.

      */ startTime?: Date; @@ -1384,7 +1400,7 @@ export namespace UpdateExperimentTemplateStopConditionInput { */ export interface UpdateExperimentTemplateTargetInput { /** - *

      The AWS resource type. The resource type must be supported for the specified action.

      + *

      The Amazon Web Services resource type. The resource type must be supported for the specified action.

      */ resourceType: string | undefined; @@ -1445,7 +1461,7 @@ export interface UpdateExperimentTemplateRequest { actions?: { [key: string]: UpdateExperimentTemplateActionInputItem }; /** - *

      The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.

      + *

      The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.

      */ roleArn?: string; } diff --git a/clients/client-fis/src/protocols/Aws_restJson1.ts b/clients/client-fis/src/protocols/Aws_restJson1.ts index f1d4a251c03b9..c5fb76b88900c 100644 --- a/clients/client-fis/src/protocols/Aws_restJson1.ts +++ b/clients/client-fis/src/protocols/Aws_restJson1.ts @@ -1861,6 +1861,10 @@ const deserializeAws_restJson1ExperimentAction = (output: any, context: __SerdeC return { actionId: __expectString(output.actionId), description: __expectString(output.description), + endTime: + output.endTime !== undefined && output.endTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.endTime))) + : undefined, parameters: output.parameters !== undefined && output.parameters !== null ? deserializeAws_restJson1ExperimentActionParameterMap(output.parameters, context) @@ -1869,6 +1873,10 @@ const deserializeAws_restJson1ExperimentAction = (output: any, context: __SerdeC output.startAfter !== undefined && output.startAfter !== null ? deserializeAws_restJson1ExperimentActionStartAfterList(output.startAfter, context) : undefined, + startTime: + output.startTime !== undefined && output.startTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.startTime))) + : undefined, state: output.state !== undefined && output.state !== null ? deserializeAws_restJson1ExperimentActionState(output.state, context) diff --git a/clients/client-fms/src/FMS.ts b/clients/client-fms/src/FMS.ts index 081aec3e5c166..bd657c93e060f 100644 --- a/clients/client-fms/src/FMS.ts +++ b/clients/client-fms/src/FMS.ts @@ -868,7 +868,7 @@ export class FMS extends FMSClient { * Amazon VPCs.

      * *
    • - *

      A DNS Firewall policy, which provides Route 53 Resolver DNS Firewall rules to filter DNS queries for + *

      A DNS Firewall policy, which provides Route 53 Resolver DNS Firewall rules to filter DNS queries for * specified VPCs.

      *
    • *
    diff --git a/clients/client-fms/src/commands/PutPolicyCommand.ts b/clients/client-fms/src/commands/PutPolicyCommand.ts index e9a754d221d0f..d5623dd796f7b 100644 --- a/clients/client-fms/src/commands/PutPolicyCommand.ts +++ b/clients/client-fms/src/commands/PutPolicyCommand.ts @@ -42,7 +42,7 @@ export interface PutPolicyCommandOutput extends PutPolicyResponse, __MetadataBea * Amazon VPCs.

    * *
  • - *

    A DNS Firewall policy, which provides Route 53 Resolver DNS Firewall rules to filter DNS queries for + *

    A DNS Firewall policy, which provides Route 53 Resolver DNS Firewall rules to filter DNS queries for * specified VPCs.

    *
  • * diff --git a/clients/client-fms/src/models/models_0.ts b/clients/client-fms/src/models/models_0.ts index 8b99a8e90aa73..596388e423f92 100644 --- a/clients/client-fms/src/models/models_0.ts +++ b/clients/client-fms/src/models/models_0.ts @@ -717,8 +717,7 @@ export interface SecurityServicePolicyData { Type: SecurityServiceType | string | undefined; /** - *

    Details about the service that are specific to the service type, in JSON format. For - * service type SHIELD_ADVANCED, this is an empty string.

    + *

    Details about the service that are specific to the service type, in JSON format.

    * * - *

    If you specify a departure that's not located on a road, Amazon Location moves the + *

    If you specify a departure that's not located on a road, Amazon Location moves the * position to the nearest road. If Esri is the provider for your route calculator, * specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

    *
    @@ -1022,7 +1022,7 @@ export interface CalculateRouteRequest { * * * - *

    If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

    + *

    If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

    *
    *

    Valid Values: [-180 to 180,-90 to 90] *

    @@ -1041,7 +1041,7 @@ export interface CalculateRouteRequest { * * * - *

    If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road.

    + *

    If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road.

    *

    Specifying more than 23 waypoints returns a 400 ValidationException * error.

    *

    If Esri is the provider for your route calculator, specifying a @@ -1055,7 +1055,8 @@ export interface CalculateRouteRequest { /** *

    Specifies the mode of transport when calculating a route. Used in estimating the speed * of travel and road compatibility.

    - *

    The TravelMode you specify determines how you specify route preferences:

    + *

    The TravelMode you specify also determines how you specify route + * preferences:

    *
      *
    • *

      If traveling by Car use the CarModeOptions @@ -1232,7 +1233,7 @@ export namespace Step { * number of legs returned corresponds to one fewer than the total number of positions in * the request.

      *

      For example, a route with a departure position and destination position returns one - * leg with the positions snapped to a nearby road:

      + * leg with the positions snapped to a nearby road:

      *
        *
      • *

        The StartPosition is the departure position.

        @@ -1259,7 +1260,7 @@ export interface Leg { *

        The starting position of the leg. Follows the format * [longitude,latitude].

        * - *

        If the StartPosition isn't located on a road, it's snapped to a nearby road.

        + *

        If the StartPosition isn't located on a road, it's snapped to a nearby road.

        *
        */ StartPosition: number[] | undefined; @@ -1268,7 +1269,7 @@ export interface Leg { *

        The terminating position of the leg. Follows the format * [longitude,latitude].

        * - *

        If the EndPosition isn't located on a road, it's snapped to a nearby road.

        + *

        If the EndPosition isn't located on a road, it's snapped to a nearby road.

        *
        */ EndPosition: number[] | undefined; @@ -1415,7 +1416,7 @@ export interface CalculateRouteResponse { * number of legs returned corresponds to one fewer than the total number of positions in * the request.

        *

        For example, a route with a departure position and destination position returns one - * leg with the positions snapped to a nearby road:

        + * leg with the positions snapped to a nearby road:

        *
          *
        • *

          The StartPosition is the departure position.

          @@ -1458,6 +1459,344 @@ export namespace CalculateRouteResponse { }); } +export interface CalculateRouteMatrixRequest { + /** + *

          The name of the route calculator resource that you want to use to calculate the route matrix.

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

          The list of departure (origin) positions for the route matrix. An array of points, + * each of which is itself a 2-value array defined in WGS 84 format: + * [longitude, latitude]. For example, [-123.115, + * 49.285].

          + * + *

          Depending on the data provider selected in the route calculator resource there may be additional + * restrictions on the inputs you can choose. See + * Position restrictions in the Amazon Location Service Developer Guide.

          + *
          + * + *

          For route calculators that use Esri as the data provider, if you specify a + * departure that's not located on a road, Amazon Location moves the position + * to the nearest road. The snapped value is available in the result in + * SnappedDeparturePositions.

          + *
          + *

          Valid Values: [-180 to 180,-90 to 90] + *

          + */ + DeparturePositions: number[][] | undefined; + + /** + *

          The list of destination positions for the route matrix. An array of points, each of + * which is itself a 2-value array defined in WGS 84 format: + * [longitude, latitude]. For example, [-122.339, + * 47.615] + *

          + * + *

          Depending on the data provider selected in the route calculator resource there may be additional + * restrictions on the inputs you can choose. See + * Position restrictions in the Amazon Location Service Developer Guide.

          + *
          + * + *

          For route calculators that use Esri as the data provider, if you specify a + * destination that's not located on a road, Amazon Location moves the position + * to the nearest road. The snapped value is available in the result in + * SnappedDestinationPositions.

          + *
          + *

          Valid Values: [-180 to 180,-90 to 90] + *

          + */ + DestinationPositions: number[][] | undefined; + + /** + *

          Specifies the mode of transport when calculating a route. Used in estimating the speed + * of travel and road compatibility.

          + *

          The TravelMode you specify also determines how you specify route + * preferences:

          + *
            + *
          • + *

            If traveling by Car use the CarModeOptions + * parameter.

            + *
          • + *
          • + *

            If traveling by Truck use the TruckModeOptions + * parameter.

            + *
          • + *
          + *

          Default Value: Car + *

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

          Specifies the desired time of departure. Uses the given time to calculate the route + * matrix. You can't set both DepartureTime and DepartNow. If + * neither is set, the best time of day to travel with the best traffic conditions is used + * to calculate the route matrix.

          + * + *

          Setting a departure time in the past returns a 400 + * ValidationException error.

          + *
          + *
            + *
          • + *

            In ISO + * 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, + * 2020–07-2T12:15:20.000Z+01:00 + *

            + *
          • + *
          + */ + DepartureTime?: Date; + + /** + *

          Sets the time of departure as the current time. Uses the current time to calculate the + * route matrix. You can't set both DepartureTime and DepartNow. + * If neither is set, the best time of day to travel with the best traffic conditions is + * used to calculate the route matrix.

          + *

          Default Value: false + *

          + *

          Valid Values: false | true + *

          + */ + DepartNow?: boolean; + + /** + *

          Set the unit system to specify the distance.

          + *

          Default Value: Kilometers + *

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

          Specifies route preferences when traveling by Car, such as avoiding + * routes that use ferries or tolls.

          + *

          Requirements: TravelMode must be specified as Car.

          + */ + CarModeOptions?: CalculateRouteCarModeOptions; + + /** + *

          Specifies route preferences when traveling by Truck, such as avoiding + * routes that use ferries or tolls, and truck specifications to consider when choosing an + * optimal road.

          + *

          Requirements: TravelMode must be specified as Truck.

          + */ + TruckModeOptions?: CalculateRouteTruckModeOptions; +} + +export namespace CalculateRouteMatrixRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CalculateRouteMatrixRequest): any => ({ + ...obj, + ...(obj.DeparturePositions && { DeparturePositions: SENSITIVE_STRING }), + ...(obj.DestinationPositions && { DestinationPositions: SENSITIVE_STRING }), + }); +} + +export type RouteMatrixErrorCode = + | "DeparturePositionNotFound" + | "DestinationPositionNotFound" + | "OtherValidationError" + | "PositionsNotFound" + | "RouteNotFound" + | "RouteTooLong"; + +/** + *

          An error corresponding to the calculation of a route between the + * DeparturePosition and DestinationPosition.

          + *

          The error code can be one of the following:

          + *
            + *
          • + *

            + * RouteNotFound - Unable to find a + * valid route with the given parameters.

            + *
          • + *
          + *
            + *
          • + *

            + * RouteTooLong - Route calculation went + * beyond the maximum size of a route and was terminated before completion.

            + *
          • + *
          + *
            + *
          • + *

            + * PositionsNotFound - One or more of the + * input positions were not found on the route network.

            + *
          • + *
          + *
            + *
          • + *

            + * DestinationPositionNotFound - The + * destination position was not found on the route network.

            + *
          • + *
          + *
            + *
          • + *

            + * DeparturePositionNotFound - The + * departure position was not found on the route network.

            + *
          • + *
          + *
            + *
          • + *

            + * OtherValidationError - The given inputs were not valid or a + * route was not found. More information is given in the error + * Message + *

            + *
          • + *
          + */ +export interface RouteMatrixEntryError { + /** + *

          The type of error which occurred for the route calculation.

          + */ + Code: RouteMatrixErrorCode | string | undefined; + + /** + *

          A message about the error that occurred for the route calculation.

          + */ + Message?: string; +} + +export namespace RouteMatrixEntryError { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RouteMatrixEntryError): any => ({ + ...obj, + }); +} + +/** + *

          The result for one SnappedDeparturePosition + * SnappedDestinationPosition pair.

          + */ +export interface RouteMatrixEntry { + /** + *

          The total distance of travel for the route.

          + */ + Distance?: number; + + /** + *

          The expected duration of travel for the route.

          + */ + DurationSeconds?: number; + + /** + *

          An error corresponding to the calculation of a route between the + * DeparturePosition and DestinationPosition.

          + */ + Error?: RouteMatrixEntryError; +} + +export namespace RouteMatrixEntry { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RouteMatrixEntry): any => ({ + ...obj, + }); +} + +/** + *

          A summary of the calculated route matrix.

          + */ +export interface CalculateRouteMatrixSummary { + /** + *

          The data provider of traffic and road network data used to calculate the routes. + * Indicates one of the available providers:

          + *
            + *
          • + *

            + * Esri + *

            + *
          • + *
          • + *

            + * Here + *

            + *
          • + *
          + *

          For more information about data providers, see Amazon Location Service data providers.

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

          The count of cells in the route matrix. Equal to the number of DeparturePositions + * multiplied by the number of DestinationPositions.

          + */ + RouteCount: number | undefined; + + /** + *

          The count of error results in the route matrix. If this number is 0, all routes were calculated successfully.

          + */ + ErrorCount: number | undefined; + + /** + *

          The unit of measurement for route distances.

          + */ + DistanceUnit: DistanceUnit | string | undefined; +} + +export namespace CalculateRouteMatrixSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CalculateRouteMatrixSummary): any => ({ + ...obj, + }); +} + +/** + *

          Returns the result of the route matrix calculation.

          + */ +export interface CalculateRouteMatrixResponse { + /** + *

          The calculated route matrix containing the results for all pairs of + * DeparturePositions to DestinationPositions. + * Each row corresponds to one entry in DeparturePositions. Each + * entry in the row corresponds to the route from that entry in + * DeparturePositions to an entry in DestinationPositions. + *

          + */ + RouteMatrix: RouteMatrixEntry[][] | undefined; + + /** + *

          For routes calculated using an Esri route calculator resource, departure positions + * are snapped to the closest road. For Esri route calculator resources, this returns + * the list of departure/origin positions used for calculation of the + * RouteMatrix.

          + */ + SnappedDeparturePositions?: number[][]; + + /** + *

          The list of destination positions for the route matrix used for calculation of the RouteMatrix.

          + */ + SnappedDestinationPositions?: number[][]; + + /** + *

          Contains information about the route matrix, DataSource, + * DistanceUnit, RouteCount and ErrorCount.

          + */ + Summary: CalculateRouteMatrixSummary | undefined; +} + +export namespace CalculateRouteMatrixResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CalculateRouteMatrixResponse): any => ({ + ...obj, + ...(obj.SnappedDeparturePositions && { SnappedDeparturePositions: SENSITIVE_STRING }), + ...(obj.SnappedDestinationPositions && { SnappedDestinationPositions: SENSITIVE_STRING }), + }); +} + export type PricingPlan = "MobileAssetManagement" | "MobileAssetTracking" | "RequestBasedUsage"; export interface CreateGeofenceCollectionRequest { @@ -1480,31 +1819,17 @@ export interface CreateGeofenceCollectionRequest { CollectionName: string | undefined; /** - *

          Optionally specifies the pricing plan for the geofence collection. Defaults to + * @deprecated + * + *

          No longer used. If included, the only allowed value is * RequestBasedUsage.

          - *

          For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing - * page.

          */ PricingPlan?: PricingPlan | string; /** - *

          Specifies the data provider for the geofence collection.

          - *
            - *
          • - *

            Required value for the following pricing plans: MobileAssetTracking - * | MobileAssetManagement - *

            - *
          • - *
          - *

          For more information about Data Providers, and Pricing plans, see the Amazon Location - * Service product page.

          - * - *

          Amazon Location Service only uses PricingPlanDataSource to calculate billing for - * your geofence collection. Your data won't be shared with the data provider, and will - * remain in your AWS account or Region unless you move it.

          - *
          - *

          Valid Values: Esri | Here - *

          + * @deprecated + * + *

          This parameter is no longer used.

          */ PricingPlanDataSource?: string; @@ -1693,9 +2018,10 @@ export interface CreateMapRequest { Configuration: MapConfiguration | undefined; /** - *

          Optionally specifies the pricing plan for the map resource. Defaults to + * @deprecated + * + *

          No longer used. If included, the only allowed value is * RequestBasedUsage.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          */ PricingPlan?: PricingPlan | string; @@ -1880,9 +2206,10 @@ export interface CreatePlaceIndexRequest { DataSource: string | undefined; /** - *

          Optionally specifies the pricing plan for the place index resource. Defaults to + * @deprecated + * + *

          No longer used. If included, the only allowed value is * RequestBasedUsage.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          */ PricingPlan?: PricingPlan | string; @@ -2015,9 +2342,10 @@ export interface CreateRouteCalculatorRequest { DataSource: string | undefined; /** - *

          Optionally specifies the pricing plan for the route calculator resource. Defaults to + * @deprecated + * + *

          No longer used. If included, the only allowed value is * RequestBasedUsage.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          */ PricingPlan?: PricingPlan | string; @@ -2139,9 +2467,10 @@ export interface CreateTrackerRequest { TrackerName: string | undefined; /** - *

          Optionally specifies the pricing plan for the tracker resource. Defaults to - * RequestBasedUsage.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + * @deprecated + * + *

          No longer used. If included, the only allowed value is + * RequestBasedUsage.

          */ PricingPlan?: PricingPlan | string; @@ -2151,21 +2480,9 @@ export interface CreateTrackerRequest { KmsKeyId?: string; /** - *

          Specifies the data provider for the tracker resource.

          - *
            - *
          • - *

            Required value for the following pricing plans: MobileAssetTracking - * | MobileAssetManagement - *

            - *
          • - *
          - *

          For more information about Data Providers, and Pricing plans, see the Amazon Location - * Service product page.

          - * - *

          Amazon Location Service only uses PricingPlanDataSource to calculate billing for your tracker resource. Your data will not be shared with the data provider, and will remain in your AWS account or Region unless you move it.

          - *
          - *

          Valid values: Esri | Here - *

          + * @deprecated + * + *

          This parameter is no longer used.

          */ PricingPlanDataSource?: string; @@ -2460,14 +2777,16 @@ export interface DescribeGeofenceCollectionResponse { Description: string | undefined; /** - *

          The pricing plan selected for the specified geofence collection.

          - *

          For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing - * page.

          + * @deprecated + * + *

          No longer used. Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** - *

          The specified data provider for the geofence collection.

          + * @deprecated + * + *

          No longer used. Always returns an empty string.

          */ PricingPlanDataSource?: string; @@ -2541,11 +2860,11 @@ export interface DescribeMapResponse { MapArn: string | undefined; /** - *

          The pricing plan selected for the specified map resource.

          + * @deprecated * - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + *

          No longer used. Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** *

          Specifies the data provider for the associated map tiles.

          @@ -2625,10 +2944,11 @@ export interface DescribePlaceIndexResponse { IndexArn: string | undefined; /** - *

          The pricing plan selected for the specified place index resource.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + * @deprecated + * + *

          No longer used. Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** *

          The optional description for the place index resource.

          @@ -2721,10 +3041,11 @@ export interface DescribeRouteCalculatorResponse { CalculatorArn: string | undefined; /** - *

          The pricing plan selected for the specified route calculator resource.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + * @deprecated + * + *

          Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** *

          The optional description of the route calculator resource.

          @@ -2830,13 +3151,16 @@ export interface DescribeTrackerResponse { Description: string | undefined; /** - *

          The pricing plan selected for the specified tracker resource.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + * @deprecated + * + *

          Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** - *

          The specified data provider for the tracker resource.

          + * @deprecated + * + *

          No longer used. Always returns an empty string.

          */ PricingPlanDataSource?: string; @@ -3190,14 +3514,16 @@ export interface ListGeofenceCollectionsResponseEntry { Description: string | undefined; /** - *

          The pricing plan for the specified geofence collection.

          - *

          For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing - * page.

          + * @deprecated + * + *

          No longer used. Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** - *

          The specified data provider for the geofence collection.

          + * @deprecated + * + *

          No longer used. Always returns an empty string.

          */ PricingPlanDataSource?: string; @@ -3430,27 +3756,17 @@ export interface UpdateGeofenceCollectionRequest { CollectionName: string | undefined; /** - *

          Updates the pricing plan for the geofence collection.

          - *

          For more information about each pricing plan option restrictions, see Amazon Location Service - * pricing.

          + * @deprecated + * + *

          No longer used. If included, the only allowed value is + * RequestBasedUsage.

          */ PricingPlan?: PricingPlan | string; /** - *

          Updates the data provider for the geofence collection.

          - *

          A required value for the following pricing plans: MobileAssetTracking| - * MobileAssetManagement - *

          - *

          For more information about data providers and - * pricing plans, see the - * Amazon Location Service product page.

          - * - *

          This can only be updated when updating the PricingPlan in the same - * request.

          - *

          Amazon Location Service uses PricingPlanDataSource to calculate - * billing for your geofence collection. Your data won't be shared with the data - * provider, and will remain in your AWS account and Region unless you move it.

          - *
          + * @deprecated + * + *

          This parameter is no longer used.

          */ PricingPlanDataSource?: string; @@ -4044,10 +4360,11 @@ export interface ListMapsResponseEntry { DataSource: string | undefined; /** - *

          The pricing plan for the specified map resource.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + * @deprecated + * + *

          No longer used. Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** *

          The timestamp for when the map resource was created in ISO 8601 @@ -4151,10 +4468,11 @@ export interface ListPlaceIndexesResponseEntry { DataSource: string | undefined; /** - *

          The pricing plan for the specified place index resource.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + * @deprecated + * + *

          No longer used. Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** *

          The timestamp for when the place index resource was created in ISO 8601 format: @@ -4260,10 +4578,11 @@ export interface ListRouteCalculatorsResponseEntry { DataSource: string | undefined; /** - *

          The pricing plan for the specified route calculator resource.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + * @deprecated + * + *

          Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** *

          The timestamp when the route calculator resource was created in ISO 8601 @@ -4415,13 +4734,16 @@ export interface ListTrackersResponseEntry { Description: string | undefined; /** - *

          The pricing plan for the specified tracker resource.

          - *

          For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.

          + * @deprecated + * + *

          Always returns RequestBasedUsage.

          */ - PricingPlan: PricingPlan | string | undefined; + PricingPlan?: PricingPlan | string; /** - *

          The specified data provider for the tracker resource.

          + * @deprecated + * + *

          No longer used. Always returns an empty string.

          */ PricingPlanDataSource?: string; @@ -4477,8 +4799,10 @@ export interface UpdateMapRequest { MapName: string | undefined; /** - *

          Updates the pricing plan for the map resource.

          - *

          For more information about each pricing plan option restrictions, see Amazon Location Service pricing.

          + * @deprecated + * + *

          No longer used. If included, the only allowed value is + * RequestBasedUsage.

          */ PricingPlan?: PricingPlan | string; @@ -5270,8 +5594,10 @@ export interface UpdatePlaceIndexRequest { IndexName: string | undefined; /** - *

          Updates the pricing plan for the place index resource.

          - *

          For more information about each pricing plan option restrictions, see Amazon Location Service pricing.

          + * @deprecated + * + *

          No longer used. If included, the only allowed value is + * RequestBasedUsage.

          */ PricingPlan?: PricingPlan | string; @@ -5337,9 +5663,10 @@ export interface UpdateRouteCalculatorRequest { CalculatorName: string | undefined; /** - *

          Updates the pricing plan for the route calculator resource.

          - *

          For more information about each pricing plan option restrictions, see Amazon Location - * Service pricing.

          + * @deprecated + * + *

          No longer used. If included, the only allowed value is + * RequestBasedUsage.

          */ PricingPlan?: PricingPlan | string; @@ -5400,25 +5727,17 @@ export interface UpdateTrackerRequest { TrackerName: string | undefined; /** - *

          Updates the pricing plan for the tracker resource.

          - *

          For more information about each pricing plan option restrictions, see Amazon Location Service - * pricing.

          + * @deprecated + * + *

          No longer used. If included, the only allowed value is + * RequestBasedUsage.

          */ PricingPlan?: PricingPlan | string; /** - *

          Updates the data provider for the tracker resource.

          - *

          A required value for the following pricing plans: MobileAssetTracking| MobileAssetManagement - *

          - *

          For more information about data providers and pricing plans, see the Amazon Location Service product - * page

          - * - *

          This can only be updated when updating the PricingPlan in the same - * request.

          - *

          Amazon Location Service uses PricingPlanDataSource to calculate - * billing for your tracker resource. Your data won't be shared with the data provider, - * and will remain in your AWS account and Region unless you move it.

          - *
          + * @deprecated + * + *

          This parameter is no longer used.

          */ PricingPlanDataSource?: string; diff --git a/clients/client-location/src/protocols/Aws_restJson1.ts b/clients/client-location/src/protocols/Aws_restJson1.ts index e315eff286882..60b981ead5967 100644 --- a/clients/client-location/src/protocols/Aws_restJson1.ts +++ b/clients/client-location/src/protocols/Aws_restJson1.ts @@ -48,6 +48,10 @@ import { BatchUpdateDevicePositionCommandOutput, } from "../commands/BatchUpdateDevicePositionCommand"; import { CalculateRouteCommandInput, CalculateRouteCommandOutput } from "../commands/CalculateRouteCommand"; +import { + CalculateRouteMatrixCommandInput, + CalculateRouteMatrixCommandOutput, +} from "../commands/CalculateRouteMatrixCommand"; import { CreateGeofenceCollectionCommandInput, CreateGeofenceCollectionCommandOutput, @@ -160,6 +164,7 @@ import { BatchPutGeofenceSuccess, BatchUpdateDevicePositionError, CalculateRouteCarModeOptions, + CalculateRouteMatrixSummary, CalculateRouteSummary, CalculateRouteTruckModeOptions, ConflictException, @@ -182,6 +187,8 @@ import { PlaceGeometry, PositionalAccuracy, ResourceNotFoundException, + RouteMatrixEntry, + RouteMatrixEntryError, SearchForPositionResult, SearchForSuggestionsResult, SearchForTextResult, @@ -570,6 +577,68 @@ export const serializeAws_restJson1CalculateRouteCommand = async ( }); }; +export const serializeAws_restJson1CalculateRouteMatrixCommand = async ( + input: CalculateRouteMatrixCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/routes/v0/calculators/{CalculatorName}/calculate/route-matrix"; + if (input.CalculatorName !== undefined) { + const labelValue: string = input.CalculatorName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: CalculatorName."); + } + resolvedPath = resolvedPath.replace("{CalculatorName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: CalculatorName."); + } + let body: any; + body = JSON.stringify({ + ...(input.CarModeOptions !== undefined && + input.CarModeOptions !== null && { + CarModeOptions: serializeAws_restJson1CalculateRouteCarModeOptions(input.CarModeOptions, context), + }), + ...(input.DepartNow !== undefined && input.DepartNow !== null && { DepartNow: input.DepartNow }), + ...(input.DeparturePositions !== undefined && + input.DeparturePositions !== null && { + DeparturePositions: serializeAws_restJson1PositionList(input.DeparturePositions, context), + }), + ...(input.DepartureTime !== undefined && + input.DepartureTime !== null && { DepartureTime: input.DepartureTime.toISOString().split(".")[0] + "Z" }), + ...(input.DestinationPositions !== undefined && + input.DestinationPositions !== null && { + DestinationPositions: serializeAws_restJson1PositionList(input.DestinationPositions, context), + }), + ...(input.DistanceUnit !== undefined && input.DistanceUnit !== null && { DistanceUnit: input.DistanceUnit }), + ...(input.TravelMode !== undefined && input.TravelMode !== null && { TravelMode: input.TravelMode }), + ...(input.TruckModeOptions !== undefined && + input.TruckModeOptions !== null && { + TruckModeOptions: serializeAws_restJson1CalculateRouteTruckModeOptions(input.TruckModeOptions, context), + }), + }); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "routes." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + return new __HttpRequest({ + protocol, + hostname: resolvedHostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1CreateGeofenceCollectionCommand = async ( input: CreateGeofenceCollectionCommandInput, context: __SerdeContext @@ -3065,6 +3134,108 @@ const deserializeAws_restJson1CalculateRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1CalculateRouteMatrixCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1CalculateRouteMatrixCommandError(output, context); + } + const contents: CalculateRouteMatrixCommandOutput = { + $metadata: deserializeMetadata(output), + RouteMatrix: undefined, + SnappedDeparturePositions: undefined, + SnappedDestinationPositions: undefined, + Summary: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.RouteMatrix !== undefined && data.RouteMatrix !== null) { + contents.RouteMatrix = deserializeAws_restJson1RouteMatrix(data.RouteMatrix, context); + } + if (data.SnappedDeparturePositions !== undefined && data.SnappedDeparturePositions !== null) { + contents.SnappedDeparturePositions = deserializeAws_restJson1PositionList(data.SnappedDeparturePositions, context); + } + if (data.SnappedDestinationPositions !== undefined && data.SnappedDestinationPositions !== null) { + contents.SnappedDestinationPositions = deserializeAws_restJson1PositionList( + data.SnappedDestinationPositions, + context + ); + } + if (data.Summary !== undefined && data.Summary !== null) { + contents.Summary = deserializeAws_restJson1CalculateRouteMatrixSummary(data.Summary, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1CalculateRouteMatrixCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.location#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.location#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.location#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.location#ThrottlingException": + response = { + ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.location#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_restJson1CreateGeofenceCollectionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7391,6 +7562,17 @@ const serializeAws_restJson1PositionalAccuracy = (input: PositionalAccuracy, con }; }; +const serializeAws_restJson1PositionList = (input: number[][], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1Position(entry, context); + }); +}; + const serializeAws_restJson1PropertyMap = (input: { [key: string]: string }, context: __SerdeContext): any => { return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { if (value === null) { @@ -7669,6 +7851,18 @@ const deserializeAws_restJson1BoundingBox = (output: any, context: __SerdeContex }); }; +const deserializeAws_restJson1CalculateRouteMatrixSummary = ( + output: any, + context: __SerdeContext +): CalculateRouteMatrixSummary => { + return { + DataSource: __expectString(output.DataSource), + DistanceUnit: __expectString(output.DistanceUnit), + ErrorCount: __expectInt32(output.ErrorCount), + RouteCount: __expectInt32(output.RouteCount), + } as any; +}; + const deserializeAws_restJson1CalculateRouteSummary = (output: any, context: __SerdeContext): CalculateRouteSummary => { return { DataSource: __expectString(output.DataSource), @@ -8121,6 +8315,17 @@ const deserializeAws_restJson1PositionalAccuracy = (output: any, context: __Serd } as any; }; +const deserializeAws_restJson1PositionList = (output: any, context: __SerdeContext): number[][] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1Position(entry, context); + }); +}; + const deserializeAws_restJson1PropertyMap = (output: any, context: __SerdeContext): { [key: string]: string } => { return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => { if (value === null) { @@ -8133,6 +8338,46 @@ const deserializeAws_restJson1PropertyMap = (output: any, context: __SerdeContex }, {}); }; +const deserializeAws_restJson1RouteMatrix = (output: any, context: __SerdeContext): RouteMatrixEntry[][] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1RouteMatrixRow(entry, context); + }); +}; + +const deserializeAws_restJson1RouteMatrixEntry = (output: any, context: __SerdeContext): RouteMatrixEntry => { + return { + Distance: __limitedParseDouble(output.Distance), + DurationSeconds: __limitedParseDouble(output.DurationSeconds), + Error: + output.Error !== undefined && output.Error !== null + ? deserializeAws_restJson1RouteMatrixEntryError(output.Error, context) + : undefined, + } as any; +}; + +const deserializeAws_restJson1RouteMatrixEntryError = (output: any, context: __SerdeContext): RouteMatrixEntryError => { + return { + Code: __expectString(output.Code), + Message: __expectString(output.Message), + } as any; +}; + +const deserializeAws_restJson1RouteMatrixRow = (output: any, context: __SerdeContext): RouteMatrixEntry[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1RouteMatrixEntry(entry, context); + }); +}; + const deserializeAws_restJson1SearchForPositionResult = ( output: any, context: __SerdeContext diff --git a/clients/client-lookoutmetrics/src/LookoutMetrics.ts b/clients/client-lookoutmetrics/src/LookoutMetrics.ts index 57788eefd7263..b40418068942c 100644 --- a/clients/client-lookoutmetrics/src/LookoutMetrics.ts +++ b/clients/client-lookoutmetrics/src/LookoutMetrics.ts @@ -21,6 +21,11 @@ import { CreateMetricSetCommandInput, CreateMetricSetCommandOutput, } from "./commands/CreateMetricSetCommand"; +import { + DeactivateAnomalyDetectorCommand, + DeactivateAnomalyDetectorCommandInput, + DeactivateAnomalyDetectorCommandOutput, +} from "./commands/DeactivateAnomalyDetectorCommand"; import { DeleteAlertCommand, DeleteAlertCommandInput, DeleteAlertCommandOutput } from "./commands/DeleteAlertCommand"; import { DeleteAnomalyDetectorCommand, @@ -268,6 +273,38 @@ export class LookoutMetrics extends LookoutMetricsClient { } } + /** + *

          Deactivates an anomaly detector.

          + */ + public deactivateAnomalyDetector( + args: DeactivateAnomalyDetectorCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deactivateAnomalyDetector( + args: DeactivateAnomalyDetectorCommandInput, + cb: (err: any, data?: DeactivateAnomalyDetectorCommandOutput) => void + ): void; + public deactivateAnomalyDetector( + args: DeactivateAnomalyDetectorCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeactivateAnomalyDetectorCommandOutput) => void + ): void; + public deactivateAnomalyDetector( + args: DeactivateAnomalyDetectorCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeactivateAnomalyDetectorCommandOutput) => void), + cb?: (err: any, data?: DeactivateAnomalyDetectorCommandOutput) => void + ): Promise | void { + const command = new DeactivateAnomalyDetectorCommand(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 alert.

          */ diff --git a/clients/client-lookoutmetrics/src/LookoutMetricsClient.ts b/clients/client-lookoutmetrics/src/LookoutMetricsClient.ts index 1ae50206f48bd..da7374ea51040 100644 --- a/clients/client-lookoutmetrics/src/LookoutMetricsClient.ts +++ b/clients/client-lookoutmetrics/src/LookoutMetricsClient.ts @@ -64,6 +64,10 @@ import { CreateAnomalyDetectorCommandOutput, } from "./commands/CreateAnomalyDetectorCommand"; import { CreateMetricSetCommandInput, CreateMetricSetCommandOutput } from "./commands/CreateMetricSetCommand"; +import { + DeactivateAnomalyDetectorCommandInput, + DeactivateAnomalyDetectorCommandOutput, +} from "./commands/DeactivateAnomalyDetectorCommand"; import { DeleteAlertCommandInput, DeleteAlertCommandOutput } from "./commands/DeleteAlertCommand"; import { DeleteAnomalyDetectorCommandInput, @@ -120,6 +124,7 @@ export type ServiceInputTypes = | CreateAlertCommandInput | CreateAnomalyDetectorCommandInput | CreateMetricSetCommandInput + | DeactivateAnomalyDetectorCommandInput | DeleteAlertCommandInput | DeleteAnomalyDetectorCommandInput | DescribeAlertCommandInput @@ -148,6 +153,7 @@ export type ServiceOutputTypes = | CreateAlertCommandOutput | CreateAnomalyDetectorCommandOutput | CreateMetricSetCommandOutput + | DeactivateAnomalyDetectorCommandOutput | DeleteAlertCommandOutput | DeleteAnomalyDetectorCommandOutput | DescribeAlertCommandOutput diff --git a/clients/client-lookoutmetrics/src/commands/DeactivateAnomalyDetectorCommand.ts b/clients/client-lookoutmetrics/src/commands/DeactivateAnomalyDetectorCommand.ts new file mode 100644 index 0000000000000..0f3878ebc3f45 --- /dev/null +++ b/clients/client-lookoutmetrics/src/commands/DeactivateAnomalyDetectorCommand.ts @@ -0,0 +1,98 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { LookoutMetricsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LookoutMetricsClient"; +import { DeactivateAnomalyDetectorRequest, DeactivateAnomalyDetectorResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeactivateAnomalyDetectorCommand, + serializeAws_restJson1DeactivateAnomalyDetectorCommand, +} from "../protocols/Aws_restJson1"; + +export interface DeactivateAnomalyDetectorCommandInput extends DeactivateAnomalyDetectorRequest {} +export interface DeactivateAnomalyDetectorCommandOutput extends DeactivateAnomalyDetectorResponse, __MetadataBearer {} + +/** + *

          Deactivates an anomaly detector.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { LookoutMetricsClient, DeactivateAnomalyDetectorCommand } from "@aws-sdk/client-lookoutmetrics"; // ES Modules import + * // const { LookoutMetricsClient, DeactivateAnomalyDetectorCommand } = require("@aws-sdk/client-lookoutmetrics"); // CommonJS import + * const client = new LookoutMetricsClient(config); + * const command = new DeactivateAnomalyDetectorCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeactivateAnomalyDetectorCommandInput} for command's `input` shape. + * @see {@link DeactivateAnomalyDetectorCommandOutput} for command's `response` shape. + * @see {@link LookoutMetricsClientResolvedConfig | config} for LookoutMetricsClient's `config` shape. + * + */ +export class DeactivateAnomalyDetectorCommand extends $Command< + DeactivateAnomalyDetectorCommandInput, + DeactivateAnomalyDetectorCommandOutput, + LookoutMetricsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeactivateAnomalyDetectorCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: LookoutMetricsClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "LookoutMetricsClient"; + const commandName = "DeactivateAnomalyDetectorCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeactivateAnomalyDetectorRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeactivateAnomalyDetectorResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeactivateAnomalyDetectorCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1DeactivateAnomalyDetectorCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DeactivateAnomalyDetectorCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-lookoutmetrics/src/commands/index.ts b/clients/client-lookoutmetrics/src/commands/index.ts index 89c29c67fecfb..544405ff16750 100644 --- a/clients/client-lookoutmetrics/src/commands/index.ts +++ b/clients/client-lookoutmetrics/src/commands/index.ts @@ -3,6 +3,7 @@ export * from "./BackTestAnomalyDetectorCommand"; export * from "./CreateAlertCommand"; export * from "./CreateAnomalyDetectorCommand"; export * from "./CreateMetricSetCommand"; +export * from "./DeactivateAnomalyDetectorCommand"; export * from "./DeleteAlertCommand"; export * from "./DeleteAnomalyDetectorCommand"; export * from "./DescribeAlertCommand"; diff --git a/clients/client-lookoutmetrics/src/models/models_0.ts b/clients/client-lookoutmetrics/src/models/models_0.ts index af929801151e0..353615eb56638 100644 --- a/clients/client-lookoutmetrics/src/models/models_0.ts +++ b/clients/client-lookoutmetrics/src/models/models_0.ts @@ -404,12 +404,21 @@ export namespace AnomalyDetectorConfigSummary { }); } +export enum AnomalyDetectorFailureType { + ACTIVATION_FAILURE = "ACTIVATION_FAILURE", + BACK_TEST_ACTIVATION_FAILURE = "BACK_TEST_ACTIVATION_FAILURE", + DEACTIVATION_FAILURE = "DEACTIVATION_FAILURE", + DELETION_FAILURE = "DELETION_FAILURE", +} + export enum AnomalyDetectorStatus { ACTIVATING = "ACTIVATING", ACTIVE = "ACTIVE", BACK_TEST_ACTIVATING = "BACK_TEST_ACTIVATING", BACK_TEST_ACTIVE = "BACK_TEST_ACTIVE", BACK_TEST_COMPLETE = "BACK_TEST_COMPLETE", + DEACTIVATED = "DEACTIVATED", + DEACTIVATING = "DEACTIVATING", DELETING = "DELETING", FAILED = "FAILED", INACTIVE = "INACTIVE", @@ -757,12 +766,12 @@ export interface AppFlowConfig { /** *

          An IAM role that gives Amazon Lookout for Metrics permission to access the flow.

          */ - RoleArn: string | undefined; + RoleArn?: string; /** *

          name of the flow.

          */ - FlowName: string | undefined; + FlowName?: string; } export namespace AppFlowConfig { @@ -808,7 +817,7 @@ export interface CloudWatchConfig { /** *

          An IAM role that gives Amazon Lookout for Metrics permission to access data in Amazon CloudWatch.

          */ - RoleArn: string | undefined; + RoleArn?: string; } export namespace CloudWatchConfig { @@ -1017,42 +1026,42 @@ export interface RDSSourceConfig { /** *

          A string identifying the database instance.

          */ - DBInstanceIdentifier: string | undefined; + DBInstanceIdentifier?: string; /** *

          The host name of the database.

          */ - DatabaseHost: string | undefined; + DatabaseHost?: string; /** *

          The port number where the database can be accessed.

          */ - DatabasePort: number | undefined; + DatabasePort?: number; /** *

          The Amazon Resource Name (ARN) of the AWS Secrets Manager role.

          */ - SecretManagerArn: string | undefined; + SecretManagerArn?: string; /** *

          The name of the RDS database.

          */ - DatabaseName: string | undefined; + DatabaseName?: string; /** *

          The name of the table in the database.

          */ - TableName: string | undefined; + TableName?: string; /** *

          The Amazon Resource Name (ARN) of the role.

          */ - RoleArn: string | undefined; + RoleArn?: string; /** *

          An object containing information about the Amazon Virtual Private Cloud (VPC) configuration.

          */ - VpcConfiguration: VpcConfiguration | undefined; + VpcConfiguration?: VpcConfiguration; } export namespace RDSSourceConfig { @@ -1071,42 +1080,42 @@ export interface RedshiftSourceConfig { /** *

          A string identifying the Redshift cluster.

          */ - ClusterIdentifier: string | undefined; + ClusterIdentifier?: string; /** *

          The name of the database host.

          */ - DatabaseHost: string | undefined; + DatabaseHost?: string; /** *

          The port number where the database can be accessed.

          */ - DatabasePort: number | undefined; + DatabasePort?: number; /** *

          The Amazon Resource Name (ARN) of the AWS Secrets Manager role.

          */ - SecretManagerArn: string | undefined; + SecretManagerArn?: string; /** *

          The Redshift database name.

          */ - DatabaseName: string | undefined; + DatabaseName?: string; /** *

          The table name of the Redshift database.

          */ - TableName: string | undefined; + TableName?: string; /** *

          The Amazon Resource Name (ARN) of the role providing access to the database.

          */ - RoleArn: string | undefined; + RoleArn?: string; /** *

          Contains information about the Amazon Virtual Private Cloud (VPC) configuration.

          */ - VpcConfiguration: VpcConfiguration | undefined; + VpcConfiguration?: VpcConfiguration; } export namespace RedshiftSourceConfig { @@ -1227,7 +1236,7 @@ export interface S3SourceConfig { /** *

          The ARN of an IAM role that has read and write access permissions to the source S3 bucket.

          */ - RoleArn: string | undefined; + RoleArn?: string; /** *

          A list of templated paths to the source files.

          @@ -1399,6 +1408,33 @@ export namespace CreateMetricSetResponse { }); } +export interface DeactivateAnomalyDetectorRequest { + /** + *

          The Amazon Resource Name (ARN) of the anomaly detector.

          + */ + AnomalyDetectorArn: string | undefined; +} + +export namespace DeactivateAnomalyDetectorRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeactivateAnomalyDetectorRequest): any => ({ + ...obj, + }); +} + +export interface DeactivateAnomalyDetectorResponse {} + +export namespace DeactivateAnomalyDetectorResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeactivateAnomalyDetectorResponse): any => ({ + ...obj, + }); +} + export interface DeleteAlertRequest { /** *

          The ARN of the alert to delete.

          @@ -1619,7 +1655,7 @@ export interface DescribeAnomalyDetectorResponse { Status?: AnomalyDetectorStatus | string; /** - *

          The reason that the detector failed, if any.

          + *

          The reason that the detector failed.

          */ FailureReason?: string; @@ -1627,6 +1663,11 @@ export interface DescribeAnomalyDetectorResponse { *

          The ARN of the KMS key to use to encrypt your data.

          */ KmsKeyArn?: string; + + /** + *

          The process that caused the detector to fail.

          + */ + FailureType?: AnomalyDetectorFailureType | string; } export namespace DescribeAnomalyDetectorResponse { diff --git a/clients/client-lookoutmetrics/src/protocols/Aws_restJson1.ts b/clients/client-lookoutmetrics/src/protocols/Aws_restJson1.ts index 5defe950ec43f..eea8e72ccd827 100644 --- a/clients/client-lookoutmetrics/src/protocols/Aws_restJson1.ts +++ b/clients/client-lookoutmetrics/src/protocols/Aws_restJson1.ts @@ -32,6 +32,10 @@ import { CreateAnomalyDetectorCommandOutput, } from "../commands/CreateAnomalyDetectorCommand"; import { CreateMetricSetCommandInput, CreateMetricSetCommandOutput } from "../commands/CreateMetricSetCommand"; +import { + DeactivateAnomalyDetectorCommandInput, + DeactivateAnomalyDetectorCommandOutput, +} from "../commands/DeactivateAnomalyDetectorCommand"; import { DeleteAlertCommandInput, DeleteAlertCommandOutput } from "../commands/DeleteAlertCommand"; import { DeleteAnomalyDetectorCommandInput, @@ -291,6 +295,32 @@ export const serializeAws_restJson1CreateMetricSetCommand = async ( }); }; +export const serializeAws_restJson1DeactivateAnomalyDetectorCommand = async ( + input: DeactivateAnomalyDetectorCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + const resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/DeactivateAnomalyDetector"; + let body: any; + body = JSON.stringify({ + ...(input.AnomalyDetectorArn !== undefined && + input.AnomalyDetectorArn !== null && { AnomalyDetectorArn: input.AnomalyDetectorArn }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DeleteAlertCommand = async ( input: DeleteAlertCommandInput, context: __SerdeContext @@ -1376,6 +1406,97 @@ const deserializeAws_restJson1CreateMetricSetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeactivateAnomalyDetectorCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeactivateAnomalyDetectorCommandError(output, context); + } + const contents: DeactivateAnomalyDetectorCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeactivateAnomalyDetectorCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.lookoutmetrics#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.lookoutmetrics#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.lookoutmetrics#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.lookoutmetrics#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "TooManyRequestsException": + case "com.amazonaws.lookoutmetrics#TooManyRequestsException": + response = { + ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.lookoutmetrics#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_restJson1DeleteAlertCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1743,6 +1864,7 @@ export const deserializeAws_restJson1DescribeAnomalyDetectorCommand = async ( AnomalyDetectorName: undefined, CreationTime: undefined, FailureReason: undefined, + FailureType: undefined, KmsKeyArn: undefined, LastModificationTime: undefined, Status: undefined, @@ -1769,6 +1891,9 @@ export const deserializeAws_restJson1DescribeAnomalyDetectorCommand = async ( if (data.FailureReason !== undefined && data.FailureReason !== null) { contents.FailureReason = __expectString(data.FailureReason); } + if (data.FailureType !== undefined && data.FailureType !== null) { + contents.FailureType = __expectString(data.FailureType); + } if (data.KmsKeyArn !== undefined && data.KmsKeyArn !== null) { contents.KmsKeyArn = __expectString(data.KmsKeyArn); } @@ -3257,6 +3382,14 @@ const deserializeAws_restJson1UpdateMetricSetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ServiceQuotaExceededException": + case "com.amazonaws.lookoutmetrics#ServiceQuotaExceededException": + response = { + ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyRequestsException": case "com.amazonaws.lookoutmetrics#TooManyRequestsException": response = { diff --git a/clients/client-macie2/src/models/models_0.ts b/clients/client-macie2/src/models/models_0.ts index 8d5f7086d132f..f41ca64f51022 100644 --- a/clients/client-macie2/src/models/models_0.ts +++ b/clients/client-macie2/src/models/models_0.ts @@ -3849,12 +3849,12 @@ export interface CreateCustomDataIdentifierRequest { /** *

          A custom name for the custom data identifier. The name can contain as many as 128 characters.

          We strongly recommend that you avoid including any sensitive data in the name of a custom data identifier. Other users of your account might be able to see this name, depending on the actions that they're allowed to perform in Amazon Macie.

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

          The regular expression (regex) that defines the pattern to match. The expression can contain as many as 512 characters.

          */ - regex?: string; + regex: string | undefined; /** *

          The severity to assign to findings that the custom data identifier produces, based on the number of occurrences of text that matches the custom data identifier's detection criteria. You can specify as many as three SeverityLevel objects in this array, one for each severity: LOW, MEDIUM, or HIGH. If you specify more than one, the occurrences thresholds must be in ascending order by severity, moving from LOW to HIGH. For example, 1 for LOW, 50 for MEDIUM, and 100 for HIGH. If an S3 object contains fewer occurrences than the lowest specified threshold, Amazon Macie doesn't create a finding.

          If you don't specify any values for this array, Macie creates findings for S3 objects that contain at least one occurrence of text that matches the detection criteria, and Macie assigns the MEDIUM severity to those findings.

          diff --git a/clients/client-mediaconvert/src/commands/UntagResourceCommand.ts b/clients/client-mediaconvert/src/commands/UntagResourceCommand.ts index 4ba65d1b7989c..262581f5fe854 100644 --- a/clients/client-mediaconvert/src/commands/UntagResourceCommand.ts +++ b/clients/client-mediaconvert/src/commands/UntagResourceCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { MediaConvertClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConvertClient"; -import { UntagResourceRequest, UntagResourceResponse } from "../models/models_1"; +import { UntagResourceRequest, UntagResourceResponse } from "../models/models_2"; import { deserializeAws_restJson1UntagResourceCommand, serializeAws_restJson1UntagResourceCommand, diff --git a/clients/client-mediaconvert/src/commands/UpdateJobTemplateCommand.ts b/clients/client-mediaconvert/src/commands/UpdateJobTemplateCommand.ts index 0f65683f47bf6..af7489509b119 100644 --- a/clients/client-mediaconvert/src/commands/UpdateJobTemplateCommand.ts +++ b/clients/client-mediaconvert/src/commands/UpdateJobTemplateCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { MediaConvertClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConvertClient"; -import { UpdateJobTemplateRequest, UpdateJobTemplateResponse } from "../models/models_1"; +import { UpdateJobTemplateRequest, UpdateJobTemplateResponse } from "../models/models_2"; import { deserializeAws_restJson1UpdateJobTemplateCommand, serializeAws_restJson1UpdateJobTemplateCommand, diff --git a/clients/client-mediaconvert/src/commands/UpdatePresetCommand.ts b/clients/client-mediaconvert/src/commands/UpdatePresetCommand.ts index deddf64464208..f5d5d69508cd4 100644 --- a/clients/client-mediaconvert/src/commands/UpdatePresetCommand.ts +++ b/clients/client-mediaconvert/src/commands/UpdatePresetCommand.ts @@ -12,8 +12,7 @@ import { } from "@aws-sdk/types"; import { MediaConvertClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConvertClient"; -import { UpdatePresetRequest } from "../models/models_1"; -import { UpdatePresetResponse } from "../models/models_2"; +import { UpdatePresetRequest, UpdatePresetResponse } from "../models/models_2"; import { deserializeAws_restJson1UpdatePresetCommand, serializeAws_restJson1UpdatePresetCommand, diff --git a/clients/client-mediaconvert/src/models/models_0.ts b/clients/client-mediaconvert/src/models/models_0.ts index ccfc1bc029726..6f6e282c13a5f 100644 --- a/clients/client-mediaconvert/src/models/models_0.ts +++ b/clients/client-mediaconvert/src/models/models_0.ts @@ -1130,6 +1130,7 @@ export enum LanguageCode { SQI = "SQI", SRB = "SRB", SRD = "SRD", + SRP = "SRP", SSW = "SSW", SUN = "SUN", SWA = "SWA", @@ -1768,6 +1769,11 @@ export namespace EmbeddedDestinationSettings { }); } +export enum ImscAccessibilitySubs { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + export enum ImscStylePassthrough { DISABLED = "DISABLED", ENABLED = "ENABLED", @@ -1777,6 +1783,11 @@ export enum ImscStylePassthrough { * Settings related to IMSC captions. IMSC is a sidecar format that holds captions in a file that is separate from the video container. Set up sidecar captions in the same output group, but different output from your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ttml-and-webvtt-output-captions.html. When you work directly in your JSON job specification, include this object and any required children when you set destinationType to IMSC. */ export interface ImscDestinationSettings { + /** + * Specify whether to flag this caption track as accessibility in your HLS/CMAF parent manifest. When you choose ENABLED, MediaConvert includes the parameters CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES" in the EXT-X-MEDIA entry for this track. When you keep the default choice, DISABLED, MediaConvert leaves this parameter out. + */ + Accessibility?: ImscAccessibilitySubs | string; + /** * Keep this setting enabled to have MediaConvert use the font style and position information from the captions source in the output. This option is available only when your input captions are IMSC, SMPTE-TT, or TTML. Disable this setting for simplified output captions. */ @@ -1899,6 +1910,11 @@ export namespace TtmlDestinationSettings { }); } +export enum WebvttAccessibilitySubs { + DISABLED = "DISABLED", + ENABLED = "ENABLED", +} + export enum WebvttStylePassthrough { DISABLED = "DISABLED", ENABLED = "ENABLED", @@ -1908,6 +1924,11 @@ export enum WebvttStylePassthrough { * Settings related to WebVTT captions. WebVTT is a sidecar format that holds captions in a file that is separate from the video container. Set up sidecar captions in the same output group, but different output from your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ttml-and-webvtt-output-captions.html. When you work directly in your JSON job specification, include this object and any required children when you set destinationType to WebVTT. */ export interface WebvttDestinationSettings { + /** + * Specify whether to flag this caption track as accessibility in your HLS/CMAF parent manifest. When you choose ENABLED, MediaConvert includes the parameters CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES" in the EXT-X-MEDIA entry for this track. When you keep the default choice, DISABLED, MediaConvert leaves this parameter out. + */ + Accessibility?: WebvttAccessibilitySubs | string; + /** * Set Style passthrough (StylePassthrough) to ENABLED to use the available style, color, and position information from your input captions. MediaConvert uses default settings for any missing style and position information in your input captions. Set Style passthrough to DISABLED, or leave blank, to ignore the style and position information from your input captions and use simplified output captions. */ @@ -3131,6 +3152,11 @@ export interface Input { */ DenoiseFilter?: InputDenoiseFilter | string; + /** + * Use this setting only when your video source has Dolby Vision studio mastering metadata that is carried in a separate XML file. Specify the Amazon S3 location for the metadata XML file. MediaConvert uses this file to provide global and frame-level metadata for Dolby Vision preprocessing. When you specify a file here and your input also has interleaved global and frame level metadata, MediaConvert ignores the interleaved metadata and uses only the the metadata from this external XML file. Note that your IAM service role must grant MediaConvert read permissions to this file. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html. + */ + DolbyVisionMetadataXml?: string; + /** * 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. */ @@ -3240,6 +3266,11 @@ export interface InputTemplate { */ DenoiseFilter?: InputDenoiseFilter | string; + /** + * Use this setting only when your video source has Dolby Vision studio mastering metadata that is carried in a separate XML file. Specify the Amazon S3 location for the metadata XML file. MediaConvert uses this file to provide global and frame-level metadata for Dolby Vision preprocessing. When you specify a file here and your input also has interleaved global and frame level metadata, MediaConvert ignores the interleaved metadata and uses only the the metadata from this external XML file. Note that your IAM service role must grant MediaConvert read permissions to this file. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html. + */ + DolbyVisionMetadataXml?: string; + /** * Specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The input is filtered regardless of input type. */ @@ -5257,6 +5288,11 @@ export enum CmfcScte35Source { PASSTHROUGH = "PASSTHROUGH", } +export enum CmfcTimedMetadata { + NONE = "NONE", + PASSTHROUGH = "PASSTHROUGH", +} + /** * These settings relate to the fragmented MP4 container for the segments in your CMAF outputs. */ @@ -5300,6 +5336,11 @@ export interface CmfcSettings { * Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output. */ Scte35Source?: CmfcScte35Source | string; + + /** + * Applies to CMAF outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output. + */ + TimedMetadata?: CmfcTimedMetadata | string; } export namespace CmfcSettings { @@ -5759,122 +5800,3 @@ export enum M3u8Scte35Source { NONE = "NONE", PASSTHROUGH = "PASSTHROUGH", } - -export enum TimedMetadata { - NONE = "NONE", - PASSTHROUGH = "PASSTHROUGH", -} - -/** - * These settings relate to the MPEG-2 transport stream (MPEG2-TS) container for the MPEG2-TS segments in your HLS outputs. - */ -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. - */ - AudioFramesPerPes?: number; - - /** - * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. - */ - AudioPids?: number[]; - - /** - * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp (PTS) values greater than or equal to the first video packet PTS (MediaConvert drops captions and data packets with lesser PTS values). Keep the default value (AUTO) to allow all PTS values. - */ - DataPTSControl?: M3u8DataPtsControl | string; - - /** - * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport stream. - */ - MaxPcrInterval?: number; - - /** - * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. - */ - NielsenId3?: M3u8NielsenId3 | string; - - /** - * The number of milliseconds between instances of this table in the output transport stream. - */ - PatInterval?: number; - - /** - * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. - */ - PcrControl?: M3u8PcrControl | string; - - /** - * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. - */ - PcrPid?: number; - - /** - * The number of milliseconds between instances of this table in the output transport stream. - */ - PmtInterval?: number; - - /** - * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. - */ - PmtPid?: number; - - /** - * Packet Identifier (PID) of the private metadata stream in the transport stream. - */ - PrivateMetadataPid?: number; - - /** - * The value of the program number field in the Program Map Table. - */ - ProgramNumber?: number; - - /** - * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. - */ - Scte35Pid?: number; - - /** - * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE) if you don't want manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers (adMarkers) if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml). - */ - Scte35Source?: M3u8Scte35Source | string; - - /** - * Applies only to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output. - */ - TimedMetadata?: TimedMetadata | string; - - /** - * Packet Identifier (PID) of the timed metadata stream in the transport stream. - */ - TimedMetadataPid?: number; - - /** - * The value of the transport stream ID field in the Program Map Table. - */ - TransportStreamId?: number; - - /** - * Packet Identifier (PID) of the elementary video stream in the transport stream. - */ - VideoPid?: number; -} - -export namespace M3u8Settings { - /** - * @internal - */ - export const filterSensitiveLog = (obj: M3u8Settings): any => ({ - ...obj, - }); -} - -export enum MovClapAtom { - EXCLUDE = "EXCLUDE", - INCLUDE = "INCLUDE", -} diff --git a/clients/client-mediaconvert/src/models/models_1.ts b/clients/client-mediaconvert/src/models/models_1.ts index d786f24ec3c5b..a169c9fbf7e13 100644 --- a/clients/client-mediaconvert/src/models/models_1.ts +++ b/clients/client-mediaconvert/src/models/models_1.ts @@ -26,9 +26,12 @@ import { JobPhase, KantarWatermarkSettings, M2tsSettings, - M3u8Settings, + M3u8AudioDuration, + M3u8DataPtsControl, + M3u8NielsenId3, + M3u8PcrControl, + M3u8Scte35Source, MotionImageInserter, - MovClapAtom, NielsenConfiguration, NielsenNonLinearWatermarkSettings, OutputGroupDetail, @@ -37,6 +40,125 @@ import { Rectangle, } from "./models_0"; +export enum TimedMetadata { + NONE = "NONE", + PASSTHROUGH = "PASSTHROUGH", +} + +/** + * These settings relate to the MPEG-2 transport stream (MPEG2-TS) container for the MPEG2-TS segments in your HLS outputs. + */ +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. + */ + AudioFramesPerPes?: number; + + /** + * Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. + */ + AudioPids?: number[]; + + /** + * If you select ALIGN_TO_VIDEO, MediaConvert writes captions and data packets with Presentation Timestamp (PTS) values greater than or equal to the first video packet PTS (MediaConvert drops captions and data packets with lesser PTS values). Keep the default value (AUTO) to allow all PTS values. + */ + DataPTSControl?: M3u8DataPtsControl | string; + + /** + * Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport stream. + */ + MaxPcrInterval?: number; + + /** + * If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output. + */ + NielsenId3?: M3u8NielsenId3 | string; + + /** + * The number of milliseconds between instances of this table in the output transport stream. + */ + PatInterval?: number; + + /** + * When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream. + */ + PcrControl?: M3u8PcrControl | string; + + /** + * Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. + */ + PcrPid?: number; + + /** + * The number of milliseconds between instances of this table in the output transport stream. + */ + PmtInterval?: number; + + /** + * Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. + */ + PmtPid?: number; + + /** + * Packet Identifier (PID) of the private metadata stream in the transport stream. + */ + PrivateMetadataPid?: number; + + /** + * The value of the program number field in the Program Map Table. + */ + ProgramNumber?: number; + + /** + * Packet Identifier (PID) of the SCTE-35 stream in the transport stream. + */ + Scte35Pid?: number; + + /** + * For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE) if you don't want manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers (adMarkers) if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml). + */ + Scte35Source?: M3u8Scte35Source | string; + + /** + * Applies to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output. + */ + TimedMetadata?: TimedMetadata | string; + + /** + * Packet Identifier (PID) of the timed metadata stream in the transport stream. + */ + TimedMetadataPid?: number; + + /** + * The value of the transport stream ID field in the Program Map Table. + */ + TransportStreamId?: number; + + /** + * Packet Identifier (PID) of the elementary video stream in the transport stream. + */ + VideoPid?: number; +} + +export namespace M3u8Settings { + /** + * @internal + */ + export const filterSensitiveLog = (obj: M3u8Settings): any => ({ + ...obj, + }); +} + +export enum MovClapAtom { + EXCLUDE = "EXCLUDE", + INCLUDE = "INCLUDE", +} + export enum MovCslgAtom { EXCLUDE = "EXCLUDE", INCLUDE = "INCLUDE", @@ -180,6 +302,11 @@ export enum MpdScte35Source { PASSTHROUGH = "PASSTHROUGH", } +export enum MpdTimedMetadata { + NONE = "NONE", + PASSTHROUGH = "PASSTHROUGH", +} + /** * These settings relate to the fragmented MP4 container for the segments in your DASH outputs. */ @@ -208,6 +335,11 @@ export interface MpdSettings { * Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output. */ Scte35Source?: MpdScte35Source | string; + + /** + * Applies to DASH outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output. + */ + TimedMetadata?: MpdTimedMetadata | string; } export namespace MpdSettings { @@ -458,6 +590,11 @@ export enum Av1AdaptiveQuantization { OFF = "OFF", } +export enum Av1BitDepth { + BIT_10 = "BIT_10", + BIT_8 = "BIT_8", +} + export enum Av1FramerateControl { INITIALIZE_FROM_SOURCE = "INITIALIZE_FROM_SOURCE", SPECIFIED = "SPECIFIED", @@ -511,6 +648,11 @@ export interface Av1Settings { */ AdaptiveQuantization?: Av1AdaptiveQuantization | string; + /** + * Specify the Bit depth (Av1BitDepth). You can choose 8-bit (BIT_8) or 10-bit (BIT_10). + */ + BitDepth?: Av1BitDepth | string; + /** * If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator. */ @@ -1151,6 +1293,7 @@ export namespace H264Settings { } export enum H265AdaptiveQuantization { + AUTO = "AUTO", HIGH = "HIGH", HIGHER = "HIGHER", LOW = "LOW", @@ -1341,7 +1484,7 @@ export enum H265WriteMp4PackagingType { */ export interface H265Settings { /** - * Specify the strength of any adaptive quantization filters that you enable. The value that you choose here applies to the following settings: Flicker adaptive quantization (flickerAdaptiveQuantization), Spatial adaptive quantization (spatialAdaptiveQuantization), and Temporal adaptive quantization (temporalAdaptiveQuantization). + * When you set Adaptive Quantization (H265AdaptiveQuantization) to Auto (AUTO), or leave blank, MediaConvert automatically applies quantization to improve the video quality of your output. Set Adaptive Quantization to Low (LOW), Medium (MEDIUM), High (HIGH), Higher (HIGHER), or Max (MAX) to manually control the strength of the quantization filter. When you do, you can specify a value for Spatial Adaptive Quantization (H265SpatialAdaptiveQuantization), Temporal Adaptive Quantization (H265TemporalAdaptiveQuantization), and Flicker Adaptive Quantization (H265FlickerAdaptiveQuantization), to further control the quantization filter. Set Adaptive Quantization to Off (OFF) to apply no quantization to your output. */ AdaptiveQuantization?: H265AdaptiveQuantization | string; @@ -5298,138 +5441,3 @@ export namespace TagResourceResponse { ...obj, }); } - -export interface UntagResourceRequest { - /** - * The Amazon Resource Name (ARN) of the resource that you want to remove tags from. To get the ARN, send a GET request with the resource name. - */ - Arn: string | undefined; - - /** - * The keys of the tags that you want to remove from the resource. - */ - TagKeys?: string[]; -} - -export namespace UntagResourceRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ - ...obj, - }); -} - -export interface UntagResourceResponse {} - -export namespace UntagResourceResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ - ...obj, - }); -} - -export interface UpdateJobTemplateRequest { - /** - * Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide. - */ - AccelerationSettings?: AccelerationSettings; - - /** - * The new category for the job template, if you are changing it. - */ - Category?: string; - - /** - * The new description for the job template, if you are changing it. - */ - Description?: string; - - /** - * Optional list of hop destinations. - */ - HopDestinations?: HopDestination[]; - - /** - * The name of the job template you are modifying - */ - Name: string | undefined; - - /** - * Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0. - */ - Priority?: number; - - /** - * The new queue for the job template, if you are changing it. - */ - Queue?: string; - - /** - * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. - */ - Settings?: JobTemplateSettings; - - /** - * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. - */ - StatusUpdateInterval?: StatusUpdateInterval | string; -} - -export namespace UpdateJobTemplateRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateJobTemplateRequest): any => ({ - ...obj, - }); -} - -export interface UpdateJobTemplateResponse { - /** - * A job template is a pre-made set of encoding instructions that you can use to quickly create a job. - */ - JobTemplate?: JobTemplate; -} - -export namespace UpdateJobTemplateResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateJobTemplateResponse): any => ({ - ...obj, - }); -} - -export interface UpdatePresetRequest { - /** - * The new category for the preset, if you are changing it. - */ - Category?: string; - - /** - * The new description for the preset, if you are changing it. - */ - Description?: string; - - /** - * The name of the preset you are modifying. - */ - Name: string | undefined; - - /** - * Settings for preset - */ - Settings?: PresetSettings; -} - -export namespace UpdatePresetRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdatePresetRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-mediaconvert/src/models/models_2.ts b/clients/client-mediaconvert/src/models/models_2.ts index 3ba77801188f3..fd16b38cf8c89 100644 --- a/clients/client-mediaconvert/src/models/models_2.ts +++ b/clients/client-mediaconvert/src/models/models_2.ts @@ -1,4 +1,149 @@ -import { Preset, Queue, QueueStatus, ReservationPlanSettings } from "./models_1"; +import { AccelerationSettings, HopDestination } from "./models_0"; +import { + JobTemplate, + JobTemplateSettings, + Preset, + PresetSettings, + Queue, + QueueStatus, + ReservationPlanSettings, + StatusUpdateInterval, +} from "./models_1"; + +export interface UntagResourceRequest { + /** + * The Amazon Resource Name (ARN) of the resource that you want to remove tags from. To get the ARN, send a GET request with the resource name. + */ + Arn: string | undefined; + + /** + * The keys of the tags that you want to remove from the resource. + */ + TagKeys?: string[]; +} + +export namespace UntagResourceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, + }); +} + +export interface UntagResourceResponse {} + +export namespace UntagResourceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ + ...obj, + }); +} + +export interface UpdateJobTemplateRequest { + /** + * Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide. + */ + AccelerationSettings?: AccelerationSettings; + + /** + * The new category for the job template, if you are changing it. + */ + Category?: string; + + /** + * The new description for the job template, if you are changing it. + */ + Description?: string; + + /** + * Optional list of hop destinations. + */ + HopDestinations?: HopDestination[]; + + /** + * The name of the job template you are modifying + */ + Name: string | undefined; + + /** + * Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0. + */ + Priority?: number; + + /** + * The new queue for the job template, if you are changing it. + */ + Queue?: string; + + /** + * JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. + */ + Settings?: JobTemplateSettings; + + /** + * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error. + */ + StatusUpdateInterval?: StatusUpdateInterval | string; +} + +export namespace UpdateJobTemplateRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateJobTemplateRequest): any => ({ + ...obj, + }); +} + +export interface UpdateJobTemplateResponse { + /** + * A job template is a pre-made set of encoding instructions that you can use to quickly create a job. + */ + JobTemplate?: JobTemplate; +} + +export namespace UpdateJobTemplateResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateJobTemplateResponse): any => ({ + ...obj, + }); +} + +export interface UpdatePresetRequest { + /** + * The new category for the preset, if you are changing it. + */ + Category?: string; + + /** + * The new description for the preset, if you are changing it. + */ + Description?: string; + + /** + * The name of the preset you are modifying. + */ + Name: string | undefined; + + /** + * Settings for preset + */ + Settings?: PresetSettings; +} + +export namespace UpdatePresetRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdatePresetRequest): any => ({ + ...obj, + }); +} export interface UpdatePresetResponse { /** diff --git a/clients/client-mediaconvert/src/protocols/Aws_restJson1.ts b/clients/client-mediaconvert/src/protocols/Aws_restJson1.ts index 34eb62ad7520c..cd6435817ec89 100644 --- a/clients/client-mediaconvert/src/protocols/Aws_restJson1.ts +++ b/clients/client-mediaconvert/src/protocols/Aws_restJson1.ts @@ -127,7 +127,6 @@ import { KantarWatermarkSettings, M2tsScte35Esam, M2tsSettings, - M3u8Settings, MotionImageInserter, MotionImageInsertionFramerate, MotionImageInsertionOffset, @@ -191,6 +190,7 @@ import { JobSettings, JobTemplate, JobTemplateSettings, + M3u8Settings, MovSettings, Mp4Settings, MpdSettings, @@ -4476,6 +4476,7 @@ const serializeAws_restJson1Av1Settings = (input: Av1Settings, context: __SerdeC return { ...(input.AdaptiveQuantization !== undefined && input.AdaptiveQuantization !== null && { adaptiveQuantization: input.AdaptiveQuantization }), + ...(input.BitDepth !== undefined && input.BitDepth !== null && { bitDepth: input.BitDepth }), ...(input.FramerateControl !== undefined && input.FramerateControl !== null && { framerateControl: input.FramerateControl }), ...(input.FramerateConversionAlgorithm !== undefined && @@ -4865,6 +4866,7 @@ const serializeAws_restJson1CmfcSettings = (input: CmfcSettings, context: __Serd input.IFrameOnlyManifest !== null && { iFrameOnlyManifest: input.IFrameOnlyManifest }), ...(input.Scte35Esam !== undefined && input.Scte35Esam !== null && { scte35Esam: input.Scte35Esam }), ...(input.Scte35Source !== undefined && input.Scte35Source !== null && { scte35Source: input.Scte35Source }), + ...(input.TimedMetadata !== undefined && input.TimedMetadata !== null && { timedMetadata: input.TimedMetadata }), }; }; @@ -5715,6 +5717,7 @@ const serializeAws_restJson1ImscDestinationSettings = ( context: __SerdeContext ): any => { return { + ...(input.Accessibility !== undefined && input.Accessibility !== null && { accessibility: input.Accessibility }), ...(input.StylePassthrough !== undefined && input.StylePassthrough !== null && { stylePassthrough: input.StylePassthrough }), }; @@ -5742,6 +5745,8 @@ const serializeAws_restJson1Input = (input: Input, context: __SerdeContext): any decryptionSettings: serializeAws_restJson1InputDecryptionSettings(input.DecryptionSettings, context), }), ...(input.DenoiseFilter !== undefined && input.DenoiseFilter !== null && { denoiseFilter: input.DenoiseFilter }), + ...(input.DolbyVisionMetadataXml !== undefined && + input.DolbyVisionMetadataXml !== null && { dolbyVisionMetadataXml: input.DolbyVisionMetadataXml }), ...(input.FileInput !== undefined && input.FileInput !== null && { fileInput: input.FileInput }), ...(input.FilterEnable !== undefined && input.FilterEnable !== null && { filterEnable: input.FilterEnable }), ...(input.FilterStrength !== undefined && @@ -5813,6 +5818,8 @@ const serializeAws_restJson1InputTemplate = (input: InputTemplate, context: __Se input.Crop !== null && { crop: serializeAws_restJson1Rectangle(input.Crop, context) }), ...(input.DeblockFilter !== undefined && input.DeblockFilter !== null && { deblockFilter: input.DeblockFilter }), ...(input.DenoiseFilter !== undefined && input.DenoiseFilter !== null && { denoiseFilter: input.DenoiseFilter }), + ...(input.DolbyVisionMetadataXml !== undefined && + input.DolbyVisionMetadataXml !== null && { dolbyVisionMetadataXml: input.DolbyVisionMetadataXml }), ...(input.FilterEnable !== undefined && input.FilterEnable !== null && { filterEnable: input.FilterEnable }), ...(input.FilterStrength !== undefined && input.FilterStrength !== null && { filterStrength: input.FilterStrength }), @@ -6183,6 +6190,7 @@ const serializeAws_restJson1MpdSettings = (input: MpdSettings, context: __SerdeC input.CaptionContainerType !== null && { captionContainerType: input.CaptionContainerType }), ...(input.Scte35Esam !== undefined && input.Scte35Esam !== null && { scte35Esam: input.Scte35Esam }), ...(input.Scte35Source !== undefined && input.Scte35Source !== null && { scte35Source: input.Scte35Source }), + ...(input.TimedMetadata !== undefined && input.TimedMetadata !== null && { timedMetadata: input.TimedMetadata }), }; }; @@ -6999,6 +7007,7 @@ const serializeAws_restJson1WebvttDestinationSettings = ( context: __SerdeContext ): any => { return { + ...(input.Accessibility !== undefined && input.Accessibility !== null && { accessibility: input.Accessibility }), ...(input.StylePassthrough !== undefined && input.StylePassthrough !== null && { stylePassthrough: input.StylePassthrough }), }; @@ -7847,6 +7856,7 @@ const deserializeAws_restJson1Av1QvbrSettings = (output: any, context: __SerdeCo const deserializeAws_restJson1Av1Settings = (output: any, context: __SerdeContext): Av1Settings => { return { AdaptiveQuantization: __expectString(output.adaptiveQuantization), + BitDepth: __expectString(output.bitDepth), FramerateControl: __expectString(output.framerateControl), FramerateConversionAlgorithm: __expectString(output.framerateConversionAlgorithm), FramerateDenominator: __expectInt32(output.framerateDenominator), @@ -8158,6 +8168,7 @@ const deserializeAws_restJson1CmfcSettings = (output: any, context: __SerdeConte IFrameOnlyManifest: __expectString(output.iFrameOnlyManifest), Scte35Esam: __expectString(output.scte35Esam), Scte35Source: __expectString(output.scte35Source), + TimedMetadata: __expectString(output.timedMetadata), } as any; }; @@ -8842,6 +8853,7 @@ const deserializeAws_restJson1ImscDestinationSettings = ( context: __SerdeContext ): ImscDestinationSettings => { return { + Accessibility: __expectString(output.accessibility), StylePassthrough: __expectString(output.stylePassthrough), } as any; }; @@ -8870,6 +8882,7 @@ const deserializeAws_restJson1Input = (output: any, context: __SerdeContext): In ? deserializeAws_restJson1InputDecryptionSettings(output.decryptionSettings, context) : undefined, DenoiseFilter: __expectString(output.denoiseFilter), + DolbyVisionMetadataXml: __expectString(output.dolbyVisionMetadataXml), FileInput: __expectString(output.fileInput), FilterEnable: __expectString(output.filterEnable), FilterStrength: __expectInt32(output.filterStrength), @@ -8940,6 +8953,7 @@ const deserializeAws_restJson1InputTemplate = (output: any, context: __SerdeCont : undefined, DeblockFilter: __expectString(output.deblockFilter), DenoiseFilter: __expectString(output.denoiseFilter), + DolbyVisionMetadataXml: __expectString(output.dolbyVisionMetadataXml), FilterEnable: __expectString(output.filterEnable), FilterStrength: __expectInt32(output.filterStrength), ImageInserter: @@ -9383,6 +9397,7 @@ const deserializeAws_restJson1MpdSettings = (output: any, context: __SerdeContex CaptionContainerType: __expectString(output.captionContainerType), Scte35Esam: __expectString(output.scte35Esam), Scte35Source: __expectString(output.scte35Source), + TimedMetadata: __expectString(output.timedMetadata), } as any; }; @@ -10251,6 +10266,7 @@ const deserializeAws_restJson1WebvttDestinationSettings = ( context: __SerdeContext ): WebvttDestinationSettings => { return { + Accessibility: __expectString(output.accessibility), StylePassthrough: __expectString(output.stylePassthrough), } as any; }; diff --git a/clients/client-mediatailor/src/models/models_0.ts b/clients/client-mediatailor/src/models/models_0.ts index 9ba3d89b3950c..85f2b967df9b9 100644 --- a/clients/client-mediatailor/src/models/models_0.ts +++ b/clients/client-mediatailor/src/models/models_0.ts @@ -834,6 +834,20 @@ export namespace ScheduleEntry { }); } +export interface SegmentDeliveryConfiguration { + BaseUrl?: string; + Name?: string; +} + +export namespace SegmentDeliveryConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SegmentDeliveryConfiguration): any => ({ + ...obj, + }); +} + export enum AccessType { S3_SIGV4 = "S3_SIGV4", SECRETS_MANAGER_ACCESS_TOKEN = "SECRETS_MANAGER_ACCESS_TOKEN", @@ -964,6 +978,7 @@ export interface SourceLocation { */ LastModifiedTime?: Date; + SegmentDeliveryConfigurations?: SegmentDeliveryConfiguration[]; /** *

          The name of the source location.

          */ @@ -1500,6 +1515,7 @@ export interface CreateSourceLocationRequest { */ HttpConfiguration: HttpConfiguration | undefined; + SegmentDeliveryConfigurations?: SegmentDeliveryConfiguration[]; /** *

          The identifier for the source location you are working on.

          */ @@ -1551,6 +1567,7 @@ export interface CreateSourceLocationResponse { */ LastModifiedTime?: Date; + SegmentDeliveryConfigurations?: SegmentDeliveryConfiguration[]; /** *

          The name of the source location.

          */ @@ -2067,6 +2084,7 @@ export interface DescribeSourceLocationResponse { */ LastModifiedTime?: Date; + SegmentDeliveryConfigurations?: SegmentDeliveryConfiguration[]; /** *

          The name of the source location.

          */ @@ -3139,6 +3157,7 @@ export interface UpdateSourceLocationRequest { */ HttpConfiguration: HttpConfiguration | undefined; + SegmentDeliveryConfigurations?: SegmentDeliveryConfiguration[]; /** *

          The identifier for the source location you are working on.

          */ @@ -3185,6 +3204,7 @@ export interface UpdateSourceLocationResponse { */ LastModifiedTime?: Date; + SegmentDeliveryConfigurations?: SegmentDeliveryConfiguration[]; /** *

          The name of the source location.

          */ diff --git a/clients/client-mediatailor/src/protocols/Aws_restJson1.ts b/clients/client-mediatailor/src/protocols/Aws_restJson1.ts index 2fb29bd53cc5f..ac5ef16c0dd19 100644 --- a/clients/client-mediatailor/src/protocols/Aws_restJson1.ts +++ b/clients/client-mediatailor/src/protocols/Aws_restJson1.ts @@ -135,6 +135,7 @@ import { ScheduleConfiguration, ScheduleEntry, SecretsManagerAccessTokenConfiguration, + SegmentDeliveryConfiguration, SlateSource, SourceLocation, SpliceInsertMessage, @@ -347,6 +348,13 @@ export const serializeAws_restJson1CreateSourceLocationCommand = async ( input.HttpConfiguration !== null && { HttpConfiguration: serializeAws_restJson1HttpConfiguration(input.HttpConfiguration, context), }), + ...(input.SegmentDeliveryConfigurations !== undefined && + input.SegmentDeliveryConfigurations !== null && { + SegmentDeliveryConfigurations: serializeAws_restJson1__listOfSegmentDeliveryConfiguration( + input.SegmentDeliveryConfigurations, + context + ), + }), ...(input.Tags !== undefined && input.Tags !== null && { tags: serializeAws_restJson1__mapOf__string(input.Tags, context) }), }); @@ -1406,6 +1414,13 @@ export const serializeAws_restJson1UpdateSourceLocationCommand = async ( input.HttpConfiguration !== null && { HttpConfiguration: serializeAws_restJson1HttpConfiguration(input.HttpConfiguration, context), }), + ...(input.SegmentDeliveryConfigurations !== undefined && + input.SegmentDeliveryConfigurations !== null && { + SegmentDeliveryConfigurations: serializeAws_restJson1__listOfSegmentDeliveryConfiguration( + input.SegmentDeliveryConfigurations, + context + ), + }), }); return new __HttpRequest({ protocol, @@ -1755,6 +1770,7 @@ export const deserializeAws_restJson1CreateSourceLocationCommand = async ( DefaultSegmentDeliveryConfiguration: undefined, HttpConfiguration: undefined, LastModifiedTime: undefined, + SegmentDeliveryConfigurations: undefined, SourceLocationName: undefined, Tags: undefined, }; @@ -1780,6 +1796,12 @@ export const deserializeAws_restJson1CreateSourceLocationCommand = async ( if (data.LastModifiedTime !== undefined && data.LastModifiedTime !== null) { contents.LastModifiedTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.LastModifiedTime))); } + if (data.SegmentDeliveryConfigurations !== undefined && data.SegmentDeliveryConfigurations !== null) { + contents.SegmentDeliveryConfigurations = deserializeAws_restJson1__listOfSegmentDeliveryConfiguration( + data.SegmentDeliveryConfigurations, + context + ); + } if (data.SourceLocationName !== undefined && data.SourceLocationName !== null) { contents.SourceLocationName = __expectString(data.SourceLocationName); } @@ -2362,6 +2384,7 @@ export const deserializeAws_restJson1DescribeSourceLocationCommand = async ( DefaultSegmentDeliveryConfiguration: undefined, HttpConfiguration: undefined, LastModifiedTime: undefined, + SegmentDeliveryConfigurations: undefined, SourceLocationName: undefined, Tags: undefined, }; @@ -2387,6 +2410,12 @@ export const deserializeAws_restJson1DescribeSourceLocationCommand = async ( if (data.LastModifiedTime !== undefined && data.LastModifiedTime !== null) { contents.LastModifiedTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.LastModifiedTime))); } + if (data.SegmentDeliveryConfigurations !== undefined && data.SegmentDeliveryConfigurations !== null) { + contents.SegmentDeliveryConfigurations = deserializeAws_restJson1__listOfSegmentDeliveryConfiguration( + data.SegmentDeliveryConfigurations, + context + ); + } if (data.SourceLocationName !== undefined && data.SourceLocationName !== null) { contents.SourceLocationName = __expectString(data.SourceLocationName); } @@ -3606,6 +3635,7 @@ export const deserializeAws_restJson1UpdateSourceLocationCommand = async ( DefaultSegmentDeliveryConfiguration: undefined, HttpConfiguration: undefined, LastModifiedTime: undefined, + SegmentDeliveryConfigurations: undefined, SourceLocationName: undefined, Tags: undefined, }; @@ -3631,6 +3661,12 @@ export const deserializeAws_restJson1UpdateSourceLocationCommand = async ( if (data.LastModifiedTime !== undefined && data.LastModifiedTime !== null) { contents.LastModifiedTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.LastModifiedTime))); } + if (data.SegmentDeliveryConfigurations !== undefined && data.SegmentDeliveryConfigurations !== null) { + contents.SegmentDeliveryConfigurations = deserializeAws_restJson1__listOfSegmentDeliveryConfiguration( + data.SegmentDeliveryConfigurations, + context + ); + } if (data.SourceLocationName !== undefined && data.SourceLocationName !== null) { contents.SourceLocationName = __expectString(data.SourceLocationName); } @@ -3785,6 +3821,20 @@ const serializeAws_restJson1__listOfAvailMatchingCriteria = ( }); }; +const serializeAws_restJson1__listOfSegmentDeliveryConfiguration = ( + input: SegmentDeliveryConfiguration[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return serializeAws_restJson1SegmentDeliveryConfiguration(entry, context); + }); +}; + const serializeAws_restJson1__mapOf__string = (input: { [key: string]: string }, context: __SerdeContext): any => { return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { if (value === null) { @@ -4046,6 +4096,16 @@ const serializeAws_restJson1SecretsManagerAccessTokenConfiguration = ( }; }; +const serializeAws_restJson1SegmentDeliveryConfiguration = ( + input: SegmentDeliveryConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.BaseUrl !== undefined && input.BaseUrl !== null && { BaseUrl: input.BaseUrl }), + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + }; +}; + const serializeAws_restJson1SlateSource = (input: SlateSource, context: __SerdeContext): any => { return { ...(input.SourceLocationName !== undefined && @@ -4182,6 +4242,20 @@ const deserializeAws_restJson1__listOfScheduleEntry = (output: any, context: __S }); }; +const deserializeAws_restJson1__listOfSegmentDeliveryConfiguration = ( + output: any, + context: __SerdeContext +): SegmentDeliveryConfiguration[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1SegmentDeliveryConfiguration(entry, context); + }); +}; + const deserializeAws_restJson1__listOfSourceLocation = (output: any, context: __SerdeContext): SourceLocation[] => { return (output || []) .filter((e: any) => e != null) @@ -4614,6 +4688,16 @@ const deserializeAws_restJson1SecretsManagerAccessTokenConfiguration = ( } as any; }; +const deserializeAws_restJson1SegmentDeliveryConfiguration = ( + output: any, + context: __SerdeContext +): SegmentDeliveryConfiguration => { + return { + BaseUrl: __expectString(output.BaseUrl), + Name: __expectString(output.Name), + } as any; +}; + const deserializeAws_restJson1SlateSource = (output: any, context: __SerdeContext): SlateSource => { return { SourceLocationName: __expectString(output.SourceLocationName), @@ -4647,6 +4731,10 @@ const deserializeAws_restJson1SourceLocation = (output: any, context: __SerdeCon output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) : undefined, + SegmentDeliveryConfigurations: + output.SegmentDeliveryConfigurations !== undefined && output.SegmentDeliveryConfigurations !== null + ? deserializeAws_restJson1__listOfSegmentDeliveryConfiguration(output.SegmentDeliveryConfigurations, context) + : undefined, SourceLocationName: __expectString(output.SourceLocationName), Tags: output.tags !== undefined && output.tags !== null diff --git a/clients/client-nimble/src/Nimble.ts b/clients/client-nimble/src/Nimble.ts index 963cbef313a83..91afeaac6652a 100644 --- a/clients/client-nimble/src/Nimble.ts +++ b/clients/client-nimble/src/Nimble.ts @@ -876,7 +876,7 @@ export class Nimble extends NimbleClient { /** *

          Gets StreamingSession resource.

          - *

          anvoke this operation to poll for a streaming session state while creating or deleting + *

          Invoke this operation to poll for a streaming session state while creating or deleting * a session.

          */ public getStreamingSession( diff --git a/clients/client-nimble/src/commands/GetStreamingSessionCommand.ts b/clients/client-nimble/src/commands/GetStreamingSessionCommand.ts index fae345b09db09..c25457c460117 100644 --- a/clients/client-nimble/src/commands/GetStreamingSessionCommand.ts +++ b/clients/client-nimble/src/commands/GetStreamingSessionCommand.ts @@ -23,7 +23,7 @@ export interface GetStreamingSessionCommandOutput extends GetStreamingSessionRes /** *

          Gets StreamingSession resource.

          - *

          anvoke this operation to poll for a streaming session state while creating or deleting + *

          Invoke this operation to poll for a streaming session state while creating or deleting * a session.

          * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-nimble/src/models/models_0.ts b/clients/client-nimble/src/models/models_0.ts index 3312f02d5bf17..5fd25750fd2b0 100644 --- a/clients/client-nimble/src/models/models_0.ts +++ b/clients/client-nimble/src/models/models_0.ts @@ -352,14 +352,12 @@ export enum StreamingSessionStorageMode { */ export interface StreamingSessionStorageRoot { /** - *

          The folder path in Linux workstations where files are uploaded. The default path is - * $HOME/Downloads.

          + *

          The folder path in Linux workstations where files are uploaded.

          */ linux?: string; /** - *

          The folder path in Windows workstations where files are uploaded. The default path is - * %HOMEPATH%\Downloads.

          + *

          The folder path in Windows workstations where files are uploaded.

          */ windows?: string; } @@ -435,13 +433,14 @@ export interface StreamConfigurationCreate { *

          Integer that determines if you can start and stop your sessions and how long a session * can stay in the STOPPED state. The default value is 0. The maximum value is 5760.

          *

          If the value is missing or set to 0, your sessions can’t be stopped. If you then call - * StopStreamingSession, the session fails. If the time that a session stays in the READY - * state exceeds the maxSessionLengthInMinutes value, the session will automatically be - * terminated by AWS (instead of stopped).

          + * StopStreamingSession, the session fails. If the time that a session + * stays in the READY state exceeds the maxSessionLengthInMinutes value, the + * session will automatically be terminated by AWS (instead of stopped).

          *

          If the value is set to a positive number, the session can be stopped. You can call - * StopStreamingSession to stop sessions in the READY state. If the time that a session - * stays in the READY state exceeds the maxSessionLengthInMinutes value, the session will - * automatically be stopped by AWS (instead of terminated).

          + * StopStreamingSession to stop sessions in the READY state. If the time + * that a session stays in the READY state exceeds the + * maxSessionLengthInMinutes value, the session will automatically be + * stopped by AWS (instead of terminated).

          */ maxStoppedSessionLengthInMinutes?: number; @@ -592,13 +591,14 @@ export interface StreamConfiguration { *

          Integer that determines if you can start and stop your sessions and how long a session * can stay in the STOPPED state. The default value is 0. The maximum value is 5760.

          *

          If the value is missing or set to 0, your sessions can’t be stopped. If you then call - * StopStreamingSession, the session fails. If the time that a session stays in the READY - * state exceeds the maxSessionLengthInMinutes value, the session will automatically be - * terminated by AWS (instead of stopped).

          + * StopStreamingSession, the session fails. If the time that a session + * stays in the READY state exceeds the maxSessionLengthInMinutes value, the + * session will automatically be terminated by AWS (instead of stopped).

          *

          If the value is set to a positive number, the session can be stopped. You can call - * StopStreamingSession to stop sessions in the READY state. If the time that a session - * stays in the READY state exceeds the maxSessionLengthInMinutes value, the session will - * automatically be stopped by AWS (instead of terminated).

          + * StopStreamingSession to stop sessions in the READY state. If the time + * that a session stays in the READY state exceeds the + * maxSessionLengthInMinutes value, the session will automatically be + * stopped by AWS (instead of terminated).

          */ maxStoppedSessionLengthInMinutes?: number; @@ -620,6 +620,68 @@ export namespace StreamConfiguration { }); } +export enum LaunchProfileValidationState { + VALIDATION_FAILED = "VALIDATION_FAILED", + VALIDATION_FAILED_INTERNAL_SERVER_ERROR = "VALIDATION_FAILED_INTERNAL_SERVER_ERROR", + VALIDATION_IN_PROGRESS = "VALIDATION_IN_PROGRESS", + VALIDATION_NOT_STARTED = "VALIDATION_NOT_STARTED", + VALIDATION_SUCCESS = "VALIDATION_SUCCESS", +} + +export enum LaunchProfileValidationStatusCode { + VALIDATION_FAILED_INTERNAL_SERVER_ERROR = "VALIDATION_FAILED_INTERNAL_SERVER_ERROR", + VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY = "VALIDATION_FAILED_INVALID_ACTIVE_DIRECTORY", + VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION = "VALIDATION_FAILED_INVALID_SECURITY_GROUP_ASSOCIATION", + VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION = "VALIDATION_FAILED_INVALID_SUBNET_ROUTE_TABLE_ASSOCIATION", + VALIDATION_FAILED_SUBNET_NOT_FOUND = "VALIDATION_FAILED_SUBNET_NOT_FOUND", + VALIDATION_FAILED_UNAUTHORIZED = "VALIDATION_FAILED_UNAUTHORIZED", + VALIDATION_IN_PROGRESS = "VALIDATION_IN_PROGRESS", + VALIDATION_NOT_STARTED = "VALIDATION_NOT_STARTED", + VALIDATION_SUCCESS = "VALIDATION_SUCCESS", +} + +export enum LaunchProfileValidationType { + VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT = "VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT", + VALIDATE_NETWORK_ACL_ASSOCIATION = "VALIDATE_NETWORK_ACL_ASSOCIATION", + VALIDATE_SECURITY_GROUP_ASSOCIATION = "VALIDATE_SECURITY_GROUP_ASSOCIATION", + VALIDATE_SUBNET_ASSOCIATION = "VALIDATE_SUBNET_ASSOCIATION", +} + +/** + *

          The launch profile validation result.

          + */ +export interface ValidationResult { + /** + *

          The type of the validation result.

          + */ + type: LaunchProfileValidationType | string | undefined; + + /** + *

          The current state.

          + */ + state: LaunchProfileValidationState | string | undefined; + + /** + *

          The status code. This will contain the failure reason if the state is + * VALIDATION_FAILED.

          + */ + statusCode: LaunchProfileValidationStatusCode | string | undefined; + + /** + *

          The status message for the validation result.

          + */ + statusMessage: string | undefined; +} + +export namespace ValidationResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ValidationResult): any => ({ + ...obj, + }); +} + /** *

          A launch profile controls your artist workforce’s access to studio components, like * compute farms, shared file systems, managed file systems, and license server @@ -713,6 +775,11 @@ export interface LaunchProfile { *

          The user ID of the user that most recently updated the resource.

          */ updatedBy?: string; + + /** + *

          The list of the latest validation results.

          + */ + validationResults?: ValidationResult[]; } export namespace LaunchProfile { @@ -968,7 +1035,9 @@ export interface CreateStreamingSessionRequest { launchProfileId?: string; /** - *

          The user ID of the user that owns the streaming session.

          + *

          The user ID of the user that owns the streaming session. The user that owns the + * session will be logging into the session and interacting with the virtual + * workstation.

          */ ownedBy?: string; @@ -1014,6 +1083,7 @@ export enum StreamingSessionState { export enum StreamingSessionStatusCode { ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR = "ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR", + AMI_VALIDATION_ERROR = "AMI_VALIDATION_ERROR", DECRYPT_STREAMING_IMAGE_ERROR = "DECRYPT_STREAMING_IMAGE_ERROR", INITIALIZATION_SCRIPT_ERROR = "INITIALIZATION_SCRIPT_ERROR", INSUFFICIENT_CAPACITY = "INSUFFICIENT_CAPACITY", @@ -1061,7 +1131,9 @@ export interface StreamingSession { launchProfileId?: string; /** - *

          The user ID of the user that owns the streaming session.

          + *

          The user ID of the user that owns the streaming session. The user that owns the + * session will be logging into the session and interacting with the virtual + * workstation.

          */ ownedBy?: string; @@ -1238,7 +1310,9 @@ export interface StreamingSessionStream { expiresAt?: Date; /** - *

          The user ID of the user that owns the streaming session.

          + *

          The user ID of the user that owns the streaming session. The user that owns the + * session will be logging into the session and interacting with the virtual + * workstation.

          */ ownedBy?: string; @@ -3259,7 +3333,7 @@ export interface ListLaunchProfilesRequest { /** *

          Filter this request to launch profiles in any of the given states.

          */ - states?: string[]; + states?: (LaunchProfileState | string)[]; /** *

          The studio ID.

          @@ -3625,7 +3699,7 @@ export interface ListStudioComponentsRequest { /** *

          Filters the request to studio components that are in one of the given states.

          */ - states?: string[]; + states?: (StudioComponentState | string)[]; /** *

          The studio ID.

          @@ -3635,7 +3709,7 @@ export interface ListStudioComponentsRequest { /** *

          Filters the request to studio components that are of one of the given types.

          */ - types?: string[]; + types?: (StudioComponentType | string)[]; } export namespace ListStudioComponentsRequest { diff --git a/clients/client-nimble/src/protocols/Aws_restJson1.ts b/clients/client-nimble/src/protocols/Aws_restJson1.ts index 7d849f145e181..a3726f78916db 100644 --- a/clients/client-nimble/src/protocols/Aws_restJson1.ts +++ b/clients/client-nimble/src/protocols/Aws_restJson1.ts @@ -190,6 +190,7 @@ import { StudioMembership, ThrottlingException, ValidationException, + ValidationResult, } from "../models/models_0"; export const serializeAws_restJson1AcceptEulasCommand = async ( @@ -7708,6 +7709,10 @@ const deserializeAws_restJson1LaunchProfile = (output: any, context: __SerdeCont ? __expectNonNull(__parseRfc3339DateTime(output.updatedAt)) : undefined, updatedBy: __expectString(output.updatedBy), + validationResults: + output.validationResults !== undefined && output.validationResults !== null + ? deserializeAws_restJson1ValidationResults(output.validationResults, context) + : undefined, } as any; }; @@ -8353,6 +8358,26 @@ const deserializeAws_restJson1Tags = (output: any, context: __SerdeContext): { [ }, {}); }; +const deserializeAws_restJson1ValidationResult = (output: any, context: __SerdeContext): ValidationResult => { + return { + state: __expectString(output.state), + statusCode: __expectString(output.statusCode), + statusMessage: __expectString(output.statusMessage), + type: __expectString(output.type), + } as any; +}; + +const deserializeAws_restJson1ValidationResults = (output: any, context: __SerdeContext): ValidationResult[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1ValidationResult(entry, context); + }); +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"], diff --git a/clients/client-pi/README.md b/clients/client-pi/README.md index 684a10699013e..cfae539bb5ece 100644 --- a/clients/client-pi/README.md +++ b/clients/client-pi/README.md @@ -9,24 +9,29 @@ AWS SDK for JavaScript PI Client for Node.js, Browser and React Native. Amazon RDS Performance Insights -

          Amazon RDS Performance Insights enables you to monitor and explore different dimensions of -database load based on data captured from a running DB instance. The guide provides detailed -information about Performance Insights data types, parameters and errors.

          - -

          When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. Amazon -CloudWatch provides the authoritative source for AWS service-vended monitoring metrics. Performance Insights offers a domain-specific -view of DB load.

          -

          DB load is measured as Average Active Sessions. Performance Insights provides the data to API consumers as a two-dimensional -time-series dataset. The time dimension provides DB load data for each time point in the queried time range. Each time -point decomposes overall load in relation to the requested dimensions, measured at that time point. Examples include -SQL, Wait event, User, and Host.

          +

          Amazon RDS Performance Insights enables you to monitor and explore different dimensions of database load based on +data captured from a running DB instance. The guide provides detailed information about Performance Insights +data types, parameters and errors. +

          + +

          When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. +Amazon CloudWatch provides the authoritative source for Amazon Web Services service-vended monitoring metrics. +Performance Insights offers a domain-specific view of DB load. +

          +

          DB load is measured as average active sessions. Performance Insights provides the data to API consumers as a two-dimensional +time-series dataset. The time dimension provides DB load data for each time point in the +queried time range. Each time point decomposes overall load in relation to the requested dimensions, +measured at that time point. Examples include SQL, Wait event, User, and Host. +

          diff --git a/clients/client-pi/src/PI.ts b/clients/client-pi/src/PI.ts index a1d897408be3e..87feb4f488f37 100644 --- a/clients/client-pi/src/PI.ts +++ b/clients/client-pi/src/PI.ts @@ -10,41 +10,61 @@ import { GetDimensionKeyDetailsCommandInput, GetDimensionKeyDetailsCommandOutput, } from "./commands/GetDimensionKeyDetailsCommand"; +import { + GetResourceMetadataCommand, + GetResourceMetadataCommandInput, + GetResourceMetadataCommandOutput, +} from "./commands/GetResourceMetadataCommand"; import { GetResourceMetricsCommand, GetResourceMetricsCommandInput, GetResourceMetricsCommandOutput, } from "./commands/GetResourceMetricsCommand"; +import { + ListAvailableResourceDimensionsCommand, + ListAvailableResourceDimensionsCommandInput, + ListAvailableResourceDimensionsCommandOutput, +} from "./commands/ListAvailableResourceDimensionsCommand"; +import { + ListAvailableResourceMetricsCommand, + ListAvailableResourceMetricsCommandInput, + ListAvailableResourceMetricsCommandOutput, +} from "./commands/ListAvailableResourceMetricsCommand"; import { PIClient } from "./PIClient"; /** * Amazon RDS Performance Insights * - *

          Amazon RDS Performance Insights enables you to monitor and explore different dimensions of - * database load based on data captured from a running DB instance. The guide provides detailed - * information about Performance Insights data types, parameters and errors.

          + *

          Amazon RDS Performance Insights enables you to monitor and explore different dimensions of database load based on + * data captured from a running DB instance. The guide provides detailed information about Performance Insights + * data types, parameters and errors. + *

          * - *

          When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. Amazon - * CloudWatch provides the authoritative source for AWS service-vended monitoring metrics. Performance Insights offers a domain-specific - * view of DB load.

          - *

          DB load is measured as Average Active Sessions. Performance Insights provides the data to API consumers as a two-dimensional - * time-series dataset. The time dimension provides DB load data for each time point in the queried time range. Each time - * point decomposes overall load in relation to the requested dimensions, measured at that time point. Examples include - * SQL, Wait event, User, and Host.

          + *

          When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. + * Amazon CloudWatch provides the authoritative source for Amazon Web Services service-vended monitoring metrics. + * Performance Insights offers a domain-specific view of DB load. + *

          + *

          DB load is measured as average active sessions. Performance Insights provides the data to API consumers as a two-dimensional + * time-series dataset. The time dimension provides DB load data for each time point in the + * queried time range. Each time point decomposes overall load in relation to the requested dimensions, + * measured at that time point. Examples include SQL, Wait event, User, and Host. + *

          * * */ export class PI extends PIClient { /** - *

          For a specific time period, retrieve the top N dimension keys for a - * metric.

          + *

          For a specific time period, retrieve the top N dimension keys for a metric. + *

          * *

          Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, * only the first 500 bytes are returned.

          @@ -80,10 +100,11 @@ export class PI extends PIClient { } /** - *

          Get the attributes of the specified dimension group for a DB instance or data source. For example, if you specify a - * SQL ID, GetDimensionKeyDetails retrieves the full text of the dimension db.sql.statement - * associated with this ID. This operation is useful because GetResourceMetrics and - * DescribeDimensionKeys don't support retrieval of large SQL statement text.

          + *

          Get the attributes of the specified dimension group for a DB instance or data source. + * For example, if you specify a SQL ID, GetDimensionKeyDetails retrieves + * the full text of the dimension db.sql.statementcassociated with this ID. + * This operation is useful because GetResourceMetrics and DescribeDimensionKeys + * don't support retrieval of large SQL statement text.

          */ public getDimensionKeyDetails( args: GetDimensionKeyDetailsCommandInput, @@ -114,6 +135,40 @@ export class PI extends PIClient { } } + /** + *

          Retrieve the metadata for different features. For example, the metadata might indicate + * that a feature is turned on or off on a specific DB instance. + *

          + */ + public getResourceMetadata( + args: GetResourceMetadataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getResourceMetadata( + args: GetResourceMetadataCommandInput, + cb: (err: any, data?: GetResourceMetadataCommandOutput) => void + ): void; + public getResourceMetadata( + args: GetResourceMetadataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetResourceMetadataCommandOutput) => void + ): void; + public getResourceMetadata( + args: GetResourceMetadataCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetResourceMetadataCommandOutput) => void), + cb?: (err: any, data?: GetResourceMetadataCommandOutput) => void + ): Promise | void { + const command = new GetResourceMetadataCommand(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); + } + } + /** *

          Retrieve Performance Insights metrics for a set of data sources, over a time period. You can provide * specific dimension groups and dimensions, and provide aggregation and filtering criteria for @@ -151,4 +206,69 @@ export class PI extends PIClient { return this.send(command, optionsOrCb); } } + + /** + *

          Retrieve the dimensions that can be queried for each specified metric type on a specified DB instance.

          + */ + public listAvailableResourceDimensions( + args: ListAvailableResourceDimensionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAvailableResourceDimensions( + args: ListAvailableResourceDimensionsCommandInput, + cb: (err: any, data?: ListAvailableResourceDimensionsCommandOutput) => void + ): void; + public listAvailableResourceDimensions( + args: ListAvailableResourceDimensionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAvailableResourceDimensionsCommandOutput) => void + ): void; + public listAvailableResourceDimensions( + args: ListAvailableResourceDimensionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAvailableResourceDimensionsCommandOutput) => void), + cb?: (err: any, data?: ListAvailableResourceDimensionsCommandOutput) => void + ): Promise | void { + const command = new ListAvailableResourceDimensionsCommand(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); + } + } + + /** + *

          Retrieve metrics of the specified types that can be queried for a specified DB instance. + *

          + */ + public listAvailableResourceMetrics( + args: ListAvailableResourceMetricsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAvailableResourceMetrics( + args: ListAvailableResourceMetricsCommandInput, + cb: (err: any, data?: ListAvailableResourceMetricsCommandOutput) => void + ): void; + public listAvailableResourceMetrics( + args: ListAvailableResourceMetricsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAvailableResourceMetricsCommandOutput) => void + ): void; + public listAvailableResourceMetrics( + args: ListAvailableResourceMetricsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAvailableResourceMetricsCommandOutput) => void), + cb?: (err: any, data?: ListAvailableResourceMetricsCommandOutput) => void + ): Promise | void { + const command = new ListAvailableResourceMetricsCommand(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-pi/src/PIClient.ts b/clients/client-pi/src/PIClient.ts index b9d5736380b56..bcd6d761a0ee9 100644 --- a/clients/client-pi/src/PIClient.ts +++ b/clients/client-pi/src/PIClient.ts @@ -58,18 +58,36 @@ import { GetDimensionKeyDetailsCommandInput, GetDimensionKeyDetailsCommandOutput, } from "./commands/GetDimensionKeyDetailsCommand"; +import { + GetResourceMetadataCommandInput, + GetResourceMetadataCommandOutput, +} from "./commands/GetResourceMetadataCommand"; import { GetResourceMetricsCommandInput, GetResourceMetricsCommandOutput } from "./commands/GetResourceMetricsCommand"; +import { + ListAvailableResourceDimensionsCommandInput, + ListAvailableResourceDimensionsCommandOutput, +} from "./commands/ListAvailableResourceDimensionsCommand"; +import { + ListAvailableResourceMetricsCommandInput, + ListAvailableResourceMetricsCommandOutput, +} from "./commands/ListAvailableResourceMetricsCommand"; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; export type ServiceInputTypes = | DescribeDimensionKeysCommandInput | GetDimensionKeyDetailsCommandInput - | GetResourceMetricsCommandInput; + | GetResourceMetadataCommandInput + | GetResourceMetricsCommandInput + | ListAvailableResourceDimensionsCommandInput + | ListAvailableResourceMetricsCommandInput; export type ServiceOutputTypes = | DescribeDimensionKeysCommandOutput | GetDimensionKeyDetailsCommandOutput - | GetResourceMetricsCommandOutput; + | GetResourceMetadataCommandOutput + | GetResourceMetricsCommandOutput + | ListAvailableResourceDimensionsCommandOutput + | ListAvailableResourceMetricsCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** @@ -227,24 +245,29 @@ export interface PIClientResolvedConfig extends PIClientResolvedConfigType {} /** * Amazon RDS Performance Insights * - *

          Amazon RDS Performance Insights enables you to monitor and explore different dimensions of - * database load based on data captured from a running DB instance. The guide provides detailed - * information about Performance Insights data types, parameters and errors.

          + *

          Amazon RDS Performance Insights enables you to monitor and explore different dimensions of database load based on + * data captured from a running DB instance. The guide provides detailed information about Performance Insights + * data types, parameters and errors. + *

          * - *

          When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. Amazon - * CloudWatch provides the authoritative source for AWS service-vended monitoring metrics. Performance Insights offers a domain-specific - * view of DB load.

          - *

          DB load is measured as Average Active Sessions. Performance Insights provides the data to API consumers as a two-dimensional - * time-series dataset. The time dimension provides DB load data for each time point in the queried time range. Each time - * point decomposes overall load in relation to the requested dimensions, measured at that time point. Examples include - * SQL, Wait event, User, and Host.

          + *

          When Performance Insights is enabled, the Amazon RDS Performance Insights API provides visibility into the performance of your DB instance. + * Amazon CloudWatch provides the authoritative source for Amazon Web Services service-vended monitoring metrics. + * Performance Insights offers a domain-specific view of DB load. + *

          + *

          DB load is measured as average active sessions. Performance Insights provides the data to API consumers as a two-dimensional + * time-series dataset. The time dimension provides DB load data for each time point in the + * queried time range. Each time point decomposes overall load in relation to the requested dimensions, + * measured at that time point. Examples include SQL, Wait event, User, and Host. + *

          * * */ diff --git a/clients/client-pi/src/commands/DescribeDimensionKeysCommand.ts b/clients/client-pi/src/commands/DescribeDimensionKeysCommand.ts index ebf8bc6e8edc1..188602777d1e7 100644 --- a/clients/client-pi/src/commands/DescribeDimensionKeysCommand.ts +++ b/clients/client-pi/src/commands/DescribeDimensionKeysCommand.ts @@ -22,8 +22,8 @@ export interface DescribeDimensionKeysCommandInput extends DescribeDimensionKeys export interface DescribeDimensionKeysCommandOutput extends DescribeDimensionKeysResponse, __MetadataBearer {} /** - *

          For a specific time period, retrieve the top N dimension keys for a - * metric.

          + *

          For a specific time period, retrieve the top N dimension keys for a metric. + *

          * *

          Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, * only the first 500 bytes are returned.

          diff --git a/clients/client-pi/src/commands/GetDimensionKeyDetailsCommand.ts b/clients/client-pi/src/commands/GetDimensionKeyDetailsCommand.ts index c45e1843c7757..a429ba5762573 100644 --- a/clients/client-pi/src/commands/GetDimensionKeyDetailsCommand.ts +++ b/clients/client-pi/src/commands/GetDimensionKeyDetailsCommand.ts @@ -22,10 +22,11 @@ export interface GetDimensionKeyDetailsCommandInput extends GetDimensionKeyDetai export interface GetDimensionKeyDetailsCommandOutput extends GetDimensionKeyDetailsResponse, __MetadataBearer {} /** - *

          Get the attributes of the specified dimension group for a DB instance or data source. For example, if you specify a - * SQL ID, GetDimensionKeyDetails retrieves the full text of the dimension db.sql.statement - * associated with this ID. This operation is useful because GetResourceMetrics and - * DescribeDimensionKeys don't support retrieval of large SQL statement text.

          + *

          Get the attributes of the specified dimension group for a DB instance or data source. + * For example, if you specify a SQL ID, GetDimensionKeyDetails retrieves + * the full text of the dimension db.sql.statementcassociated with this ID. + * This operation is useful because GetResourceMetrics and DescribeDimensionKeys + * don't support retrieval of large SQL statement text.

          * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-pi/src/commands/GetResourceMetadataCommand.ts b/clients/client-pi/src/commands/GetResourceMetadataCommand.ts new file mode 100644 index 0000000000000..70261790fa33c --- /dev/null +++ b/clients/client-pi/src/commands/GetResourceMetadataCommand.ts @@ -0,0 +1,97 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { GetResourceMetadataRequest, GetResourceMetadataResponse } from "../models/models_0"; +import { PIClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../PIClient"; +import { + deserializeAws_json1_1GetResourceMetadataCommand, + serializeAws_json1_1GetResourceMetadataCommand, +} from "../protocols/Aws_json1_1"; + +export interface GetResourceMetadataCommandInput extends GetResourceMetadataRequest {} +export interface GetResourceMetadataCommandOutput extends GetResourceMetadataResponse, __MetadataBearer {} + +/** + *

          Retrieve the metadata for different features. For example, the metadata might indicate + * that a feature is turned on or off on a specific DB instance. + *

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PIClient, GetResourceMetadataCommand } from "@aws-sdk/client-pi"; // ES Modules import + * // const { PIClient, GetResourceMetadataCommand } = require("@aws-sdk/client-pi"); // CommonJS import + * const client = new PIClient(config); + * const command = new GetResourceMetadataCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetResourceMetadataCommandInput} for command's `input` shape. + * @see {@link GetResourceMetadataCommandOutput} for command's `response` shape. + * @see {@link PIClientResolvedConfig | config} for PIClient's `config` shape. + * + */ +export class GetResourceMetadataCommand extends $Command< + GetResourceMetadataCommandInput, + GetResourceMetadataCommandOutput, + PIClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetResourceMetadataCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: PIClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "PIClient"; + const commandName = "GetResourceMetadataCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetResourceMetadataRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetResourceMetadataResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetResourceMetadataCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetResourceMetadataCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetResourceMetadataCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-pi/src/commands/ListAvailableResourceDimensionsCommand.ts b/clients/client-pi/src/commands/ListAvailableResourceDimensionsCommand.ts new file mode 100644 index 0000000000000..2715462a2310e --- /dev/null +++ b/clients/client-pi/src/commands/ListAvailableResourceDimensionsCommand.ts @@ -0,0 +1,103 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ListAvailableResourceDimensionsRequest, ListAvailableResourceDimensionsResponse } from "../models/models_0"; +import { PIClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../PIClient"; +import { + deserializeAws_json1_1ListAvailableResourceDimensionsCommand, + serializeAws_json1_1ListAvailableResourceDimensionsCommand, +} from "../protocols/Aws_json1_1"; + +export interface ListAvailableResourceDimensionsCommandInput extends ListAvailableResourceDimensionsRequest {} +export interface ListAvailableResourceDimensionsCommandOutput + extends ListAvailableResourceDimensionsResponse, + __MetadataBearer {} + +/** + *

          Retrieve the dimensions that can be queried for each specified metric type on a specified DB instance.

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PIClient, ListAvailableResourceDimensionsCommand } from "@aws-sdk/client-pi"; // ES Modules import + * // const { PIClient, ListAvailableResourceDimensionsCommand } = require("@aws-sdk/client-pi"); // CommonJS import + * const client = new PIClient(config); + * const command = new ListAvailableResourceDimensionsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListAvailableResourceDimensionsCommandInput} for command's `input` shape. + * @see {@link ListAvailableResourceDimensionsCommandOutput} for command's `response` shape. + * @see {@link PIClientResolvedConfig | config} for PIClient's `config` shape. + * + */ +export class ListAvailableResourceDimensionsCommand extends $Command< + ListAvailableResourceDimensionsCommandInput, + ListAvailableResourceDimensionsCommandOutput, + PIClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAvailableResourceDimensionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: PIClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "PIClient"; + const commandName = "ListAvailableResourceDimensionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListAvailableResourceDimensionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAvailableResourceDimensionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListAvailableResourceDimensionsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_json1_1ListAvailableResourceDimensionsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListAvailableResourceDimensionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-pi/src/commands/ListAvailableResourceMetricsCommand.ts b/clients/client-pi/src/commands/ListAvailableResourceMetricsCommand.ts new file mode 100644 index 0000000000000..de65fbb490edd --- /dev/null +++ b/clients/client-pi/src/commands/ListAvailableResourceMetricsCommand.ts @@ -0,0 +1,101 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ListAvailableResourceMetricsRequest, ListAvailableResourceMetricsResponse } from "../models/models_0"; +import { PIClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../PIClient"; +import { + deserializeAws_json1_1ListAvailableResourceMetricsCommand, + serializeAws_json1_1ListAvailableResourceMetricsCommand, +} from "../protocols/Aws_json1_1"; + +export interface ListAvailableResourceMetricsCommandInput extends ListAvailableResourceMetricsRequest {} +export interface ListAvailableResourceMetricsCommandOutput + extends ListAvailableResourceMetricsResponse, + __MetadataBearer {} + +/** + *

          Retrieve metrics of the specified types that can be queried for a specified DB instance. + *

          + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PIClient, ListAvailableResourceMetricsCommand } from "@aws-sdk/client-pi"; // ES Modules import + * // const { PIClient, ListAvailableResourceMetricsCommand } = require("@aws-sdk/client-pi"); // CommonJS import + * const client = new PIClient(config); + * const command = new ListAvailableResourceMetricsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListAvailableResourceMetricsCommandInput} for command's `input` shape. + * @see {@link ListAvailableResourceMetricsCommandOutput} for command's `response` shape. + * @see {@link PIClientResolvedConfig | config} for PIClient's `config` shape. + * + */ +export class ListAvailableResourceMetricsCommand extends $Command< + ListAvailableResourceMetricsCommandInput, + ListAvailableResourceMetricsCommandOutput, + PIClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAvailableResourceMetricsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: PIClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "PIClient"; + const commandName = "ListAvailableResourceMetricsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListAvailableResourceMetricsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAvailableResourceMetricsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAvailableResourceMetricsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListAvailableResourceMetricsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1ListAvailableResourceMetricsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-pi/src/commands/index.ts b/clients/client-pi/src/commands/index.ts index 5bee62983d762..277770e2feeff 100644 --- a/clients/client-pi/src/commands/index.ts +++ b/clients/client-pi/src/commands/index.ts @@ -1,3 +1,6 @@ export * from "./DescribeDimensionKeysCommand"; export * from "./GetDimensionKeyDetailsCommand"; +export * from "./GetResourceMetadataCommand"; export * from "./GetResourceMetricsCommand"; +export * from "./ListAvailableResourceDimensionsCommand"; +export * from "./ListAvailableResourceMetricsCommand"; diff --git a/clients/client-pi/src/index.ts b/clients/client-pi/src/index.ts index 0aff5384a1e74..011f57ad11989 100644 --- a/clients/client-pi/src/index.ts +++ b/clients/client-pi/src/index.ts @@ -2,3 +2,4 @@ export * from "./PI"; export * from "./PIClient"; export * from "./commands"; export * from "./models"; +export * from "./pagination"; diff --git a/clients/client-pi/src/models/models_0.ts b/clients/client-pi/src/models/models_0.ts index 4655684c83bbd..76da7e1db0924 100644 --- a/clients/client-pi/src/models/models_0.ts +++ b/clients/client-pi/src/models/models_0.ts @@ -41,13 +41,13 @@ export interface DimensionGroup { *
            *
          • *

            - * db - The name of the database to which the client is connected (only Aurora PostgreSQL, RDS - * PostgreSQL, Aurora MySQL, RDS MySQL, and MariaDB)

            + * db - The name of the database to which the client is connected (only Aurora PostgreSQL, Amazon RDS PostgreSQL, + * Aurora MySQL, Amazon RDS MySQL, and MariaDB)

            *
          • *
          • *

            - * db.application - The name of the application that is connected to the database (only Aurora - * PostgreSQL and RDS PostgreSQL)

            + * db.application - The name of the application that is connected to the database (only Aurora + * PostgreSQL and RDS PostgreSQL)

            *
          • *
          • *

            @@ -55,7 +55,7 @@ export interface DimensionGroup { *

          • *
          • *

            - * db.session_type - The type of the current session (only Aurora PostgreSQL and RDS PostgreSQL)

            + * db.session_type - The type of the current session (only Aurora PostgreSQL and RDS PostgreSQL)

            *
          • *
          • *

            @@ -90,8 +90,8 @@ export interface DimensionGroup { *

              *
            • *

              - * db.application.name - The name of the application that is connected to the database (only - * Aurora PostgreSQL and RDS PostgreSQL)

              + * db.application.name - The name of the application that is connected to the database (only + * Aurora PostgreSQL and RDS PostgreSQL)

              *
            • *
            • *

              @@ -103,12 +103,12 @@ export interface DimensionGroup { *

            • *
            • *

              - * db.name - The name of the database to which the client is connected (only Aurora - * PostgreSQL, RDS PostgreSQL, Aurora MySQL, RDS MySQL, and MariaDB)

              + * db.name - The name of the database to which the client is connected (only Aurora PostgreSQL, Amazon RDS + * PostgreSQL, Aurora MySQL, Amazon RDS MySQL, and MariaDB)

              *
            • *
            • *

              - * db.session_type.name - The type of the current session (only Aurora PostgreSQL and RDS PostgreSQL)

              + * db.session_type.name - The type of the current session (only Aurora PostgreSQL and RDS PostgreSQL)

              *
            • *
            • *

              @@ -180,31 +180,34 @@ export namespace DimensionGroup { } export enum ServiceType { + DOCDB = "DOCDB", RDS = "RDS", } export interface DescribeDimensionKeysRequest { /** - *

              The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is - * RDS.

              + *

              The Amazon Web Services service for which Performance Insights will return metrics. The only valid value for + * ServiceType is RDS. + *

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

              An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from + *

              An immutable, Amazon Web Services Region-unique identifier for a data source. Performance Insights gathers metrics from * this data source.

              - *

              To use an Amazon RDS instance as a data source, you specify its DbiResourceId value. For example, - * specify db-FAIHNTYBKTGAUSUZQYPDS2GW4A - *

              + *

              To use an Amazon RDS instance as a data source, you specify its DbiResourceId value. + * For example, specify db-FAIHNTYBKTGAUSUZQYPDS2GW4A. + *

              */ Identifier: string | undefined; /** *

              The date and time specifying the beginning of the requested time series data. You must specify a - * StartTime within the past 7 days. The value specified is inclusive, which means - * that data points equal to or greater than StartTime are returned.

              - *

              The value for StartTime must be earlier than the value for - * EndTime.

              + * StartTime within the past 7 days. The value specified is inclusive, + * which means that data points equal to or greater than StartTime are returned. + *

              + *

              The value for StartTime must be earlier than the value for EndTime. + *

              */ StartTime: Date | undefined; @@ -224,26 +227,29 @@ export interface DescribeDimensionKeysRequest { *
                *
              • *

                - * db.load.avg - a scaled representation of the number of active sessions - * for the database engine.

                + * db.load.avg - a scaled representation of the number of active sessions for the database engine. + *

                *
              • *
              • *

                - * db.sampledload.avg - the raw number of active sessions for the - * database engine.

                + * db.sampledload.avg - the raw number of active sessions for the database engine. + *

                *
              • *
              - *

              If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg - * are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg - * showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. - * For most use cases, you can query db.load.avg only.

              + *

              If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg + * and db.sampledload.avg are the same value. If the number of active sessions is greater than + * the internal threshold, Performance Insights samples the active sessions, with db.load.avg + * showing the scaled values, db.sampledload.avg showing the raw values, and + * db.sampledload.avg less than db.load.avg. For most use cases, you can + * query db.load.avg only. + *

              */ Metric: string | undefined; /** *

              The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as - * one second, or as long as one day (86400 seconds). Valid values are:

              - * + * one second, or as long as one day (86400 seconds). Valid values are: + *

              *
                *
              • *

                @@ -267,26 +273,40 @@ export interface DescribeDimensionKeysRequest { *

              • *
              * - *

              If you don't specify PeriodInSeconds, then Performance Insights chooses a value for you, with a goal of returning - * roughly 100-200 data points in the response.

              + *

              If you don't specify PeriodInSeconds, then Performance Insights chooses a value for you, with a + * goal of returning roughly 100-200 data points in the response. + *

              */ PeriodInSeconds?: number; /** - *

              A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. - * Performance Insights returns all dimensions within this group, unless you provide the names of specific dimensions within this group. - * You can also request that Performance Insights return a limited number of values for a dimension.

              + *

              A specification for how to aggregate the data points from a query result. You must specify + * a valid dimension group. Performance Insights returns all dimensions within this group, unless you provide + * the names of specific dimensions within this group. You can also request that Performance Insights return + * a limited number of values for a dimension. + *

              */ GroupBy: DimensionGroup | undefined; /** - *

              For each dimension specified in - * GroupBy, specify a secondary dimension to further subdivide the partition keys in the response.

              + *

              Additional metrics for the top N dimension keys. + * If the specified dimension group in the GroupBy parameter is db.sql_tokenized, you can + * specify per-SQL metrics to get the values for the top N SQL digests. The response syntax is + * "AdditionalMetrics" : { "string" : "string" }. + *

              + *

              + */ + AdditionalMetrics?: string[]; + + /** + *

              For each dimension specified in GroupBy, specify a secondary dimension + * to further subdivide the partition keys in the response. + *

              */ PartitionBy?: DimensionGroup; /** - *

              One or more filters to apply in the request. Restrictions:

              + *

              One or more filters to apply in the request. Restrictions:

              *
                *
              • *

                Any number of filters by the same dimension, as specified in the GroupBy or @@ -300,18 +320,17 @@ export interface DescribeDimensionKeysRequest { Filter?: { [key: string]: string }; /** - *

                The maximum number of items to return in the response. - * If more items exist than the specified MaxRecords value, a pagination - * token is included in the response so that the remaining - * results can be retrieved. + *

                The maximum number of items to return in the response. If more items exist than the + * specified MaxRecords value, a pagination token is included in the response + * so that the remaining results can be retrieved. *

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

                An optional pagination token provided by a previous request. If - * this parameter is specified, the response includes only records beyond the token, up to the - * value specified by MaxRecords.

                + *

                An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the token, up to the value specified by MaxRecords. + *

                */ NextToken?: string; } @@ -326,8 +345,8 @@ export namespace DescribeDimensionKeysRequest { } /** - *

                An array of descriptions and aggregated values for - * each dimension within a dimension group.

                + *

                An object that includes the requested dimension key values and aggregated metric values + * within a dimension group.

                */ export interface DimensionKeyDescription { /** @@ -336,10 +355,15 @@ export interface DimensionKeyDescription { Dimensions?: { [key: string]: string }; /** - *

                The aggregated metric value for the dimension(s), over the requested time range.

                + *

                The aggregated metric value for the dimensions, over the requested time range.

                */ Total?: number; + /** + *

                A map that contains the value for each additional metric.

                + */ + AdditionalMetrics?: { [key: string]: number }; + /** *

                If PartitionBy was specified, PartitionKeys contains the dimensions that were.

                */ @@ -362,7 +386,7 @@ export namespace DimensionKeyDescription { */ export interface ResponsePartitionKey { /** - *

                A dimension map that contains the dimension(s) for this partition.

                + *

                A dimension map that contains the dimensions for this partition.

                */ Dimensions: { [key: string]: string } | undefined; } @@ -379,20 +403,24 @@ export namespace ResponsePartitionKey { export interface DescribeDimensionKeysResponse { /** *

                The start time for the returned dimension keys, after alignment to a granular boundary (as - * specified by PeriodInSeconds). AlignedStartTime will be less than or - * equal to the value of the user-specified StartTime.

                + * specified by PeriodInSeconds). AlignedStartTime will be less than or + * equal to the value of the user-specified StartTime. + *

                */ AlignedStartTime?: Date; /** *

                The end time for the returned dimension keys, after alignment to a granular boundary (as - * specified by PeriodInSeconds). AlignedEndTime will be greater than - * or equal to the value of the user-specified Endtime.

                + * specified by PeriodInSeconds). AlignedEndTime will be greater than + * or equal to the value of the user-specified Endtime. + *

                */ AlignedEndTime?: Date; /** - *

                If PartitionBy was present in the request, PartitionKeys contains the breakdown of dimension keys by the specified partitions.

                + *

                If PartitionBy was present in the request, PartitionKeys contains + * the breakdown of dimension keys by the specified partitions. + *

                */ PartitionKeys?: ResponsePartitionKey[]; @@ -402,9 +430,10 @@ export interface DescribeDimensionKeysResponse { Keys?: DimensionKeyDescription[]; /** - *

                An optional pagination token provided by a previous request. If - * this parameter is specified, the response includes only records beyond the token, up to the - * value specified by MaxRecords.

                + *

                A pagination token that indicates the response didn’t return all available records + * because MaxRecords was specified in the previous request. To get the + * remaining records, specify NextToken in a separate request with this value. + *

                */ NextToken?: string; } @@ -451,6 +480,49 @@ export enum DetailStatus { UNAVAILABLE = "UNAVAILABLE", } +/** + *

                The information about a dimension.

                + */ +export interface DimensionDetail { + /** + *

                The identifier of a dimension.

                + */ + Identifier?: string; +} + +export namespace DimensionDetail { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DimensionDetail): any => ({ + ...obj, + }); +} + +/** + *

                Information about dimensions within a dimension group.

                + */ +export interface DimensionGroupDetail { + /** + *

                The name of the dimension group.

                + */ + Group?: string; + + /** + *

                The dimensions within a dimension group.

                + */ + Dimensions?: DimensionDetail[]; +} + +export namespace DimensionGroupDetail { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DimensionGroupDetail): any => ({ + ...obj, + }); +} + /** *

                An object that describes the details for a specified dimension.

                */ @@ -498,16 +570,75 @@ export namespace DimensionKeyDetail { }); } +export enum FeatureStatus { + DISABLED = "DISABLED", + DISABLED_PENDING_REBOOT = "DISABLED_PENDING_REBOOT", + ENABLED = "ENABLED", + ENABLED_PENDING_REBOOT = "ENABLED_PENDING_REBOOT", + UNKNOWN = "UNKNOWN", + UNSUPPORTED = "UNSUPPORTED", +} + +/** + *

                The metadata for a feature. For example, the metadata might indicate that a feature is + * turned on or off on a specific DB instance.

                + */ +export interface FeatureMetadata { + /** + *

                The status of the feature on the DB instance. Possible values include the following: + *

                + *
                  + *
                • + *

                  + * ENABLED: the feature is enabled on the instance.

                  + *
                • + *
                • + *

                  + * DISABLED: the feature is disabled on the instance.

                  + *
                • + *
                • + *

                  + * UNSUPPORTED: the feature isn't supported on the instance.

                  + *
                • + *
                • + *

                  + * ENABLED_PENDING_REBOOT: the feature is enabled on the instance but requires + * a reboot to take effect.

                  + *
                • + *
                • + *

                  + * DISABLED_PENDING_REBOOT: the feature is disabled on the instance but requires + * a reboot to take effect.

                  + *
                • + *
                • + *

                  + * UNKNOWN: the feature status couldn't be determined.

                  + *
                • + *
                + */ + Status?: FeatureStatus | string; +} + +export namespace FeatureMetadata { + /** + * @internal + */ + export const filterSensitiveLog = (obj: FeatureMetadata): any => ({ + ...obj, + }); +} + export interface GetDimensionKeyDetailsRequest { /** - *

                The AWS service for which Performance Insights returns data. The only valid value is RDS.

                + *

                The Amazon Web Services service for which Performance Insights returns data. The only valid value is RDS.

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

                The ID for a data source from which to gather dimension data. This ID must be immutable and unique within an AWS - * Region. When a DB instance is the data source, specify its DbiResourceId value. For example, specify - * db-ABCDEFGHIJKLMNOPQRSTU1VW2X.

                + *

                The ID for a data source from which to gather dimension data. This ID must be immutable and + * unique within an Amazon Web Services Region. When a DB instance is the data source, specify its + * DbiResourceId value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X. + *

                */ Identifier: string | undefined; @@ -524,10 +655,12 @@ export interface GetDimensionKeyDetailsRequest { GroupIdentifier: string | undefined; /** - *

                A list of dimensions to retrieve the detail data for within the given dimension group. For the dimension group - * db.sql, specify either the full dimension name db.sql.statement or the short - * dimension name statement. If you don't specify this parameter, Performance Insights returns all - * dimension data within the specified dimension group.

                + *

                A list of dimensions to retrieve the detail data for within the given dimension group. + * For the dimension group db.sql, specify either the full dimension name + * db.sql.statement or the short dimension name statement. + * If you don't specify this parameter, Performance Insights returns all + * dimension data within the specified dimension group. + *

                */ RequestedDimensions?: string[]; } @@ -557,11 +690,61 @@ export namespace GetDimensionKeyDetailsResponse { }); } +export interface GetResourceMetadataRequest { + /** + *

                The Amazon Web Services service for which Performance Insights returns metrics.

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

                An immutable identifier for a data source that is unique for an Amazon Web Services Region. + * Performance Insights gathers metrics from this data source. To use a DB instance as a data source, + * specify its DbiResourceId value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X. + *

                + */ + Identifier: string | undefined; +} + +export namespace GetResourceMetadataRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetResourceMetadataRequest): any => ({ + ...obj, + }); +} + +export interface GetResourceMetadataResponse { + /** + *

                An immutable identifier for a data source that is unique for an Amazon Web Services Region. + * + * Performance Insights gathers metrics from this data source. To use a DB instance as a data source, + * specify its DbiResourceId value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VW2X. + *

                + */ + Identifier?: string; + + /** + *

                The metadata for different features. For example, the metadata might indicate that a feature is + * turned on or off on a specific DB instance.

                + */ + Features?: { [key: string]: FeatureMetadata }; +} + +export namespace GetResourceMetadataResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetResourceMetadataResponse): any => ({ + ...obj, + }); +} + /** *

                A single query to be processed. You must provide the metric to query. If no other - * parameters are specified, Performance Insights returns all of the data points for that metric. You can - * optionally request that the data points be aggregated by dimension group ( - * GroupBy), and return only those data points that match your criteria (Filter).

                + * parameters are specified, Performance Insights returns all data points for the specified metric. Optionally, you can + * request that the data points be aggregated by dimension group (GroupBy), and return only + * those data points that match your criteria (Filter).

                */ export interface MetricQuery { /** @@ -620,13 +803,13 @@ export namespace MetricQuery { export interface GetResourceMetricsRequest { /** - *

                The AWS service for which Performance Insights returns metrics. The only valid value for ServiceType is + *

                The Amazon Web Services service for which Performance Insights returns metrics. The only valid value for ServiceType is * RDS.

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

                An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from + *

                An immutable, Amazon Web Services Region-unique identifier for a data source. Performance Insights gathers metrics from * this data source.

                *

                To use a DB instance as a data source, specify its DbiResourceId value. For example, specify * db-FAIHNTYBKTGAUSUZQYPDS2GW4A.

                @@ -733,10 +916,12 @@ export interface ResponseResourceMetricKey { * database engine.

                *
              • *
              - *

              If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg - * are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg - * showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. - * For most use cases, you can query db.load.avg only.

              + *

              If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and + * db.sampledload.avg are the same value. If the number of active sessions is greater than the + * internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, + * db.sampledload.avg showing the raw values, and db.sampledload.avg less + * than db.load.avg. For most use cases, you can query db.load.avg only. + *

              */ Metric: string | undefined; @@ -761,7 +946,7 @@ export namespace ResponseResourceMetricKey { */ export interface MetricKeyDataPoints { /** - *

              The dimension(s) to which the data points apply.

              + *

              The dimensions to which the data points apply.

              */ Key?: ResponseResourceMetricKey; @@ -796,11 +981,11 @@ export interface GetResourceMetricsResponse { AlignedEndTime?: Date; /** - *

              An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from - * this data source.

              - *

              To use a DB instance as a data source, you specify its - * DbiResourceId value - for example: - * db-FAIHNTYBKTGAUSUZQYPDS2GW4A + *

              An immutable, Amazon Web Services Region-unique identifier for a data source. Performance Insights gathers metrics from + * this data source. + *

              + *

              To use a DB instance as a data source, you specify its DbiResourceId value - + * for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A *

              */ Identifier?: string; @@ -811,9 +996,9 @@ export interface GetResourceMetricsResponse { MetricList?: MetricKeyDataPoints[]; /** - *

              An optional pagination token provided by a previous request. If - * this parameter is specified, the response includes only records beyond the token, up to the - * value specified by MaxRecords.

              + *

              An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the token, up to the value specified by MaxRecords. + *

              */ NextToken?: string; } @@ -826,3 +1011,207 @@ export namespace GetResourceMetricsResponse { ...obj, }); } + +export interface ListAvailableResourceDimensionsRequest { + /** + *

              The Amazon Web Services service for which Performance Insights returns metrics.

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

              An immutable identifier for a data source that is unique within an Amazon Web Services Region. Performance Insights gathers + * metrics from this data source. To use an Amazon RDS DB instance as a data source, specify its + * DbiResourceId value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VWZ.

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

              The types of metrics for which to retrieve dimensions. Valid values include db.load.

              + */ + Metrics: string[] | undefined; + + /** + *

              The maximum number of items to return in the response. If more items exist than the specified + * MaxRecords value, a pagination token is included in the response so that the remaining + * results can be retrieved.

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

              An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the token, up to the value specified by MaxRecords. + *

              + */ + NextToken?: string; +} + +export namespace ListAvailableResourceDimensionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAvailableResourceDimensionsRequest): any => ({ + ...obj, + }); +} + +/** + *

              The available dimension information for a metric type.

              + */ +export interface MetricDimensionGroups { + /** + *

              The metric type to which the dimension information belongs.

              + */ + Metric?: string; + + /** + *

              The available dimension groups for a metric type.

              + */ + Groups?: DimensionGroupDetail[]; +} + +export namespace MetricDimensionGroups { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MetricDimensionGroups): any => ({ + ...obj, + }); +} + +export interface ListAvailableResourceDimensionsResponse { + /** + *

              The dimension information returned for requested metric types.

              + */ + MetricDimensions?: MetricDimensionGroups[]; + + /** + *

              An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the token, up to the value specified by MaxRecords.

              + */ + NextToken?: string; +} + +export namespace ListAvailableResourceDimensionsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAvailableResourceDimensionsResponse): any => ({ + ...obj, + }); +} + +export interface ListAvailableResourceMetricsRequest { + /** + *

              The Amazon Web Services service for which Performance Insights returns metrics.

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

              An immutable identifier for a data source that is unique within an Amazon Web Services Region. Performance Insights gathers + * metrics from this data source. To use an Amazon RDS DB instance as a data source, specify its + * DbiResourceId value. For example, specify db-ABCDEFGHIJKLMNOPQRSTU1VWZ.

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

              The types of metrics to return in the response. Valid values in the array include the following:

              + *
                + *
              • + *

                + * os (OS counter metrics)

                + *
              • + *
              • + *

                + * db (DB load metrics)

                + *
              • + *
              • + *

                + * db.sql.stats (per-SQL metrics)

                + *
              • + *
              • + *

                + * db.sql_tokenized.stats (per-SQL digest metrics)

                + *
              • + *
              + */ + MetricTypes: string[] | undefined; + + /** + *

              An optional pagination token provided by a previous request. If this parameter is specified, + * the response includes only records beyond the token, up to the value specified by MaxRecords. + *

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

              The maximum number of items to return. If the MaxRecords value is less than the number of + * existing items, the response includes a pagination token. + *

              + */ + MaxResults?: number; +} + +export namespace ListAvailableResourceMetricsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAvailableResourceMetricsRequest): any => ({ + ...obj, + }); +} + +/** + *

              An object that contains the full name, description, and unit of a metric. + *

              + */ +export interface ResponseResourceMetric { + /** + *

              The full name of the metric.

              + */ + Metric?: string; + + /** + *

              The description of the metric.

              + */ + Description?: string; + + /** + *

              The unit of the metric.

              + */ + Unit?: string; +} + +export namespace ResponseResourceMetric { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResponseResourceMetric): any => ({ + ...obj, + }); +} + +export interface ListAvailableResourceMetricsResponse { + /** + *

              An array of metrics available to query. Each array element contains the full name, + * description, and unit of the metric. + *

              + */ + Metrics?: ResponseResourceMetric[]; + + /** + *

              A pagination token that indicates the response didn’t return all available records + * because MaxRecords was specified in the previous request. To get the remaining + * records, specify NextToken in a separate request with this value. + *

              + */ + NextToken?: string; +} + +export namespace ListAvailableResourceMetricsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAvailableResourceMetricsResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-pi/src/pagination/DescribeDimensionKeysPaginator.ts b/clients/client-pi/src/pagination/DescribeDimensionKeysPaginator.ts new file mode 100644 index 0000000000000..2101a37659e54 --- /dev/null +++ b/clients/client-pi/src/pagination/DescribeDimensionKeysPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + DescribeDimensionKeysCommand, + DescribeDimensionKeysCommandInput, + DescribeDimensionKeysCommandOutput, +} from "../commands/DescribeDimensionKeysCommand"; +import { PI } from "../PI"; +import { PIClient } from "../PIClient"; +import { PIPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: PIClient, + input: DescribeDimensionKeysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeDimensionKeysCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: PI, + input: DescribeDimensionKeysCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.describeDimensionKeys(input, ...args); +}; +export async function* paginateDescribeDimensionKeys( + config: PIPaginationConfiguration, + input: DescribeDimensionKeysCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: DescribeDimensionKeysCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof PI) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof PIClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected PI | PIClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-pi/src/pagination/GetResourceMetricsPaginator.ts b/clients/client-pi/src/pagination/GetResourceMetricsPaginator.ts new file mode 100644 index 0000000000000..888df7d60458a --- /dev/null +++ b/clients/client-pi/src/pagination/GetResourceMetricsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + GetResourceMetricsCommand, + GetResourceMetricsCommandInput, + GetResourceMetricsCommandOutput, +} from "../commands/GetResourceMetricsCommand"; +import { PI } from "../PI"; +import { PIClient } from "../PIClient"; +import { PIPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: PIClient, + input: GetResourceMetricsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetResourceMetricsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: PI, + input: GetResourceMetricsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getResourceMetrics(input, ...args); +}; +export async function* paginateGetResourceMetrics( + config: PIPaginationConfiguration, + input: GetResourceMetricsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetResourceMetricsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof PI) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof PIClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected PI | PIClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-pi/src/pagination/Interfaces.ts b/clients/client-pi/src/pagination/Interfaces.ts new file mode 100644 index 0000000000000..22b661d8e3ef0 --- /dev/null +++ b/clients/client-pi/src/pagination/Interfaces.ts @@ -0,0 +1,8 @@ +import { PaginationConfiguration } from "@aws-sdk/types"; + +import { PI } from "../PI"; +import { PIClient } from "../PIClient"; + +export interface PIPaginationConfiguration extends PaginationConfiguration { + client: PI | PIClient; +} diff --git a/clients/client-pi/src/pagination/ListAvailableResourceDimensionsPaginator.ts b/clients/client-pi/src/pagination/ListAvailableResourceDimensionsPaginator.ts new file mode 100644 index 0000000000000..e99c3a0234fa5 --- /dev/null +++ b/clients/client-pi/src/pagination/ListAvailableResourceDimensionsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListAvailableResourceDimensionsCommand, + ListAvailableResourceDimensionsCommandInput, + ListAvailableResourceDimensionsCommandOutput, +} from "../commands/ListAvailableResourceDimensionsCommand"; +import { PI } from "../PI"; +import { PIClient } from "../PIClient"; +import { PIPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: PIClient, + input: ListAvailableResourceDimensionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAvailableResourceDimensionsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: PI, + input: ListAvailableResourceDimensionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAvailableResourceDimensions(input, ...args); +}; +export async function* paginateListAvailableResourceDimensions( + config: PIPaginationConfiguration, + input: ListAvailableResourceDimensionsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListAvailableResourceDimensionsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof PI) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof PIClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected PI | PIClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-pi/src/pagination/ListAvailableResourceMetricsPaginator.ts b/clients/client-pi/src/pagination/ListAvailableResourceMetricsPaginator.ts new file mode 100644 index 0000000000000..095cc77137d80 --- /dev/null +++ b/clients/client-pi/src/pagination/ListAvailableResourceMetricsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListAvailableResourceMetricsCommand, + ListAvailableResourceMetricsCommandInput, + ListAvailableResourceMetricsCommandOutput, +} from "../commands/ListAvailableResourceMetricsCommand"; +import { PI } from "../PI"; +import { PIClient } from "../PIClient"; +import { PIPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: PIClient, + input: ListAvailableResourceMetricsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAvailableResourceMetricsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: PI, + input: ListAvailableResourceMetricsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAvailableResourceMetrics(input, ...args); +}; +export async function* paginateListAvailableResourceMetrics( + config: PIPaginationConfiguration, + input: ListAvailableResourceMetricsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListAvailableResourceMetricsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof PI) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof PIClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected PI | PIClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-pi/src/pagination/index.ts b/clients/client-pi/src/pagination/index.ts new file mode 100644 index 0000000000000..14c173ee5827b --- /dev/null +++ b/clients/client-pi/src/pagination/index.ts @@ -0,0 +1,5 @@ +export * from "./DescribeDimensionKeysPaginator"; +export * from "./GetResourceMetricsPaginator"; +export * from "./Interfaces"; +export * from "./ListAvailableResourceDimensionsPaginator"; +export * from "./ListAvailableResourceMetricsPaginator"; diff --git a/clients/client-pi/src/protocols/Aws_json1_1.ts b/clients/client-pi/src/protocols/Aws_json1_1.ts index 155c406351049..76966af73a496 100644 --- a/clients/client-pi/src/protocols/Aws_json1_1.ts +++ b/clients/client-pi/src/protocols/Aws_json1_1.ts @@ -23,24 +23,47 @@ import { GetDimensionKeyDetailsCommandInput, GetDimensionKeyDetailsCommandOutput, } from "../commands/GetDimensionKeyDetailsCommand"; +import { + GetResourceMetadataCommandInput, + GetResourceMetadataCommandOutput, +} from "../commands/GetResourceMetadataCommand"; import { GetResourceMetricsCommandInput, GetResourceMetricsCommandOutput } from "../commands/GetResourceMetricsCommand"; +import { + ListAvailableResourceDimensionsCommandInput, + ListAvailableResourceDimensionsCommandOutput, +} from "../commands/ListAvailableResourceDimensionsCommand"; +import { + ListAvailableResourceMetricsCommandInput, + ListAvailableResourceMetricsCommandOutput, +} from "../commands/ListAvailableResourceMetricsCommand"; import { DataPoint, DescribeDimensionKeysRequest, DescribeDimensionKeysResponse, + DimensionDetail, DimensionGroup, + DimensionGroupDetail, DimensionKeyDescription, DimensionKeyDetail, + FeatureMetadata, GetDimensionKeyDetailsRequest, GetDimensionKeyDetailsResponse, + GetResourceMetadataRequest, + GetResourceMetadataResponse, GetResourceMetricsRequest, GetResourceMetricsResponse, InternalServiceError, InvalidArgumentException, + ListAvailableResourceDimensionsRequest, + ListAvailableResourceDimensionsResponse, + ListAvailableResourceMetricsRequest, + ListAvailableResourceMetricsResponse, + MetricDimensionGroups, MetricKeyDataPoints, MetricQuery, NotAuthorizedException, ResponsePartitionKey, + ResponseResourceMetric, ResponseResourceMetricKey, } from "../models/models_0"; @@ -70,6 +93,19 @@ export const serializeAws_json1_1GetDimensionKeyDetailsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetResourceMetadataCommand = async ( + input: GetResourceMetadataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "PerformanceInsightsv20180227.GetResourceMetadata", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetResourceMetadataRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetResourceMetricsCommand = async ( input: GetResourceMetricsCommandInput, context: __SerdeContext @@ -83,6 +119,32 @@ export const serializeAws_json1_1GetResourceMetricsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListAvailableResourceDimensionsCommand = async ( + input: ListAvailableResourceDimensionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "PerformanceInsightsv20180227.ListAvailableResourceDimensions", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListAvailableResourceDimensionsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +export const serializeAws_json1_1ListAvailableResourceMetricsCommand = async ( + input: ListAvailableResourceMetricsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "PerformanceInsightsv20180227.ListAvailableResourceMetrics", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListAvailableResourceMetricsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const deserializeAws_json1_1DescribeDimensionKeysCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -223,6 +285,76 @@ const deserializeAws_json1_1GetDimensionKeyDetailsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetResourceMetadataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetResourceMetadataCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetResourceMetadataResponse(data, context); + const response: GetResourceMetadataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetResourceMetadataCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceError": + case "com.amazonaws.pi#InternalServiceError": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidArgumentException": + case "com.amazonaws.pi#InvalidArgumentException": + response = { + ...(await deserializeAws_json1_1InvalidArgumentExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotAuthorizedException": + case "com.amazonaws.pi#NotAuthorizedException": + response = { + ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(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_1GetResourceMetricsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -293,6 +425,146 @@ const deserializeAws_json1_1GetResourceMetricsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListAvailableResourceDimensionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAvailableResourceDimensionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAvailableResourceDimensionsResponse(data, context); + const response: ListAvailableResourceDimensionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAvailableResourceDimensionsCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceError": + case "com.amazonaws.pi#InternalServiceError": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidArgumentException": + case "com.amazonaws.pi#InvalidArgumentException": + response = { + ...(await deserializeAws_json1_1InvalidArgumentExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotAuthorizedException": + case "com.amazonaws.pi#NotAuthorizedException": + response = { + ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(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_1ListAvailableResourceMetricsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListAvailableResourceMetricsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListAvailableResourceMetricsResponse(data, context); + const response: ListAvailableResourceMetricsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListAvailableResourceMetricsCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InternalServiceError": + case "com.amazonaws.pi#InternalServiceError": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidArgumentException": + case "com.amazonaws.pi#InvalidArgumentException": + response = { + ...(await deserializeAws_json1_1InvalidArgumentExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "NotAuthorizedException": + case "com.amazonaws.pi#NotAuthorizedException": + response = { + ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(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_1InternalServiceErrorResponse = async ( parsedOutput: any, context: __SerdeContext @@ -338,11 +610,26 @@ const deserializeAws_json1_1NotAuthorizedExceptionResponse = async ( return contents; }; +const serializeAws_json1_1AdditionalMetricsList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1DescribeDimensionKeysRequest = ( input: DescribeDimensionKeysRequest, context: __SerdeContext ): any => { return { + ...(input.AdditionalMetrics !== undefined && + input.AdditionalMetrics !== null && { + AdditionalMetrics: serializeAws_json1_1AdditionalMetricsList(input.AdditionalMetrics, context), + }), ...(input.EndTime !== undefined && input.EndTime !== null && { EndTime: Math.round(input.EndTime.getTime() / 1000) }), ...(input.Filter !== undefined && @@ -372,6 +659,17 @@ const serializeAws_json1_1DimensionGroup = (input: DimensionGroup, context: __Se }; }; +const serializeAws_json1_1DimensionsMetricList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1GetDimensionKeyDetailsRequest = ( input: GetDimensionKeyDetailsRequest, context: __SerdeContext @@ -389,6 +687,16 @@ const serializeAws_json1_1GetDimensionKeyDetailsRequest = ( }; }; +const serializeAws_json1_1GetResourceMetadataRequest = ( + input: GetResourceMetadataRequest, + context: __SerdeContext +): any => { + return { + ...(input.Identifier !== undefined && input.Identifier !== null && { Identifier: input.Identifier }), + ...(input.ServiceType !== undefined && input.ServiceType !== null && { ServiceType: input.ServiceType }), + }; +}; + const serializeAws_json1_1GetResourceMetricsRequest = ( input: GetResourceMetricsRequest, context: __SerdeContext @@ -411,6 +719,34 @@ const serializeAws_json1_1GetResourceMetricsRequest = ( }; }; +const serializeAws_json1_1ListAvailableResourceDimensionsRequest = ( + input: ListAvailableResourceDimensionsRequest, + context: __SerdeContext +): any => { + return { + ...(input.Identifier !== undefined && input.Identifier !== null && { Identifier: input.Identifier }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.Metrics !== undefined && + input.Metrics !== null && { Metrics: serializeAws_json1_1DimensionsMetricList(input.Metrics, context) }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.ServiceType !== undefined && input.ServiceType !== null && { ServiceType: input.ServiceType }), + }; +}; + +const serializeAws_json1_1ListAvailableResourceMetricsRequest = ( + input: ListAvailableResourceMetricsRequest, + context: __SerdeContext +): any => { + return { + ...(input.Identifier !== undefined && input.Identifier !== null && { Identifier: input.Identifier }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.MetricTypes !== undefined && + input.MetricTypes !== null && { MetricTypes: serializeAws_json1_1MetricTypeList(input.MetricTypes, context) }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + ...(input.ServiceType !== undefined && input.ServiceType !== null && { ServiceType: input.ServiceType }), + }; +}; + const serializeAws_json1_1MetricQuery = (input: MetricQuery, context: __SerdeContext): any => { return { ...(input.Filter !== undefined && @@ -444,6 +780,17 @@ const serializeAws_json1_1MetricQueryList = (input: MetricQuery[], context: __Se }); }; +const serializeAws_json1_1MetricTypeList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1RequestedDimensionList = (input: string[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) @@ -466,6 +813,21 @@ const serializeAws_json1_1RequestStringList = (input: string[], context: __Serde }); }; +const deserializeAws_json1_1AdditionalMetricsMap = ( + output: any, + context: __SerdeContext +): { [key: string]: number } => { + return Object.entries(output).reduce((acc: { [key: string]: number }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: __limitedParseDouble(value) as any, + }; + }, {}); +}; + const deserializeAws_json1_1DataPoint = (output: any, context: __SerdeContext): DataPoint => { return { Timestamp: @@ -512,11 +874,56 @@ const deserializeAws_json1_1DescribeDimensionKeysResponse = ( } as any; }; +const deserializeAws_json1_1DimensionDetail = (output: any, context: __SerdeContext): DimensionDetail => { + return { + Identifier: __expectString(output.Identifier), + } as any; +}; + +const deserializeAws_json1_1DimensionDetailList = (output: any, context: __SerdeContext): DimensionDetail[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1DimensionDetail(entry, context); + }); +}; + +const deserializeAws_json1_1DimensionGroupDetail = (output: any, context: __SerdeContext): DimensionGroupDetail => { + return { + Dimensions: + output.Dimensions !== undefined && output.Dimensions !== null + ? deserializeAws_json1_1DimensionDetailList(output.Dimensions, context) + : undefined, + Group: __expectString(output.Group), + } as any; +}; + +const deserializeAws_json1_1DimensionGroupDetailList = ( + output: any, + context: __SerdeContext +): DimensionGroupDetail[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1DimensionGroupDetail(entry, context); + }); +}; + const deserializeAws_json1_1DimensionKeyDescription = ( output: any, context: __SerdeContext ): DimensionKeyDescription => { return { + AdditionalMetrics: + output.AdditionalMetrics !== undefined && output.AdditionalMetrics !== null + ? deserializeAws_json1_1AdditionalMetricsMap(output.AdditionalMetrics, context) + : undefined, Dimensions: output.Dimensions !== undefined && output.Dimensions !== null ? deserializeAws_json1_1DimensionMap(output.Dimensions, context) @@ -574,6 +981,27 @@ const deserializeAws_json1_1DimensionMap = (output: any, context: __SerdeContext }, {}); }; +const deserializeAws_json1_1FeatureMetadata = (output: any, context: __SerdeContext): FeatureMetadata => { + return { + Status: __expectString(output.Status), + } as any; +}; + +const deserializeAws_json1_1FeatureMetadataMap = ( + output: any, + context: __SerdeContext +): { [key: string]: FeatureMetadata } => { + return Object.entries(output).reduce((acc: { [key: string]: FeatureMetadata }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: deserializeAws_json1_1FeatureMetadata(value, context), + }; + }, {}); +}; + const deserializeAws_json1_1GetDimensionKeyDetailsResponse = ( output: any, context: __SerdeContext @@ -586,6 +1014,19 @@ const deserializeAws_json1_1GetDimensionKeyDetailsResponse = ( } as any; }; +const deserializeAws_json1_1GetResourceMetadataResponse = ( + output: any, + context: __SerdeContext +): GetResourceMetadataResponse => { + return { + Features: + output.Features !== undefined && output.Features !== null + ? deserializeAws_json1_1FeatureMetadataMap(output.Features, context) + : undefined, + Identifier: __expectString(output.Identifier), + } as any; +}; + const deserializeAws_json1_1GetResourceMetricsResponse = ( output: any, context: __SerdeContext @@ -623,6 +1064,53 @@ const deserializeAws_json1_1InvalidArgumentException = ( } as any; }; +const deserializeAws_json1_1ListAvailableResourceDimensionsResponse = ( + output: any, + context: __SerdeContext +): ListAvailableResourceDimensionsResponse => { + return { + MetricDimensions: + output.MetricDimensions !== undefined && output.MetricDimensions !== null + ? deserializeAws_json1_1MetricDimensionsList(output.MetricDimensions, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + +const deserializeAws_json1_1ListAvailableResourceMetricsResponse = ( + output: any, + context: __SerdeContext +): ListAvailableResourceMetricsResponse => { + return { + Metrics: + output.Metrics !== undefined && output.Metrics !== null + ? deserializeAws_json1_1ResponseResourceMetricList(output.Metrics, context) + : undefined, + NextToken: __expectString(output.NextToken), + } as any; +}; + +const deserializeAws_json1_1MetricDimensionGroups = (output: any, context: __SerdeContext): MetricDimensionGroups => { + return { + Groups: + output.Groups !== undefined && output.Groups !== null + ? deserializeAws_json1_1DimensionGroupDetailList(output.Groups, context) + : undefined, + Metric: __expectString(output.Metric), + } as any; +}; + +const deserializeAws_json1_1MetricDimensionsList = (output: any, context: __SerdeContext): MetricDimensionGroups[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1MetricDimensionGroups(entry, context); + }); +}; + const deserializeAws_json1_1MetricKeyDataPoints = (output: any, context: __SerdeContext): MetricKeyDataPoints => { return { DataPoints: @@ -687,6 +1175,14 @@ const deserializeAws_json1_1ResponsePartitionKeyList = ( }); }; +const deserializeAws_json1_1ResponseResourceMetric = (output: any, context: __SerdeContext): ResponseResourceMetric => { + return { + Description: __expectString(output.Description), + Metric: __expectString(output.Metric), + Unit: __expectString(output.Unit), + } as any; +}; + const deserializeAws_json1_1ResponseResourceMetricKey = ( output: any, context: __SerdeContext @@ -700,6 +1196,20 @@ const deserializeAws_json1_1ResponseResourceMetricKey = ( } as any; }; +const deserializeAws_json1_1ResponseResourceMetricList = ( + output: any, + context: __SerdeContext +): ResponseResourceMetric[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ResponseResourceMetric(entry, context); + }); +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"], diff --git a/clients/client-pinpoint/src/models/models_0.ts b/clients/client-pinpoint/src/models/models_0.ts index 7c0ca0317446f..5dfe60dd2e689 100644 --- a/clients/client-pinpoint/src/models/models_0.ts +++ b/clients/client-pinpoint/src/models/models_0.ts @@ -4645,6 +4645,30 @@ export namespace CreateInAppTemplateResponse { }); } +/** + *

              The channel-specific configurations for the journey.

              + */ +export interface JourneyChannelSettings { + /** + *

              Amazon Resource Name (ARN) of the Connect Campaign.

              + */ + ConnectCampaignArn?: string; + + /** + *

              IAM role ARN to be assumed when invoking Connect campaign execution APIs for dialing.

              + */ + ConnectCampaignExecutionRoleArn?: string; +} + +export namespace JourneyChannelSettings { + /** + * @internal + */ + export const filterSensitiveLog = (obj: JourneyChannelSettings): any => ({ + ...obj, + }); +} + /** *

              Specifies limits on the messages that a journey can send and the number of times participants can enter a journey.

              */ @@ -4869,6 +4893,11 @@ export interface WriteJourneyRequest { *

              Specifies whether a journey should be refreshed on segment update.

              */ RefreshOnSegmentUpdate?: boolean; + + /** + *

              The channel-specific configurations for the journey.

              + */ + JourneyChannelSettings?: JourneyChannelSettings; } export namespace WriteJourneyRequest { @@ -4901,30 +4930,6 @@ export namespace CreateJourneyRequest { }); } -/** - *

              The channel-specific configurations for the journey.

              - */ -export interface JourneyChannelSettings { - /** - *

              Amazon Resource Name (ARN) of the Connect Campaign.

              - */ - ConnectCampaignArn?: string; - - /** - *

              IAM role ARN to be assumed when invoking Connect campaign execution APIs for dialing.

              - */ - ConnectCampaignExecutionRoleArn?: string; -} - -export namespace JourneyChannelSettings { - /** - * @internal - */ - export const filterSensitiveLog = (obj: JourneyChannelSettings): any => ({ - ...obj, - }); -} - /** *

              Provides information about the status, configuration, and other settings for a journey.

              */ diff --git a/clients/client-pinpoint/src/protocols/Aws_restJson1.ts b/clients/client-pinpoint/src/protocols/Aws_restJson1.ts index 89be0634db9df..b3a2ed6796b57 100644 --- a/clients/client-pinpoint/src/protocols/Aws_restJson1.ts +++ b/clients/client-pinpoint/src/protocols/Aws_restJson1.ts @@ -17664,6 +17664,17 @@ const serializeAws_restJson1InAppTemplateRequest = (input: InAppTemplateRequest, }; }; +const serializeAws_restJson1JourneyChannelSettings = (input: JourneyChannelSettings, context: __SerdeContext): any => { + return { + ...(input.ConnectCampaignArn !== undefined && + input.ConnectCampaignArn !== null && { ConnectCampaignArn: input.ConnectCampaignArn }), + ...(input.ConnectCampaignExecutionRoleArn !== undefined && + input.ConnectCampaignExecutionRoleArn !== null && { + ConnectCampaignExecutionRoleArn: input.ConnectCampaignExecutionRoleArn, + }), + }; +}; + const serializeAws_restJson1JourneyCustomMessage = (input: JourneyCustomMessage, context: __SerdeContext): any => { return { ...(input.Data !== undefined && input.Data !== null && { Data: input.Data }), @@ -18700,6 +18711,10 @@ const serializeAws_restJson1WriteJourneyRequest = (input: WriteJourneyRequest, c ...(input.Activities !== undefined && input.Activities !== null && { Activities: serializeAws_restJson1MapOfActivity(input.Activities, context) }), ...(input.CreationDate !== undefined && input.CreationDate !== null && { CreationDate: input.CreationDate }), + ...(input.JourneyChannelSettings !== undefined && + input.JourneyChannelSettings !== null && { + JourneyChannelSettings: serializeAws_restJson1JourneyChannelSettings(input.JourneyChannelSettings, context), + }), ...(input.LastModifiedDate !== undefined && input.LastModifiedDate !== null && { LastModifiedDate: input.LastModifiedDate }), ...(input.Limits !== undefined && diff --git a/clients/client-ram/src/RAM.ts b/clients/client-ram/src/RAM.ts index b679dae9ebb3a..f206d8c443392 100644 --- a/clients/client-ram/src/RAM.ts +++ b/clients/client-ram/src/RAM.ts @@ -75,6 +75,11 @@ import { ListPermissionsCommandInput, ListPermissionsCommandOutput, } from "./commands/ListPermissionsCommand"; +import { + ListPermissionVersionsCommand, + ListPermissionVersionsCommandInput, + ListPermissionVersionsCommandOutput, +} from "./commands/ListPermissionVersionsCommand"; import { ListPrincipalsCommand, ListPrincipalsCommandInput, @@ -653,6 +658,38 @@ export class RAM extends RAMClient { } } + /** + *

              Lists the available versions of the specified RAM permission.

              + */ + public listPermissionVersions( + args: ListPermissionVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listPermissionVersions( + args: ListPermissionVersionsCommandInput, + cb: (err: any, data?: ListPermissionVersionsCommandOutput) => void + ): void; + public listPermissionVersions( + args: ListPermissionVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPermissionVersionsCommandOutput) => void + ): void; + public listPermissionVersions( + args: ListPermissionVersionsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListPermissionVersionsCommandOutput) => void), + cb?: (err: any, data?: ListPermissionVersionsCommandOutput) => void + ): Promise | void { + const command = new ListPermissionVersionsCommand(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 the principals that you are sharing resources with or that are sharing resources * with you.

              diff --git a/clients/client-ram/src/RAMClient.ts b/clients/client-ram/src/RAMClient.ts index 13613306ffc40..714252c1855b7 100644 --- a/clients/client-ram/src/RAMClient.ts +++ b/clients/client-ram/src/RAMClient.ts @@ -101,6 +101,10 @@ import { ListPendingInvitationResourcesCommandOutput, } from "./commands/ListPendingInvitationResourcesCommand"; import { ListPermissionsCommandInput, ListPermissionsCommandOutput } from "./commands/ListPermissionsCommand"; +import { + ListPermissionVersionsCommandInput, + ListPermissionVersionsCommandOutput, +} from "./commands/ListPermissionVersionsCommand"; import { ListPrincipalsCommandInput, ListPrincipalsCommandOutput } from "./commands/ListPrincipalsCommand"; import { ListResourcesCommandInput, ListResourcesCommandOutput } from "./commands/ListResourcesCommand"; import { @@ -139,6 +143,7 @@ export type ServiceInputTypes = | GetResourceShareInvitationsCommandInput | GetResourceSharesCommandInput | ListPendingInvitationResourcesCommandInput + | ListPermissionVersionsCommandInput | ListPermissionsCommandInput | ListPrincipalsCommandInput | ListResourceSharePermissionsCommandInput @@ -165,6 +170,7 @@ export type ServiceOutputTypes = | GetResourceShareInvitationsCommandOutput | GetResourceSharesCommandOutput | ListPendingInvitationResourcesCommandOutput + | ListPermissionVersionsCommandOutput | ListPermissionsCommandOutput | ListPrincipalsCommandOutput | ListResourceSharePermissionsCommandOutput diff --git a/clients/client-ram/src/commands/ListPermissionVersionsCommand.ts b/clients/client-ram/src/commands/ListPermissionVersionsCommand.ts new file mode 100644 index 0000000000000..ba9c50cf8f268 --- /dev/null +++ b/clients/client-ram/src/commands/ListPermissionVersionsCommand.ts @@ -0,0 +1,95 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ListPermissionVersionsRequest, ListPermissionVersionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListPermissionVersionsCommand, + serializeAws_restJson1ListPermissionVersionsCommand, +} from "../protocols/Aws_restJson1"; +import { RAMClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RAMClient"; + +export interface ListPermissionVersionsCommandInput extends ListPermissionVersionsRequest {} +export interface ListPermissionVersionsCommandOutput extends ListPermissionVersionsResponse, __MetadataBearer {} + +/** + *

              Lists the available versions of the specified RAM permission.

              + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { RAMClient, ListPermissionVersionsCommand } from "@aws-sdk/client-ram"; // ES Modules import + * // const { RAMClient, ListPermissionVersionsCommand } = require("@aws-sdk/client-ram"); // CommonJS import + * const client = new RAMClient(config); + * const command = new ListPermissionVersionsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListPermissionVersionsCommandInput} for command's `input` shape. + * @see {@link ListPermissionVersionsCommandOutput} for command's `response` shape. + * @see {@link RAMClientResolvedConfig | config} for RAMClient's `config` shape. + * + */ +export class ListPermissionVersionsCommand extends $Command< + ListPermissionVersionsCommandInput, + ListPermissionVersionsCommandOutput, + RAMClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListPermissionVersionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RAMClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "RAMClient"; + const commandName = "ListPermissionVersionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListPermissionVersionsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListPermissionVersionsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListPermissionVersionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListPermissionVersionsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListPermissionVersionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ram/src/commands/index.ts b/clients/client-ram/src/commands/index.ts index 1133320a7218c..fcf516eccd297 100644 --- a/clients/client-ram/src/commands/index.ts +++ b/clients/client-ram/src/commands/index.ts @@ -12,6 +12,7 @@ export * from "./GetResourceShareAssociationsCommand"; export * from "./GetResourceShareInvitationsCommand"; export * from "./GetResourceSharesCommand"; export * from "./ListPendingInvitationResourcesCommand"; +export * from "./ListPermissionVersionsCommand"; export * from "./ListPermissionsCommand"; export * from "./ListPrincipalsCommand"; export * from "./ListResourceSharePermissionsCommand"; diff --git a/clients/client-ram/src/models/models_0.ts b/clients/client-ram/src/models/models_0.ts index 5aa20de68e11c..4074689830814 100644 --- a/clients/client-ram/src/models/models_0.ts +++ b/clients/client-ram/src/models/models_0.ts @@ -488,7 +488,9 @@ export interface AssociateResourceSharePermissionRequest { /** *

              Specifies the version of the RAM permission to associate with the resource share. If you don't - * specify this parameter, the operation uses the version designated as the default.

              + * specify this parameter, the operation uses the version designated as the default. You + * can use the ListPermissionVersions operation to discover the available + * versions of a permission.

              */ permissionVersion?: number; } @@ -1836,6 +1838,71 @@ export namespace ListPermissionsResponse { }); } +export interface ListPermissionVersionsRequest { + /** + *

              Specifies the Amazon Resoure Name (ARN) of the RAM permission whose versions you want to list. You + * can use the permissionVersion parameter on the AssociateResourceSharePermission operation to specify a non-default + * version to attach.

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

              Specifies that you want to receive the next page of results. Valid + * only if you received a NextToken response in the previous request. If you + * did, it indicates that more output is available. Set this parameter to the value + * provided by the previous call's NextToken response to request the + * next page of results.

              + */ + nextToken?: string; + + /** + *

              Specifies the total number of results that you want included on each page + * of the response. If you do not include this parameter, it defaults to a value that is + * specific to the operation. If additional items exist beyond the number you specify, the + * NextToken response element is returned with a value (not null). + * Include the specified value as the NextToken request parameter in the next + * call to the operation to get the next part of the results. Note that the service might + * return fewer results than the maximum even when there are more results available. You + * should check NextToken after every operation to ensure that you receive all + * of the results.

              + */ + maxResults?: number; +} + +export namespace ListPermissionVersionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListPermissionVersionsRequest): any => ({ + ...obj, + }); +} + +export interface ListPermissionVersionsResponse { + /** + *

              An array of objects that contain details for each of the available versions.

              + */ + permissions?: ResourceSharePermissionSummary[]; + + /** + *

              If present, this value indicates that more output is available than + * is included in the current response. Use this value in the NextToken + * request parameter in a subsequent call to the operation to get the next part of the + * output. You should repeat this until the NextToken response element comes + * back as null. This indicates that this is the last page of results.

              + */ + nextToken?: string; +} + +export namespace ListPermissionVersionsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListPermissionVersionsResponse): any => ({ + ...obj, + }); +} + export interface ListPrincipalsRequest { /** *

              Specifies that you want to list information for only resource shares that match the diff --git a/clients/client-ram/src/pagination/ListPermissionVersionsPaginator.ts b/clients/client-ram/src/pagination/ListPermissionVersionsPaginator.ts new file mode 100644 index 0000000000000..d3a22a6d2dd57 --- /dev/null +++ b/clients/client-ram/src/pagination/ListPermissionVersionsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListPermissionVersionsCommand, + ListPermissionVersionsCommandInput, + ListPermissionVersionsCommandOutput, +} from "../commands/ListPermissionVersionsCommand"; +import { RAM } from "../RAM"; +import { RAMClient } from "../RAMClient"; +import { RAMPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: RAMClient, + input: ListPermissionVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListPermissionVersionsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: RAM, + input: ListPermissionVersionsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listPermissionVersions(input, ...args); +}; +export async function* paginateListPermissionVersions( + config: RAMPaginationConfiguration, + input: ListPermissionVersionsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.nextToken + let token: typeof input.nextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListPermissionVersionsCommandOutput; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof RAM) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof RAMClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected RAM | RAMClient"); + } + yield page; + token = page.nextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ram/src/pagination/index.ts b/clients/client-ram/src/pagination/index.ts index 2fa8779ef91e8..74606055e5301 100644 --- a/clients/client-ram/src/pagination/index.ts +++ b/clients/client-ram/src/pagination/index.ts @@ -4,6 +4,7 @@ export * from "./GetResourceShareInvitationsPaginator"; export * from "./GetResourceSharesPaginator"; export * from "./Interfaces"; export * from "./ListPendingInvitationResourcesPaginator"; +export * from "./ListPermissionVersionsPaginator"; export * from "./ListPermissionsPaginator"; export * from "./ListPrincipalsPaginator"; export * from "./ListResourceSharePermissionsPaginator"; diff --git a/clients/client-ram/src/protocols/Aws_restJson1.ts b/clients/client-ram/src/protocols/Aws_restJson1.ts index c2187259cd2ad..33a1f5a4e71dd 100644 --- a/clients/client-ram/src/protocols/Aws_restJson1.ts +++ b/clients/client-ram/src/protocols/Aws_restJson1.ts @@ -67,6 +67,10 @@ import { ListPendingInvitationResourcesCommandOutput, } from "../commands/ListPendingInvitationResourcesCommand"; import { ListPermissionsCommandInput, ListPermissionsCommandOutput } from "../commands/ListPermissionsCommand"; +import { + ListPermissionVersionsCommandInput, + ListPermissionVersionsCommandOutput, +} from "../commands/ListPermissionVersionsCommand"; import { ListPrincipalsCommandInput, ListPrincipalsCommandOutput } from "../commands/ListPrincipalsCommand"; import { ListResourcesCommandInput, ListResourcesCommandOutput } from "../commands/ListResourcesCommand"; import { @@ -588,6 +592,33 @@ export const serializeAws_restJson1ListPermissionsCommand = async ( }); }; +export const serializeAws_restJson1ListPermissionVersionsCommand = async ( + input: ListPermissionVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + const resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/listpermissionversions"; + let body: any; + body = JSON.stringify({ + ...(input.maxResults !== undefined && input.maxResults !== null && { maxResults: input.maxResults }), + ...(input.nextToken !== undefined && input.nextToken !== null && { nextToken: input.nextToken }), + ...(input.permissionArn !== undefined && input.permissionArn !== null && { permissionArn: input.permissionArn }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1ListPrincipalsCommand = async ( input: ListPrincipalsCommandInput, context: __SerdeContext @@ -2560,6 +2591,113 @@ const deserializeAws_restJson1ListPermissionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListPermissionVersionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListPermissionVersionsCommandError(output, context); + } + const contents: ListPermissionVersionsCommandOutput = { + $metadata: deserializeMetadata(output), + nextToken: undefined, + permissions: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = __expectString(data.nextToken); + } + if (data.permissions !== undefined && data.permissions !== null) { + contents.permissions = deserializeAws_restJson1ResourceSharePermissionList(data.permissions, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListPermissionVersionsCommandError = 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 = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidNextTokenException": + case "com.amazonaws.ram#InvalidNextTokenException": + response = { + ...(await deserializeAws_restJson1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.ram#InvalidParameterException": + response = { + ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "MalformedArnException": + case "com.amazonaws.ram#MalformedArnException": + response = { + ...(await deserializeAws_restJson1MalformedArnExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.ram#OperationNotPermittedException": + response = { + ...(await deserializeAws_restJson1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServerInternalException": + case "com.amazonaws.ram#ServerInternalException": + response = { + ...(await deserializeAws_restJson1ServerInternalExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.ram#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnknownResourceException": + case "com.amazonaws.ram#UnknownResourceException": + response = { + ...(await deserializeAws_restJson1UnknownResourceExceptionResponse(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_restJson1ListPrincipalsCommand = async ( output: __HttpResponse, context: __SerdeContext diff --git a/clients/client-rds/src/RDS.ts b/clients/client-rds/src/RDS.ts index fa1cf202f468f..e4d5a2422e02f 100644 --- a/clients/client-rds/src/RDS.ts +++ b/clients/client-rds/src/RDS.ts @@ -1898,10 +1898,10 @@ export class RDS extends RDSClient { * Backup.

              * *

              If you specify both the SourceType and SourceIds, such as SourceType = db-instance - * and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for - * the specified source. If you specify a SourceType but do not specify a SourceIdentifier, + * and SourceIds = myDBInstance1, you are notified of all the db-instance events for + * the specified source. If you specify a SourceType but do not specify SourceIds, * you receive notice of the events for that source type for all your RDS sources. If you - * don't specify either the SourceType or the SourceIdentifier, you are notified of events + * don't specify either the SourceType or the SourceIds, you are notified of events * generated from all RDS sources belonging to your customer account.

              * *

              RDS event notification is only available for unencrypted SNS topics. If you specify an @@ -3675,10 +3675,13 @@ export class RDS extends RDSClient { /** *

              Displays a list of categories for all event source types, or, if specified, for a specified source type. - * You can see a list of the event categories and source types - * in - * Events in the Amazon RDS User Guide. - *

              + * You can also see this list in the "Amazon RDS event categories and event messages" section of the + * Amazon RDS User Guide + * or the + * + * Amazon Aurora User Guide + * . + *

              */ public describeEventCategories( args: DescribeEventCategoriesCommandInput, @@ -3710,11 +3713,11 @@ export class RDS extends RDSClient { } /** - *

              Returns events related to DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, and DB cluster snapshots for the past 14 days. - * Events specific to a particular DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, and DB cluster snapshots group can be + *

              Returns events related to DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, DB cluster snapshots, and RDS Proxies for the past 14 days. + * Events specific to a particular DB instance, DB cluster, DB parameter group, DB security group, DB snapshot, DB cluster snapshot group, or RDS Proxy can be * obtained by providing the name as a parameter.

              * - *

              By default, the past hour of events are returned.

              + *

              By default, RDS returns events that were generated in the past hour.

              *
              */ public describeEvents( diff --git a/clients/client-rds/src/commands/CreateEventSubscriptionCommand.ts b/clients/client-rds/src/commands/CreateEventSubscriptionCommand.ts index 26a77470ef86c..1a227a5c2e1a8 100644 --- a/clients/client-rds/src/commands/CreateEventSubscriptionCommand.ts +++ b/clients/client-rds/src/commands/CreateEventSubscriptionCommand.ts @@ -36,10 +36,10 @@ export interface CreateEventSubscriptionCommandOutput extends CreateEventSubscri * Backup.

              * *

              If you specify both the SourceType and SourceIds, such as SourceType = db-instance - * and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for - * the specified source. If you specify a SourceType but do not specify a SourceIdentifier, + * and SourceIds = myDBInstance1, you are notified of all the db-instance events for + * the specified source. If you specify a SourceType but do not specify SourceIds, * you receive notice of the events for that source type for all your RDS sources. If you - * don't specify either the SourceType or the SourceIdentifier, you are notified of events + * don't specify either the SourceType or the SourceIds, you are notified of events * generated from all RDS sources belonging to your customer account.

              * *

              RDS event notification is only available for unencrypted SNS topics. If you specify an diff --git a/clients/client-rds/src/commands/DescribeEventCategoriesCommand.ts b/clients/client-rds/src/commands/DescribeEventCategoriesCommand.ts index 5dca992a2992f..560bf71bde7cc 100644 --- a/clients/client-rds/src/commands/DescribeEventCategoriesCommand.ts +++ b/clients/client-rds/src/commands/DescribeEventCategoriesCommand.ts @@ -23,10 +23,13 @@ export interface DescribeEventCategoriesCommandOutput extends EventCategoriesMes /** *

              Displays a list of categories for all event source types, or, if specified, for a specified source type. - * You can see a list of the event categories and source types - * in - * Events in the Amazon RDS User Guide. - *

              + * You can also see this list in the "Amazon RDS event categories and event messages" section of the + * Amazon RDS User Guide + * or the + * + * Amazon Aurora User Guide + * . + *

              * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/DescribeEventsCommand.ts b/clients/client-rds/src/commands/DescribeEventsCommand.ts index a9bc7a6ee8739..1f6b956f76139 100644 --- a/clients/client-rds/src/commands/DescribeEventsCommand.ts +++ b/clients/client-rds/src/commands/DescribeEventsCommand.ts @@ -22,11 +22,11 @@ export interface DescribeEventsCommandInput extends DescribeEventsMessage {} export interface DescribeEventsCommandOutput extends EventsMessage, __MetadataBearer {} /** - *

              Returns events related to DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, and DB cluster snapshots for the past 14 days. - * Events specific to a particular DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, and DB cluster snapshots group can be + *

              Returns events related to DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, DB cluster snapshots, and RDS Proxies for the past 14 days. + * Events specific to a particular DB instance, DB cluster, DB parameter group, DB security group, DB snapshot, DB cluster snapshot group, or RDS Proxy can be * obtained by providing the name as a parameter.

              * - *

              By default, the past hour of events are returned.

              + *

              By default, RDS returns events that were generated in the past hour.

              *
              * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-rds/src/models/models_0.ts b/clients/client-rds/src/models/models_0.ts index 407bbbd57bdbf..ca937b0df5f8c 100644 --- a/clients/client-rds/src/models/models_0.ts +++ b/clients/client-rds/src/models/models_0.ts @@ -327,6 +327,9 @@ export interface AddSourceIdentifierToSubscriptionMessage { *
            • *

              If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier value must be supplied.

              *
            • + *
            • + *

              If the source type is an RDS Proxy, a DBProxyName value must be supplied.

              + *
            • *
            */ SourceIdentifier: string | undefined; @@ -8909,18 +8912,23 @@ export interface CreateEventSubscriptionMessage { /** *

            The type of source that is generating the events. For example, if you want to be * notified of events generated by a DB instance, you set this parameter to - * db-instance. If this value isn't specified, all events are + * db-instance. For RDS Proxy events, specify db-proxy. If this value isn't specified, all events are * returned.

            - *

            Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot + *

            Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy *

            */ SourceType?: string; /** *

            A list of event categories for a particular source type (SourceType) - * that you want to subscribe to. You can see a list of the categories for a given source - * type in Events in the - * Amazon RDS User Guide or by using the DescribeEventCategories operation.

            + * that you want to subscribe to. You can see a list of the categories for a given source type in the "Amazon RDS event categories and event messages" section of the + * Amazon RDS User Guide + * or the + * + * Amazon Aurora User Guide + * . + * You can also see this list by using the DescribeEventCategories operation. + *

            */ EventCategories?: string[]; @@ -8950,6 +8958,9 @@ export interface CreateEventSubscriptionMessage { *
          • *

            If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier value must be supplied.

            *
          • + *
          • + *

            If the source type is an RDS Proxy, a DBProxyName value must be supplied.

            + *
          • *
          */ SourceIds?: string[]; @@ -12674,7 +12685,7 @@ export namespace DescribeDBProxyTargetGroupsRequest { */ export interface ConnectionPoolConfigurationInfo { /** - *

          The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the + *

          The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the * max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

          */ MaxConnectionsPercent?: number; @@ -12682,9 +12693,8 @@ export interface ConnectionPoolConfigurationInfo { /** *

          * Controls how actively the proxy closes idle database connections in the connection pool. - * A high value enables the proxy to leave a high percentage of idle connections open. - * A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. - * For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group. + * The value is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group. + * With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database. *

          */ MaxIdleConnectionsPercent?: number; diff --git a/clients/client-rds/src/models/models_1.ts b/clients/client-rds/src/models/models_1.ts index 3e0ea63be25d5..c79ec4ec47488 100644 --- a/clients/client-rds/src/models/models_1.ts +++ b/clients/client-rds/src/models/models_1.ts @@ -802,8 +802,8 @@ export namespace DescribeEngineDefaultParametersResult { */ export interface DescribeEventCategoriesMessage { /** - *

          The type of source that is generating the events.

          - *

          Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot + *

          The type of source that is generating the events. For RDS Proxy events, specify db-proxy.

          + *

          Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy *

          */ SourceType?: string; @@ -872,6 +872,7 @@ export type SourceType = | "db-cluster-snapshot" | "db-instance" | "db-parameter-group" + | "db-proxy" | "db-security-group" | "db-snapshot"; @@ -905,6 +906,9 @@ export interface DescribeEventsMessage { *

          If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier value must be supplied.

          *
        • *
        • + *

          If the source type is an RDS Proxy, a DBProxyName value must be supplied.

          + *
        • + *
        • *

          Can't end with a hyphen or contain two consecutive hyphens.

          *
        • *
        @@ -5296,7 +5300,7 @@ export namespace ModifyDBProxyEndpointResponse { */ export interface ConnectionPoolConfiguration { /** - *

        The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the + *

        The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the * max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

        *

        Default: 100

        *

        Constraints: between 1 and 100

        @@ -5306,10 +5310,8 @@ export interface ConnectionPoolConfiguration { /** *

        * Controls how actively the proxy closes idle database connections in the connection pool. - * A high value enables the proxy to leave a high percentage of idle connections open. - * A low value causes the proxy to close idle client connections and return the underlying - * database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the - * max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group. + * The value is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group. + * With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database. *

        *

        Default: 50

        *

        Constraints: between 0 and MaxConnectionsPercent @@ -5647,8 +5649,8 @@ export interface ModifyEventSubscriptionMessage { SnsTopicArn?: string; /** - *

        The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. If this value isn't specified, all events are returned.

        - *

        Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot + *

        The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. For RDS Proxy events, specify db-proxy. If this value isn't specified, all events are returned.

        + *

        Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy *

        */ SourceType?: string; diff --git a/clients/client-s3outposts/src/endpoints.ts b/clients/client-s3outposts/src/endpoints.ts index 24eca983a168f..6017db702d663 100644 --- a/clients/client-s3outposts/src/endpoints.ts +++ b/clients/client-s3outposts/src/endpoints.ts @@ -1,7 +1,29 @@ import { getRegionInfo, PartitionHash, RegionHash } from "@aws-sdk/config-resolver"; import { RegionInfoProvider, RegionInfoProviderOptions } from "@aws-sdk/types"; -const regionHash: RegionHash = {}; +const regionHash: RegionHash = { + "ca-central-1": { + variants: [], + }, + "us-east-1": { + variants: [], + }, + "us-east-2": { + variants: [], + }, + "us-gov-east-1": { + variants: [], + }, + "us-gov-west-1": { + variants: [], + }, + "us-west-1": { + variants: [], + }, + "us-west-2": { + variants: [], + }, +}; const partitionHash: PartitionHash = { aws: { @@ -22,6 +44,11 @@ const partitionHash: PartitionHash = { "eu-west-1", "eu-west-2", "eu-west-3", + "fips-ca-central-1", + "fips-us-east-1", + "fips-us-east-2", + "fips-us-west-1", + "fips-us-west-2", "me-south-1", "sa-east-1", "us-east-1", @@ -100,7 +127,7 @@ const partitionHash: PartitionHash = { ], }, "aws-us-gov": { - regions: ["us-gov-east-1", "us-gov-west-1"], + regions: ["fips-us-gov-east-1", "fips-us-gov-west-1", "us-gov-east-1", "us-gov-west-1"], regionRegex: "^us\\-gov\\-\\w+\\-\\d+$", variants: [ { diff --git a/clients/client-ssm/README.md b/clients/client-ssm/README.md index 247ba0e26cf21..3c296ed65bbad 100644 --- a/clients/client-ssm/README.md +++ b/clients/client-ssm/README.md @@ -11,14 +11,13 @@ AWS SDK for JavaScript SSM Client for Node.js, Browser and React Native. collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed nodes. A -managed node is any Amazon Elastic Compute Cloud (Amazon EC2) instance, edge -device, or on-premises server or virtual machine (VM) that has been configured for -Systems Manager.

        +managed node is any Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or on-premises +server or virtual machine (VM) that has been configured for Systems Manager.

        -

        With support for IoT Greengrass Version 2 devices, the phrase managed +

        With support for IoT Greengrass core devices, the phrase managed instance has been changed to managed node in most of the Systems Manager -documentation. The Systems Manager console, API -calls, error messages, and SSM documents still use the term instance.

        +documentation. The Systems Manager console, API calls, error messages, and SSM documents still use the +term instance.

        This reference is intended to be used with the Amazon Web Services Systems Manager User Guide.

        To get started, verify prerequisites and configure managed nodes. For more information, see diff --git a/clients/client-ssm/src/SSM.ts b/clients/client-ssm/src/SSM.ts index 78d18bd822b6c..b4730f59a93fb 100644 --- a/clients/client-ssm/src/SSM.ts +++ b/clients/client-ssm/src/SSM.ts @@ -670,14 +670,13 @@ import { SSMClient } from "./SSMClient"; * collecting system inventory, applying operating system (OS) patches, automating the creation of * Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. * Systems Manager lets you remotely and securely manage the configuration of your managed nodes. A - * managed node is any Amazon Elastic Compute Cloud (Amazon EC2) instance, edge - * device, or on-premises server or virtual machine (VM) that has been configured for - * Systems Manager.

        + * managed node is any Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or on-premises + * server or virtual machine (VM) that has been configured for Systems Manager.

        * - *

        With support for IoT Greengrass Version 2 devices, the phrase managed + *

        With support for IoT Greengrass core devices, the phrase managed * instance has been changed to managed node in most of the Systems Manager - * documentation. The Systems Manager console, API - * calls, error messages, and SSM documents still use the term instance.

        + * documentation. The Systems Manager console, API calls, error messages, and SSM documents still use the + * term instance.

        *
        *

        This reference is intended to be used with the Amazon Web Services Systems Manager User Guide.

        *

        To get started, verify prerequisites and configure managed nodes. For more information, see @@ -891,8 +890,8 @@ export class SSM extends SSMClient { * requirements for managing on-premises machines using Systems Manager, see Setting up * Amazon Web Services Systems Manager for hybrid environments in the Amazon Web Services Systems Manager User Guide.

        * - *

        Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are configured for Systems Manager are all called managed - * nodes.

        + *

        Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are + * configured for Systems Manager are all called managed nodes.

        *
        */ public createActivation( @@ -968,9 +967,9 @@ export class SSM extends SSMClient { /** *

        Associates the specified Amazon Web Services Systems Manager document (SSM document) with the specified managed nodes * or targets.

        - *

        When you associate a document with one or more managed nodes using IDs or tags, - * Amazon Web Services Systems Manager Agent (SSM Agent) running on the managed node processes the document and configures the - * node as specified.

        + *

        When you associate a document with one or more managed nodes using IDs or tags, Amazon Web Services Systems Manager + * Agent (SSM Agent) running on the managed node processes the document and configures the node as + * specified.

        *

        If you associate a document with a managed node that already has an associated document, the * system returns the AssociationAlreadyExists exception.

        */ @@ -1271,9 +1270,9 @@ export class SSM extends SSMClient { } /** - *

        Disassociates the specified Amazon Web Services Systems Manager document (SSM document) from the specified managed node. - * If you created the association by using the Targets parameter, then you must delete - * the association by using the association ID.

        + *

        Disassociates the specified Amazon Web Services Systems Manager document (SSM document) from the specified managed + * node. If you created the association by using the Targets parameter, then you must + * delete the association by using the association ID.

        *

        When you disassociate a document from a managed node, it doesn't change the configuration of * the node. To change the configuration state of a managed node after you disassociate a document, * you must create a new document with the desired configuration and associate it with the @@ -2104,8 +2103,8 @@ export class SSM extends SSMClient { *

        Describes one or more of your managed nodes, including information about the operating * system platform, the version of SSM Agent installed on the managed node, node status, and so * on.

        - *

        If you specify one or more managed node IDs, it returns information for those managed nodes. If - * you don't specify node IDs, it returns information for all your managed nodes. If you specify + *

        If you specify one or more managed node IDs, it returns information for those managed nodes. + * If you don't specify node IDs, it returns information for all your managed nodes. If you specify * a node ID that isn't valid or a node that you don't own, you receive an error.

        * *

        The IamRole field for this API operation is the Identity and Access Management @@ -2143,8 +2142,8 @@ export class SSM extends SSMClient { } /** - *

        Retrieves information about the patches on the specified managed node and their state relative - * to the patch baseline being used for the node.

        + *

        Retrieves information about the patches on the specified managed node and their state + * relative to the patch baseline being used for the node.

        */ public describeInstancePatches( args: DescribeInstancePatchesCommandInput, @@ -2208,7 +2207,8 @@ export class SSM extends SSMClient { } /** - *

        Retrieves the high-level patch state for the managed nodes in the specified patch group.

        + *

        Retrieves the high-level patch state for the managed nodes in the specified patch + * group.

        */ public describeInstancePatchStatesForPatchGroup( args: DescribeInstancePatchStatesForPatchGroupCommandInput, @@ -2991,8 +2991,8 @@ export class SSM extends SSMClient { } /** - *

        Retrieves the Session Manager connection status for a managed node to determine whether it is running and - * ready to receive Session Manager connections.

        + *

        Retrieves the Session Manager connection status for a managed node to determine whether it is running + * and ready to receive Session Manager connections.

        */ public getConnectionStatus( args: GetConnectionStatusCommandInput, @@ -3064,8 +3064,8 @@ export class SSM extends SSMClient { * *

        If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local Amazon Web Services credentials and the operation fails. To avoid * this, you can run the command in the Amazon Web Services Systems Manager console. Use Run Command, a capability of - * Amazon Web Services Systems Manager, with an SSM document that enables you to target a managed node with a script or command. - * For example, run the command using the AWS-RunShellScript document or the + * Amazon Web Services Systems Manager, with an SSM document that enables you to target a managed node with a script or + * command. For example, run the command using the AWS-RunShellScript document or the * AWS-RunPowerShellScript document.

        *
        */ @@ -3127,8 +3127,8 @@ export class SSM extends SSMClient { } /** - *

        Query inventory information. This includes managed node status, such as Stopped or - * Terminated.

        + *

        Query inventory information. This includes managed node status, such as Stopped + * or Terminated.

        */ public getInventory( args: GetInventoryCommandInput, @@ -3780,8 +3780,8 @@ export class SSM extends SSMClient { /** *

        Returns all State Manager associations in the current Amazon Web Services account and Amazon Web Services Region. You - * can limit the results to a specific State Manager association document or managed node by specifying - * a filter. State Manager is a capability of Amazon Web Services Systems Manager.

        + * can limit the results to a specific State Manager association document or managed node by + * specifying a filter. State Manager is a capability of Amazon Web Services Systems Manager.

        */ public listAssociations( args: ListAssociationsCommandInput, @@ -3845,11 +3845,11 @@ export class SSM extends SSMClient { } /** - *

        An invocation is copy of a command sent to a specific managed node. A command can apply to one - * or more managed nodes. A command invocation applies to one managed node. For example, if a user runs - * SendCommand against three managed nodes, then a command invocation is created for - * each requested managed node ID. ListCommandInvocations provide status about command - * execution.

        + *

        An invocation is copy of a command sent to a specific managed node. A command can apply to + * one or more managed nodes. A command invocation applies to one managed node. For example, if a + * user runs SendCommand against three managed nodes, then a command invocation is + * created for each requested managed node ID. ListCommandInvocations provide status + * about command execution.

        */ public listCommandInvocations( args: ListCommandInvocationsCommandInput, @@ -4435,8 +4435,9 @@ export class SSM extends SSMClient { } /** - *

        Bulk update custom inventory items on one or more managed nodes. The request adds an inventory item, - * if it doesn't already exist, or updates an inventory item, if it does exist.

        + *

        Bulk update custom inventory items on one or more managed nodes. The request adds an + * inventory item, if it doesn't already exist, or updates an inventory item, if it does + * exist.

        */ public putInventory( args: PutInventoryCommandInput, @@ -4899,9 +4900,9 @@ export class SSM extends SSMClient { } /** - *

        Initiates a connection to a target (for example, a managed node) for a Session Manager session. Returns a - * URL and token that can be used to open a WebSocket connection for sending input and receiving - * outputs.

        + *

        Initiates a connection to a target (for example, a managed node) for a Session Manager session. + * Returns a URL and token that can be used to open a WebSocket connection for sending input and + * receiving outputs.

        * *

        Amazon Web Services CLI usage: start-session is an interactive command that requires the Session Manager * plugin to be installed on the client machine making the call. For information, see Install @@ -5035,7 +5036,14 @@ export class SSM extends SSMClient { /** *

        Updates an association. You can update the association name and version, the document - * version, schedule, parameters, and Amazon Simple Storage Service (Amazon S3) output.

        + * version, schedule, parameters, and Amazon Simple Storage Service (Amazon S3) output. When you + * call UpdateAssociation, the system drops all optional parameters from the request + * and overwrites the association with null values for those parameters. This is by design. You must + * specify all optional parameters in the call, even if you are not changing the parameters. This + * includes the Name parameter. Before calling this API action, we recommend that you + * call the DescribeAssociation API operation and make a note of all optional + * parameters required for your UpdateAssociation call.

        + * *

        In order to call this API operation, your Identity and Access Management (IAM) user * account, group, or role must be configured with permission to call the DescribeAssociation API operation. If you don't have permission to call * DescribeAssociation, then you receive the following error: An error occurred @@ -5045,7 +5053,8 @@ export class SSM extends SSMClient { *

        * *

        When you update an association, the association immediately runs against the specified - * targets.

        + * targets. You can add the ApplyOnlyAtCronInterval parameter to run the association + * during the next schedule run.

        *
        */ public updateAssociation( diff --git a/clients/client-ssm/src/SSMClient.ts b/clients/client-ssm/src/SSMClient.ts index 5de45ee4872c9..5d41a3e30a7a6 100644 --- a/clients/client-ssm/src/SSMClient.ts +++ b/clients/client-ssm/src/SSMClient.ts @@ -889,14 +889,13 @@ export interface SSMClientResolvedConfig extends SSMClientResolvedConfigType {} * collecting system inventory, applying operating system (OS) patches, automating the creation of * Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. * Systems Manager lets you remotely and securely manage the configuration of your managed nodes. A - * managed node is any Amazon Elastic Compute Cloud (Amazon EC2) instance, edge - * device, or on-premises server or virtual machine (VM) that has been configured for - * Systems Manager.

        + * managed node is any Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or on-premises + * server or virtual machine (VM) that has been configured for Systems Manager.

        * - *

        With support for IoT Greengrass Version 2 devices, the phrase managed + *

        With support for IoT Greengrass core devices, the phrase managed * instance has been changed to managed node in most of the Systems Manager - * documentation. The Systems Manager console, API - * calls, error messages, and SSM documents still use the term instance.

        + * documentation. The Systems Manager console, API calls, error messages, and SSM documents still use the + * term instance.

        *
        *

        This reference is intended to be used with the Amazon Web Services Systems Manager User Guide.

        *

        To get started, verify prerequisites and configure managed nodes. For more information, see diff --git a/clients/client-ssm/src/commands/CreateActivationCommand.ts b/clients/client-ssm/src/commands/CreateActivationCommand.ts index 0c4bf4cd91a14..e042bcbce30d7 100644 --- a/clients/client-ssm/src/commands/CreateActivationCommand.ts +++ b/clients/client-ssm/src/commands/CreateActivationCommand.ts @@ -29,8 +29,8 @@ export interface CreateActivationCommandOutput extends CreateActivationResult, _ * requirements for managing on-premises machines using Systems Manager, see Setting up * Amazon Web Services Systems Manager for hybrid environments in the Amazon Web Services Systems Manager User Guide.

        * - *

        Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are configured for Systems Manager are all called managed - * nodes.

        + *

        Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are + * configured for Systems Manager are all called managed nodes.

        *
        * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ssm/src/commands/CreateAssociationBatchCommand.ts b/clients/client-ssm/src/commands/CreateAssociationBatchCommand.ts index 70f2a91e3690d..8742046f12c9e 100644 --- a/clients/client-ssm/src/commands/CreateAssociationBatchCommand.ts +++ b/clients/client-ssm/src/commands/CreateAssociationBatchCommand.ts @@ -24,9 +24,9 @@ export interface CreateAssociationBatchCommandOutput extends CreateAssociationBa /** *

        Associates the specified Amazon Web Services Systems Manager document (SSM document) with the specified managed nodes * or targets.

        - *

        When you associate a document with one or more managed nodes using IDs or tags, - * Amazon Web Services Systems Manager Agent (SSM Agent) running on the managed node processes the document and configures the - * node as specified.

        + *

        When you associate a document with one or more managed nodes using IDs or tags, Amazon Web Services Systems Manager + * Agent (SSM Agent) running on the managed node processes the document and configures the node as + * specified.

        *

        If you associate a document with a managed node that already has an associated document, the * system returns the AssociationAlreadyExists exception.

        * @example diff --git a/clients/client-ssm/src/commands/DeleteAssociationCommand.ts b/clients/client-ssm/src/commands/DeleteAssociationCommand.ts index 7f685a47f6aae..afee2b064e042 100644 --- a/clients/client-ssm/src/commands/DeleteAssociationCommand.ts +++ b/clients/client-ssm/src/commands/DeleteAssociationCommand.ts @@ -22,9 +22,9 @@ export interface DeleteAssociationCommandInput extends DeleteAssociationRequest export interface DeleteAssociationCommandOutput extends DeleteAssociationResult, __MetadataBearer {} /** - *

        Disassociates the specified Amazon Web Services Systems Manager document (SSM document) from the specified managed node. - * If you created the association by using the Targets parameter, then you must delete - * the association by using the association ID.

        + *

        Disassociates the specified Amazon Web Services Systems Manager document (SSM document) from the specified managed + * node. If you created the association by using the Targets parameter, then you must + * delete the association by using the association ID.

        *

        When you disassociate a document from a managed node, it doesn't change the configuration of * the node. To change the configuration state of a managed node after you disassociate a document, * you must create a new document with the desired configuration and associate it with the diff --git a/clients/client-ssm/src/commands/DescribeInstanceInformationCommand.ts b/clients/client-ssm/src/commands/DescribeInstanceInformationCommand.ts index 22a2d3cefd0cd..8c5b3f6ad6f93 100644 --- a/clients/client-ssm/src/commands/DescribeInstanceInformationCommand.ts +++ b/clients/client-ssm/src/commands/DescribeInstanceInformationCommand.ts @@ -25,8 +25,8 @@ export interface DescribeInstanceInformationCommandOutput extends DescribeInstan *

        Describes one or more of your managed nodes, including information about the operating * system platform, the version of SSM Agent installed on the managed node, node status, and so * on.

        - *

        If you specify one or more managed node IDs, it returns information for those managed nodes. If - * you don't specify node IDs, it returns information for all your managed nodes. If you specify + *

        If you specify one or more managed node IDs, it returns information for those managed nodes. + * If you don't specify node IDs, it returns information for all your managed nodes. If you specify * a node ID that isn't valid or a node that you don't own, you receive an error.

        * *

        The IamRole field for this API operation is the Identity and Access Management diff --git a/clients/client-ssm/src/commands/DescribeInstancePatchStatesForPatchGroupCommand.ts b/clients/client-ssm/src/commands/DescribeInstancePatchStatesForPatchGroupCommand.ts index b46d486e534da..c9c5149d89ba5 100644 --- a/clients/client-ssm/src/commands/DescribeInstancePatchStatesForPatchGroupCommand.ts +++ b/clients/client-ssm/src/commands/DescribeInstancePatchStatesForPatchGroupCommand.ts @@ -28,7 +28,8 @@ export interface DescribeInstancePatchStatesForPatchGroupCommandOutput __MetadataBearer {} /** - *

        Retrieves the high-level patch state for the managed nodes in the specified patch group.

        + *

        Retrieves the high-level patch state for the managed nodes in the specified patch + * group.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm/src/commands/DescribeInstancePatchesCommand.ts b/clients/client-ssm/src/commands/DescribeInstancePatchesCommand.ts index d7cf6dfc49f53..b968e33f560b9 100644 --- a/clients/client-ssm/src/commands/DescribeInstancePatchesCommand.ts +++ b/clients/client-ssm/src/commands/DescribeInstancePatchesCommand.ts @@ -22,8 +22,8 @@ export interface DescribeInstancePatchesCommandInput extends DescribeInstancePat export interface DescribeInstancePatchesCommandOutput extends DescribeInstancePatchesResult, __MetadataBearer {} /** - *

        Retrieves information about the patches on the specified managed node and their state relative - * to the patch baseline being used for the node.

        + *

        Retrieves information about the patches on the specified managed node and their state + * relative to the patch baseline being used for the node.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm/src/commands/GetConnectionStatusCommand.ts b/clients/client-ssm/src/commands/GetConnectionStatusCommand.ts index 98899f80d0a16..3479c71ed960a 100644 --- a/clients/client-ssm/src/commands/GetConnectionStatusCommand.ts +++ b/clients/client-ssm/src/commands/GetConnectionStatusCommand.ts @@ -22,8 +22,8 @@ export interface GetConnectionStatusCommandInput extends GetConnectionStatusRequ export interface GetConnectionStatusCommandOutput extends GetConnectionStatusResponse, __MetadataBearer {} /** - *

        Retrieves the Session Manager connection status for a managed node to determine whether it is running and - * ready to receive Session Manager connections.

        + *

        Retrieves the Session Manager connection status for a managed node to determine whether it is running + * and ready to receive Session Manager connections.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm/src/commands/GetDeployablePatchSnapshotForInstanceCommand.ts b/clients/client-ssm/src/commands/GetDeployablePatchSnapshotForInstanceCommand.ts index 9ec567b0bb6ec..c3c2e6389f3b2 100644 --- a/clients/client-ssm/src/commands/GetDeployablePatchSnapshotForInstanceCommand.ts +++ b/clients/client-ssm/src/commands/GetDeployablePatchSnapshotForInstanceCommand.ts @@ -33,8 +33,8 @@ export interface GetDeployablePatchSnapshotForInstanceCommandOutput * *

        If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local Amazon Web Services credentials and the operation fails. To avoid * this, you can run the command in the Amazon Web Services Systems Manager console. Use Run Command, a capability of - * Amazon Web Services Systems Manager, with an SSM document that enables you to target a managed node with a script or command. - * For example, run the command using the AWS-RunShellScript document or the + * Amazon Web Services Systems Manager, with an SSM document that enables you to target a managed node with a script or + * command. For example, run the command using the AWS-RunShellScript document or the * AWS-RunPowerShellScript document.

        *
        * @example diff --git a/clients/client-ssm/src/commands/GetInventoryCommand.ts b/clients/client-ssm/src/commands/GetInventoryCommand.ts index 77273efaf2636..9efaa4287bf17 100644 --- a/clients/client-ssm/src/commands/GetInventoryCommand.ts +++ b/clients/client-ssm/src/commands/GetInventoryCommand.ts @@ -23,8 +23,8 @@ export interface GetInventoryCommandInput extends GetInventoryRequest {} export interface GetInventoryCommandOutput extends GetInventoryResult, __MetadataBearer {} /** - *

        Query inventory information. This includes managed node status, such as Stopped or - * Terminated.

        + *

        Query inventory information. This includes managed node status, such as Stopped + * or Terminated.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm/src/commands/ListAssociationsCommand.ts b/clients/client-ssm/src/commands/ListAssociationsCommand.ts index 9e2487c0cfc45..a59a1845bd87e 100644 --- a/clients/client-ssm/src/commands/ListAssociationsCommand.ts +++ b/clients/client-ssm/src/commands/ListAssociationsCommand.ts @@ -23,8 +23,8 @@ export interface ListAssociationsCommandOutput extends ListAssociationsResult, _ /** *

        Returns all State Manager associations in the current Amazon Web Services account and Amazon Web Services Region. You - * can limit the results to a specific State Manager association document or managed node by specifying - * a filter. State Manager is a capability of Amazon Web Services Systems Manager.

        + * can limit the results to a specific State Manager association document or managed node by + * specifying a filter. State Manager is a capability of Amazon Web Services Systems Manager.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm/src/commands/ListCommandInvocationsCommand.ts b/clients/client-ssm/src/commands/ListCommandInvocationsCommand.ts index 0a5294b57a4b2..ea16685ddcb2a 100644 --- a/clients/client-ssm/src/commands/ListCommandInvocationsCommand.ts +++ b/clients/client-ssm/src/commands/ListCommandInvocationsCommand.ts @@ -22,11 +22,11 @@ export interface ListCommandInvocationsCommandInput extends ListCommandInvocatio export interface ListCommandInvocationsCommandOutput extends ListCommandInvocationsResult, __MetadataBearer {} /** - *

        An invocation is copy of a command sent to a specific managed node. A command can apply to one - * or more managed nodes. A command invocation applies to one managed node. For example, if a user runs - * SendCommand against three managed nodes, then a command invocation is created for - * each requested managed node ID. ListCommandInvocations provide status about command - * execution.

        + *

        An invocation is copy of a command sent to a specific managed node. A command can apply to + * one or more managed nodes. A command invocation applies to one managed node. For example, if a + * user runs SendCommand against three managed nodes, then a command invocation is + * created for each requested managed node ID. ListCommandInvocations provide status + * about command execution.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm/src/commands/PutInventoryCommand.ts b/clients/client-ssm/src/commands/PutInventoryCommand.ts index d0b054b9d31c8..ce5b4b8ca1d6e 100644 --- a/clients/client-ssm/src/commands/PutInventoryCommand.ts +++ b/clients/client-ssm/src/commands/PutInventoryCommand.ts @@ -22,8 +22,9 @@ export interface PutInventoryCommandInput extends PutInventoryRequest {} export interface PutInventoryCommandOutput extends PutInventoryResult, __MetadataBearer {} /** - *

        Bulk update custom inventory items on one or more managed nodes. The request adds an inventory item, - * if it doesn't already exist, or updates an inventory item, if it does exist.

        + *

        Bulk update custom inventory items on one or more managed nodes. The request adds an + * inventory item, if it doesn't already exist, or updates an inventory item, if it does + * exist.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm/src/commands/StartSessionCommand.ts b/clients/client-ssm/src/commands/StartSessionCommand.ts index a0e0dc2ad10b1..b2ffcae2b4bfb 100644 --- a/clients/client-ssm/src/commands/StartSessionCommand.ts +++ b/clients/client-ssm/src/commands/StartSessionCommand.ts @@ -22,9 +22,9 @@ export interface StartSessionCommandInput extends StartSessionRequest {} export interface StartSessionCommandOutput extends StartSessionResponse, __MetadataBearer {} /** - *

        Initiates a connection to a target (for example, a managed node) for a Session Manager session. Returns a - * URL and token that can be used to open a WebSocket connection for sending input and receiving - * outputs.

        + *

        Initiates a connection to a target (for example, a managed node) for a Session Manager session. + * Returns a URL and token that can be used to open a WebSocket connection for sending input and + * receiving outputs.

        * *

        Amazon Web Services CLI usage: start-session is an interactive command that requires the Session Manager * plugin to be installed on the client machine making the call. For information, see Install diff --git a/clients/client-ssm/src/commands/UpdateAssociationCommand.ts b/clients/client-ssm/src/commands/UpdateAssociationCommand.ts index b6a50007d8514..27153d409db78 100644 --- a/clients/client-ssm/src/commands/UpdateAssociationCommand.ts +++ b/clients/client-ssm/src/commands/UpdateAssociationCommand.ts @@ -23,7 +23,14 @@ export interface UpdateAssociationCommandOutput extends UpdateAssociationResult, /** *

        Updates an association. You can update the association name and version, the document - * version, schedule, parameters, and Amazon Simple Storage Service (Amazon S3) output.

        + * version, schedule, parameters, and Amazon Simple Storage Service (Amazon S3) output. When you + * call UpdateAssociation, the system drops all optional parameters from the request + * and overwrites the association with null values for those parameters. This is by design. You must + * specify all optional parameters in the call, even if you are not changing the parameters. This + * includes the Name parameter. Before calling this API action, we recommend that you + * call the DescribeAssociation API operation and make a note of all optional + * parameters required for your UpdateAssociation call.

        + * *

        In order to call this API operation, your Identity and Access Management (IAM) user * account, group, or role must be configured with permission to call the DescribeAssociation API operation. If you don't have permission to call * DescribeAssociation, then you receive the following error: An error occurred @@ -33,7 +40,8 @@ export interface UpdateAssociationCommandOutput extends UpdateAssociationResult, *

        * *

        When you update an association, the association immediately runs against the specified - * targets.

        + * targets. You can add the ApplyOnlyAtCronInterval parameter to run the association + * during the next schedule run.

        *
        * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ssm/src/models/models_0.ts b/clients/client-ssm/src/models/models_0.ts index a5b2be0c0e019..6c65872f5368e 100644 --- a/clients/client-ssm/src/models/models_0.ts +++ b/clients/client-ssm/src/models/models_0.ts @@ -75,8 +75,7 @@ export interface Activation { DefaultInstanceName?: string; /** - *

        The Identity and Access Management (IAM) role to assign to the managed - * node.

        + *

        The Identity and Access Management (IAM) role to assign to the managed node.

        */ IamRole?: string; @@ -222,8 +221,8 @@ export interface InvalidResourceId extends __SmithyException, $MetadataBearer { } /** - *

        The resource type isn't valid. For example, if you are attempting to tag an EC2 instance, the - * instance must be a registered managed node.

        + *

        The resource type isn't valid. For example, if you are attempting to tag an EC2 instance, + * the instance must be a registered managed node.

        */ export interface InvalidResourceType extends __SmithyException, $MetadataBearer { name: "InvalidResourceType"; @@ -366,8 +365,8 @@ export interface CancelCommandRequest { CommandId: string | undefined; /** - *

        (Optional) A list of managed node IDs on which you want to cancel the command. If not provided, - * the command is canceled on every node on which it was requested.

        + *

        (Optional) A list of managed node IDs on which you want to cancel the command. If not + * provided, the command is canceled on every node on which it was requested.

        */ InstanceIds?: string[]; } @@ -569,9 +568,9 @@ export interface CreateActivationRequest { * automatically applied to the on-premises servers or VMs.

        * *

        You can't add tags to or delete tags from an existing activation. You can tag your - * on-premises servers, edge devices, and VMs after they connect to Systems Manager for the first time and are assigned a - * managed node ID. This means they are listed in the Amazon Web Services Systems Manager console with an ID that is - * prefixed with "mi-". For information about how to add tags to your managed nodes, see AddTagsToResource. For information about how to remove tags from your managed nodes, + * on-premises servers, edge devices, and VMs after they connect to Systems Manager for the first time and are + * assigned a managed node ID. This means they are listed in the Amazon Web Services Systems Manager console with an ID that + * is prefixed with "mi-". For information about how to add tags to your managed nodes, see AddTagsToResource. For information about how to remove tags from your managed nodes, * see RemoveTagsFromResource.

        */ Tags?: Tag[]; @@ -894,6 +893,9 @@ export interface CreateAssociationRequest { /** *

        The document version you want to associate with the target(s). Can be a specific version or * the default version.

        + * + *

        State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the default version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to default.

        + *
        */ DocumentVersion?: string; @@ -901,11 +903,11 @@ export interface CreateAssociationRequest { *

        The managed node ID.

        * *

        - * InstanceId has been deprecated. To specify a managed node ID for an association, - * use the Targets parameter. Requests that include the - * parameter InstanceID with Systems Manager documents (SSM documents) that use schema version - * 2.0 or later will fail. In addition, if you use the parameter - * InstanceId, you can't use the parameters AssociationName, + * InstanceId has been deprecated. To specify a managed node ID for an + * association, use the Targets parameter. Requests that + * include the parameter InstanceID with Systems Manager documents (SSM documents) that use + * schema version 2.0 or later will fail. In addition, if you use the + * parameter InstanceId, you can't use the parameters AssociationName, * DocumentVersion, MaxErrors, MaxConcurrency, * OutputLocation, or ScheduleExpression. To use these parameters, you * must use the Targets parameter.

        @@ -971,8 +973,8 @@ export interface CreateAssociationRequest { * value is 100%, which means all targets run the association at the same time.

        *

        If a new managed node starts and attempts to run an association while Systems Manager is running * MaxConcurrency associations, the association is allowed to run. During the next - * association interval, the new managed node will process its association within the limit specified - * for MaxConcurrency.

        + * association interval, the new managed node will process its association within the limit + * specified for MaxConcurrency.

        */ MaxConcurrency?: string; @@ -1211,8 +1213,8 @@ export interface AssociationDescription { * value is 100%, which means all targets run the association at the same time.

        *

        If a new managed node starts and attempts to run an association while Systems Manager is running * MaxConcurrency associations, the association is allowed to run. During the next - * association interval, the new managed node will process its association within the limit specified - * for MaxConcurrency.

        + * association interval, the new managed node will process its association within the limit + * specified for MaxConcurrency.

        */ MaxConcurrency?: string; @@ -1337,8 +1339,8 @@ export interface InvalidTarget extends __SmithyException, $MetadataBearer { } /** - *

        The document doesn't support the platform type of the given managed node ID(s). For example, you - * sent an document for a Windows managed node to a Linux node.

        + *

        The document doesn't support the platform type of the given managed node ID(s). For example, + * you sent an document for a Windows managed node to a Linux node.

        */ export interface UnsupportedPlatformType extends __SmithyException, $MetadataBearer { name: "UnsupportedPlatformType"; @@ -1351,8 +1353,8 @@ export interface UnsupportedPlatformType extends __SmithyException, $MetadataBea */ export interface CreateAssociationBatchRequestEntry { /** - *

        The name of the SSM document that contains the configuration information for the managed node. - * You can specify Command or Automation runbooks.

        + *

        The name of the SSM document that contains the configuration information for the managed + * node. You can specify Command or Automation runbooks.

        *

        You can specify Amazon Web Services-predefined documents, documents you created, or a document that is * shared with you from another account.

        *

        For SSM documents that are shared with you from other Amazon Web Services accounts, you must specify the @@ -1375,11 +1377,11 @@ export interface CreateAssociationBatchRequestEntry { *

        The managed node ID.

        * *

        - * InstanceId has been deprecated. To specify a managed node ID for an association, - * use the Targets parameter. Requests that include the - * parameter InstanceID with Systems Manager documents (SSM documents) that use schema version - * 2.0 or later will fail. In addition, if you use the parameter - * InstanceId, you can't use the parameters AssociationName, + * InstanceId has been deprecated. To specify a managed node ID for an + * association, use the Targets parameter. Requests that + * include the parameter InstanceID with Systems Manager documents (SSM documents) that use + * schema version 2.0 or later will fail. In addition, if you use the + * parameter InstanceId, you can't use the parameters AssociationName, * DocumentVersion, MaxErrors, MaxConcurrency, * OutputLocation, or ScheduleExpression. To use these parameters, you * must use the Targets parameter.

        @@ -1445,8 +1447,8 @@ export interface CreateAssociationBatchRequestEntry { * value is 100%, which means all targets run the association at the same time.

        *

        If a new managed node starts and attempts to run an association while Systems Manager is running * MaxConcurrency associations, the association is allowed to run. During the next - * association interval, the new managed node will process its association within the limit specified - * for MaxConcurrency.

        + * association interval, the new managed node will process its association within the limit + * specified for MaxConcurrency.

        */ MaxConcurrency?: string; @@ -1943,7 +1945,7 @@ export enum DocumentStatus { } /** - *

        Describes a Amazon Web Services Systems Manager document (SSM document).

        + *

        Describes an Amazon Web Services Systems Manager document (SSM document).

        */ export interface DocumentDescription { /** @@ -2022,7 +2024,7 @@ export interface DocumentDescription { Parameters?: DocumentParameter[]; /** - *

        The list of OS platforms compatible with this SSM document.

        + *

        The list of operating system (OS) platforms compatible with this SSM document.

        */ PlatformTypes?: (PlatformType | string)[]; @@ -2099,6 +2101,16 @@ export interface DocumentDescription { *

        The current status of the review.

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

        The classification of a document to help you identify and categorize its use.

        + */ + Category?: string[]; + + /** + *

        The value that identifies a document's category.

        + */ + CategoryEnum?: string[]; } export namespace DocumentDescription { @@ -2239,8 +2251,8 @@ export interface CreateMaintenanceWindowRequest { /** *

        Enables a maintenance window task to run on managed nodes, even if you haven't registered - * those nodes as targets. If enabled, then you must specify the unregistered managed nodes (by - * node ID) when you register a task with the maintenance window.

        + * those nodes as targets. If enabled, then you must specify the unregistered managed nodes (by node + * ID) when you register a task with the maintenance window.

        *

        If you don't enable this option, then you must specify previously-registered targets when * you register a task with the maintenance window.

        */ @@ -3343,14 +3355,14 @@ export interface DeleteAssociationRequest { *

        The managed node ID.

        * *

        - * InstanceId has been deprecated. To specify a managed node ID for an association, - * use the Targets parameter. Requests that include the - * parameter InstanceID with Systems Manager documents (SSM documents) that use schema version - * 2.0 or later will fail. In addition, if you use the parameter - * InstanceId, you can't use the parameters AssociationName, - * DocumentVersion, MaxErrors, MaxConcurrency, - * OutputLocation, or ScheduleExpression. To use these parameters, you - * must use the Targets parameter.

        + * InstanceId has been deprecated. To specify a managed node ID for an + * association, use the Targets parameter. Requests that include the parameter + * InstanceID with Systems Manager documents (SSM documents) that use schema version 2.0 or + * later will fail. In addition, if you use the parameter InstanceId, you can't use + * the parameters AssociationName, DocumentVersion, + * MaxErrors, MaxConcurrency, OutputLocation, or + * ScheduleExpression. To use these parameters, you must use the Targets + * parameter.

        *
        */ InstanceId?: string; @@ -4131,8 +4143,8 @@ export interface DescribeAssociationRequest { /** *

        Specify the association version to retrieve. To view the latest version, either specify * $LATEST for this parameter, or omit this parameter. To view a list of all - * associations for a managed node, use ListAssociations. To get a list of versions - * for a specific association, use ListAssociationVersions.

        + * associations for a managed node, use ListAssociations. To get a list of + * versions for a specific association, use ListAssociationVersions.

        */ AssociationVersion?: string; } @@ -6181,8 +6193,8 @@ export namespace InstanceInformationFilter { export interface DescribeInstanceInformationRequest { /** *

        This is a legacy method. We recommend that you don't use this method. Instead, use the - * Filters data type. Filters enables you to return node information - * by filtering based on tags applied to managed nodes.

        + * Filters data type. Filters enables you to return node information by + * filtering based on tags applied to managed nodes.

        * *

        Attempting to use InstanceInformationFilterList and Filters leads * to an exception error.

        @@ -6515,8 +6527,8 @@ export enum PatchComplianceDataState { } /** - *

        Information about the state of a patch on a particular managed node as it relates to the patch - * baseline used to patch the node.

        + *

        Information about the state of a patch on a particular managed node as it relates to the + * patch baseline used to patch the node.

        */ export interface PatchComplianceData { /** @@ -6703,8 +6715,8 @@ export interface InstancePatchState { InstalledCount?: number; /** - *

        The number of patches not specified in the patch baseline that are installed on the - * managed node.

        + *

        The number of patches not specified in the patch baseline that are installed on the managed + * node.

        */ InstalledOtherCount?: number; @@ -6745,8 +6757,8 @@ export interface InstancePatchState { UnreportedNotApplicableCount?: number; /** - *

        The number of patches from the patch baseline that aren't applicable for the managed node and - * therefore aren't installed on the node. This number may be truncated if the list of patch + *

        The number of patches from the patch baseline that aren't applicable for the managed node + * and therefore aren't installed on the node. This number may be truncated if the list of patch * names is very large. The number of patches beyond this limit are reported in * UnreportedNotApplicableCount.

        */ @@ -6778,8 +6790,8 @@ export interface InstancePatchState { Operation: PatchOperationType | string | undefined; /** - *

        The time of the last attempt to patch the managed node with NoReboot specified as - * the reboot option.

        + *

        The time of the last attempt to patch the managed node with NoReboot specified + * as the reboot option.

        */ LastNoRebootInstallOperationTime?: Date; @@ -6792,8 +6804,8 @@ export interface InstancePatchState { *