Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): 2.175.0 #32818

Merged
merged 31 commits into from
Jan 9, 2025
Merged

chore(release): 2.175.0 #32818

merged 31 commits into from
Jan 9, 2025

Conversation

aws-cdk-automation
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation commented Jan 9, 2025

See CHANGELOG

aws-cdk-automation and others added 30 commits January 4, 2025 10:43
**This PR does not change CLI functionality (yet)**

This PR models positional arguments in `CliArguments`. Currently they are supposed to be modeled as part of the the default property `_: [Command, ...string]`. This means that in `cli.ts` we mean to use it as so: `args._[1]` instead of `args.ID`. This is a downgrade, so I've updated the following:

Positional arguments are now modeled in `CliArguments` so if the `deploy` command has `STACKS` argument, it shows up as part of its `DeployOptions`. With this model we will replace `args.ID` with` args.acknowledge.ID` which I believe to be acceptable.

Now, the default property is modeled as `_: Command` so that we don't duplicate information.

### Checklist
- [d] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue #

Closes #23185 

### Reason for this change

Adds `grant` methods for signing and verifying signatures with KMS

### Description of changes

Three new `grant` methods have been added:
- `grantSign()`: Adds `'kms:Sign'` to the principal
- `grantVerify()`: Adds `'kms:Verify'` to the principal
- `grantSignVerify()`: Adds `['kms:Sign', 'kms:Verify']` to the principal

### Description of how you validated changes

- Added new unit tests to verify the output of the 3 new `grant` methods
- Added a new integ test for `grantSignVerify()`

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The [addition](#32641) of `aws-cdk-lib/core` caused other files from `aws-cdk-lib` to be included in the [report](https://app.codecov.io/github/aws/aws-cdk/tree/main/packages%2Faws-cdk-lib). 

![image](https://github.com/user-attachments/assets/5584f55f-9dcd-4afe-829a-ce39cc140e43)

The undesired included files are those that are imported by `aws-cdk-lib/core` unit tests. And since they are in the same package, they are included in the jest report. We could exclude them from jest, but that would mean changing the coverage settings for the entire `aws-cdk-lib` package. Instead, we can ask codecov to ignore them. Compare the previous report with this [one](https://app.codecov.io/github/iliapolo/aws-cdk/commit/8263d053b52ca94db42fa9d04c2481dfac5d54ee/tree/packages/aws-cdk-lib), from my fork, that tests the new configuration.

![image](https://github.com/user-attachments/assets/63f24fa5-9e8f-439a-8b19-f876a171e5a9)
We check the `$CI` environment variable for its presence, not for its value. This means that setting `CI=false` enables CI mode instead of disabling it.

This is unexpected. Fix it.

We could have checked for `CI=true` or `CI=1`, but the current behavior is backwards compatible with crazy things users might already be doing.


----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # (if applicable)

N/A

### Reason for this change

Fixed typos in the README.md



### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Updates the L1 CloudFormation resource definitions with the latest changes from `@aws-cdk/aws-service-spec`

**L1 CloudFormation resource definition changes:**
```
├[~] service aws-amazonmq
│ └ resources
│    └[~]  resource AWS::AmazonMQ::Broker
│       └ types
│          └[~] type User
│            └ properties
│               └[+] JolokiaApiAccess: string
├[~] service aws-batch
│ └ resources
│    └[~]  resource AWS::Batch::JobDefinition
│       └ types
│          ├[~] type ContainerProperties
│          │ └ properties
│          │    └ Volumes: - Array<Volume> ⇐ Array<Volumes>
│          │               + Array<Volumes>
│          ├[~] type EcsTaskProperties
│          │ └ properties
│          │    └ Volumes: - Array<Volume>
│          │               + Array<Volumes>
│          ├[~] type EfsVolumeConfiguration
│          │ └ properties
│          │    └ AuthorizationConfig: - AuthorizationConfig
│          │                           + EFSAuthorizationConfig ⇐ AuthorizationConfig
│          ├[-]  type EFSVolumeConfiguration
│          │  ├      documentation: This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see [Amazon EFS Volumes](https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html) in the *AWS Batch User Guide* .
│          │  │      name: EFSVolumeConfiguration
│          │  └ properties
│          │     ├ TransitEncryption: string
│          │     ├ AuthorizationConfig: EFSAuthorizationConfig
│          │     ├ FileSystemId: string (required)
│          │     ├ RootDirectory: string
│          │     └ TransitEncryptionPort: integer
│          ├[~] type MultiNodeContainerProperties
│          │ └ properties
│          │    └ Volumes: - Array<Volume>
│          │               + Array<Volumes>
│          ├[~] type MultiNodeEcsTaskProperties
│          │ └ properties
│          │    └ Volumes: - Array<Volume>
│          │               + Array<Volumes>
│          ├[-]  type Volume
│          │  ├      documentation: A data volume that's used in a job's container properties.
│          │  │      name: Volume
│          │  └ properties
│          │     ├ Host: Host
│          │     ├ EfsVolumeConfiguration: EFSVolumeConfiguration
│          │     └ Name: string
│          └[~] type Volumes
│            └ properties
│               └ Host: - VolumesHost
│                       + Host ⇐ VolumesHost
├[~] service aws-bedrock
│ └ resources
│    └[~]  resource AWS::Bedrock::Prompt
│       └ types
│          ├[~] type SpecificToolChoice
│          │ └      - documentation: The model must request a specific tool. For example, `{"tool" : {"name" : "Your tool name"}}` .
│          │        > This field is only supported by Anthropic Claude 3 models.
│          │        + documentation: The model must request a specific tool. For example, `{"tool" : {"name" : "Your tool name"}}` . For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide
│          │        > This field is only supported by Anthropic Claude 3 models.
│          ├[~] type Tool
│          │ └      - documentation: Information about a tool that you can use with the Converse API. For more information, see [Tool use (function calling)](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide.
│          │        + documentation: Information about a tool that you can use with the Converse API. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide.
│          ├[~] type ToolChoice
│          │ └      - documentation: Determines which tools the model should request in a call to `Converse` or `ConverseStream` . `ToolChoice` is only supported by Anthropic Claude 3 models and by Mistral AI Mistral Large.
│          │        + documentation: Determines which tools the model should request in a call to `Converse` or `ConverseStream` . `ToolChoice` is only supported by Anthropic Claude 3 models and by Mistral AI Mistral Large. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide.
│          ├[~] type ToolInputSchema
│          │ └      - documentation: The schema for the tool. The top level schema type must be `object` .
│          │        + documentation: The schema for the tool. The top level schema type must be `object` . For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide.
│          └[~] type ToolSpecification
│            └      - documentation: The specification for the tool.
│                   + documentation: The specification for the tool. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide.
├[~] service aws-cleanrooms
│ └ resources
│    ├[~]  resource AWS::CleanRooms::Collaboration
│    │  ├ properties
│    │  │  └[+] CreatorMLMemberAbilities: MLMemberAbilities (immutable)
│    │  └ types
│    │     ├[~] type MemberSpecification
│    │     │ └ properties
│    │     │    └[+] MLMemberAbilities: MLMemberAbilities
│    │     ├[+]  type MLMemberAbilities
│    │     │  ├      name: MLMemberAbilities
│    │     │  └ properties
│    │     │     └ CustomMLMemberAbilities: Array<string> (required)
│    │     ├[+]  type MLPaymentConfig
│    │     │  ├      name: MLPaymentConfig
│    │     │  └ properties
│    │     │     ├ ModelTraining: ModelTrainingPaymentConfig
│    │     │     └ ModelInference: ModelInferencePaymentConfig
│    │     ├[+]  type ModelInferencePaymentConfig
│    │     │  ├      name: ModelInferencePaymentConfig
│    │     │  └ properties
│    │     │     └ IsResponsible: boolean (required)
│    │     ├[+]  type ModelTrainingPaymentConfig
│    │     │  ├      name: ModelTrainingPaymentConfig
│    │     │  └ properties
│    │     │     └ IsResponsible: boolean (required)
│    │     └[~] type PaymentConfiguration
│    │       └ properties
│    │          └[+] MachineLearning: MLPaymentConfig
│    └[~]  resource AWS::CleanRooms::Membership
│       └ types
│          ├[+]  type MembershipMLPaymentConfig
│          │  ├      name: MembershipMLPaymentConfig
│          │  └ properties
│          │     ├ ModelTraining: MembershipModelTrainingPaymentConfig
│          │     └ ModelInference: MembershipModelInferencePaymentConfig
│          ├[+]  type MembershipModelInferencePaymentConfig
│          │  ├      name: MembershipModelInferencePaymentConfig
│          │  └ properties
│          │     └ IsResponsible: boolean (required)
│          ├[+]  type MembershipModelTrainingPaymentConfig
│          │  ├      name: MembershipModelTrainingPaymentConfig
│          │  └ properties
│          │     └ IsResponsible: boolean (required)
│          └[~] type MembershipPaymentConfiguration
│            └ properties
│               └[+] MachineLearning: MembershipMLPaymentConfig
├[~] service aws-dms
│ └ resources
│    └[~]  resource AWS::DMS::DataProvider
│       └ types
│          ├[~] type DocDbSettings
│          │ ├      - documentation: DocDbSettings property identifier.
│          │ │      + documentation: Provides information that defines a DocumentDB endpoint.
│          │ └ properties
│          │    ├ DatabaseName: (documentation changed)
│          │    ├ Port: (documentation changed)
│          │    └ ServerName: (documentation changed)
│          ├[~] type MongoDbSettings
│          │ ├      - documentation: MongoDbSettings property identifier.
│          │ │      + documentation: Provides information that defines a MongoDB endpoint.
│          │ └ properties
│          │    ├ AuthMechanism: (documentation changed)
│          │    ├ AuthSource: (documentation changed)
│          │    ├ AuthType: (documentation changed)
│          │    ├ DatabaseName: (documentation changed)
│          │    ├ Port: (documentation changed)
│          │    └ ServerName: (documentation changed)
│          └[~] type RedshiftSettings
│            ├      - documentation: RedshiftSettings property identifier.
│            │      + documentation: Provides information that defines an Amazon Redshift endpoint.
│            └ properties
│               ├ DatabaseName: (documentation changed)
│               ├ Port: (documentation changed)
│               └ ServerName: (documentation changed)
├[~] service aws-docdb
│ └ resources
│    └[~]  resource AWS::DocDB::DBCluster
│       └ properties
│          ├[+] ManageMasterUserPassword: boolean
│          ├[+] MasterUserSecretKmsKeyId: string
│          └[+] RotateMasterUserPassword: boolean
├[~] service aws-mediaconvert
│ └ resources
│    └[~]  resource AWS::MediaConvert::Queue
│       └ properties
│          └[+] ConcurrentJobs: integer
├[~] service aws-quicksight
│ └ resources
│    ├[~]  resource AWS::QuickSight::Analysis
│    │  └ types
│    │     ├[~] type AnalysisDefinition
│    │     │ └ properties
│    │     │    └ StaticFiles: (documentation changed)
│    │     ├[~] type BarChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type BoxPlotVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type ComboChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type CustomContentVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type FilledMapVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type FontSize
│    │     │ └ properties
│    │     │    └ Absolute: (documentation changed)
│    │     ├[~] type FunnelChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type GaugeChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type GeospatialCategoricalColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The definition for a categorical color.
│    │     │ └ properties
│    │     │    ├ CategoryDataColors: (documentation changed)
│    │     │    ├ DefaultOpacity: (documentation changed)
│    │     │    ├ NullDataSettings: (documentation changed)
│    │     │    └ NullDataVisibility: (documentation changed)
│    │     ├[~] type GeospatialCategoricalDataColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The categorical data color for a single category.
│    │     │ └ properties
│    │     │    ├ Color: (documentation changed)
│    │     │    └ DataValue: (documentation changed)
│    │     ├[~] type GeospatialCircleRadius
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The geospatial radius for a circle.
│    │     │ └ properties
│    │     │    └ Radius: (documentation changed)
│    │     ├[~] type GeospatialCircleSymbolStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The properties for a circle symbol style.
│    │     │ └ properties
│    │     │    ├ CircleRadius: (documentation changed)
│    │     │    ├ FillColor: (documentation changed)
│    │     │    ├ StrokeColor: (documentation changed)
│    │     │    └ StrokeWidth: (documentation changed)
│    │     ├[~] type GeospatialColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The visualization properties for solid, gradient, and categorical colors.
│    │     │ └ properties
│    │     │    ├ Categorical: (documentation changed)
│    │     │    ├ Gradient: (documentation changed)
│    │     │    └ Solid: (documentation changed)
│    │     ├[~] type GeospatialDataSourceItem
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The data source properties for the geospatial data.
│    │     │ └ properties
│    │     │    └ StaticFileDataSource: (documentation changed)
│    │     ├[~] type GeospatialGradientColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The definition for a gradient color.
│    │     │ └ properties
│    │     │    ├ DefaultOpacity: (documentation changed)
│    │     │    ├ NullDataSettings: (documentation changed)
│    │     │    ├ NullDataVisibility: (documentation changed)
│    │     │    └ StepColors: (documentation changed)
│    │     ├[~] type GeospatialGradientStepColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The gradient step color for a single step.
│    │     │ └ properties
│    │     │    ├ Color: (documentation changed)
│    │     │    └ DataValue: (documentation changed)
│    │     ├[~] type GeospatialLayerColorField
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The color field that defines a gradient or categorical style.
│    │     │ └ properties
│    │     │    ├ ColorDimensionsFields: (documentation changed)
│    │     │    └ ColorValuesFields: (documentation changed)
│    │     ├[~] type GeospatialLayerDefinition
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The definition properties for a geospatial layer.
│    │     │ └ properties
│    │     │    ├ LineLayer: (documentation changed)
│    │     │    ├ PointLayer: (documentation changed)
│    │     │    └ PolygonLayer: (documentation changed)
│    │     ├[~] type GeospatialLayerItem
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The properties for a single geospatial layer.
│    │     │ └ properties
│    │     │    ├ Actions: (documentation changed)
│    │     │    ├ DataSource: (documentation changed)
│    │     │    ├ JoinDefinition: (documentation changed)
│    │     │    ├ Label: (documentation changed)
│    │     │    ├ LayerDefinition: (documentation changed)
│    │     │    ├ LayerId: (documentation changed)
│    │     │    ├ LayerType: (documentation changed)
│    │     │    └ Visibility: (documentation changed)
│    │     ├[~] type GeospatialLayerJoinDefinition
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The custom actions for a layer.
│    │     │ └ properties
│    │     │    ├ ColorField: (documentation changed)
│    │     │    └ ShapeKeyField: (documentation changed)
│    │     ├[~] type GeospatialLayerMapConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The map definition that defines map state, map style, and geospatial layers.
│    │     │ └ properties
│    │     │    ├ MapLayers: (documentation changed)
│    │     │    ├ MapState: (documentation changed)
│    │     │    └ MapStyle: (documentation changed)
│    │     ├[~] type GeospatialLineLayer
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The geospatial Line layer.
│    │     │ └ properties
│    │     │    └ Style: (documentation changed)
│    │     ├[~] type GeospatialLineStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The visualization style for a line layer.
│    │     │ └ properties
│    │     │    └ LineSymbolStyle: (documentation changed)
│    │     ├[~] type GeospatialLineSymbolStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The symbol style for a line layer.
│    │     │ └ properties
│    │     │    ├ FillColor: (documentation changed)
│    │     │    └ LineWidth: (documentation changed)
│    │     ├[~] type GeospatialLineWidth
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The width properties for a line.
│    │     │ └ properties
│    │     │    └ LineWidth: (documentation changed)
│    │     ├[~] type GeospatialMapConfiguration
│    │     │ └ properties
│    │     │    └ Interactions: (documentation changed)
│    │     ├[~] type GeospatialMapState
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The map state properties for a map.
│    │     │ └ properties
│    │     │    └ MapNavigation: (documentation changed)
│    │     ├[~] type GeospatialMapStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The map style properties for a map.
│    │     │ └ properties
│    │     │    ├ BackgroundColor: (documentation changed)
│    │     │    ├ BaseMapStyle: (documentation changed)
│    │     │    └ BaseMapVisibility: (documentation changed)
│    │     ├[~] type GeospatialMapVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type GeospatialNullDataSettings
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The properties for the visualization of null data.
│    │     │ └ properties
│    │     │    └ SymbolStyle: (documentation changed)
│    │     ├[~] type GeospatialNullSymbolStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The symbol style for null data.
│    │     │ └ properties
│    │     │    ├ FillColor: (documentation changed)
│    │     │    ├ StrokeColor: (documentation changed)
│    │     │    └ StrokeWidth: (documentation changed)
│    │     ├[~] type GeospatialPointLayer
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The geospatial Point layer.
│    │     │ └ properties
│    │     │    └ Style: (documentation changed)
│    │     ├[~] type GeospatialPointStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The point style for a point layer.
│    │     │ └ properties
│    │     │    └ CircleSymbolStyle: (documentation changed)
│    │     ├[~] type GeospatialPolygonLayer
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The geospatial polygon layer.
│    │     │ └ properties
│    │     │    └ Style: (documentation changed)
│    │     ├[~] type GeospatialPolygonStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The polygon style for a polygon layer.
│    │     │ └ properties
│    │     │    └ PolygonSymbolStyle: (documentation changed)
│    │     ├[~] type GeospatialPolygonSymbolStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The polygon symbol style for a polygon layer.
│    │     │ └ properties
│    │     │    ├ FillColor: (documentation changed)
│    │     │    ├ StrokeColor: (documentation changed)
│    │     │    └ StrokeWidth: (documentation changed)
│    │     ├[~] type GeospatialSolidColor
│    │     │ ├      - documentation: Describes the properties for a solid color
│    │     │ │      + documentation: The definition for a solid color.
│    │     │ └ properties
│    │     │    ├ Color: (documentation changed)
│    │     │    └ State: (documentation changed)
│    │     ├[~] type GeospatialStaticFileSource
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The source properties for a geospatial static file.
│    │     │ └ properties
│    │     │    └ StaticFileId: (documentation changed)
│    │     ├[~] type HeatMapVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type HistogramVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type ImageCustomAction
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A custom action defined on an image.
│    │     │ └ properties
│    │     │    ├ ActionOperations: (documentation changed)
│    │     │    ├ CustomActionId: (documentation changed)
│    │     │    ├ Name: (documentation changed)
│    │     │    ├ Status: (documentation changed)
│    │     │    └ Trigger: (documentation changed)
│    │     ├[~] type ImageCustomActionOperation
│    │     │ └      - documentation: undefined
│    │     │        + documentation: The operation that is defined by the custom action.
│    │     │        This is a union type structure. For this structure to be valid, only one of the attributes can be defined.
│    │     ├[~] type ImageInteractionOptions
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The general image interactions setup for image publish options.
│    │     │ └ properties
│    │     │    └ ImageMenuOption: (documentation changed)
│    │     ├[~] type ImageMenuOption
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The menu options for the interactions of an image.
│    │     │ └ properties
│    │     │    └ AvailabilityStatus: (documentation changed)
│    │     ├[~] type ImageStaticFile
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A static file that contains an image.
│    │     │ └ properties
│    │     │    ├ Source: (documentation changed)
│    │     │    └ StaticFileId: (documentation changed)
│    │     ├[~] type InsightVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type KPIVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type LayerCustomAction
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A layer custom action.
│    │     │ └ properties
│    │     │    ├ ActionOperations: (documentation changed)
│    │     │    ├ CustomActionId: (documentation changed)
│    │     │    ├ Name: (documentation changed)
│    │     │    ├ Status: (documentation changed)
│    │     │    └ Trigger: (documentation changed)
│    │     ├[~] type LayerCustomActionOperation
│    │     │ └      - documentation: undefined
│    │     │        + documentation: The operation that is defined by the custom action.
│    │     │        This is a union type structure. For this structure to be valid, only one of the attributes can be defined.
│    │     ├[~] type LayerMapVisual
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A layer map visual.
│    │     │ └ properties
│    │     │    ├ ChartConfiguration: (documentation changed)
│    │     │    ├ DataSetIdentifier: (documentation changed)
│    │     │    ├ VisualContentAltText: (documentation changed)
│    │     │    └ VisualId: (documentation changed)
│    │     ├[~] type LineChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type PieChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type PivotTableVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type PluginVisual
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A flexible visualization type that allows engineers to create new custom charts in Amazon QuickSight.
│    │     │ └ properties
│    │     │    ├ ChartConfiguration: (documentation changed)
│    │     │    ├ PluginArn: (documentation changed)
│    │     │    ├ VisualContentAltText: (documentation changed)
│    │     │    └ VisualId: (documentation changed)
│    │     ├[~] type PluginVisualConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The plugin visual configuration. This includes the field wells, sorting options, and persisted options of the plugin visual.
│    │     │ └ properties
│    │     │    ├ FieldWells: (documentation changed)
│    │     │    ├ SortConfiguration: (documentation changed)
│    │     │    └ VisualOptions: (documentation changed)
│    │     ├[~] type PluginVisualFieldWell
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A collection of field wells for a plugin visual.
│    │     │ └ properties
│    │     │    ├ AxisName: (documentation changed)
│    │     │    ├ Dimensions: (documentation changed)
│    │     │    ├ Measures: (documentation changed)
│    │     │    └ Unaggregated: (documentation changed)
│    │     ├[~] type PluginVisualItemsLimitConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A query limits configuration.
│    │     │ └ properties
│    │     │    └ ItemsLimit: (documentation changed)
│    │     ├[~] type PluginVisualOptions
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The options and persisted properties for the plugin visual.
│    │     │ └ properties
│    │     │    └ VisualProperties: (documentation changed)
│    │     ├[~] type PluginVisualProperty
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The key value pair of the persisted property.
│    │     │ └ properties
│    │     │    ├ Name: (documentation changed)
│    │     │    └ Value: (documentation changed)
│    │     ├[~] type PluginVisualSortConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: Determines how the plugin visual sorts the data during query.
│    │     │ └ properties
│    │     │    └ PluginVisualTableQuerySort: (documentation changed)
│    │     ├[~] type PluginVisualTableQuerySort
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The table query sorting options for the plugin visual.
│    │     │ └ properties
│    │     │    ├ ItemsLimitConfiguration: (documentation changed)
│    │     │    └ RowSort: (documentation changed)
│    │     ├[~] type RadarChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type SankeyDiagramVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type ScatterPlotVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type Sheet
│    │     │ └ properties
│    │     │    └ Images: (documentation changed)
│    │     ├[~] type SheetDefinition
│    │     │ └ properties
│    │     │    └ Images: (documentation changed)
│    │     ├[~] type SheetImage
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: An image that is located on a sheet.
│    │     │ └ properties
│    │     │    ├ Actions: (documentation changed)
│    │     │    ├ ImageContentAltText: (documentation changed)
│    │     │    ├ Interactions: (documentation changed)
│    │     │    ├ Scaling: (documentation changed)
│    │     │    ├ SheetImageId: (documentation changed)
│    │     │    ├ Source: (documentation changed)
│    │     │    └ Tooltip: (documentation changed)
│    │     ├[~] type SheetImageScalingConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: Determines how the image is scaled
│    │     │ └ properties
│    │     │    └ ScalingType: (documentation changed)
│    │     ├[~] type SheetImageSource
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The source of the image.
│    │     │ └ properties
│    │     │    └ SheetImageStaticFileSource: (documentation changed)
│    │     ├[~] type SheetImageStaticFileSource
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The source of the static file that contains the image.
│    │     │ └ properties
│    │     │    └ StaticFileId: (documentation changed)
│    │     ├[~] type SheetImageTooltipConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The tooltip configuration for a sheet image.
│    │     │ └ properties
│    │     │    ├ TooltipText: (documentation changed)
│    │     │    └ Visibility: (documentation changed)
│    │     ├[~] type SheetImageTooltipText
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The text that appears in the sheet image tooltip.
│    │     │ └ properties
│    │     │    └ PlainText: (documentation changed)
│    │     ├[~] type SpatialStaticFile
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A static file that contains the geospatial data.
│    │     │ └ properties
│    │     │    ├ Source: (documentation changed)
│    │     │    └ StaticFileId: (documentation changed)
│    │     ├[~] type StaticFile
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The static file.
│    │     │ └ properties
│    │     │    ├ ImageStaticFile: (documentation changed)
│    │     │    └ SpatialStaticFile: (documentation changed)
│    │     ├[~] type StaticFileS3SourceOptions
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The structure that contains the Amazon S3 location to download the static file from.
│    │     │ └ properties
│    │     │    ├ BucketName: (documentation changed)
│    │     │    ├ ObjectKey: (documentation changed)
│    │     │    └ Region: (documentation changed)
│    │     ├[~] type StaticFileSource
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The source of the static file.
│    │     │ └ properties
│    │     │    ├ S3Options: (documentation changed)
│    │     │    └ UrlOptions: (documentation changed)
│    │     ├[~] type StaticFileUrlSourceOptions
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The structure that contains the URL to download the static file from.
│    │     │ └ properties
│    │     │    └ Url: (documentation changed)
│    │     ├[~] type TableVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type TreeMapVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type Visual
│    │     │ └ properties
│    │     │    ├ LayerMapVisual: (documentation changed)
│    │     │    └ PluginVisual: (documentation changed)
│    │     ├[~] type WaterfallVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     └[~] type WordCloudVisual
│    │       └ properties
│    │          └ VisualContentAltText: (documentation changed)
│    ├[~]  resource AWS::QuickSight::Dashboard
│    │  └ types
│    │     ├[~] type BarChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type BoxPlotVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type ComboChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type CustomContentVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type DashboardVersionDefinition
│    │     │ └ properties
│    │     │    └ StaticFiles: (documentation changed)
│    │     ├[~] type FilledMapVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type FontSize
│    │     │ └ properties
│    │     │    └ Absolute: (documentation changed)
│    │     ├[~] type FunnelChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type GaugeChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type GeospatialCategoricalColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The definition for a categorical color.
│    │     │ └ properties
│    │     │    ├ CategoryDataColors: (documentation changed)
│    │     │    ├ DefaultOpacity: (documentation changed)
│    │     │    ├ NullDataSettings: (documentation changed)
│    │     │    └ NullDataVisibility: (documentation changed)
│    │     ├[~] type GeospatialCategoricalDataColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The categorical data color for a single category.
│    │     │ └ properties
│    │     │    ├ Color: (documentation changed)
│    │     │    └ DataValue: (documentation changed)
│    │     ├[~] type GeospatialCircleRadius
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The geospatial radius for a circle.
│    │     │ └ properties
│    │     │    └ Radius: (documentation changed)
│    │     ├[~] type GeospatialCircleSymbolStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The properties for a circle symbol style.
│    │     │ └ properties
│    │     │    ├ CircleRadius: (documentation changed)
│    │     │    ├ FillColor: (documentation changed)
│    │     │    ├ StrokeColor: (documentation changed)
│    │     │    └ StrokeWidth: (documentation changed)
│    │     ├[~] type GeospatialColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The visualization properties for solid, gradient, and categorical colors.
│    │     │ └ properties
│    │     │    ├ Categorical: (documentation changed)
│    │     │    ├ Gradient: (documentation changed)
│    │     │    └ Solid: (documentation changed)
│    │     ├[~] type GeospatialDataSourceItem
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The data source properties for the geospatial data.
│    │     │ └ properties
│    │     │    └ StaticFileDataSource: (documentation changed)
│    │     ├[~] type GeospatialGradientColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The definition for a gradient color.
│    │     │ └ properties
│    │     │    ├ DefaultOpacity: (documentation changed)
│    │     │    ├ NullDataSettings: (documentation changed)
│    │     │    ├ NullDataVisibility: (documentation changed)
│    │     │    └ StepColors: (documentation changed)
│    │     ├[~] type GeospatialGradientStepColor
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The gradient step color for a single step.
│    │     │ └ properties
│    │     │    ├ Color: (documentation changed)
│    │     │    └ DataValue: (documentation changed)
│    │     ├[~] type GeospatialLayerColorField
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The color field that defines a gradient or categorical style.
│    │     │ └ properties
│    │     │    ├ ColorDimensionsFields: (documentation changed)
│    │     │    └ ColorValuesFields: (documentation changed)
│    │     ├[~] type GeospatialLayerDefinition
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The definition properties for a geospatial layer.
│    │     │ └ properties
│    │     │    ├ LineLayer: (documentation changed)
│    │     │    ├ PointLayer: (documentation changed)
│    │     │    └ PolygonLayer: (documentation changed)
│    │     ├[~] type GeospatialLayerItem
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The properties for a single geospatial layer.
│    │     │ └ properties
│    │     │    ├ Actions: (documentation changed)
│    │     │    ├ DataSource: (documentation changed)
│    │     │    ├ JoinDefinition: (documentation changed)
│    │     │    ├ Label: (documentation changed)
│    │     │    ├ LayerDefinition: (documentation changed)
│    │     │    ├ LayerId: (documentation changed)
│    │     │    ├ LayerType: (documentation changed)
│    │     │    └ Visibility: (documentation changed)
│    │     ├[~] type GeospatialLayerJoinDefinition
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The custom actions for a layer.
│    │     │ └ properties
│    │     │    ├ ColorField: (documentation changed)
│    │     │    └ ShapeKeyField: (documentation changed)
│    │     ├[~] type GeospatialLayerMapConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The map definition that defines map state, map style, and geospatial layers.
│    │     │ └ properties
│    │     │    ├ MapLayers: (documentation changed)
│    │     │    ├ MapState: (documentation changed)
│    │     │    └ MapStyle: (documentation changed)
│    │     ├[~] type GeospatialLineLayer
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The geospatial Line layer.
│    │     │ └ properties
│    │     │    └ Style: (documentation changed)
│    │     ├[~] type GeospatialLineStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The visualization style for a line layer.
│    │     │ └ properties
│    │     │    └ LineSymbolStyle: (documentation changed)
│    │     ├[~] type GeospatialLineSymbolStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The symbol style for a line layer.
│    │     │ └ properties
│    │     │    ├ FillColor: (documentation changed)
│    │     │    └ LineWidth: (documentation changed)
│    │     ├[~] type GeospatialLineWidth
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The width properties for a line.
│    │     │ └ properties
│    │     │    └ LineWidth: (documentation changed)
│    │     ├[~] type GeospatialMapConfiguration
│    │     │ └ properties
│    │     │    └ Interactions: (documentation changed)
│    │     ├[~] type GeospatialMapState
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The map state properties for a map.
│    │     │ └ properties
│    │     │    └ MapNavigation: (documentation changed)
│    │     ├[~] type GeospatialMapStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The map style properties for a map.
│    │     │ └ properties
│    │     │    ├ BackgroundColor: (documentation changed)
│    │     │    ├ BaseMapStyle: (documentation changed)
│    │     │    └ BaseMapVisibility: (documentation changed)
│    │     ├[~] type GeospatialMapVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type GeospatialNullDataSettings
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The properties for the visualization of null data.
│    │     │ └ properties
│    │     │    └ SymbolStyle: (documentation changed)
│    │     ├[~] type GeospatialNullSymbolStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The symbol style for null data.
│    │     │ └ properties
│    │     │    ├ FillColor: (documentation changed)
│    │     │    ├ StrokeColor: (documentation changed)
│    │     │    └ StrokeWidth: (documentation changed)
│    │     ├[~] type GeospatialPointLayer
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The geospatial Point layer.
│    │     │ └ properties
│    │     │    └ Style: (documentation changed)
│    │     ├[~] type GeospatialPointStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The point style for a point layer.
│    │     │ └ properties
│    │     │    └ CircleSymbolStyle: (documentation changed)
│    │     ├[~] type GeospatialPolygonLayer
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The geospatial polygon layer.
│    │     │ └ properties
│    │     │    └ Style: (documentation changed)
│    │     ├[~] type GeospatialPolygonStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The polygon style for a polygon layer.
│    │     │ └ properties
│    │     │    └ PolygonSymbolStyle: (documentation changed)
│    │     ├[~] type GeospatialPolygonSymbolStyle
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The polygon symbol style for a polygon layer.
│    │     │ └ properties
│    │     │    ├ FillColor: (documentation changed)
│    │     │    ├ StrokeColor: (documentation changed)
│    │     │    └ StrokeWidth: (documentation changed)
│    │     ├[~] type GeospatialSolidColor
│    │     │ ├      - documentation: Describes the properties for a solid color
│    │     │ │      + documentation: The definition for a solid color.
│    │     │ └ properties
│    │     │    ├ Color: (documentation changed)
│    │     │    └ State: (documentation changed)
│    │     ├[~] type GeospatialStaticFileSource
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The source properties for a geospatial static file.
│    │     │ └ properties
│    │     │    └ StaticFileId: (documentation changed)
│    │     ├[~] type HeatMapVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type HistogramVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type ImageCustomAction
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A custom action defined on an image.
│    │     │ └ properties
│    │     │    ├ ActionOperations: (documentation changed)
│    │     │    ├ CustomActionId: (documentation changed)
│    │     │    ├ Name: (documentation changed)
│    │     │    ├ Status: (documentation changed)
│    │     │    └ Trigger: (documentation changed)
│    │     ├[~] type ImageCustomActionOperation
│    │     │ └      - documentation: undefined
│    │     │        + documentation: The operation that is defined by the custom action.
│    │     │        This is a union type structure. For this structure to be valid, only one of the attributes can be defined.
│    │     ├[~] type ImageInteractionOptions
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The general image interactions setup for image publish options.
│    │     │ └ properties
│    │     │    └ ImageMenuOption: (documentation changed)
│    │     ├[~] type ImageMenuOption
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The menu options for the interactions of an image.
│    │     │ └ properties
│    │     │    └ AvailabilityStatus: (documentation changed)
│    │     ├[~] type ImageStaticFile
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A static file that contains an image.
│    │     │ └ properties
│    │     │    ├ Source: (documentation changed)
│    │     │    └ StaticFileId: (documentation changed)
│    │     ├[~] type InsightVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type KPIVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type LayerCustomAction
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A layer custom action.
│    │     │ └ properties
│    │     │    ├ ActionOperations: (documentation changed)
│    │     │    ├ CustomActionId: (documentation changed)
│    │     │    ├ Name: (documentation changed)
│    │     │    ├ Status: (documentation changed)
│    │     │    └ Trigger: (documentation changed)
│    │     ├[~] type LayerCustomActionOperation
│    │     │ └      - documentation: undefined
│    │     │        + documentation: The operation that is defined by the custom action.
│    │     │        This is a union type structure. For this structure to be valid, only one of the attributes can be defined.
│    │     ├[~] type LayerMapVisual
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A layer map visual.
│    │     │ └ properties
│    │     │    ├ ChartConfiguration: (documentation changed)
│    │     │    ├ DataSetIdentifier: (documentation changed)
│    │     │    ├ VisualContentAltText: (documentation changed)
│    │     │    └ VisualId: (documentation changed)
│    │     ├[~] type LineChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type PieChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type PivotTableVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type PluginVisual
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A flexible visualization type that allows engineers to create new custom charts in Amazon QuickSight.
│    │     │ └ properties
│    │     │    ├ ChartConfiguration: (documentation changed)
│    │     │    ├ PluginArn: (documentation changed)
│    │     │    ├ VisualContentAltText: (documentation changed)
│    │     │    └ VisualId: (documentation changed)
│    │     ├[~] type PluginVisualConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The plugin visual configuration. This includes the field wells, sorting options, and persisted options of the plugin visual.
│    │     │ └ properties
│    │     │    ├ FieldWells: (documentation changed)
│    │     │    ├ SortConfiguration: (documentation changed)
│    │     │    └ VisualOptions: (documentation changed)
│    │     ├[~] type PluginVisualFieldWell
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A collection of field wells for a plugin visual.
│    │     │ └ properties
│    │     │    ├ AxisName: (documentation changed)
│    │     │    ├ Dimensions: (documentation changed)
│    │     │    ├ Measures: (documentation changed)
│    │     │    └ Unaggregated: (documentation changed)
│    │     ├[~] type PluginVisualItemsLimitConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A query limits configuration.
│    │     │ └ properties
│    │     │    └ ItemsLimit: (documentation changed)
│    │     ├[~] type PluginVisualOptions
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The options and persisted properties for the plugin visual.
│    │     │ └ properties
│    │     │    └ VisualProperties: (documentation changed)
│    │     ├[~] type PluginVisualProperty
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The key value pair of the persisted property.
│    │     │ └ properties
│    │     │    ├ Name: (documentation changed)
│    │     │    └ Value: (documentation changed)
│    │     ├[~] type PluginVisualSortConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: Determines how the plugin visual sorts the data during query.
│    │     │ └ properties
│    │     │    └ PluginVisualTableQuerySort: (documentation changed)
│    │     ├[~] type PluginVisualTableQuerySort
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The table query sorting options for the plugin visual.
│    │     │ └ properties
│    │     │    ├ ItemsLimitConfiguration: (documentation changed)
│    │     │    └ RowSort: (documentation changed)
│    │     ├[~] type RadarChartVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type SankeyDiagramVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type ScatterPlotVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type Sheet
│    │     │ └ properties
│    │     │    └ Images: (documentation changed)
│    │     ├[~] type SheetDefinition
│    │     │ └ properties
│    │     │    └ Images: (documentation changed)
│    │     ├[~] type SheetImage
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: An image that is located on a sheet.
│    │     │ └ properties
│    │     │    ├ Actions: (documentation changed)
│    │     │    ├ ImageContentAltText: (documentation changed)
│    │     │    ├ Interactions: (documentation changed)
│    │     │    ├ Scaling: (documentation changed)
│    │     │    ├ SheetImageId: (documentation changed)
│    │     │    ├ Source: (documentation changed)
│    │     │    └ Tooltip: (documentation changed)
│    │     ├[~] type SheetImageScalingConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: Determines how the image is scaled
│    │     │ └ properties
│    │     │    └ ScalingType: (documentation changed)
│    │     ├[~] type SheetImageSource
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The source of the image.
│    │     │ └ properties
│    │     │    └ SheetImageStaticFileSource: (documentation changed)
│    │     ├[~] type SheetImageStaticFileSource
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The source of the static file that contains the image.
│    │     │ └ properties
│    │     │    └ StaticFileId: (documentation changed)
│    │     ├[~] type SheetImageTooltipConfiguration
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The tooltip configuration for a sheet image.
│    │     │ └ properties
│    │     │    ├ TooltipText: (documentation changed)
│    │     │    └ Visibility: (documentation changed)
│    │     ├[~] type SheetImageTooltipText
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The text that appears in the sheet image tooltip.
│    │     │ └ properties
│    │     │    └ PlainText: (documentation changed)
│    │     ├[~] type SpatialStaticFile
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: A static file that contains the geospatial data.
│    │     │ └ properties
│    │     │    ├ Source: (documentation changed)
│    │     │    └ StaticFileId: (documentation changed)
│    │     ├[~] type StaticFile
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The static file.
│    │     │ └ properties
│    │     │    ├ ImageStaticFile: (documentation changed)
│    │     │    └ SpatialStaticFile: (documentation changed)
│    │     ├[~] type StaticFileS3SourceOptions
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The structure that contains the Amazon S3 location to download the static file from.
│    │     │ └ properties
│    │     │    ├ BucketName: (documentation changed)
│    │     │    ├ ObjectKey: (documentation changed)
│    │     │    └ Region: (documentation changed)
│    │     ├[~] type StaticFileSource
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The source of the static file.
│    │     │ └ properties
│    │     │    ├ S3Options: (documentation changed)
│    │     │    └ UrlOptions: (documentation changed)
│    │     ├[~] type StaticFileUrlSourceOptions
│    │     │ ├      - documentation: undefined
│    │     │ │      + documentation: The structure that contains the URL to download the static file from.
│    │     │ └ properties
│    │     │    └ Url: (documentation changed)
│    │     ├[~] type TableVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type TreeMapVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     ├[~] type Visual
│    │     │ └ properties
│    │     │    ├ LayerMapVisual: (documentation changed)
│    │     │    └ PluginVisual: (documentation changed)
│    │     ├[~] type VisualMenuOption
│    │     │ ├      - documentation: The menu options for a visual.
│    │     │ │      + documentation: undefined
│    │     │ └ properties
│    │     │    └ AvailabilityStatus: (documentation changed)
│    │     ├[~] type WaterfallVisual
│    │     │ └ properties
│    │     │    └ VisualContentAltText: (documentation changed)
│    │     └[~] type WordCloudVisual
│    │       └ properties
│    │          └ VisualContentAltText: (documentation changed)
│    └[~]  resource AWS::QuickSight::Template
│       └ types
│          ├[~] type BarChartVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type BoxPlotVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type ComboChartVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type CustomContentVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type FilledMapVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type FunnelChartVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type GaugeChartVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type GeospatialMapVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type HeatMapVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type HistogramVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type ImageCustomAction
│          │ ├      - documentation: undefined
│          │ │      + documentation: A custom action defined on an image.
│          │ └ properties
│          │    ├ ActionOperations: (documentation changed)
│          │    ├ CustomActionId: (documentation changed)
│          │    ├ Name: (documentation changed)
│          │    ├ Status: (documentation changed)
│          │    └ Trigger: (documentation changed)
│          ├[~] type ImageCustomActionOperation
│          │ └      - documentation: undefined
│          │        + documentation: The operation that is defined by the custom action.
│          │        This is a union type structure. For this structure to be valid, only one of the attributes can be defined.
│          ├[~] type ImageInteractionOptions
│          │ ├      - documentation: undefined
│          │ │      + documentation: The general image interactions setup for image publish options.
│          │ └ properties
│          │    └ ImageMenuOption: (documentation changed)
│          ├[~] type ImageMenuOption
│          │ ├      - documentation: undefined
│          │ │      + documentation: The menu options for the interactions of an image.
│          │ └ properties
│          │    └ AvailabilityStatus: (documentation changed)
│          ├[~] type InsightVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type KPIVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type LineChartVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type PieChartVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type PivotTableVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type PluginVisual
│          │ ├      - documentation: undefined
│          │ │      + documentation: A flexible visualization type that allows engineers to create new custom charts in Amazon QuickSight.
│          │ └ properties
│          │    ├ ChartConfiguration: (documentation changed)
│          │    ├ PluginArn: (documentation changed)
│          │    ├ VisualContentAltText: (documentation changed)
│          │    └ VisualId: (documentation changed)
│          ├[~] type PluginVisualConfiguration
│          │ ├      - documentation: undefined
│          │ │      + documentation: The plugin visual configuration. This includes the field wells, sorting options, and persisted options of the plugin visual.
│          │ └ properties
│          │    ├ FieldWells: (documentation changed)
│          │    ├ SortConfiguration: (documentation changed)
│          │    └ VisualOptions: (documentation changed)
│          ├[~] type PluginVisualFieldWell
│          │ ├      - documentation: undefined
│          │ │      + documentation: A collection of field wells for a plugin visual.
│          │ └ properties
│          │    ├ AxisName: (documentation changed)
│          │    ├ Dimensions: (documentation changed)
│          │    ├ Measures: (documentation changed)
│          │    └ Unaggregated: (documentation changed)
│          ├[~] type PluginVisualItemsLimitConfiguration
│          │ ├      - documentation: undefined
│          │ │      + documentation: A query limits configuration.
│          │ └ properties
│          │    └ ItemsLimit: (documentation changed)
│          ├[~] type PluginVisualOptions
│          │ ├      - documentation: undefined
│          │ │      + documentation: The options and persisted properties for the plugin visual.
│          │ └ properties
│          │    └ VisualProperties: (documentation changed)
│          ├[~] type PluginVisualProperty
│          │ ├      - documentation: undefined
│          │ │      + documentation: The key value pair of the persisted property.
│          │ └ properties
│          │    ├ Name: (documentation changed)
│          │    └ Value: (documentation changed)
│          ├[~] type PluginVisualSortConfiguration
│          │ ├      - documentation: undefined
│          │ │      + documentation: Determines how the plugin visual sorts the data during query.
│          │ └ properties
│          │    └ PluginVisualTableQuerySort: (documentation changed)
│          ├[~] type PluginVisualTableQuerySort
│          │ ├      - documentation: undefined
│          │ │      + documentation: The table query sorting options for the plugin visual.
│          │ └ properties
│          │    ├ ItemsLimitConfiguration: (documentation changed)
│          │    └ RowSort: (documentation changed)
│          ├[~] type RadarChartVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type SankeyDiagramVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type ScatterPlotVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type Sheet
│          │ └ properties
│          │    └ Images: (documentation changed)
│          ├[~] type SheetDefinition
│          │ └ properties
│          │    └ Images: (documentation changed)
│          ├[~] type SheetImage
│          │ ├      - documentation: undefined
│          │ │      + documentation: An image that is located on a sheet.
│          │ └ properties
│          │    ├ Actions: (documentation changed)
│          │    ├ ImageContentAltText: (documentation changed)
│          │    ├ Interactions: (documentation changed)
│          │    ├ Scaling: (documentation changed)
│          │    ├ SheetImageId: (documentation changed)
│          │    ├ Source: (documentation changed)
│          │    └ Tooltip: (documentation changed)
│          ├[~] type SheetImageScalingConfiguration
│          │ ├      - documentation: undefined
│          │ │      + documentation: Determines how the image is scaled
│          │ └ properties
│          │    └ ScalingType: (documentation changed)
│          ├[~] type SheetImageSource
│          │ ├      - documentation: undefined
│          │ │      + documentation: The source of the image.
│          │ └ properties
│          │    └ SheetImageStaticFileSource: (documentation changed)
│          ├[~] type SheetImageStaticFileSource
│          │ ├      - documentation: undefined
│          │ │      + documentation: The source of the static file that contains the image.
│          │ └ properties
│          │    └ StaticFileId: (documentation changed)
│          ├[~] type SheetImageTooltipConfiguration
│          │ ├      - documentation: undefined
│          │ │      + documentation: The tooltip configuration for a sheet image.
│          │ └ properties
│          │    ├ TooltipText: (documentation changed)
│          │    └ Visibility: (documentation changed)
│          ├[~] type SheetImageTooltipText
│          │ ├      - documentation: undefined
│          │ │      + documentation: The text that appears in the sheet image tooltip.
│          │ └ properties
│          │    └ PlainText: (documentation changed)
│          ├[~] type TableVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type TreeMapVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          ├[~] type Visual
│          │ └ properties
│          │    └ PluginVisual: (documentation changed)
│          ├[~] type WaterfallVisual
│          │ └ properties
│          │    └ VisualContentAltText: (documentation changed)
│          └[~] type WordCloudVisual
│            └ properties
│               └ VisualContentAltText: (documentation changed)
├[~] service aws-rds
│ └ resources
│    └[~]  resource AWS::RDS::DBCluster
│       └ properties
│          └ EnableHttpEndpoint: (documentation changed)
└[~] service aws-sagemaker
  └ resources
     ├[~]  resource AWS::SageMaker::Model
     │  └ types
     │     └[~] type S3DataSource
     │       └ properties
     │          └ S3DataType: (documentation changed)
     └[~]  resource AWS::SageMaker::ModelPackage
        └ types
           ├[~] type ModelPackageContainerDefinition
           │ └ properties
           │    └ Image: (documentation changed)
           └[~] type S3DataSource
             └ properties
                └ S3DataType: (documentation changed)
```
…ature-flags.json' (#32750)

In the `integ-runner`, we used to load the recommended feature flags file for `aws-cdk-lib` using a run-time `readFile` based on a `__dirname`.

However, the source files are bundled which makes `__dirname` point to the wrong directory. Instead, load the JSON file directly using a JavaScript `import`, so that the bundler will bundle the JSON file into the source code directly, and we can't fail to load it.

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # (if applicable)

Closes #31347.

### Reason for this change


The motivating bug is that you cannot add a combo of g5 and a g6 as instance classes onto the same node group or else the following error will be thrown: `instanceTypes of different architectures is not allowed`.

### Description of changes


* (eks) Fixes the `isGpuInstanceType` check
  * G6/G6E instance classes will now be recognized as GPU instance types so those different types can be used together for a multi instance type managed node group

### Description of how you validated changes


Wrote unit tests for the `isGpuInstanceType` function

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

Duplicate of #31445, originally authored by @ [AlexKaracaoglu](https://github.com/AlexKaracaoglu)

Co-authored-by: Alex Karacaoglu AlexKaracaoglu@users.noreply.github.com

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # (if applicable)

Closes #31950 .

### Reason for this change

Previously, users needed to manually construct ARN strings when using S3AccessPoint. This update exposes the S3AccessPoint ARN directly to reduce implementation effort.

### Description of changes

This change makes the S3AccessPoint accessible as a property for reuse across the codebase.

### Describe any new or updated permissions being added

No

### Description of how you validated changes

- Added test cases to verify the newly exposed S3AccessPoint property in the existing unit test suite.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
… v1 apps (#32710)

### Reason for this change

In the first versions of AWS CDK v1 and older, version metadata was injected by the CLI not by the framework.
This changed with the introduction of Cloud Assembly Schema v6.0.0 in AWS CDK v1.65.0 (see [changelog](https://github.com/aws/aws-cdk/releases/tag/v1.65.0)).

The CLI kept compatibility code around to ensure the metadata is injected. This code was introduced via #19010 on Feb 17, 2022.

However this code was intended for v1 and kept around because v1 and v2 were initially developed on the same code base. In the meantime, AWS CDK v1 is EOS and we do not need to support v1 features from v2 anymore.

This change will mean that we will stop reporting metadata for users that use the CLI v2 `>= 2.174.0` (the release removing the compat code) to deploy a Cloud Assembly developed with framework v1 `< 1.65.0`. Otherwise these users are not functionally effected by the change.

We therefore decide to now remove the unused compat code.

### Description of changes

Remove the unused legacy code and adjusted test cases.

### Describe any new or updated permissions being added

n/a

### Description of how you validated changes

Run unit test and CLI integ tests.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
This function should also respect `expiration: null`, I think, but also I don't believe this fixes the ultimate issue of #32653. Just a guess at this point.

The function docs are as follows:

> @param requiresRefresh
A function that will evaluate the resolved value and determine if it represents static value or one that will eventually need to be refreshed. For example, AWS credentials that have no defined expiration will never need to be refreshed, so this function would return true if the credentials resolved by the underlying provider had an expiration and false otherwise.

Since we are respecting `null` as a valid `expiration` just like `undefined` in `credentialsAboutToExpire`, we should also respect it here.

Underlying `memoize` function is this one: https://github.com/smithy-lang/smithy-typescript/blob/main/packages/property-provider/src/memoize.ts#L27

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # (if applicable)

Closes #32545.
Fixes #27179.

### Reason for this change



Once this [PR](#27921) was reverted by other cli-integ test regression.

- revert PR: #29577
- the test for regression: https://github.com/aws/aws-cdk/blob/07ce8ecc42782475d099b89944571375341c28d3/packages/%40aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts#L190

But the regression was apparently due to a cause unrelated to that PR. That has been corrected in [this PR](#31107) (see: https://github.com/aws/aws-cdk/blob/v2.173.1/packages/@aws-cdk-testing/cli-integ/tests/cli-integ-tests/cli.integtest.ts#L286-L291).

Therefore, I submit the same PR again.

### Description of changes



This PR for cli is to warn if stacks with wrong cases (=not exist) specified in `cdk destroy`.

\* It does not display the message `Are you sure you want to delete:` if there is no matching stack.
\* Even if the stack does not exist, `cdk destroy` will not fail, it will just print a warning.

Actual Outputs: 

![cdk-destroy-warn](https://github.com/user-attachments/assets/c0d70037-c863-4c78-bc22-8b51264393ac)

### Describe any new or updated permissions being added

<!— What new or updated IAM permissions are needed to support the changes being introduced ? -->

Nothing.

### Description of how you validated changes



Both of unit tests and cli-integ tests.

The changes were already approved in the last PR.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Updates the L1 CloudFormation resource definitions with the latest changes from `@aws-cdk/aws-service-spec`

**L1 CloudFormation resource definition changes:**
```
└[~] service aws-batch
  └ resources
     └[~]  resource AWS::Batch::JobDefinition
        └ types
           ├[~] type EksContainer
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type EksContainerEnvironmentVariable
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type EksContainerVolumeMount
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type EksProperties
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type EksSecret
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type EksVolume
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type EmptyDir
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type HostPath
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type Metadata
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type NodeProperties
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type NodeRangeProperty
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type PodProperties
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           ├[~] type Resources
           │ └      - mustRenderForBwCompat: undefined
           │        + mustRenderForBwCompat: true
           └[~] type SecurityContext
             └      - mustRenderForBwCompat: undefined
                    + mustRenderForBwCompat: true
```
### Issue # (if applicable)

Closes [RFC#507](https://github.com/aws/aws-cdk-rfcs/blob/main/text/0507-subnets.md).
Tracking (#30762 )

### Reason for this change

Added Name tag for VPC and related components.

### Description of changes

Tag fields not supported in CFN schema for Route and Egress-only-IGW.

### Description of how you validated changes

Added unit test and integration tests.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…types (#32758)

Our cli config has the following for `verbose`: `type: boolean, count: true`. That should be a `number` type, but it currently is a `boolean` type. 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # (if applicable)

N/A.

### Reason for this change

<!--What is the bug or use case behind this change?-->

Onboarding a new engineer.

### Description of changes

<!--
What code changes did you make?
Have you made any important design decisions?
What AWS use cases does this change enable? To enable the use cases,
which AWS service features are utilized?
-->

Configuration changes only. Added iankhou (ianhou@) to exception list
for GH merit badger and to Mergify config.

### Describe any new or updated permissions being added

<!— What new or updated IAM permissions are needed to support the
changes being introduced ? -->

No changes in IAM are required.

### Description of how you validated changes

<!--Have you added any unit tests and/or integration tests?-->

Config change only, no tests were changed.

### Checklist - N/A
- [] My code adheres to the [CONTRIBUTING
GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and
[DESIGN
GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache-2.0 license*

Co-authored-by: Ian Hou <ianhou@amazon.com>
Co-authored-by: Kaizen Conroy <36202692+kaizencc@users.noreply.github.com>
…yPercent (#31738)

### Issue

Closes #31705

### Reason for this change

CDK overrides the default value of 100% used by CloudFormation's `AWS::ECS::Service` and the `CreateService` API. This allows the number of running tasks to drop by up to 50% during deployments and [Fargate maintenance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html) etc.

This is an unsafe default for services which must support a consistent load e.g. handle web traffic via an ALB.

### Description of changes

A warning appears when the default value is implicitly used. CloudFormation's default is overridden in three different places so multiple warnings are added:
* `BaseService` emits `@aws-cdk/aws-ecs:minHealthyPercent` when `minHealthyPercent` is `undefined`
* `Ec2Service` emits `@aws-cdk/aws-ecs:minHealthyPercentDaemon` when `daemon` is `true` and `minHealthyPercent` is `undefined` 
* `ExternalService` emits `@aws-cdk/aws-ecs:minHealthyPercentExternal` when `minHealthyPercent` is `undefined`

At most one warning appears due to the way the CloudFormation's default is overidden.

`README.md` has been updated for `aws_ecs` and `aws_ecs_patterns` to ensure these examples don't trigger this warning.

### Description of how you validated changes
Unit tests have been added to ensure the warnings appear are there when they should be and not when they shouldn't.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # (if applicable)

N/A

### Reason for this change
Add a missing property.



### Description of changes
Add `enableFaultInjection` property.



### Describe any new or updated permissions being added
No


### Description of how you validated changes
Add unit test and integ test


### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # (if applicable)

Closes #32745 

### Reason for this change
`Service` should implement `IService`.
However at the moment, it doesn't.

### Description of changes
Modified `Service` class to implement `IService`.

### Describe any new or updated permissions being added
None


### Description of how you validated changes
No validation was needed as only interface implementation was added.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…e=false` and also deprecate property (#32763)

### Issue # (if applicable)

Closes #28518.

### Reason for this change

When `canContainersAccessInstanceRole=false`, wrong commands are added to the ASG UserData, as described in the issue linked above.

Reason for deprecating the `canContainersAccessInstanceRole` option is detailed in #32609.

### Description of changes

- Added deprecation tag to all `canContainersAccessInstanceRole` options. 
- Created two feature flags to control the `canContainersAccessInstanceRole` behaviour
- Added new commands if customer opted to use them via setting the right feature flags

### Describe any new or updated permissions being added

None

### Description of how you validated changes

A new integ test is added to ensure the commands in UserData executes without throwing errors.

The existing integ tests are updated to have the default feature flag values and they are passing. This should prove that there will not be any change to existing CDK apps.

Unit tests are added for each platform, combination of possible values for `canContainersAccessInstanceRole` + possible values for the feature flags (3 platforms * 3 possible values for `canContainersAccessInstanceRole` * 2 possible values for `@aws-cdk/aws-ecs:disableEcsImdsBlocking` * 2 possible values for `@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature` = 36 unit tests).

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…rics (#32325)

### Issue #

Closes #28731

### Reason for this change

Currently, if a user creates a metric that includes `region` and `accountId`, those fields are omitted when the metric renders in a stack with those same values. The intended behavior is to omit those fields when they're implicitly set via `metric.attachTo(stack)`, not to omit them when set directly by the user.

### Description of changes

This is a second attempt at #29935, which was auto-closed after the pull request linter complained that there were no integration test changes. This time around I've tried to satisfy the linter. Otherwise, the changes are the same as before:

The key changes here are on the `Metric` class. Previously, `region` and `account` were public properties that were set by `metric.attachTo(stack)`, making it impossible to differentiate whether they were set directly or via `attachTo`. To differentiate them while maintaining backward compatibility, I took this approach:

1. `attachTo` sets internal properties called `stackRegion` and `stackAccount`. Setting `region` and `account` directly sets internal properties called `regionOverride` and `accountOverride`.
2. The public `region` and `account` properties are now getters that return the override (if set) and fall back on the stack properties.
3. The `toMetricConfig()` method returns the `region` and `account` from the getters, but also includes the `regionOverride` and `accountOverride`.

That way, everything that looks at `region` and `account` works the same way it did before, except in `metricGraphJson`, which skips the "if different from stack" tokenization if the overrides are set.

### Description of how you validated changes

1. Confirmed that all existing unit tests pass.
2. Added a new unit test to show that `region` and `account` are now preserved when set directly on a metric.
3. Modified an integration test to show how setting `region` and `account` on a metric affects the snapshot.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
…ferent default in v2` section (#32766)

### Issue # (if applicable)

Closes #<issue number here>.

### Reason for this change

The docs listing feature flags in v1 with a different default in v2 currently includes some feature flags that were introduced in v2: https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/cx-api/FEATURE_FLAGS.md#flags-with-a-different-default-in-v2 . 

### Description of changes

Update the filter to check if the feature flag was introduced in v1 to avoid accidentally including v2 feature flags with default 
`true`.

### Describe any new or updated permissions being added

N/A

### Description of how you validated changes

ran `yarn build` to update `FEATURE_FLAGS.md` 

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Reason for this change

In the current EKS module, `kubectlProvider` is created in a nested stack. The nested stack here is not necessary and hence moving it to the main stack.

### Description of changes

Move `kubectlProvider` to the main stack.



### Describe any new or updated permissions being added

<!— What new or updated IAM permissions are needed to support the changes being introduced ? -->


### Description of how you validated changes
Updated unit tests so they all passed

### Checklist
- [ ] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
### Issue # (if applicable)

N/A

### Reason for this change

The `example-resource.ts` library is slightly out of date with how CDK is structured today. These changes aim to align the file with what we do today.

### Description of changes

Altered the core import, as we do not (AFAIK) follow this convention any more:
```ts
import * as core from 'aws-cdk-lib/core';  // before
import { ... } from 'aws-cdk-lib/core';    // after
```

In addition, slightly changed around some comment phrasing.

### Describe any new or updated permissions being added

N/A

### Description of how you validated changes

Semantic changes; tests still continue to pass.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The GH Action workflow was missing the required permission to update the PR to automatically update the integ test cases

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@aws-cdk-automation aws-cdk-automation requested a review from a team as a code owner January 9, 2025 19:52
@aws-cdk-automation aws-cdk-automation added auto-approve pr/no-squash This PR should be merged instead of squash-merging it labels Jan 9, 2025
@aws-cdk-automation aws-cdk-automation requested a review from a team January 9, 2025 19:52
@github-actions github-actions bot added the p2 label Jan 9, 2025
@aws-cdk-automation
Copy link
Collaborator Author

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 7d44bc5
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Copy link
Contributor

mergify bot commented Jan 9, 2025

Thank you for contributing! Your pull request will be automatically updated and merged without squashing (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify mergify bot merged commit 703e81f into v2-release Jan 9, 2025
26 of 27 checks passed
@mergify mergify bot deleted the bump/2.175.0 branch January 9, 2025 20:23
Copy link

github-actions bot commented Jan 9, 2025

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 9, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-approve p2 pr/no-squash This PR should be merged instead of squash-merging it
Projects
None yet
Development

Successfully merging this pull request may close these issues.