diff --git a/specification/agricultureplatform/AgriculturePlatform.Management/main.tsp b/specification/agricultureplatform/AgriculturePlatform.Management/main.tsp index cc4cfc0f350c..e22c63f5aa58 100644 --- a/specification/agricultureplatform/AgriculturePlatform.Management/main.tsp +++ b/specification/agricultureplatform/AgriculturePlatform.Management/main.tsp @@ -279,7 +279,7 @@ op ArmResourceListActionSync< @doc("The list of available agri solutions.") model AvailableAgriSolutionListResult { @doc("Agri solutions list.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) solutions: DataManagerForAgricultureSolution[]; } diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/models/models.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/models/models.tsp index 94fbfe586782..b2050f9a90b3 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/models/models.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/models/models.tsp @@ -544,7 +544,7 @@ model GetOverviewStatusResponse { /** * List of different status items. */ - @extension("x-ms-identifiers", #["statusName"]) + @identifiers(#["statusName"]) statusList?: StatusItem[]; } @@ -626,13 +626,12 @@ model TriggerEvaluationProperty { /** * List of resource ids to be evaluated */ - @extension("x-ms-identifiers", #["resourceId"]) resourceIds?: string[]; /** * List of quick assessments */ - @extension("x-ms-identifiers", #["resourceId"]) + @identifiers(#["resourceId"]) quickAssessments?: QuickAssessment[]; } @@ -703,7 +702,7 @@ model ListInUseStorageAccountsResponse { /** * The storage account list which in use in related reports. */ - @extension("x-ms-identifiers", #["accountName"]) + @identifiers(#["accountName"]) storageAccountList?: StorageInfo[]; } @@ -794,7 +793,7 @@ alias ReportBaseProperties = { * List of synchronized certification records. */ @visibility("read") - @extension("x-ms-identifiers", #["offerGuid"]) + @identifiers(#["offerGuid"]) certRecords?: CertSyncRecord[]; /** @@ -823,7 +822,7 @@ model ReportProperties { /** * List of resource data. */ - @extension("x-ms-identifiers", #["resourceId"]) + @identifiers(#["resourceId"]) resources: ResourceMetadata[]; ...ReportBaseProperties; @@ -848,7 +847,7 @@ model ReportPatchProperties { /** * List of resource data. */ - @extension("x-ms-identifiers", #["resourceId"]) + @identifiers(#["resourceId"]) resources?: ResourceMetadata[]; ...ReportBaseProperties; @@ -953,7 +952,7 @@ model CertSyncRecord { /** * The control records list to be synchronized. */ - @extension("x-ms-identifiers", #["controlId"]) + @identifiers(#["controlId"]) controls?: ControlSyncRecord[]; } @@ -1128,7 +1127,7 @@ model SnapshotProperties { * List of compliance results. */ @visibility("read") - @extension("x-ms-identifiers", #["complianceName"]) + @identifiers(#["complianceName"]) complianceResults?: ComplianceResult[]; } @@ -1146,7 +1145,7 @@ model ComplianceResult { * List of categories. */ @visibility("read") - @extension("x-ms-identifiers", #["categoryName"]) + @identifiers(#["categoryName"]) categories?: Category[]; } @@ -1170,7 +1169,7 @@ model Category { * List of control families. */ @visibility("read") - @extension("x-ms-identifiers", #["controlFamilyName"]) + @identifiers(#["controlFamilyName"]) controlFamilies?: ControlFamily[]; } @@ -1194,7 +1193,7 @@ model ControlFamily { * List of controls. */ @visibility("read") - @extension("x-ms-identifiers", #["controlId"]) + @identifiers(#["controlId"]) controls?: Control[]; } @@ -1242,7 +1241,7 @@ model Control { * List of customer responsibility. */ @visibility("read") - @extension("x-ms-identifiers", #["responsibilityId"]) + @identifiers(#["responsibilityId"]) responsibilities?: Responsibility[]; } @@ -1306,14 +1305,14 @@ model Responsibility { * List of resource. */ @visibility("read") - @extension("x-ms-identifiers", #["resourceId"]) + @identifiers(#["resourceId"]) resourceList?: ResponsibilityResource[]; /** * List of recommendation. */ @visibility("read") - @extension("x-ms-identifiers", #["recommendationId"]) + @identifiers(#["recommendationId"]) recommendationList?: Recommendation[]; /** @@ -1401,7 +1400,7 @@ model Recommendation { * List of recommendation solutions. */ @visibility("read") - @extension("x-ms-identifiers", #["recommendationSolutionIndex"]) + @identifiers(#["recommendationSolutionIndex"]) recommendationSolutions?: RecommendationSolution[]; } @@ -1457,14 +1456,14 @@ model DownloadResponse { * Resource list of the report */ @visibility("read") - @extension("x-ms-identifiers", #["resourceId"]) + @identifiers(#["resourceId"]) resourceList?: ResourceItem[]; /** * List of the compliance result */ @visibility("read") - @extension("x-ms-identifiers", #["controlId"]) + @identifiers(#["controlId"]) complianceReport?: ComplianceReportItem[]; /** @@ -1616,7 +1615,7 @@ model ScopingConfigurationProperties { /** * List of scoping question answers. */ - @extension("x-ms-identifiers", #["questionId"]) + @identifiers(#["questionId"]) answers?: ScopingAnswer[]; /** @@ -1633,7 +1632,7 @@ model ScopingQuestions { /** * List of scoping questions. */ - @extension("x-ms-identifiers", #["questionId"]) + @identifiers(#["questionId"]) questions?: ScopingQuestion[]; } diff --git a/specification/appcomplianceautomation/resource-manager/Microsoft.AppComplianceAutomation/stable/2024-06-27/appcomplianceautomation.json b/specification/appcomplianceautomation/resource-manager/Microsoft.AppComplianceAutomation/stable/2024-06-27/appcomplianceautomation.json index 6d78941bf01b..fb5a5af6bbf5 100644 --- a/specification/appcomplianceautomation/resource-manager/Microsoft.AppComplianceAutomation/stable/2024-06-27/appcomplianceautomation.json +++ b/specification/appcomplianceautomation/resource-manager/Microsoft.AppComplianceAutomation/stable/2024-06-27/appcomplianceautomation.json @@ -4221,10 +4221,7 @@ "description": "List of resource ids to be evaluated", "items": { "type": "string" - }, - "x-ms-identifiers": [ - "resourceId" - ] + } }, "quickAssessments": { "type": "array", diff --git a/specification/awsconnector/AccessAnalyzerAnalyzer.Management/main.tsp b/specification/awsconnector/AccessAnalyzerAnalyzer.Management/main.tsp index 1d19c0d76da7..53512f9006a8 100644 --- a/specification/awsconnector/AccessAnalyzerAnalyzer.Management/main.tsp +++ b/specification/awsconnector/AccessAnalyzerAnalyzer.Management/main.tsp @@ -79,14 +79,14 @@ model AwsAccessAnalyzerAnalyzerProperties { analyzerName?: string; @doc("Property archiveRules") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) archiveRules?: ArchiveRule[]; @doc("Amazon Resource Name (ARN) of the analyzer") arn?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The type of the analyzer, must be one of ACCOUNT, ORGANIZATION, ACCOUNT_UNUSED_ACCESS or ORGANIZATION_UNUSED_ACCESS") @@ -110,7 +110,7 @@ model UnusedAccessConfiguration { @doc("Definition of ArchiveRule") model ArchiveRule { @doc("Property filter") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) filter?: Filter[]; @doc("The archive rule name") @@ -137,18 +137,15 @@ model Tag { @doc("Definition of Filter") model Filter { @doc("Property contains") - @extension("x-ms-identifiers", #[]) contains?: string[]; @doc("Property eq") - @extension("x-ms-identifiers", #[]) eq?: string[]; @doc("Property exists") exists?: boolean; @doc("Property neq") - @extension("x-ms-identifiers", #[]) neq?: string[]; @doc("Property property") diff --git a/specification/awsconnector/AcmCertificateSummary.Management/main.tsp b/specification/awsconnector/AcmCertificateSummary.Management/main.tsp index 06b926868778..0dfba6228b75 100644 --- a/specification/awsconnector/AcmCertificateSummary.Management/main.tsp +++ b/specification/awsconnector/AcmCertificateSummary.Management/main.tsp @@ -85,7 +85,6 @@ model AwsAcmCertificateSummaryProperties { exported?: boolean; @doc("

Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

") - @extension("x-ms-identifiers", #[]) extendedKeyUsages?: ExtendedKeyUsageName[]; @doc("

When called by ListCertificates, indicates whether the full list of subject alternative names has been included in the response. If false, the response includes all of the subject alternative names included in the certificate. If true, the response only includes the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

") @@ -104,7 +103,6 @@ model AwsAcmCertificateSummaryProperties { keyAlgorithm?: KeyAlgorithmEnumValue; @doc("

A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

") - @extension("x-ms-identifiers", #[]) keyUsages?: KeyUsageName[]; @doc("

The time after which the certificate is not valid.

") @@ -123,7 +121,6 @@ model AwsAcmCertificateSummaryProperties { status?: CertificateStatusEnumValue; @doc("

One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

When called by ListCertificates, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

") - @extension("x-ms-identifiers", #[]) subjectAlternativeNameSummaries?: string[]; @doc("

The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the Certificate Manager User Guide.

") diff --git a/specification/awsconnector/ApiGatewayRestApi.Management/main.tsp b/specification/awsconnector/ApiGatewayRestApi.Management/main.tsp index 8df5c08c26d2..9f5ba4b43ec0 100644 --- a/specification/awsconnector/ApiGatewayRestApi.Management/main.tsp +++ b/specification/awsconnector/ApiGatewayRestApi.Management/main.tsp @@ -75,7 +75,6 @@ model AwsApiGatewayRestApiProperties { apiKeySourceType?: string; @doc("The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.") - @extension("x-ms-identifiers", #[]) binaryMediaTypes?: string[]; @doc("An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.") @@ -121,7 +120,7 @@ model AwsApiGatewayRestApiProperties { rootResourceId?: string; @doc("The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } @@ -151,11 +150,9 @@ model S3Location { @doc("Definition of EndpointConfiguration") model EndpointConfiguration { @doc("A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``'EDGE'``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``.") - @extension("x-ms-identifiers", #[]) types?: string[]; @doc("A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.") - @extension("x-ms-identifiers", #[]) vpcEndpointIds?: string[]; } diff --git a/specification/awsconnector/ApiGatewayStage.Management/main.tsp b/specification/awsconnector/ApiGatewayStage.Management/main.tsp index e62ba5f31e19..8c79a2c808d6 100644 --- a/specification/awsconnector/ApiGatewayStage.Management/main.tsp +++ b/specification/awsconnector/ApiGatewayStage.Management/main.tsp @@ -96,7 +96,7 @@ model AwsApiGatewayStageProperties { documentationVersion?: string; @doc("A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) methodSettings?: MethodSetting[]; @doc("The string identifier of the associated RestApi.") @@ -106,7 +106,7 @@ model AwsApiGatewayStageProperties { stageName?: string; @doc("The collection of tags. Each tag element is associated with a given resource.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Specifies whether active tracing with X-ray is enabled for the Stage.") diff --git a/specification/awsconnector/AppSyncGraphqlApi.Management/main.tsp b/specification/awsconnector/AppSyncGraphqlApi.Management/main.tsp index 2f2c0c45d416..dbb8e98b15ad 100644 --- a/specification/awsconnector/AppSyncGraphqlApi.Management/main.tsp +++ b/specification/awsconnector/AppSyncGraphqlApi.Management/main.tsp @@ -72,7 +72,7 @@ model AppSyncGraphqlApiProperties { @doc("Definition of awsAppSyncGraphqlApi") model AwsAppSyncGraphqlApiProperties { @doc("

A list of additional authentication providers for the GraphqlApi API.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; @doc("

The API ID.

") diff --git a/specification/awsconnector/AutoScalingAutoScalingGroup.Management/main.tsp b/specification/awsconnector/AutoScalingAutoScalingGroup.Management/main.tsp index 73a626510031..39360a6584df 100644 --- a/specification/awsconnector/AutoScalingAutoScalingGroup.Management/main.tsp +++ b/specification/awsconnector/AutoScalingAutoScalingGroup.Management/main.tsp @@ -83,7 +83,6 @@ model AwsAutoScalingAutoScalingGroupProperties { autoScalingGroupName?: string; @doc("A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the ``VPCZoneIdentifier`` property, or for attaching a network interface when an existing network interface ID is specified in a launch template.") - @extension("x-ms-identifiers", #[]) availabilityZones?: string[]; @doc("Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. For more information, see [Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html) in the in the *Amazon EC2 Auto Scaling User Guide*.") @@ -123,11 +122,10 @@ model AwsAutoScalingAutoScalingGroupProperties { launchTemplate?: LaunchTemplateSpecification; @doc("One or more lifecycle hooks to add to the Auto Scaling group before instances are launched.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) lifecycleHookSpecificationList?: LifecycleHookSpecification[]; @doc("A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify the ``TargetGroupARNs`` property instead.") - @extension("x-ms-identifiers", #[]) loadBalancerNames?: string[]; @doc("The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see [Replacing Auto Scaling instances based on maximum instance lifetime](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) in the *Amazon EC2 Auto Scaling User Guide*.") @@ -137,7 +135,7 @@ model AwsAutoScalingAutoScalingGroupProperties { maxSize?: string; @doc("Enables the monitoring of group metrics of an Auto Scaling group. By default, these metrics are disabled.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) metricsCollection?: MetricsCollection[]; @doc("The minimum size of the group.") @@ -153,7 +151,7 @@ model AwsAutoScalingAutoScalingGroupProperties { notificationConfiguration?: NotificationConfiguration; @doc("Configures an Auto Scaling group to send notifications when specified events take place.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) notificationConfigurations?: NotificationConfiguration[]; @doc("The name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide for Linux Instances*. A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.") @@ -163,19 +161,16 @@ model AwsAutoScalingAutoScalingGroupProperties { serviceLinkedRoleARN?: string; @doc("One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a launch template but use caution. If the launch template specifies an instance tag with a key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the value specified by the Auto Scaling group. For more information, see [Tag Auto Scaling groups and instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html) in the *Amazon EC2 Auto Scaling User Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: TagProperty[]; @doc("The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*.") - @extension("x-ms-identifiers", #[]) targetGroupARNs?: string[]; @doc("A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Work with Amazon EC2 Auto Scaling termination policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``") - @extension("x-ms-identifiers", #[]) terminationPolicies?: string[]; @doc("A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). Required to launch instances into a nondefault VPC. If you specify ``VPCZoneIdentifier`` with ``AvailabilityZones``, the subnets that you specify for this property must reside in those Availability Zones.") - @extension("x-ms-identifiers", #[]) vpcZoneIdentifier?: string[]; } @@ -246,7 +241,6 @@ model MetricsCollection { granularity?: string; @doc("Identifies the metrics to enable. You can specify one or more of the following metrics: + ``GroupMinSize`` + ``GroupMaxSize`` + ``GroupDesiredCapacity`` + ``GroupInServiceInstances`` + ``GroupPendingInstances`` + ``GroupStandbyInstances`` + ``GroupTerminatingInstances`` + ``GroupTotalInstances`` + ``GroupInServiceCapacity`` + ``GroupPendingCapacity`` + ``GroupStandbyCapacity`` + ``GroupTerminatingCapacity`` + ``GroupTotalCapacity`` + ``WarmPoolDesiredCapacity`` + ``WarmPoolWarmedCapacity`` + ``WarmPoolPendingCapacity`` + ``WarmPoolTerminatingCapacity`` + ``WarmPoolTotalCapacity`` + ``GroupAndWarmPoolDesiredCapacity`` + ``GroupAndWarmPoolTotalCapacity`` If you specify ``Granularity`` and don't specify any metrics, all metrics are enabled. For more information, see [Auto Scaling group metrics](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics) in the *Amazon EC2 Auto Scaling User Guide*.") - @extension("x-ms-identifiers", #[]) metrics?: string[]; } @@ -270,7 +264,6 @@ model MixedInstancesPolicy { @doc("Definition of NotificationConfiguration") model NotificationConfiguration { @doc("A list of event types that send a notification. Event types can include any of the following types. *Allowed values*: + ``autoscaling:EC2_INSTANCE_LAUNCH`` + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR`` + ``autoscaling:EC2_INSTANCE_TERMINATE`` + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR`` + ``autoscaling:TEST_NOTIFICATION``") - @extension("x-ms-identifiers", #[]) notificationTypes?: string[]; @doc("The Amazon Resource Name (ARN) of the Amazon SNS topic.") @@ -328,7 +321,7 @@ model LaunchTemplate { launchTemplateSpecification?: LaunchTemplateSpecification; @doc("Any properties that you specify override the same properties in the launch template.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) overrides?: LaunchTemplateOverrides[]; } @@ -361,22 +354,18 @@ model InstanceRequirements { acceleratorCount?: AcceleratorCountRequest; @doc("Indicates whether instance types must have accelerators by specific manufacturers. + For instance types with NVIDIA devices, specify ``nvidia``. + For instance types with AMD devices, specify ``amd``. + For instance types with AWS devices, specify ``amazon-web-services``. + For instance types with Xilinx devices, specify ``xilinx``. Default: Any manufacturer") - @extension("x-ms-identifiers", #[]) acceleratorManufacturers?: string[]; @doc("Lists the accelerators that must be on an instance type. + For instance types with NVIDIA A100 GPUs, specify ``a100``. + For instance types with NVIDIA V100 GPUs, specify ``v100``. + For instance types with NVIDIA K80 GPUs, specify ``k80``. + For instance types with NVIDIA T4 GPUs, specify ``t4``. + For instance types with NVIDIA M60 GPUs, specify ``m60``. + For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520``. + For instance types with Xilinx VU9P FPGAs, specify ``vu9p``. Default: Any accelerator") - @extension("x-ms-identifiers", #[]) acceleratorNames?: string[]; @doc("The minimum and maximum total memory size for the accelerators on an instance type, in MiB. Default: No minimum or maximum limits ``AcceleratorTotalMemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total memory size for the accelerators for an instance type, in MiB.") acceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest; @doc("Lists the accelerator types that must be on an instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type") - @extension("x-ms-identifiers", #[]) acceleratorTypes?: string[]; @doc("The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types. If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``. Default: All instance types") - @extension("x-ms-identifiers", #[]) allowedInstanceTypes?: string[]; @doc("Indicates whether bare metal instance types are included, excluded, or required. Default: ``excluded``") @@ -389,22 +378,18 @@ model InstanceRequirements { burstablePerformance?: string; @doc("Lists which specific CPU manufacturers to include. + For instance types with Intel CPUs, specify ``intel``. + For instance types with AMD CPUs, specify ``amd``. + For instance types with AWS CPUs, specify ``amazon-web-services``. Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer") - @extension("x-ms-identifiers", #[]) cpuManufacturers?: string[]; @doc("The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types. If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``. Default: No excluded instance types") - @extension("x-ms-identifiers", #[]) excludedInstanceTypes?: string[]; @doc("Indicates whether current or previous generation instance types are included. + For current generation instance types, specify ``current``. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*. + For previous generation instance types, specify ``previous``. Default: Any current or previous generation") - @extension("x-ms-identifiers", #[]) instanceGenerations?: string[]; @doc("Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, see [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide for Linux Instances*. Default: ``included``") localStorage?: string; @doc("Indicates the type of local storage that is required. + For instance types with hard disk drive (HDD) storage, specify ``hdd``. + For instance types with solid state drive (SSD) storage, specify ``ssd``. Default: Any local storage type") - @extension("x-ms-identifiers", #[]) localStorageTypes?: string[]; @doc("[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To indicate no price protection threshold, specify a high value, such as ``999999``. If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price. Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, then ``SpotMaxPricePercentageOverLowestPrice`` is used and the value for that parameter defaults to ``100``.") diff --git a/specification/awsconnector/CloudFormationStack.Management/main.tsp b/specification/awsconnector/CloudFormationStack.Management/main.tsp index 3d611b47368b..04721836fabd 100644 --- a/specification/awsconnector/CloudFormationStack.Management/main.tsp +++ b/specification/awsconnector/CloudFormationStack.Management/main.tsp @@ -72,7 +72,6 @@ model CloudFormationStackProperties { @doc("Definition of awsCloudFormationStack") model AwsCloudFormationStackProperties { @doc("Property capabilities") - @extension("x-ms-identifiers", #[]) capabilities?: Capabilities[]; @doc("Property changeSetId") @@ -94,11 +93,10 @@ model AwsCloudFormationStackProperties { lastUpdateTime?: string; @doc("Property notificationARNs") - @extension("x-ms-identifiers", #[]) notificationARNs?: string[]; @doc("Property outputs") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) outputs?: Output[]; @doc("Property parameters") @@ -132,7 +130,7 @@ model AwsCloudFormationStackProperties { stackStatusReason?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property templateBody") diff --git a/specification/awsconnector/CloudFormationStackSet.Management/main.tsp b/specification/awsconnector/CloudFormationStackSet.Management/main.tsp index a5a071aa7b65..97663ac26e03 100644 --- a/specification/awsconnector/CloudFormationStackSet.Management/main.tsp +++ b/specification/awsconnector/CloudFormationStackSet.Management/main.tsp @@ -82,7 +82,6 @@ model AwsCloudFormationStackSetProperties { callAs?: CallAs; @doc("In some cases, you must explicitly acknowledge that your stack set template contains certain capabilities in order for AWS CloudFormation to create the stack set and related stack instances.") - @extension("x-ms-identifiers", #[]) capabilities?: string[]; @doc("A description of the stack set. You can use the description to identify the stack set's purpose or other important information.") @@ -98,14 +97,14 @@ model AwsCloudFormationStackSetProperties { operationPreferences?: OperationPreferences; @doc("The input parameters for the stack set template.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) parameters?: Parameter[]; @doc("Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.") permissionModel?: PermissionModel; @doc("A group of stack instances with parameters in some specific accounts and regions.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) stackInstancesGroup?: StackInstances[]; @doc("The ID of the stack set that you're creating.") @@ -115,7 +114,7 @@ model AwsCloudFormationStackSetProperties { stackSetName?: string; @doc("The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.") @@ -193,7 +192,6 @@ model OperationPreferences { regionConcurrencyType?: OperationPreferencesRegionConcurrencyType; @doc("Property regionOrder") - @extension("x-ms-identifiers", #[]) regionOrder?: string[]; } @@ -231,11 +229,10 @@ model StackInstances { deploymentTargets?: DeploymentTargets; @doc("A list of stack set parameters whose values you want to override in the selected stack instances.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) parameterOverrides?: Parameter[]; @doc("The names of one or more Regions where you want to create stack instances using the specified AWS account(s).") - @extension("x-ms-identifiers", #[]) regions?: string[]; } @@ -262,14 +259,12 @@ model DeploymentTargets { accountFilterType?: DeploymentTargetsAccountFilterType; @doc("AWS accounts that you want to create stack instances in the specified Region(s) for.") - @extension("x-ms-identifiers", #[]) accounts?: string[]; @doc("Returns the value of the AccountsUrl property.") accountsUrl?: string; @doc("The organization root ID or organizational unit (OU) IDs to which StackSets deploys.") - @extension("x-ms-identifiers", #[]) organizationalUnitIds?: string[]; } diff --git a/specification/awsconnector/CloudFrontDistribution.Management/main.tsp b/specification/awsconnector/CloudFrontDistribution.Management/main.tsp index 3f0302a05baf..384bc601bdf0 100644 --- a/specification/awsconnector/CloudFrontDistribution.Management/main.tsp +++ b/specification/awsconnector/CloudFrontDistribution.Management/main.tsp @@ -82,7 +82,7 @@ model AwsCloudFrontDistributionProperties { id?: string; @doc("A complex type that contains zero or more ``Tag`` elements.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } @@ -93,15 +93,13 @@ model AwsCloudFrontDistributionProperties { @doc("Definition of DistributionConfig") model DistributionConfig { @doc("A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.") - @extension("x-ms-identifiers", #[]) aliases?: string[]; @doc("Property cnamEs") - @extension("x-ms-identifiers", #[]) cnamEs?: string[]; @doc("A complex type that contains zero or more ``CacheBehavior`` elements.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) cacheBehaviors?: CacheBehavior[]; @doc("A comment to describe the distribution. The comment cannot be longer than 128 characters.") @@ -111,7 +109,7 @@ model DistributionConfig { continuousDeploymentPolicyId?: string; @doc("A complex type that controls the following: + Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer. + How long CloudFront caches HTTP status codes in the 4xx and 5xx range. For more information about custom error pages, see [Customizing Error Responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) customErrorResponses?: CustomErrorResponse[]; @doc("Property customOrigin") @@ -181,14 +179,12 @@ model Tag { @doc("Definition of CacheBehavior") model CacheBehavior { @doc("A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices: + CloudFront forwards only ``GET`` and ``HEAD`` requests. + CloudFront forwards only ``GET``, ``HEAD``, and ``OPTIONS`` requests. + CloudFront forwards ``GET, HEAD, OPTIONS, PUT, PATCH, POST``, and ``DELETE`` requests. If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.") - @extension("x-ms-identifiers", #[]) allowedMethods?: string[]; @doc("The unique identifier of the cache policy that is attached to this cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide*. A ``CacheBehavior`` must include either a ``CachePolicyId`` or ``ForwardedValues``. We recommend that you use a ``CachePolicyId``.") cachePolicyId?: string; @doc("A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices: + CloudFront caches responses to ``GET`` and ``HEAD`` requests. + CloudFront caches responses to ``GET``, ``HEAD``, and ``OPTIONS`` requests. If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.") - @extension("x-ms-identifiers", #[]) cachedMethods?: string[]; @doc("Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide*.") @@ -204,11 +200,11 @@ model CacheBehavior { forwardedValues?: ForwardedValues; @doc("A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) functionAssociations?: FunctionAssociation[]; @doc("A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) lambdaFunctionAssociations?: LambdaFunctionAssociation[]; @doc("This field is deprecated. We recommend that you use the ``MaxTTL`` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide*. The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as ``Cache-Control max-age``, ``Cache-Control s-maxage``, and ``Expires`` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.") @@ -236,11 +232,9 @@ model CacheBehavior { targetOriginId?: string; @doc("A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) trustedKeyGroups?: string[]; @doc("We recommend using ``TrustedKeyGroups`` instead of ``TrustedSigners``. A list of AWS-account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer's AWS-account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) trustedSigners?: string[]; @doc("The protocol that viewers can use to access the files in the origin specified by ``TargetOriginId`` when a request matches the path pattern in ``PathPattern``. You can specify the following options: + ``allow-all``: Viewers can use HTTP or HTTPS. + ``redirect-to-https``: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL. + ``https-only``: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden). For more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide*. The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.") @@ -285,7 +279,6 @@ model LegacyCustomOrigin { originProtocolPolicy?: string; @doc("Property originSSLProtocols") - @extension("x-ms-identifiers", #[]) originSSLProtocols?: string[]; } @@ -296,14 +289,12 @@ model LegacyCustomOrigin { @doc("Definition of DefaultCacheBehavior") model DefaultCacheBehavior { @doc("A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices: + CloudFront forwards only ``GET`` and ``HEAD`` requests. + CloudFront forwards only ``GET``, ``HEAD``, and ``OPTIONS`` requests. + CloudFront forwards ``GET, HEAD, OPTIONS, PUT, PATCH, POST``, and ``DELETE`` requests. If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.") - @extension("x-ms-identifiers", #[]) allowedMethods?: string[]; @doc("The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide*. A ``DefaultCacheBehavior`` must include either a ``CachePolicyId`` or ``ForwardedValues``. We recommend that you use a ``CachePolicyId``.") cachePolicyId?: string; @doc("A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices: + CloudFront caches responses to ``GET`` and ``HEAD`` requests. + CloudFront caches responses to ``GET``, ``HEAD``, and ``OPTIONS`` requests. If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.") - @extension("x-ms-identifiers", #[]) cachedMethods?: string[]; @doc("Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify ``true``; if not, specify ``false``. For more information, see [Serving Compressed Files](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) in the *Amazon CloudFront Developer Guide*.") @@ -319,11 +310,11 @@ model DefaultCacheBehavior { forwardedValues?: ForwardedValues; @doc("A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) functionAssociations?: FunctionAssociation[]; @doc("A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) lambdaFunctionAssociations?: LambdaFunctionAssociation[]; @doc("This field is deprecated. We recommend that you use the ``MaxTTL`` field in a cache policy instead of this field. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) or [Using the managed cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) in the *Amazon CloudFront Developer Guide*. The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as ``Cache-Control max-age``, ``Cache-Control s-maxage``, and ``Expires`` to objects. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.") @@ -348,11 +339,9 @@ model DefaultCacheBehavior { targetOriginId?: string; @doc("A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) trustedKeyGroups?: string[]; @doc("We recommend using ``TrustedKeyGroups`` instead of ``TrustedSigners``. A list of AWS-account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signer's AWS-account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) trustedSigners?: string[]; @doc("The protocol that viewers can use to access the files in the origin specified by ``TargetOriginId`` when a request matches the path pattern in ``PathPattern``. You can specify the following options: + ``allow-all``: Viewers can use HTTP or HTTPS. + ``redirect-to-https``: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL. + ``https-only``: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden). For more information about requiring the HTTPS protocol, see [Requiring HTTPS Between Viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) in the *Amazon CloudFront Developer Guide*. The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see [Managing Cache Expiration](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.") @@ -414,7 +403,7 @@ model Origin { originAccessControlId?: string; @doc("A list of HTTP header names and values that CloudFront adds to the requests that it sends to the origin. For more information, see [Adding Custom Headers to Origin Requests](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) originCustomHeaders?: OriginCustomHeader[]; @doc("An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. For more information, see [Origin Path](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) in the *Amazon CloudFront Developer Guide*.") @@ -482,14 +471,12 @@ model ForwardedValues { cookies?: Cookies; @doc("This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include headers in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. A complex type that specifies the ``Headers``, if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests. For more information, see [Caching Content Based on Request Headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) headers?: string[]; @doc("This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of ``QueryString`` and on the values that you specify for ``QueryStringCacheKeys``, if any: If you specify true for ``QueryString`` and you don't specify any values for ``QueryStringCacheKeys``, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin. If you specify true for ``QueryString`` and you specify one or more values for ``QueryStringCacheKeys``, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify. If you specify false for ``QueryString``, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters. For more information, see [Configuring CloudFront to Cache Based on Query String Parameters](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) in the *Amazon CloudFront Developer Guide*.") queryString?: boolean; @doc("This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.") - @extension("x-ms-identifiers", #[]) queryStringCacheKeys?: string[]; } @@ -560,7 +547,6 @@ model CustomOriginConfig { originReadTimeout?: int32 = 30; @doc("Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include ``SSLv3``, ``TLSv1``, ``TLSv1.1``, and ``TLSv1.2``. For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) originSSLProtocols?: string[]; } @@ -607,7 +593,6 @@ model S3OriginConfig { @doc("Definition of GeoRestriction") model GeoRestriction { @doc("A complex type that contains a ``Location`` element for each country in which you want CloudFront either to distribute your content or not distribute your content.") - @extension("x-ms-identifiers", #[]) locations?: string[]; @doc("The method that you want to use to restrict distribution of your content by country.") @@ -624,7 +609,6 @@ model Cookies { forward?: string; @doc("This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*.") - @extension("x-ms-identifiers", #[]) whitelistedNames?: string[]; } @@ -645,7 +629,7 @@ model OriginGroupFailoverCriteria { @doc("Definition of OriginGroupMembers") model OriginGroupMembers { @doc("Items (origins) in an origin group.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) items?: OriginGroupMember[]; @doc("The number of origins in an origin group.") @@ -659,7 +643,6 @@ model OriginGroupMembers { @doc("Definition of StatusCodes") model StatusCodes { @doc("The items (status codes) for an origin group.") - @extension("x-ms-identifiers", #[]) items?: int32[]; @doc("The number of status codes.") diff --git a/specification/awsconnector/CloudTrailTrail.Management/main.tsp b/specification/awsconnector/CloudTrailTrail.Management/main.tsp index f686cd25e695..ad6da40f577b 100644 --- a/specification/awsconnector/CloudTrailTrail.Management/main.tsp +++ b/specification/awsconnector/CloudTrailTrail.Management/main.tsp @@ -72,7 +72,7 @@ model CloudTrailTrailProperties { @doc("Definition of awsCloudTrailTrail") model AwsCloudTrailTrailProperties { @doc("The advanced event selectors that were used to select events for the data store.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) advancedEventSelectors?: AdvancedEventSelector[]; @doc("Property arn") @@ -88,14 +88,14 @@ model AwsCloudTrailTrailProperties { enableLogFileValidation?: boolean; @doc("Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event. You can configure up to five event selectors for a trail.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) eventSelectors?: EventSelector[]; @doc("Specifies whether the trail is publishing events from global services such as IAM to the log files.") includeGlobalServiceEvents?: boolean; @doc("Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) insightSelectors?: InsightSelector[]; @doc("Whether the CloudTrail is currently logging AWS API calls.") @@ -123,7 +123,7 @@ model AwsCloudTrailTrailProperties { snsTopicName?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property trailName") @@ -137,7 +137,7 @@ model AwsCloudTrailTrailProperties { @doc("Definition of AdvancedEventSelector") model AdvancedEventSelector { @doc("Contains all selector statements in an advanced event selector.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) fieldSelectors?: AdvancedFieldSelector[]; @doc("An optional, descriptive name for an advanced event selector, such as 'Log data events for only two S3 buckets'.") @@ -151,11 +151,10 @@ model AdvancedEventSelector { @doc("Definition of EventSelector") model EventSelector { @doc("Property dataResources") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dataResources?: DataResource[]; @doc("An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing 'kms.amazonaws.com'. By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.") - @extension("x-ms-identifiers", #[]) excludeManagementEventSources?: string[]; @doc("Specify if you want your event selector to include management events for your trail.") @@ -209,30 +208,24 @@ model Tag { @doc("Definition of AdvancedFieldSelector") model AdvancedFieldSelector { @doc("An operator that includes events that match the last few characters of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", #[]) endsWith?: string[]; @doc("An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.") - @extension("x-ms-identifiers", #[]) equals?: string[]; @doc("A field in an event record on which to filter events to be logged. Supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.") field?: string; @doc("An operator that excludes events that match the last few characters of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", #[]) notEndsWith?: string[]; @doc("An operator that excludes events that match the exact value of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", #[]) notEquals?: string[]; @doc("An operator that excludes events that match the first few characters of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", #[]) notStartsWith?: string[]; @doc("An operator that includes events that match the first few characters of the event record field specified as the value of Field.") - @extension("x-ms-identifiers", #[]) startsWith?: string[]; } @@ -246,7 +239,6 @@ model DataResource { type?: string; @doc("An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.") - @extension("x-ms-identifiers", #[]) values?: string[]; } diff --git a/specification/awsconnector/CloudWatchAlarm.Management/main.tsp b/specification/awsconnector/CloudWatchAlarm.Management/main.tsp index fa19498f8e76..180d035a2081 100644 --- a/specification/awsconnector/CloudWatchAlarm.Management/main.tsp +++ b/specification/awsconnector/CloudWatchAlarm.Management/main.tsp @@ -75,7 +75,6 @@ model AwsCloudWatchAlarmProperties { actionsEnabled?: boolean = true; @doc("The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *API Reference*.") - @extension("x-ms-identifiers", #[]) alarmActions?: string[]; @doc("The description of the alarm.") @@ -94,7 +93,7 @@ model AwsCloudWatchAlarmProperties { datapointsToAlarm?: int32; @doc("The dimensions for the metric associated with the alarm. For an alarm based on a math expression, you can't specify ``Dimensions``. Instead, you use ``Metrics``.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dimensions?: Dimension[]; @doc("Used only for alarms based on percentiles. If ``ignore``, the alarm state does not change during periods with too few data points to be statistically significant. If ``evaluate`` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.") @@ -107,7 +106,6 @@ model AwsCloudWatchAlarmProperties { extendedStatistic?: string; @doc("The actions to execute when this alarm transitions to the ``INSUFFICIENT_DATA`` state from any other state. Each action is specified as an Amazon Resource Name (ARN).") - @extension("x-ms-identifiers", #[]) insufficientDataActions?: string[]; @doc("The name of the metric associated with the alarm. This is required for an alarm based on a metric. For an alarm based on a math expression, you use ``Metrics`` instead and you can't specify ``MetricName``.") @@ -121,7 +119,6 @@ model AwsCloudWatchAlarmProperties { `namespace`?: string; @doc("The actions to execute when this alarm transitions to the ``OK`` state from any other state. Each action is specified as an Amazon Resource Name (ARN).") - @extension("x-ms-identifiers", #[]) okActions?: string[]; @doc("The period, in seconds, over which the statistic is applied. This is required for an alarm based on a metric. Valid values are 10, 30, 60, and any multiple of 60. For an alarm based on a math expression, you can't specify ``Period``, and instead you use the ``Metrics`` parameter. *Minimum:* 10") @@ -131,7 +128,7 @@ model AwsCloudWatchAlarmProperties { statistic?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The value to compare with the specified statistic.") @@ -227,7 +224,7 @@ model MetricStat { @doc("Definition of Metric") model Metric { @doc("The metric dimensions that you want to be used for the metric that the alarm will watch.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dimensions?: Dimension[]; @doc("The name of the metric that you want the alarm to watch. This is a required field.") diff --git a/specification/awsconnector/CodeBuildProject.Management/main.tsp b/specification/awsconnector/CodeBuildProject.Management/main.tsp index f46975470131..9cd05be29ff0 100644 --- a/specification/awsconnector/CodeBuildProject.Management/main.tsp +++ b/specification/awsconnector/CodeBuildProject.Management/main.tsp @@ -102,7 +102,7 @@ model AwsCodeBuildProjectProperties { environment?: ProjectEnvironment; @doc("

An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) fileSystemLocations?: ProjectFileSystemLocation[]; @doc("

When the build project's settings were last modified, expressed in Unix time format.

") @@ -127,15 +127,15 @@ model AwsCodeBuildProjectProperties { resourceAccessRole?: string; @doc("

An array of ProjectArtifacts objects.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) secondaryArtifacts?: ProjectArtifacts[]; @doc("

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) secondarySourceVersions?: ProjectSourceVersion[]; @doc("

An array of ProjectSource objects.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) secondarySources?: ProjectSource[]; @doc("

The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.

") @@ -148,7 +148,7 @@ model AwsCodeBuildProjectProperties { sourceVersion?: string; @doc("

A list of tag key and value pairs associated with this build project.

These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("

How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.

") @@ -354,7 +354,6 @@ model ProjectCache { location?: string; @doc("

An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for LOCAL cache types.

Possible values are:

LOCAL_SOURCE_CACHE

Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.

LOCAL_DOCKER_LAYER_CACHE

Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.

  • You can use a Docker layer cache in the Linux environment only.

  • The privileged flag must be set so that your project has the required Docker permissions.

  • You should consider the security implications before you use a Docker layer cache.

LOCAL_CUSTOM_CACHE

Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:

") - @extension("x-ms-identifiers", #[]) modes?: CacheMode[]; @doc("

The type of cache used by the build project. Valid values include:

") @@ -419,7 +418,7 @@ model ProjectEnvironment { computeType?: ComputeTypeEnumValue; @doc("

A set of environment variables to make available to builds for this build project.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) environmentVariables?: EnvironmentVariable[]; @doc("

A ProjectFleet object to use for this build project.

") @@ -732,11 +731,9 @@ model Tag { @doc("Definition of VpcConfig") model VpcConfig { @doc("

A list of one or more security groups IDs in your Amazon VPC.

") - @extension("x-ms-identifiers", #[]) securityGroupIds?: string[]; @doc("

A list of one or more subnet IDs in your Amazon VPC.

") - @extension("x-ms-identifiers", #[]) subnets?: string[]; @doc("

The ID of the Amazon VPC.

") @@ -756,7 +753,7 @@ model Webhook { buildType?: WebhookBuildTypeEnumValue; @doc("

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) filterGroups?: FilterGroup[]; @doc("

A timestamp that indicates the last time a repository's secret token was modified.

") @@ -800,7 +797,6 @@ model WebhookBuildTypeEnumValue { @doc("Definition of BatchRestrictions") model BatchRestrictions { @doc("

An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the CodeBuild User Guide for these values.

") - @extension("x-ms-identifiers", #[]) computeTypesAllowed?: string[]; @doc("

Specifies the maximum number of builds allowed.

") diff --git a/specification/awsconnector/ConfigServiceConfigurationRecorder.Management/main.tsp b/specification/awsconnector/ConfigServiceConfigurationRecorder.Management/main.tsp index 4fe01194fe35..672d9652c059 100644 --- a/specification/awsconnector/ConfigServiceConfigurationRecorder.Management/main.tsp +++ b/specification/awsconnector/ConfigServiceConfigurationRecorder.Management/main.tsp @@ -110,7 +110,6 @@ model RecordingGroup { recordingStrategy?: RecordingStrategy; @doc("

A comma-separated list that specifies which resource types Config records.

For a list of valid resourceTypes values, see the Resource Type Value column in Supported Amazon Web Services resource Types in the Config developer guide.

Required and optional fields

Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

To record all configuration changes, set the allSupported field of RecordingGroup to true, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes, when Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

Region availability

Before specifying a resource type for Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the Amazon Web Services Region where you set up Config. If a resource type is supported by Config in at least one Region, you can enable the recording of that resource type in all Regions supported by Config, even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

") - @extension("x-ms-identifiers", #[]) resourceTypes?: ResourceType[]; } @@ -1360,7 +1359,7 @@ model RecordingMode { recordingFrequency?: RecordingFrequencyEnumValue; @doc("

An array of recordingModeOverride objects for you to specify your overrides for the recording mode. The recordingModeOverride object in the recordingModeOverrides array consists of three fields: a description, the new recordingFrequency, and an array of resourceTypes to override.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) recordingModeOverrides?: RecordingModeOverride[]; } @@ -1392,7 +1391,6 @@ model RecordingFrequencyEnumValue { @doc("Definition of ExclusionByResourceTypes") model ExclusionByResourceTypes { @doc("

A comma-separated list of resource types to exclude from recording by the configuration recorder.

") - @extension("x-ms-identifiers", #[]) resourceTypes?: ResourceType[]; } @@ -1443,7 +1441,6 @@ model RecordingModeOverride { recordingFrequency?: RecordingFrequencyEnumValue; @doc("

A comma-separated list that specifies which resource types Config includes in the override.

Daily recording is not supported for the following resource types:

") - @extension("x-ms-identifiers", #[]) resourceTypes?: ResourceType[]; } diff --git a/specification/awsconnector/DatabaseMigrationServiceReplicationInstance.Management/main.tsp b/specification/awsconnector/DatabaseMigrationServiceReplicationInstance.Management/main.tsp index 6956700f166f..ee78084f0065 100644 --- a/specification/awsconnector/DatabaseMigrationServiceReplicationInstance.Management/main.tsp +++ b/specification/awsconnector/DatabaseMigrationServiceReplicationInstance.Management/main.tsp @@ -128,21 +128,18 @@ model AwsDatabaseMigrationServiceReplicationInstanceProperties { replicationInstanceIdentifier?: string; @doc("

One or more IPv6 addresses for the replication instance.

") - @extension("x-ms-identifiers", #[]) replicationInstanceIpv6Addresses?: string[]; @doc("

The private IP address of the replication instance.

") replicationInstancePrivateIpAddress?: string; @doc("

One or more private IP addresses for the replication instance.

") - @extension("x-ms-identifiers", #[]) replicationInstancePrivateIpAddresses?: string[]; @doc("

The public IP address of the replication instance.

") replicationInstancePublicIpAddress?: string; @doc("

One or more public IP addresses for the replication instance.

") - @extension("x-ms-identifiers", #[]) replicationInstancePublicIpAddresses?: string[]; @doc("

The status of the replication instance. The possible return values include:

") @@ -155,7 +152,7 @@ model AwsDatabaseMigrationServiceReplicationInstanceProperties { secondaryAvailabilityZone?: string; @doc("

The VPC security group for the instance.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) vpcSecurityGroups?: VpcSecurityGroupMembership[]; } @@ -197,11 +194,10 @@ model ReplicationSubnetGroup { subnetGroupStatus?: string; @doc("

The subnets that are in the subnet group.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) subnets?: Subnet[]; @doc("

The IP addressing protocol supported by the subnet group. This is used by a replication instance with values such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

") - @extension("x-ms-identifiers", #[]) supportedNetworkTypes?: string[]; @doc("

The ID of the VPC.

") diff --git a/specification/awsconnector/DaxCluster.Management/main.tsp b/specification/awsconnector/DaxCluster.Management/main.tsp index 33a9dd6811a5..92b885ae5fea 100644 --- a/specification/awsconnector/DaxCluster.Management/main.tsp +++ b/specification/awsconnector/DaxCluster.Management/main.tsp @@ -93,14 +93,13 @@ model AwsDaxClusterProperties { iamRoleArn?: string; @doc("

A list of nodes to be removed from the cluster.

") - @extension("x-ms-identifiers", #[]) nodeIdsToRemove?: string[]; @doc("

The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)

") nodeType?: string; @doc("

A list of nodes that are currently in the cluster.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) nodes?: Node[]; @doc("

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

") @@ -116,7 +115,7 @@ model AwsDaxClusterProperties { sseDescription?: SSEDescription; @doc("

A list of security groups, and the status of each, for the nodes in the cluster.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) securityGroups?: SecurityGroupMembership[]; @doc("

The current status of the cluster.

") @@ -211,7 +210,6 @@ model NotificationConfiguration { @doc("Definition of ParameterGroupStatus") model ParameterGroupStatus { @doc("

The node IDs of one or more nodes to be rebooted.

") - @extension("x-ms-identifiers", #[]) nodeIdsToReboot?: string[]; @doc("

The status of parameter updates.

") diff --git a/specification/awsconnector/DynamoDBTable.Management/main.tsp b/specification/awsconnector/DynamoDBTable.Management/main.tsp index a361c7cefbae..c432df781693 100644 --- a/specification/awsconnector/DynamoDBTable.Management/main.tsp +++ b/specification/awsconnector/DynamoDBTable.Management/main.tsp @@ -75,7 +75,7 @@ model AwsDynamoDBTableProperties { arn?: string; @doc("A list of attributes that describe the key schema for the table and indexes. This property is required to create a DDB table. Update requires: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt). Replacement if you edit an existing AttributeDefinition.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) attributeDefinitions?: AttributeDefinition[]; @doc("Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: + ``PROVISIONED`` - We recommend using ``PROVISIONED`` for predictable workloads. ``PROVISIONED`` sets the billing mode to [Provisioned Mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual). + ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for unpredictable workloads. ``PAY_PER_REQUEST`` sets the billing mode to [On-Demand Mode](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand). If not specified, the default is ``PROVISIONED``.") @@ -88,21 +88,21 @@ model AwsDynamoDBTableProperties { deletionProtectionEnabled?: boolean; @doc("Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes. If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ``ACTIVE``. You can track its status by using the DynamoDB [DescribeTable](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions: + If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption. + You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) globalSecondaryIndexes?: GlobalSecondaryIndex[]; @doc("Specifies the properties of data being imported from the S3 bucket source to the table. If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification``, the ``TableClass`` property, or the ``DeletionProtectionEnabled`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission. Specifies the properties of data being imported from the S3 bucket source to the table.") importSourceSpecification?: ImportSourceSpecification; @doc("Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) keySchema?: KeySchema[]; @doc("The Kinesis Data Streams configuration for the specified table. The Kinesis Data Streams configuration for the specified table.") kinesisStreamSpecification?: KinesisStreamSpecification; @doc("Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) localSecondaryIndexes?: LocalSecondaryIndex[]; @doc("The settings used to enable point in time recovery. The settings used to enable point in time recovery.") @@ -130,7 +130,7 @@ model AwsDynamoDBTableProperties { tableName?: string; @doc("An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Specifies the Time to Live (TTL) settings for the table. For detailed information about the limits in DynamoDB, see [Limits in Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the Amazon DynamoDB Developer Guide. Represents the settings used to enable or disable Time to Live (TTL) for the specified table.") @@ -173,7 +173,7 @@ model GlobalSecondaryIndex { indexName?: string; @doc("The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: + ``HASH`` - partition key + ``RANGE`` - sort key The partition key of an item is also known as its *hash attribute*. The term 'hash attribute' derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its *range attribute*. The term 'range attribute' derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) keySchema?: KeySchema[]; @doc("Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.") @@ -249,7 +249,7 @@ model LocalSecondaryIndex { indexName?: string; @doc("The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: + ``HASH`` - partition key + ``RANGE`` - sort key The partition key of an item is also known as its *hash attribute*. The term 'hash attribute' derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its *range attribute*. The term 'range attribute' derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) keySchema?: KeySchema[]; @doc("Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.") @@ -351,7 +351,6 @@ model TimeToLiveSpecification { @doc("Definition of Projection") model Projection { @doc("Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.") - @extension("x-ms-identifiers", #[]) nonKeyAttributes?: string[]; @doc("The set of attributes that are projected into the index: + ``KEYS_ONLY`` - Only the index and primary keys are projected into the index. + ``INCLUDE`` - In addition to the attributes described in ``KEYS_ONLY``, the secondary index will include other non-key attributes that you specify. + ``ALL`` - All of the table attributes are projected into the index. When using the DynamoDB console, ``ALL`` is selected by default.") @@ -394,7 +393,6 @@ model Csv { delimiter?: string; @doc("List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.") - @extension("x-ms-identifiers", #[]) headerList?: string[]; } diff --git a/specification/awsconnector/Ec2AccountAttribute.Management/main.tsp b/specification/awsconnector/Ec2AccountAttribute.Management/main.tsp index f1d4bcf98867..8e0d40699776 100644 --- a/specification/awsconnector/Ec2AccountAttribute.Management/main.tsp +++ b/specification/awsconnector/Ec2AccountAttribute.Management/main.tsp @@ -75,7 +75,7 @@ model AwsEc2AccountAttributeProperties { attributeName?: string; @doc("

The values for the account attribute.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) attributeValues?: AccountAttributeValue[]; } diff --git a/specification/awsconnector/Ec2Address.Management/main.tsp b/specification/awsconnector/Ec2Address.Management/main.tsp index ae5cbd53138a..a235fe046cf2 100644 --- a/specification/awsconnector/Ec2Address.Management/main.tsp +++ b/specification/awsconnector/Ec2Address.Management/main.tsp @@ -111,7 +111,7 @@ model AwsEc2AddressProperties { publicIpv4Pool?: string; @doc("

Any tags assigned to the Elastic IP address.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/Ec2FlowLog.Management/main.tsp b/specification/awsconnector/Ec2FlowLog.Management/main.tsp index 35eb0931fb5b..2888243400d5 100644 --- a/specification/awsconnector/Ec2FlowLog.Management/main.tsp +++ b/specification/awsconnector/Ec2FlowLog.Management/main.tsp @@ -105,7 +105,7 @@ model AwsEc2FlowLogProperties { resourceType?: ResourceType; @doc("The tags to apply to the flow logs.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.") diff --git a/specification/awsconnector/Ec2Image.Management/main.tsp b/specification/awsconnector/Ec2Image.Management/main.tsp index 25c35e3c8ede..4423e2ffb715 100644 --- a/specification/awsconnector/Ec2Image.Management/main.tsp +++ b/specification/awsconnector/Ec2Image.Management/main.tsp @@ -75,7 +75,7 @@ model AwsEc2ImageProperties { architecture?: ArchitectureValuesEnumValue; @doc("

Any block device mapping entries.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) blockDeviceMappings?: BlockDeviceMapping[]; @doc("

The boot mode of the image. For more information, see Boot modes in the Amazon EC2 User Guide.

") @@ -133,7 +133,7 @@ model AwsEc2ImageProperties { platformDetails?: string; @doc("

Any product codes associated with the AMI.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) productCodes?: ProductCode[]; @doc("

Indicates whether the image has public launch permissions. The value is true if this image has public launch permissions or false if it has only implicit and explicit launch permissions.

") @@ -161,7 +161,7 @@ model AwsEc2ImageProperties { stateReason?: StateReason; @doc("

Any tags assigned to the image.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("

If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon EC2 User Guide.

") diff --git a/specification/awsconnector/Ec2Instance.Management/main.tsp b/specification/awsconnector/Ec2Instance.Management/main.tsp index c11239b78f9d..de79c0f2c2f8 100644 --- a/specification/awsconnector/Ec2Instance.Management/main.tsp +++ b/specification/awsconnector/Ec2Instance.Management/main.tsp @@ -70,7 +70,7 @@ model AwsEc2InstanceProperties { architecture?: ArchitectureValuesEnumValue; @doc("

Any block device mapping entries for the instance.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) blockDeviceMappings?: InstanceBlockDeviceMapping[]; @doc("

The boot mode that was specified by the AMI. If the value is uefi-preferred, the AMI supports both UEFI and Legacy BIOS. The currentInstanceBootMode parameter is the boot mode that is used to boot the instance at launch or start.

The operating system contained in the AMI must be configured to support the specified boot mode.

For more information, see Boot modes in the Amazon EC2 User Guide.

") @@ -95,11 +95,11 @@ model AwsEc2InstanceProperties { ebsOptimized?: boolean; @doc("

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) elasticGpuAssociations?: ElasticGpuAssociation[]; @doc("

The elastic inference accelerator associated with the instance.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) elasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; @doc("

Specifies whether enhanced networking with ENA is enabled.

") @@ -142,7 +142,7 @@ model AwsEc2InstanceProperties { launchTime?: utcDateTime; @doc("

The license configurations for the instance.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) licenses?: LicenseConfiguration[]; @doc("

Provides information on the recovery and maintenance options of your instance.

") @@ -155,7 +155,7 @@ model AwsEc2InstanceProperties { monitoring?: Monitoring; @doc("

The network interfaces for the instance.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) networkInterfaces?: InstanceNetworkInterface[]; @doc("

The Amazon Resource Name (ARN) of the Outpost.

") @@ -180,7 +180,7 @@ model AwsEc2InstanceProperties { privateIpAddress?: string; @doc("

The product codes attached to this instance, if applicable.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) productCodes?: ProductCode[]; @doc("

[IPv4 only] The public DNS name assigned to the instance. This name is not available until the instance enters the running state. This name is only available if you've enabled DNS hostnames for your VPC.

") @@ -199,7 +199,7 @@ model AwsEc2InstanceProperties { rootDeviceType?: DeviceTypeEnumValue; @doc("

The security groups for the instance.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) securityGroups?: GroupIdentifier[]; @doc("

Indicates whether source/destination checking is enabled.

") @@ -224,7 +224,7 @@ model AwsEc2InstanceProperties { subnetId?: string; @doc("

Any tags assigned to the instance.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("

If the instance is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon EC2 User Guide.

") @@ -3187,22 +3187,22 @@ model InstanceNetworkInterface { description?: string; @doc("

The security groups.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) groups?: GroupIdentifier[]; @doc("

The type of network interface.

Valid values: interface | efa | trunk

") interfaceType?: string; @doc("

The IPv4 delegated prefixes that are assigned to the network interface.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipv4Prefixes?: InstanceIpv4Prefix[]; @doc("

The IPv6 addresses associated with the network interface.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipv6Addresses?: InstanceIpv6Address[]; @doc("

The IPv6 delegated prefixes that are assigned to the network interface.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipv6Prefixes?: InstanceIpv6Prefix[]; @doc("

The MAC address.

") @@ -3221,7 +3221,7 @@ model InstanceNetworkInterface { privateIpAddress?: string; @doc("

The private IPv4 addresses associated with the network interface.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) privateIpAddresses?: InstancePrivateIpAddress[]; @doc("

Indicates whether source/destination checking is enabled.

") diff --git a/specification/awsconnector/Ec2InstanceStatus.Management/main.tsp b/specification/awsconnector/Ec2InstanceStatus.Management/main.tsp index 4030d3c2fa2a..e82a1e582a1d 100644 --- a/specification/awsconnector/Ec2InstanceStatus.Management/main.tsp +++ b/specification/awsconnector/Ec2InstanceStatus.Management/main.tsp @@ -75,7 +75,7 @@ model AwsEc2InstanceStatusProperties { availabilityZone?: string; @doc("

Any scheduled events associated with the instance.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) events?: InstanceStatusEvent[]; @doc("

The ID of the instance.

") @@ -202,7 +202,7 @@ model InstanceStateNameEnumValue { @doc("Definition of InstanceStatusSummary") model InstanceStatusSummary { @doc("

The system instance health or application instance health.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) details?: InstanceStatusDetails[]; @doc("

The status.

") diff --git a/specification/awsconnector/Ec2Ipam.Management/main.tsp b/specification/awsconnector/Ec2Ipam.Management/main.tsp index 2d3162544b5f..f4c40dd665a5 100644 --- a/specification/awsconnector/Ec2Ipam.Management/main.tsp +++ b/specification/awsconnector/Ec2Ipam.Management/main.tsp @@ -90,7 +90,7 @@ model AwsEc2IpamProperties { ipamRegion?: string; @doc("

The operating Regions for 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.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) operatingRegions?: IpamOperatingRegion[]; @doc("

The Amazon Web Services account ID of the owner of the IPAM.

") @@ -115,7 +115,7 @@ model AwsEc2IpamProperties { stateMessage?: string; @doc("

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.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

") diff --git a/specification/awsconnector/Ec2KeyPair.Management/main.tsp b/specification/awsconnector/Ec2KeyPair.Management/main.tsp index e6bb0b7662d0..dbd906829de1 100644 --- a/specification/awsconnector/Ec2KeyPair.Management/main.tsp +++ b/specification/awsconnector/Ec2KeyPair.Management/main.tsp @@ -90,7 +90,7 @@ model AwsEc2KeyPairProperties { publicKeyMaterial?: string; @doc("The tags to apply to the key pair.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/Ec2NetworkAcl.Management/main.tsp b/specification/awsconnector/Ec2NetworkAcl.Management/main.tsp index bb5738b7ac88..e3ae82da2142 100644 --- a/specification/awsconnector/Ec2NetworkAcl.Management/main.tsp +++ b/specification/awsconnector/Ec2NetworkAcl.Management/main.tsp @@ -75,7 +75,7 @@ model AwsEc2NetworkAclProperties { id?: string; @doc("The tags for the network ACL.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC for the network ACL.") diff --git a/specification/awsconnector/Ec2NetworkInterface.Management/main.tsp b/specification/awsconnector/Ec2NetworkInterface.Management/main.tsp index 86c532ca5918..bf4e76c36138 100644 --- a/specification/awsconnector/Ec2NetworkInterface.Management/main.tsp +++ b/specification/awsconnector/Ec2NetworkInterface.Management/main.tsp @@ -81,7 +81,6 @@ model AwsEc2NetworkInterfaceProperties { enablePrimaryIpv6?: boolean; @doc("A list of security group IDs associated with this network interface.") - @extension("x-ms-identifiers", #[]) groupSet?: string[]; @doc("Network interface id.") @@ -94,21 +93,21 @@ model AwsEc2NetworkInterfaceProperties { ipv4PrefixCount?: int32; @doc("Assigns a list of IPv4 prefixes to the network interface. If you want EC2 to automatically assign IPv4 prefixes, use the Ipv4PrefixCount property and do not specify this property. Presently, only /28 prefixes are supported. You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipv4Prefixes?: Ipv4PrefixSpecification[]; @doc("The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the Ipv6Addresses property and don't specify this property.") ipv6AddressCount?: int32; @doc("One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. If you're specifying a number of IPv6 addresses, use the Ipv6AddressCount property and don't specify this property.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipv6Addresses?: InstanceIpv6Address[]; @doc("The number of IPv6 prefixes to assign to a network interface. When you specify a number of IPv6 prefixes, Amazon EC2 selects these prefixes from your existing subnet CIDR reservations, if available, or from free spaces in the subnet. By default, these will be /80 prefixes. You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.") ipv6PrefixCount?: int32; @doc("Assigns a list of IPv6 prefixes to the network interface. If you want EC2 to automatically assign IPv6 prefixes, use the Ipv6PrefixCount property and do not specify this property. Presently, only /80 prefixes are supported. You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipv6Prefixes?: Ipv6PrefixSpecification[]; @doc("The primary IPv6 address") @@ -121,14 +120,13 @@ model AwsEc2NetworkInterfaceProperties { privateIpAddress?: string; @doc("Assigns a list of private IP addresses to the network interface. You can specify a primary private IP address by setting the value of the Primary property to true in the PrivateIpAddressSpecification property. If you want EC2 to automatically assign private IP addresses, use the SecondaryPrivateIpAddressCount property and do not specify this property.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) privateIpAddresses?: PrivateIpAddressSpecification[]; @doc("The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses") secondaryPrivateIpAddressCount?: int32; @doc("Returns the secondary private IP addresses of the network interface.") - @extension("x-ms-identifiers", #[]) secondaryPrivateIpAddresses?: string[]; @doc("Indicates whether traffic to or from the instance is validated.") @@ -138,7 +136,7 @@ model AwsEc2NetworkInterfaceProperties { subnetId?: string; @doc("An arbitrary set of tags (key-value pairs) for this network interface.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC") diff --git a/specification/awsconnector/Ec2RouteTable.Management/main.tsp b/specification/awsconnector/Ec2RouteTable.Management/main.tsp index 8618ae5de4aa..e83e6eddaf7f 100644 --- a/specification/awsconnector/Ec2RouteTable.Management/main.tsp +++ b/specification/awsconnector/Ec2RouteTable.Management/main.tsp @@ -75,7 +75,7 @@ model AwsEc2RouteTableProperties { routeTableId?: string; @doc("Any tags assigned to the route table.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC.") diff --git a/specification/awsconnector/Ec2SecurityGroup.Management/main.tsp b/specification/awsconnector/Ec2SecurityGroup.Management/main.tsp index fc3f4f7fdcbd..3a8d54cb8071 100644 --- a/specification/awsconnector/Ec2SecurityGroup.Management/main.tsp +++ b/specification/awsconnector/Ec2SecurityGroup.Management/main.tsp @@ -81,18 +81,18 @@ model AwsEc2SecurityGroupProperties { groupName?: string; @doc("

The inbound rules associated with the security group.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipPermissions?: IpPermission[]; @doc("

The outbound rules associated with the security group.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipPermissionsEgress?: IpPermission[]; @doc("

The Amazon Web Services account ID of the owner of the security group.

") ownerId?: string; @doc("

Any tags assigned to the security group.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("

The ID of the VPC for the security group.

") @@ -112,22 +112,22 @@ model IpPermission { ipProtocol?: string; @doc("

The IPv4 address ranges.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipRanges?: IpRange[]; @doc("

The IPv6 address ranges.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipv6Ranges?: Ipv6Range[]; @doc("

The prefix list IDs.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) prefixListIds?: PrefixListId[]; @doc("

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

") toPort?: int32; @doc("

The security group and Amazon Web Services account ID pairs.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) userIdGroupPairs?: UserIdGroupPair[]; } diff --git a/specification/awsconnector/Ec2Snapshot.Management/main.tsp b/specification/awsconnector/Ec2Snapshot.Management/main.tsp index ed406d9e8935..a4c9aabecbf0 100644 --- a/specification/awsconnector/Ec2Snapshot.Management/main.tsp +++ b/specification/awsconnector/Ec2Snapshot.Management/main.tsp @@ -117,7 +117,7 @@ model AwsEc2SnapshotProperties { storageTier?: StorageTierEnumValue; @doc("

Any tags assigned to the snapshot.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

") diff --git a/specification/awsconnector/Ec2Subnet.Management/main.tsp b/specification/awsconnector/Ec2Subnet.Management/main.tsp index bfd5c8509456..af55042bf901 100644 --- a/specification/awsconnector/Ec2Subnet.Management/main.tsp +++ b/specification/awsconnector/Ec2Subnet.Management/main.tsp @@ -99,7 +99,6 @@ model AwsEc2SubnetProperties { ipv6CidrBlock?: string; @doc("The IPv6 network ranges for the subnet, in CIDR notation.") - @extension("x-ms-identifiers", #[]) ipv6CidrBlocks?: string[]; @doc("An IPv6 IPAM pool ID for the subnet.") @@ -127,7 +126,7 @@ model AwsEc2SubnetProperties { subnetId?: string; @doc("Any tags assigned to the subnet.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC the subnet is in. If you update this property, you must also update the ``CidrBlock`` property.") diff --git a/specification/awsconnector/Ec2VPCEndpoint.Management/main.tsp b/specification/awsconnector/Ec2VPCEndpoint.Management/main.tsp index 15ea90df3f2b..47231860713e 100644 --- a/specification/awsconnector/Ec2VPCEndpoint.Management/main.tsp +++ b/specification/awsconnector/Ec2VPCEndpoint.Management/main.tsp @@ -75,14 +75,12 @@ model AwsEc2VPCEndpointProperties { creationTimestamp?: string; @doc("Property dnsEntries") - @extension("x-ms-identifiers", #[]) dnsEntries?: string[]; @doc("Property id") id?: string; @doc("Property networkInterfaceIds") - @extension("x-ms-identifiers", #[]) networkInterfaceIds?: string[]; @doc("An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints. For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. CFNlong converts YAML policies to JSON format before calling the API to create or modify the VPC endpoint.") @@ -92,18 +90,15 @@ model AwsEc2VPCEndpointProperties { privateDnsEnabled?: boolean; @doc("The IDs of the route tables. Routing is supported only for gateway endpoints.") - @extension("x-ms-identifiers", #[]) routeTableIds?: string[]; @doc("The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.") - @extension("x-ms-identifiers", #[]) securityGroupIds?: string[]; @doc("The name of the endpoint service.") serviceName?: string; @doc("The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.") - @extension("x-ms-identifiers", #[]) subnetIds?: string[]; @doc("The type of endpoint. Default: Gateway") diff --git a/specification/awsconnector/Ec2VPCPeeringConnection.Management/main.tsp b/specification/awsconnector/Ec2VPCPeeringConnection.Management/main.tsp index c8eb8eeee2c2..8d3b0092433a 100644 --- a/specification/awsconnector/Ec2VPCPeeringConnection.Management/main.tsp +++ b/specification/awsconnector/Ec2VPCPeeringConnection.Management/main.tsp @@ -88,7 +88,7 @@ model AwsEc2VPCPeeringConnectionProperties { peerVpcId?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The ID of the VPC.") diff --git a/specification/awsconnector/Ec2Volume.Management/main.tsp b/specification/awsconnector/Ec2Volume.Management/main.tsp index 71db4e66abe5..b7cd43f50db5 100644 --- a/specification/awsconnector/Ec2Volume.Management/main.tsp +++ b/specification/awsconnector/Ec2Volume.Management/main.tsp @@ -99,7 +99,7 @@ model AwsEc2VolumeProperties { snapshotId?: string; @doc("The tags to apply to the volume during creation.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The throughput to provision for a volume, with a maximum of 1,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 1000.") diff --git a/specification/awsconnector/Ec2Vpc.Management/main.tsp b/specification/awsconnector/Ec2Vpc.Management/main.tsp index 4b6a816fd435..e0e3781122b9 100644 --- a/specification/awsconnector/Ec2Vpc.Management/main.tsp +++ b/specification/awsconnector/Ec2Vpc.Management/main.tsp @@ -75,7 +75,6 @@ model AwsEc2VpcProperties { cidrBlock?: string; @doc("Property cidrBlockAssociations") - @extension("x-ms-identifiers", #[]) cidrBlockAssociations?: string[]; @doc("Property defaultNetworkAcl") @@ -100,11 +99,10 @@ model AwsEc2VpcProperties { ipv4NetmaskLength?: int32; @doc("Property ipv6CidrBlocks") - @extension("x-ms-identifiers", #[]) ipv6CidrBlocks?: string[]; @doc("The tags for the VPC.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property vpcId") diff --git a/specification/awsconnector/EcrImageDetail.Management/main.tsp b/specification/awsconnector/EcrImageDetail.Management/main.tsp index ae85c7bbddc8..f54034ccac12 100644 --- a/specification/awsconnector/EcrImageDetail.Management/main.tsp +++ b/specification/awsconnector/EcrImageDetail.Management/main.tsp @@ -93,7 +93,6 @@ model AwsEcrImageDetailProperties { imageSizeInBytes?: int64; @doc("

The list of tags associated with this image.

") - @extension("x-ms-identifiers", #[]) imageTags?: string[]; @doc("

The date and time, expressed in standard JavaScript date format, when Amazon ECR recorded the last image pull.

Amazon ECR refreshes the last image pull timestamp at least once every 24 hours. For example, if you pull an image once a day then the lastRecordedPullTime timestamp will indicate the exact time that the image was last pulled. However, if you pull an image once an hour, because Amazon ECR refreshes the lastRecordedPullTime timestamp at least once every 24 hours, the result may not be the exact time that the image was last pulled.

") diff --git a/specification/awsconnector/EcrRepository.Management/main.tsp b/specification/awsconnector/EcrRepository.Management/main.tsp index 14dc780ac5e0..30892b8748b4 100644 --- a/specification/awsconnector/EcrRepository.Management/main.tsp +++ b/specification/awsconnector/EcrRepository.Management/main.tsp @@ -99,7 +99,7 @@ model AwsEcrRepositoryProperties { repositoryUri?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } @@ -157,7 +157,7 @@ model LifecyclePolicy { @doc("The JSON repository policy text to apply to the repository. The JSON repository policy text to apply to the repository.") lifecyclePolicyText?: string; - @doc("The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed. The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.") + @doc("The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed. The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.") registryId?: string; } diff --git a/specification/awsconnector/EcsCluster.Management/main.tsp b/specification/awsconnector/EcsCluster.Management/main.tsp index a108ba514af1..ab97d380b5a2 100644 --- a/specification/awsconnector/EcsCluster.Management/main.tsp +++ b/specification/awsconnector/EcsCluster.Management/main.tsp @@ -75,28 +75,27 @@ model AwsEcsClusterProperties { arn?: string; @doc("The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the [CreateCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html) API operation. To use a FARGATElong capacity provider, specify either the ``FARGATE`` or ``FARGATE_SPOT`` capacity providers. The FARGATElong capacity providers are available to all accounts and only need to be associated with a cluster to be used. The [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.") - @extension("x-ms-identifiers", #[]) capacityProviders?: string[]; @doc("A user-generated string that you use to identify your cluster. If you don't specify a name, CFNlong generates a unique physical ID for the name.") clusterName?: string; @doc("The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) clusterSettings?: ClusterSettings[]; @doc("The execute command configuration for the cluster. The execute command configuration for the cluster.") configuration?: ClusterConfiguration; @doc("The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[]; @doc("Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the ``enabled`` parameter to ``true`` in the ``ServiceConnectConfiguration``. You can set the namespace of each service individually in the ``ServiceConnectConfiguration`` to override this default parameter. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*. Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the ``enabled`` parameter to ``true`` in the ``ServiceConnectConfiguration``. You can set the namespace of each service individually in the ``ServiceConnectConfiguration`` to override this default parameter. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.") serviceConnectDefaults?: ServiceConnectDefaults; @doc("The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value. You define both. The following basic restrictions apply to tags: + Maximum number of tags per resource - 50 + For each resource, each tag key must be unique, and each tag key can have only one value. + Maximum key length - 128 Unicode characters in UTF-8 + Maximum value length - 256 Unicode characters in UTF-8 + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. + Tag keys and values are case-sensitive. + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/EcsService.Management/main.tsp b/specification/awsconnector/EcsService.Management/main.tsp index d0f4d4b365e1..364cc9b82761 100644 --- a/specification/awsconnector/EcsService.Management/main.tsp +++ b/specification/awsconnector/EcsService.Management/main.tsp @@ -72,7 +72,7 @@ model EcsServiceProperties { @doc("Definition of awsEcsService") model AwsEcsServiceProperties { @doc("The capacity provider strategy to use for the service. If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. A capacity provider strategy may contain a maximum of 6 capacity providers.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) capacityProviderStrategy?: CapacityProviderStrategyItem[]; @doc("The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.") @@ -100,7 +100,7 @@ model AwsEcsServiceProperties { launchType?: LaunchType; @doc("A list of load balancer objects to associate with the service. If you specify the ``Role`` property, ``LoadBalancers`` must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) loadBalancers?: LoadBalancer[]; @doc("Property name") @@ -110,11 +110,11 @@ model AwsEcsServiceProperties { networkConfiguration?: NetworkConfiguration; @doc("An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) placementConstraints?: PlacementConstraint[]; @doc("The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) placementStrategies?: PlacementStrategy[]; @doc("The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*.") @@ -139,18 +139,18 @@ model AwsEcsServiceProperties { serviceName?: string; @doc("The details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). Each service may be associated with one service registry. Multiple service registries for each service isn't supported.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) serviceRegistries?: ServiceRegistry[]; @doc("The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: + Maximum number of tags per resource - 50 + For each resource, each tag key must be unique, and each tag key can have only one value. + Maximum key length - 128 Unicode characters in UTF-8 + Maximum value length - 256 Unicode characters in UTF-8 + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. + Tag keys and values are case-sensitive. + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The ``family`` and ``revision`` (``family:revision``) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used. A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers. For more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html).") taskDefinition?: string; @doc("The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) volumeConfigurations?: ServiceVolumeConfiguration[]; } @@ -345,7 +345,7 @@ model ServiceConnectConfiguration { `namespace`?: string; @doc("The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service. This field is not required for a 'client' Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means. An object selects a port from the task definition, assigns a name for the CMAPlong service, and a list of aliases (endpoints) and ports for client applications to refer to this service.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) services?: ServiceConnectService[]; } @@ -401,7 +401,6 @@ model ServiceVolumeConfiguration { @doc("Definition of DeploymentAlarms") model DeploymentAlarms { @doc("One or more CloudWatch alarm names. Use a ',' to separate the alarms.") - @extension("x-ms-identifiers", #[]) alarmNames?: string[]; @doc("Determines whether to use the CloudWatch alarm option in the service deployment process.") @@ -434,11 +433,9 @@ model AwsVpcConfiguration { assignPublicIp?: AwsVpcConfigurationAssignPublicIp; @doc("The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. All specified security groups must be from the same VPC.") - @extension("x-ms-identifiers", #[]) securityGroups?: string[]; @doc("The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. All specified subnets must be from the same VPC.") - @extension("x-ms-identifiers", #[]) subnets?: string[]; } @@ -466,7 +463,7 @@ model LogConfiguration { options?: unknown; @doc("The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) secretOptions?: Secret[]; } @@ -477,7 +474,7 @@ model LogConfiguration { @doc("Definition of ServiceConnectService") model ServiceConnectService { @doc("The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. Each alias ('endpoint') is a fully-qualified name and port number that other Amazon ECS tasks ('clients') can use to connect to this service. Each name and port mapping must be unique within the namespace. For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) clientAliases?: ServiceConnectClientAlias[]; @doc("The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.") @@ -505,7 +502,7 @@ model ServiceManagedEBSVolumeConfiguration { @doc("Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.") encrypted?: boolean; - @doc("The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start. The available filesystem types are
 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.") + @doc("The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start. The available filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.") filesystemType?: string; @doc("The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type. + ``gp3``: 3,000 - 16,000 IOPS + ``io1``: 100 - 64,000 IOPS + ``io2``: 100 - 256,000 IOPS This parameter is required for ``io1`` and ``io2`` volume types. The default for ``gp3`` volumes is ``3,000 IOPS``. This parameter is not supported for ``st1``, ``sc1``, or ``standard`` volume types. This parameter maps 1:1 with the ``Iops`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.") @@ -524,7 +521,7 @@ model ServiceManagedEBSVolumeConfiguration { snapshotId?: string; @doc("The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the ``TagSpecifications.N`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tagSpecifications?: EBSTagSpecification[]; @doc("The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the ``Throughput`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*. This parameter is only supported for the ``gp3`` volume type.") @@ -595,14 +592,14 @@ model ServiceConnectTlsConfiguration { #suppress "@azure-tools/typespec-azure-core/property-name-conflict" "AWSConnector will not generate SDK. So, supressing this error" @doc("Definition of EBSTagSpecification") model EBSTagSpecification { - @doc("Determines whether to propagate the tags from the task definition to 
the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in 
``ServiceVolumeConfiguration``. If no value is specified, the tags aren't 
propagated.") + @doc("Determines whether to propagate the tags from the task definition to the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in ``ServiceVolumeConfiguration``. If no value is specified, the tags aren't propagated.") propagateTags?: EBSTagSpecificationPropagateTags; @doc("The type of volume resource.") resourceType?: string; @doc("The tags applied to this Amazon EBS volume. ``AmazonECSCreated`` and ``AmazonECSManaged`` are reserved tags that can't be used.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/EcsTaskDefinition.Management/main.tsp b/specification/awsconnector/EcsTaskDefinition.Management/main.tsp index 746e4cc72915..d553e262157b 100644 --- a/specification/awsconnector/EcsTaskDefinition.Management/main.tsp +++ b/specification/awsconnector/EcsTaskDefinition.Management/main.tsp @@ -72,7 +72,7 @@ model EcsTaskDefinitionProperties { @doc("Definition of awsEcsTaskDefinition") model AwsEcsTaskDefinitionProperties { @doc("A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) containerDefinitions?: ContainerDefinition[]; @doc("The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter. The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate. + 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) + 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) + 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) + 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) + 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) + 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments This option requires Linux platform ``1.4.0`` or later. + 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments This option requires Linux platform ``1.4.0`` or later.") @@ -88,7 +88,7 @@ model AwsEcsTaskDefinitionProperties { family?: string; @doc("The Elastic Inference accelerators to use for the containers in the task.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) inferenceAccelerators?: InferenceAccelerator[]; @doc("The IPC resource namespace to use for the containers in the task. The valid values are ``host``, ``task``, or ``none``. If ``host`` is specified, then all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same IPC resources. If ``none`` is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see [IPC settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) in the *Docker run reference*. If the ``host`` IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see [Docker security](https://docs.aws.amazon.com/https://docs.docker.com/engine/security/security/). If you are setting namespaced kernel parameters using ``systemControls`` for the containers in the task, the following will apply to your IPC resource namespace. For more information, see [System Controls](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that use the ``host`` IPC mode, IPC namespace related ``systemControls`` are not supported. + For tasks that use the ``task`` IPC mode, IPC namespace related ``systemControls`` will apply to all containers within a task. This parameter is not supported for Windows containers or tasks run on FARGATElong.") @@ -104,21 +104,20 @@ model AwsEcsTaskDefinitionProperties { pidMode?: string; @doc("An array of placement constraint objects to use for tasks. This parameter isn't supported for tasks run on FARGATElong.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) placementConstraints?: TaskDefinitionPlacementConstraint[]; @doc("The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. The configuration details for the App Mesh proxy. For tasks that use the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html)") proxyConfiguration?: ProxyConfiguration; @doc("The task launch types the task definition was validated against. The valid values are ``EC2``, ``FARGATE``, and ``EXTERNAL``. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", #[]) requiresCompatibilities?: string[]; @doc("The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service. Information about the platform for the Amazon ECS service or task. For more information about ``RuntimePlatform``, see [RuntimePlatform](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#runtime-platform) in the *Amazon Elastic Container Service Developer Guide*.") runtimePlatform?: RuntimePlatform; @doc("The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: + Maximum number of tags per resource - 50 + For each resource, each tag key must be unique, and each tag key can have only one value. + Maximum key length - 128 Unicode characters in UTF-8 + Maximum value length - 256 Unicode characters in UTF-8 + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. + Tag keys and values are case-sensitive. + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property taskDefinitionArn") @@ -128,7 +127,7 @@ model AwsEcsTaskDefinitionProperties { taskRoleArn?: string; @doc("The list of data volume definitions for the task. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) in the *Amazon Elastic Container Service Developer Guide*. The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on FARGATElong.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) volumes?: Volume[]; } @@ -139,55 +138,49 @@ model AwsEcsTaskDefinitionProperties { @doc("Definition of ContainerDefinition") model ContainerDefinition { @doc("The command that's passed to the container. This parameter maps to ``Cmd`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``COMMAND`` parameter to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#cmd](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple arguments, each argument is a separated string in the array.") - @extension("x-ms-identifiers", #[]) command?: string[]; @doc("The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cpu-shares`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see [CPU share constraint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#cpu-share-constraint) in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2. However, the CPU parameter isn't required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version: + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares. + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2. On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU.") cpu?: int32; @doc("A list of ARNs in SSM or Amazon S3 to a credential spec (``CredSpec``) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions``. The maximum number of ARNs is 1. There are two formats for each ARN. + credentialspecdomainless:MyARN You use credentialspecdomainless:MyARN to provide a CredSpec with an additional section for a secret in . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. + credentialspec:MyARN You use credentialspec:MyARN to provide a CredSpec for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3. If you provide a ``credentialspecdomainless:MyARN``, the ``credspec`` must provide a ARN in ASMlong for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html).") - @extension("x-ms-identifiers", #[]) credentialSpecs?: string[]; @doc("The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed. For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. For tasks using the Fargate launch type, the task or service requires the following platforms: + Linux platform version ``1.3.0`` or later. + Windows platform version ``1.0.0`` or later. If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dependsOn?: ContainerDependency[]; @doc("When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/). This parameter is not supported for Windows containers.") disableNetworking?: boolean; @doc("A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--dns-search`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers.") - @extension("x-ms-identifiers", #[]) dnsSearchDomains?: string[]; @doc("A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--dns`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers.") - @extension("x-ms-identifiers", #[]) dnsServers?: string[]; @doc("A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--label`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``") dockerLabels?: unknown; @doc("A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. This parameter maps to ``SecurityOpt`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--security-opt`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Valid values: 'no-new-privileges' | 'apparmor:PROFILE' | 'label:value' | 'credentialspec:CredentialSpecFilePath'") - @extension("x-ms-identifiers", #[]) dockerSecurityOptions?: string[]; @doc("Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--entrypoint`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint).") - @extension("x-ms-identifiers", #[]) entryPoint?: string[]; @doc("The environment variables to pass to a container. This parameter maps to ``Env`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--env`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) environment?: KeyValuePair[]; @doc("A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file contains an environment variable in ``VARIABLE=VALUE`` format. Lines beginning with ``#`` are treated as comments and are ignored. For more information about the environment variable file syntax, see [Declare default environment variables in file](https://docs.aws.amazon.com/https://docs.docker.com/compose/env-file/). If there are environment variables specified using the ``environment`` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see [Specifying Environment Variables](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) environmentFiles?: EnvironmentFile[]; @doc("If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential. All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*.") essential?: boolean; @doc("A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--add-host`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) extraHosts?: HostEntry[]; @doc("The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom Log Routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.") @@ -206,7 +199,6 @@ model ContainerDefinition { interactive?: boolean; @doc("The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to [Legacy container links](https://docs.aws.amazon.com/https://docs.docker.com/network/links/) in the Docker documentation. This parameter maps to ``Links`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--link`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.") - @extension("x-ms-identifiers", #[]) links?: string[]; @doc("Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html). This parameter is not supported for Windows containers. The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).") @@ -222,14 +214,14 @@ model ContainerDefinition { memoryReservation?: int32; @doc("The mount points for data volumes in your container. This parameter maps to ``Volumes`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--volume`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) mountPoints?: MountPoint[]; @doc("The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--name`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).") name?: string; @doc("The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``. Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost``. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. This parameter maps to ``PortBindings`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping. After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) portMappings?: PortMapping[]; @doc("When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--privileged`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers or tasks run on FARGATElong.") @@ -245,11 +237,11 @@ model ContainerDefinition { repositoryCredentials?: RepositoryCredentials; @doc("The type and amount of a resource to assign to a container. The only supported resource is a GPU.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) resourceRequirements?: ResourceRequirement[]; @doc("The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) secrets?: Secret[]; @doc("Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE``, ``SUCCESS``, or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state. When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value. For tasks using the Fargate launch type, the task or service requires the following platforms: + Linux platform version ``1.3.0`` or later. + Windows platform version ``1.0.0`` or later. For tasks using the EC2 launch type, your container instances require at least version ``1.26.0`` of the container agent to use a container start timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version ``1.26.0-1`` of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. The valid values are 2-120 seconds.") @@ -259,18 +251,18 @@ model ContainerDefinition { stopTimeout?: int32; @doc("A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--sysctl`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) systemControls?: SystemControl[]; @doc("A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--ulimit`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). Valid naming values are displayed in the [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html) data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` This parameter is not supported for Windows containers.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ulimits?: Ulimit[]; @doc("The user to use inside the container. This parameter maps to ``User`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--user`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. + ``user`` + ``user:group`` + ``uid`` + ``uid:gid`` + ``user:gid`` + ``uid:group`` This parameter is not supported for Windows containers.") user?: string; @doc("Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--volumes-from`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) volumesFrom?: VolumeFrom[]; @doc("The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--workdir`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).") @@ -323,7 +315,7 @@ model ProxyConfiguration { containerName?: string; @doc("The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs. + ``IgnoredUID`` - (Required) The user ID (UID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredGID`` is specified, this field can be empty. + ``IgnoredGID`` - (Required) The group ID (GID) of the proxy container as defined by the ``user`` parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If ``IgnoredUID`` is specified, this field can be empty. + ``AppPorts`` - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ``ProxyIngressPort`` and ``ProxyEgressPort``. + ``ProxyIngressPort`` - (Required) Specifies the port that incoming traffic to the ``AppPorts`` is directed to. + ``ProxyEgressPort`` - (Required) Specifies the port that outgoing traffic from the ``AppPorts`` is directed to. + ``EgressIgnoredPorts`` - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list. + ``EgressIgnoredIPs`` - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ``ProxyEgressPort``. It can be an empty list.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) proxyConfigurationProperties?: KeyValuePair[]; @doc("The proxy type. The only supported value is ``APPMESH``.") @@ -453,7 +445,6 @@ model FirelensConfiguration { @doc("Definition of HealthCheck") model HealthCheck { @doc("A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets. ``[ 'CMD-SHELL', 'curl -f http://localhost/ || exit 1' ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/).") - @extension("x-ms-identifiers", #[]) command?: string[]; @doc("The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.") @@ -479,7 +470,7 @@ model LinuxParameters { capabilities?: KernelCapabilities; @doc("Any host devices to expose to the container. This parameter maps to ``Devices`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--device`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) devices?: Device[]; @doc("Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``") @@ -495,7 +486,7 @@ model LinuxParameters { swappiness?: int32; @doc("The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the ``--tmpfs`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). If you're using tasks that use the Fargate launch type, the ``tmpfs`` parameter isn't supported.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tmpfs?: Tmpfs[]; } @@ -512,7 +503,7 @@ model LogConfiguration { options?: unknown; @doc("The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) secretOptions?: Secret[]; } @@ -737,11 +728,9 @@ model HostVolumeProperties { @doc("Definition of KernelCapabilities") model KernelCapabilities { @doc("The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cap-add`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``'ALL' | 'AUDIT_CONTROL' | 'AUDIT_WRITE' | 'BLOCK_SUSPEND' | 'CHOWN' | 'DAC_OVERRIDE' | 'DAC_READ_SEARCH' | 'FOWNER' | 'FSETID' | 'IPC_LOCK' | 'IPC_OWNER' | 'KILL' | 'LEASE' | 'LINUX_IMMUTABLE' | 'MAC_ADMIN' | 'MAC_OVERRIDE' | 'MKNOD' | 'NET_ADMIN' | 'NET_BIND_SERVICE' | 'NET_BROADCAST' | 'NET_RAW' | 'SETFCAP' | 'SETGID' | 'SETPCAP' | 'SETUID' | 'SYS_ADMIN' | 'SYS_BOOT' | 'SYS_CHROOT' | 'SYS_MODULE' | 'SYS_NICE' | 'SYS_PACCT' | 'SYS_PTRACE' | 'SYS_RAWIO' | 'SYS_RESOURCE' | 'SYS_TIME' | 'SYS_TTY_CONFIG' | 'SYSLOG' | 'WAKE_ALARM'``") - @extension("x-ms-identifiers", #[]) add?: string[]; @doc("The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cap-drop`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Valid values: ``'ALL' | 'AUDIT_CONTROL' | 'AUDIT_WRITE' | 'BLOCK_SUSPEND' | 'CHOWN' | 'DAC_OVERRIDE' | 'DAC_READ_SEARCH' | 'FOWNER' | 'FSETID' | 'IPC_LOCK' | 'IPC_OWNER' | 'KILL' | 'LEASE' | 'LINUX_IMMUTABLE' | 'MAC_ADMIN' | 'MAC_OVERRIDE' | 'MKNOD' | 'NET_ADMIN' | 'NET_BIND_SERVICE' | 'NET_BROADCAST' | 'NET_RAW' | 'SETFCAP' | 'SETGID' | 'SETPCAP' | 'SETUID' | 'SYS_ADMIN' | 'SYS_BOOT' | 'SYS_CHROOT' | 'SYS_MODULE' | 'SYS_NICE' | 'SYS_PACCT' | 'SYS_PTRACE' | 'SYS_RAWIO' | 'SYS_RESOURCE' | 'SYS_TIME' | 'SYS_TTY_CONFIG' | 'SYSLOG' | 'WAKE_ALARM'``") - @extension("x-ms-identifiers", #[]) drop?: string[]; } @@ -758,7 +747,6 @@ model Device { hostPath?: string; @doc("The explicit permissions to provide to the container for the device. By default, the container has permissions for ``read``, ``write``, and ``mknod`` for the device.") - @extension("x-ms-identifiers", #[]) permissions?: string[]; } @@ -772,7 +760,6 @@ model Tmpfs { containerPath?: string; @doc("The list of tmpfs volume mount options.") - @extension("x-ms-identifiers", #[]) mountOptions?: string[]; @doc("The maximum size (in MiB) of the tmpfs volume.") diff --git a/specification/awsconnector/EfsFileSystem.Management/main.tsp b/specification/awsconnector/EfsFileSystem.Management/main.tsp index 44818ce9614a..22057cbde01f 100644 --- a/specification/awsconnector/EfsFileSystem.Management/main.tsp +++ b/specification/awsconnector/EfsFileSystem.Management/main.tsp @@ -96,14 +96,14 @@ model AwsEfsFileSystemProperties { fileSystemProtection?: FileSystemProtection; @doc("Use to create one or more tags associated with the file system. Each tag is a user-defined key-value pair. Name your file system on creation by including a ``'Key':'Name','Value':'{value}'`` key-value pair. Each key must be unique. For more information, see [Tagging resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *General Reference Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) fileSystemTags?: ElasticFileSystemTag[]; @doc("The ID of the kms-key-long to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault kms-key. If this parameter is not specified, the default kms-key for EFS is used. This ID can be in one of the following formats: + Key ID - A unique identifier of the key, for example ``1234abcd-12ab-34cd-56ef-1234567890ab``. + ARN - An Amazon Resource Name (ARN) for the key, for example ``arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab``. + Key alias - A previously created display name for a key, for example ``alias/projectKey1``. + Key alias ARN - An ARN for a key alias, for example ``arn:aws:kms:us-west-2:444455556666:alias/projectKey1``. If ``KmsKeyId`` is specified, the ``Encrypted`` parameter must be set to true.") kmsKeyId?: string; @doc("An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following: + When to move files in the file system from primary storage to IA storage. + When to move files in the file system from primary storage or IA storage to Archive storage. + When to move files that are in IA or Archive storage to primary storage. EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive`` ``TransitionToPrimaryStorageClass``. See the example requests in the following section for more information.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) lifecyclePolicies?: LifecyclePolicy[]; @doc("The Performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems. Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems. Default is ``generalPurpose``.") @@ -197,7 +197,7 @@ model LifecyclePolicy { @doc("Definition of ReplicationConfiguration") model ReplicationConfiguration { @doc("An array of destination objects. Only one destination object is supported.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) destinations?: ReplicationDestination[]; } diff --git a/specification/awsconnector/EfsMountTarget.Management/main.tsp b/specification/awsconnector/EfsMountTarget.Management/main.tsp index 4b43db905a55..e46145c90798 100644 --- a/specification/awsconnector/EfsMountTarget.Management/main.tsp +++ b/specification/awsconnector/EfsMountTarget.Management/main.tsp @@ -81,7 +81,6 @@ model AwsEfsMountTargetProperties { ipAddress?: string; @doc("Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.") - @extension("x-ms-identifiers", #[]) securityGroups?: string[]; @doc("The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.") diff --git a/specification/awsconnector/EksCluster.Management/main.tsp b/specification/awsconnector/EksCluster.Management/main.tsp index 233d50ffe0c3..c864848c8f86 100644 --- a/specification/awsconnector/EksCluster.Management/main.tsp +++ b/specification/awsconnector/EksCluster.Management/main.tsp @@ -82,7 +82,7 @@ model AwsEksClusterProperties { createdAt?: utcDateTime; @doc("

The encryption configuration for the cluster.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) encryptionConfig?: EncryptionConfig[]; @doc("

The endpoint for your Kubernetes API server.

") @@ -240,7 +240,6 @@ model EncryptionConfig { provider?: Provider; @doc("

Specifies the resources to be encrypted. The only supported value is secrets.

") - @extension("x-ms-identifiers", #[]) resources?: string[]; } @@ -251,7 +250,7 @@ model EncryptionConfig { @doc("Definition of ClusterHealth") model ClusterHealth { @doc("

An object representing the health issues of your local Amazon EKS cluster on an Amazon Web Services Outpost.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) issues?: ClusterIssue[]; } @@ -309,7 +308,7 @@ model IpFamilyEnumValue { @doc("Definition of Logging") model Logging { @doc("

The cluster control plane logging configuration for your cluster.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) clusterLogging?: LogSetup[]; } @@ -326,7 +325,6 @@ model OutpostConfigResponse { controlPlanePlacement?: ControlPlanePlacementResponse; @doc("

The ARN of the Outpost that you specified for use with your local Amazon EKS cluster on Outposts.

") - @extension("x-ms-identifiers", #[]) outpostArns?: string[]; } @@ -346,15 +344,12 @@ model VpcConfigResponse { endpointPublicAccess?: boolean; @doc("

The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint.

") - @extension("x-ms-identifiers", #[]) publicAccessCidrs?: string[]; @doc("

The security groups associated with the cross-account elastic network interfaces that are used to allow communication between your nodes and the Kubernetes control plane.

") - @extension("x-ms-identifiers", #[]) securityGroupIds?: string[]; @doc("

The subnets associated with your cluster.

") - @extension("x-ms-identifiers", #[]) subnetIds?: string[]; @doc("

The VPC associated with your cluster.

") @@ -384,7 +379,6 @@ model ClusterIssue { message?: string; @doc("

The resource IDs that the issue relates to.

") - @extension("x-ms-identifiers", #[]) resourceIds?: string[]; } @@ -480,7 +474,6 @@ model LogSetup { enabled?: boolean; @doc("

The available cluster control plane log types.

") - @extension("x-ms-identifiers", #[]) types?: LogType[]; } diff --git a/specification/awsconnector/EksNodegroup.Management/main.tsp b/specification/awsconnector/EksNodegroup.Management/main.tsp index bee8bb12ceb9..5bf42951a251 100644 --- a/specification/awsconnector/EksNodegroup.Management/main.tsp +++ b/specification/awsconnector/EksNodegroup.Management/main.tsp @@ -93,7 +93,6 @@ model AwsEksNodegroupProperties { id?: string; @doc("Specify the instance types for a node group.") - @extension("x-ms-identifiers", #[]) instanceTypes?: string[]; @doc("The Kubernetes labels to be applied to the nodes in the node group when they are created.") @@ -118,14 +117,13 @@ model AwsEksNodegroupProperties { scalingConfig?: ScalingConfig; @doc("The subnets to use for the Auto Scaling group that is created for your node group.") - @extension("x-ms-identifiers", #[]) subnets?: string[]; @doc("The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency.") tags?: Record; @doc("The Kubernetes taints to be applied to the nodes in the node group when they are created.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) taints?: Taint[]; @doc("The node group update configuration. The node group update configuration.") @@ -161,7 +159,6 @@ model RemoteAccess { ec2SshKey?: string; @doc("Property sourceSecurityGroups") - @extension("x-ms-identifiers", #[]) sourceSecurityGroups?: string[]; } diff --git a/specification/awsconnector/ElasticBeanstalkConfigurationTemplate.Management/main.tsp b/specification/awsconnector/ElasticBeanstalkConfigurationTemplate.Management/main.tsp index ba7457ebda58..549e6fd42f72 100644 --- a/specification/awsconnector/ElasticBeanstalkConfigurationTemplate.Management/main.tsp +++ b/specification/awsconnector/ElasticBeanstalkConfigurationTemplate.Management/main.tsp @@ -88,7 +88,7 @@ model AwsElasticBeanstalkConfigurationTemplateProperties { environmentId?: string; @doc("Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these values override the values obtained from the solution stack or the source configuration template. For a complete list of Elastic Beanstalk configuration options, see [Option Values](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html) in the AWS Elastic Beanstalk Developer Guide.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) optionSettings?: ConfigurationOptionSetting[]; @doc("The Amazon Resource Name (ARN) of the custom platform. For more information, see [Custom Platforms](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html) in the AWS Elastic Beanstalk Developer Guide.") diff --git a/specification/awsconnector/ElasticBeanstalkEnvironment.Management/main.tsp b/specification/awsconnector/ElasticBeanstalkEnvironment.Management/main.tsp index 5a577ef555c1..1d4a5f67f2b0 100644 --- a/specification/awsconnector/ElasticBeanstalkEnvironment.Management/main.tsp +++ b/specification/awsconnector/ElasticBeanstalkEnvironment.Management/main.tsp @@ -91,7 +91,7 @@ model AwsElasticBeanstalkEnvironmentProperties { operationsRole?: string; @doc("Key-value pairs defining configuration options for this environment, such as the instance type.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) optionSettings?: OptionSetting[]; @doc("The Amazon Resource Name (ARN) of the custom platform to use with the environment.") @@ -101,7 +101,7 @@ model AwsElasticBeanstalkEnvironmentProperties { solutionStackName?: string; @doc("Specifies the tags applied to resources in the environment.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The name of the Elastic Beanstalk configuration template to use with the environment.") diff --git a/specification/awsconnector/ElasticLoadBalancingV2Listener.Management/main.tsp b/specification/awsconnector/ElasticLoadBalancingV2Listener.Management/main.tsp index 8e050526028f..1d169e9f5eae 100644 --- a/specification/awsconnector/ElasticLoadBalancingV2Listener.Management/main.tsp +++ b/specification/awsconnector/ElasticLoadBalancingV2Listener.Management/main.tsp @@ -80,15 +80,14 @@ model ElasticLoadBalancingV2ListenerProperties { @doc("Definition of awsElasticLoadBalancingV2Listener") model AwsElasticLoadBalancingV2ListenerProperties { @doc("[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.") - @extension("x-ms-identifiers", #[]) alpnPolicy?: string[]; @doc("The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. To create a certificate list for a secure listener, use [AWS::ElasticLoadBalancingV2::ListenerCertificate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html).") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) certificates?: Certificate[]; @doc("The actions for the default rule. You cannot define a condition for a default rule. To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html).") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) defaultActions?: Action[]; @doc("Property listenerArn") @@ -267,7 +266,7 @@ model ForwardConfig { targetGroupStickinessConfig?: TargetGroupStickinessConfig; @doc("Information about how traffic will be distributed between multiple target groups in a forward rule.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) targetGroups?: TargetGroupTuple[]; } diff --git a/specification/awsconnector/ElasticLoadBalancingV2LoadBalancer.Management/main.tsp b/specification/awsconnector/ElasticLoadBalancingV2LoadBalancer.Management/main.tsp index fd799d0e5796..724c8fff56d2 100644 --- a/specification/awsconnector/ElasticLoadBalancingV2LoadBalancer.Management/main.tsp +++ b/specification/awsconnector/ElasticLoadBalancingV2LoadBalancer.Management/main.tsp @@ -96,7 +96,7 @@ model AwsElasticLoadBalancingV2LoadBalancerProperties { loadBalancerArn?: string; @doc("The load balancer attributes.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) loadBalancerAttributes?: LoadBalancerAttribute[]; @doc("Property loadBalancerFullName") @@ -112,19 +112,17 @@ model AwsElasticLoadBalancingV2LoadBalancerProperties { scheme?: string; @doc("[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.") - @extension("x-ms-identifiers", #[]) securityGroups?: string[]; @doc("The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet. [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) subnetMappings?: SubnetMapping[]; @doc("The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones. [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.") - @extension("x-ms-identifiers", #[]) subnets?: string[]; @doc("The tags to assign to the load balancer.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The type of load balancer. The default is ``application``.") diff --git a/specification/awsconnector/ElasticLoadBalancingV2TargetGroup.Management/main.tsp b/specification/awsconnector/ElasticLoadBalancingV2TargetGroup.Management/main.tsp index e0cb9b0a1203..8044fdefb98c 100644 --- a/specification/awsconnector/ElasticLoadBalancingV2TargetGroup.Management/main.tsp +++ b/specification/awsconnector/ElasticLoadBalancingV2TargetGroup.Management/main.tsp @@ -105,7 +105,6 @@ model AwsElasticLoadBalancingV2TargetGroupProperties { ipAddressType?: string; @doc("The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.") - @extension("x-ms-identifiers", #[]) loadBalancerArns?: string[]; @doc("[HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for a successful response from a target.") @@ -124,14 +123,14 @@ model AwsElasticLoadBalancingV2TargetGroupProperties { protocolVersion?: string; @doc("The tags.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The ARN of the Target Group") targetGroupArn?: string; @doc("The attributes.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) targetGroupAttributes?: TargetGroupAttribute[]; @doc("The full name of the target group.") diff --git a/specification/awsconnector/EmrCluster.Management/main.tsp b/specification/awsconnector/EmrCluster.Management/main.tsp index 41d374776819..74bff683097a 100644 --- a/specification/awsconnector/EmrCluster.Management/main.tsp +++ b/specification/awsconnector/EmrCluster.Management/main.tsp @@ -72,7 +72,7 @@ model EmrClusterProperties { @doc("Definition of awsEmrCluster") model AwsEmrClusterProperties { @doc("

The applications installed on this cluster.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) applications?: Application[]; @doc("

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.

") @@ -85,7 +85,7 @@ model AwsEmrClusterProperties { clusterArn?: string; @doc("

Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) configurations?: Configuration[]; @doc("

Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

") @@ -134,7 +134,7 @@ model AwsEmrClusterProperties { outpostArn?: string; @doc("

Placement group configured for an Amazon EMR cluster.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) placementGroups?: PlacementGroupConfig[]; @doc("

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

") @@ -165,7 +165,7 @@ model AwsEmrClusterProperties { stepConcurrencyLevel?: int32; @doc("

A list of tags associated with a cluster.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("

Indicates whether Amazon EMR will lock the cluster to prevent the Amazon EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

") @@ -230,7 +230,6 @@ model Application { additionalInfo?: Record; @doc("

Arguments for Amazon EMR to pass to the application.

") - @extension("x-ms-identifiers", #[]) args?: string[]; @doc("

The name of the application.

") @@ -271,7 +270,7 @@ model Configuration { classification?: string; @doc("

A list of additional configurations to apply within a configuration object.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) configurations?: Configuration[]; @doc("

A set of properties specified within a configuration classification.

") @@ -285,11 +284,9 @@ model Configuration { @doc("Definition of Ec2InstanceAttributes") model Ec2InstanceAttributes { @doc("

A list of additional Amazon EC2 security group IDs for the master node.

") - @extension("x-ms-identifiers", #[]) additionalMasterSecurityGroups?: string[]; @doc("

A list of additional Amazon EC2 security group IDs for the core and task nodes.

") - @extension("x-ms-identifiers", #[]) additionalSlaveSecurityGroups?: string[]; @doc("

The Availability Zone in which the cluster will run.

") @@ -311,11 +308,9 @@ model Ec2InstanceAttributes { iamInstanceProfile?: string; @doc("

Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch Amazon EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

") - @extension("x-ms-identifiers", #[]) requestedEc2AvailabilityZones?: string[]; @doc("

Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch Amazon EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the Amazon EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

") - @extension("x-ms-identifiers", #[]) requestedEc2SubnetIds?: string[]; @doc("

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

") @@ -388,7 +383,7 @@ model InstanceRoleTypeEnumValue { @doc("Definition of ClusterStatus") model ClusterStatus { @doc("

A list of tuples that provides information about the errors that caused a cluster to terminate. This structure can contain up to 10 different ErrorDetail tuples.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) errorDetails?: ErrorDetail[]; @doc("

The current state of the cluster.

") @@ -487,7 +482,7 @@ model ErrorDetail { errorCode?: string; @doc("

A list of key value pairs that provides contextual information about why an error occured.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) errorData?: StringMap[]; @doc("

A message that describes the error.

") diff --git a/specification/awsconnector/GuardDutyDetector.Management/main.tsp b/specification/awsconnector/GuardDutyDetector.Management/main.tsp index 32c6d6f34463..849781fea849 100644 --- a/specification/awsconnector/GuardDutyDetector.Management/main.tsp +++ b/specification/awsconnector/GuardDutyDetector.Management/main.tsp @@ -78,7 +78,7 @@ model AwsGuardDutyDetectorProperties { enable?: boolean; @doc("Property features") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) features?: CFNFeatureConfiguration[]; @doc("Property findingPublishingFrequency") @@ -88,7 +88,7 @@ model AwsGuardDutyDetectorProperties { id?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: TagItem[]; } @@ -115,7 +115,7 @@ model CFNDataSourceConfigurations { @doc("Definition of CFNFeatureConfiguration") model CFNFeatureConfiguration { @doc("Property additionalConfiguration") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) additionalConfiguration?: CFNFeatureAdditionalConfiguration[]; @doc("Property name") diff --git a/specification/awsconnector/IamGroup.Management/main.tsp b/specification/awsconnector/IamGroup.Management/main.tsp index c2c6ab8bc977..8f6921c8e453 100644 --- a/specification/awsconnector/IamGroup.Management/main.tsp +++ b/specification/awsconnector/IamGroup.Management/main.tsp @@ -78,14 +78,13 @@ model AwsIamGroupProperties { groupName?: string; @doc("The Amazon Resource Name (ARN) of the IAM policy you want to attach. For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.") - @extension("x-ms-identifiers", #[]) managedPolicyArns?: string[]; @doc("The path to the group. For more information about paths, see [IAM identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the *IAM User Guide*. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (``\\u0021``) through the DEL character (``\\u007F``), including most punctuation characters, digits, and upper and lowercased letters.") path?: string; @doc("Adds or updates an inline policy document that is embedded in the specified IAM group. To view AWS::IAM::Group snippets, see [Declaring an Group Resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-iam-group). The name of each inline policy for a role, user, or group must be unique. If you don't choose unique names, updates to the IAM identity will fail. For information about limits on the number of inline policies that you can embed in a group, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) policies?: Policy[]; } diff --git a/specification/awsconnector/IamInstanceProfile.Management/main.tsp b/specification/awsconnector/IamInstanceProfile.Management/main.tsp index 88c3c5e3ede1..d7368b8dfb04 100644 --- a/specification/awsconnector/IamInstanceProfile.Management/main.tsp +++ b/specification/awsconnector/IamInstanceProfile.Management/main.tsp @@ -81,7 +81,6 @@ model AwsIamInstanceProfileProperties { path?: string; @doc("The name of the role to associate with the instance profile. Only one role can be assigned to an EC2 instance at a time, and all applications on the instance share the same role and permissions.") - @extension("x-ms-identifiers", #[]) roles?: string[]; } diff --git a/specification/awsconnector/IamRole.Management/main.tsp b/specification/awsconnector/IamRole.Management/main.tsp index b8ff6ab8ef90..589387da7633 100644 --- a/specification/awsconnector/IamRole.Management/main.tsp +++ b/specification/awsconnector/IamRole.Management/main.tsp @@ -81,7 +81,6 @@ model AwsIamRoleProperties { description?: string; @doc("A list of Amazon Resource Names (ARNs) of the IAM managed policies that you want to attach to the role. For more information about ARNs, see [Amazon Resource Names (ARNs) and Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.") - @extension("x-ms-identifiers", #[]) managedPolicyArns?: string[]; @doc("The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default value of one hour is applied. This setting can have a value from 1 hour to 12 hours. Anyone who assumes the role from the CLI or API can use the ``DurationSeconds`` API parameter or the ``duration-seconds`` CLI parameter to request a longer session. The ``MaxSessionDuration`` setting determines the maximum duration that can be requested using the ``DurationSeconds`` parameter. If users don't specify a value for the ``DurationSeconds`` parameter, their security credentials are valid for one hour by default. This applies when you use the ``AssumeRole*`` API operations or the ``assume-role*`` CLI operations but does not apply when you use those operations to create a console URL. For more information, see [Using IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) in the *IAM User Guide*.") @@ -94,7 +93,7 @@ model AwsIamRoleProperties { permissionsBoundary?: string; @doc("Adds or updates an inline policy document that is embedded in the specified IAM role. When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role. You can update a role's trust policy later. For more information about IAM roles, go to [Using Roles to Delegate Permissions and Federate Identities](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). A role can also have an attached managed policy. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*. For information about limits on the number of inline policies that you can embed with a role, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. If an external policy (such as ``AWS::IAM::Policy`` or") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) policies?: Policy[]; @doc("Property roleId") @@ -104,7 +103,7 @@ model AwsIamRoleProperties { roleName?: string; @doc("A list of tags that are attached to the role. For more information about tagging, see [Tagging IAM resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) in the *IAM User Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/IamServerCertificate.Management/main.tsp b/specification/awsconnector/IamServerCertificate.Management/main.tsp index 09a31eaa3a95..3e93b6124816 100644 --- a/specification/awsconnector/IamServerCertificate.Management/main.tsp +++ b/specification/awsconnector/IamServerCertificate.Management/main.tsp @@ -90,7 +90,7 @@ model AwsIamServerCertificateProperties { serverCertificateName?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/IamVirtualMFADevice.Management/main.tsp b/specification/awsconnector/IamVirtualMFADevice.Management/main.tsp index a346c399e63b..a2c9d480941a 100644 --- a/specification/awsconnector/IamVirtualMFADevice.Management/main.tsp +++ b/specification/awsconnector/IamVirtualMFADevice.Management/main.tsp @@ -78,11 +78,10 @@ model AwsIamVirtualMFADeviceProperties { serialNumber?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property users") - @extension("x-ms-identifiers", #[]) users?: string[]; @doc("Property virtualMfaDeviceName") diff --git a/specification/awsconnector/KmsKey.Management/main.tsp b/specification/awsconnector/KmsKey.Management/main.tsp index 1db0897a1df7..a5fd25c0d0e9 100644 --- a/specification/awsconnector/KmsKey.Management/main.tsp +++ b/specification/awsconnector/KmsKey.Management/main.tsp @@ -111,7 +111,7 @@ model AwsKmsKeyProperties { rotationPeriodInDays?: int32 = 365; @doc("Assigns one or more tags to the replica key. Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*. For information about tags in KMS, see [Tagging keys](https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html) in the *Developer Guide*. For information about tags in CloudFormation, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/LambdaFunction.Management/main.tsp b/specification/awsconnector/LambdaFunction.Management/main.tsp index 719e7a52704b..e411acc09557 100644 --- a/specification/awsconnector/LambdaFunction.Management/main.tsp +++ b/specification/awsconnector/LambdaFunction.Management/main.tsp @@ -72,7 +72,6 @@ model LambdaFunctionProperties { @doc("Definition of awsLambdaFunction") model AwsLambdaFunctionProperties { @doc("The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.") - @extension("x-ms-identifiers", #[]) architectures?: Architectures[]; @doc("Property arn") @@ -97,7 +96,7 @@ model AwsLambdaFunctionProperties { ephemeralStorage?: EphemeralStorage; @doc("Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an [AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html) resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html).") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) fileSystemConfigs?: FileSystemConfig[]; @doc("The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN generates one. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.") @@ -113,7 +112,6 @@ model AwsLambdaFunctionProperties { kmsKeyArn?: string; @doc("A list of [function layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version.") - @extension("x-ms-identifiers", #[]) layers?: string[]; @doc("The function's Amazon CloudWatch Logs configuration settings. The function's Amazon CloudWatch Logs configuration settings.") @@ -144,7 +142,7 @@ model AwsLambdaFunctionProperties { snapStartResponse?: SnapStartResponse; @doc("A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see [Lambda execution environment](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html).") @@ -251,11 +249,9 @@ model FileSystemConfig { @doc("Definition of ImageConfig") model ImageConfig { @doc("Specifies parameters that you want to pass in with ENTRYPOINT. You can specify a maximum of 1,500 parameters in the list.") - @extension("x-ms-identifiers", #[]) command?: string[]; @doc("Specifies the entry point to their application, which is typically the location of the runtime executable. You can specify a maximum of 1,500 string entries in the list.") - @extension("x-ms-identifiers", #[]) entryPoint?: string[]; @doc("Specifies the working directory. The length of the directory string cannot exceed 1,000 characters.") @@ -456,11 +452,9 @@ model VpcConfig { ipv6AllowedForDualStack?: boolean; @doc("A list of VPC security group IDs.") - @extension("x-ms-identifiers", #[]) securityGroupIds?: string[]; @doc("A list of VPC subnet IDs.") - @extension("x-ms-identifiers", #[]) subnetIds?: string[]; } diff --git a/specification/awsconnector/LightsailBucket.Management/main.tsp b/specification/awsconnector/LightsailBucket.Management/main.tsp index 709ee82b053b..0abaf1c3b1c4 100644 --- a/specification/awsconnector/LightsailBucket.Management/main.tsp +++ b/specification/awsconnector/LightsailBucket.Management/main.tsp @@ -90,15 +90,13 @@ model AwsLightsailBucketProperties { objectVersioning?: boolean; @doc("An array of strings to specify the AWS account IDs that can access the bucket.") - @extension("x-ms-identifiers", #[]) readOnlyAccessAccounts?: string[]; @doc("The names of the Lightsail resources for which to set bucket access.") - @extension("x-ms-identifiers", #[]) resourcesReceivingAccess?: string[]; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The URL of the bucket.") diff --git a/specification/awsconnector/LightsailInstance.Management/main.tsp b/specification/awsconnector/LightsailInstance.Management/main.tsp index 388045d41de8..dd74599a0107 100644 --- a/specification/awsconnector/LightsailInstance.Management/main.tsp +++ b/specification/awsconnector/LightsailInstance.Management/main.tsp @@ -72,7 +72,7 @@ model LightsailInstanceProperties { @doc("Definition of awsLightsailInstance") model AwsLightsailInstanceProperties { @doc("An array of objects representing the add-ons to enable for the new instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) addOns?: AddOn[]; @doc("The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). Be sure to add the include Availability Zones parameter to your request.") @@ -124,7 +124,7 @@ model AwsLightsailInstanceProperties { supportCode?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.") @@ -186,7 +186,7 @@ model Hardware { cpuCount?: int32; @doc("Disks attached to the Instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) disks?: Disk[]; @doc("RAM Size of the Instance.") @@ -216,7 +216,7 @@ model Networking { monthlyTransfer?: MonthlyTransfer; @doc("Ports to the Instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ports?: Port[]; } @@ -310,11 +310,9 @@ model Port { accessType?: string; @doc("cidr List Aliases") - @extension("x-ms-identifiers", #[]) cidrListAliases?: string[]; @doc("Property cidrs") - @extension("x-ms-identifiers", #[]) cidrs?: string[]; @doc("CommonName for Protocol of the Instance.") @@ -324,7 +322,6 @@ model Port { fromPort?: int32; @doc("IPv6 Cidrs") - @extension("x-ms-identifiers", #[]) ipv6Cidrs?: string[]; @doc("Port Protocol of the Instance.") diff --git a/specification/awsconnector/LogsLogGroup.Management/main.tsp b/specification/awsconnector/LogsLogGroup.Management/main.tsp index 14de55b05c2c..75b31493cef2 100644 --- a/specification/awsconnector/LogsLogGroup.Management/main.tsp +++ b/specification/awsconnector/LogsLogGroup.Management/main.tsp @@ -90,7 +90,7 @@ model AwsLogsLogGroupProperties { retentionInDays?: int32; @doc("An array of key-value pairs to apply to the log group. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/LogsMetricFilter.Management/main.tsp b/specification/awsconnector/LogsMetricFilter.Management/main.tsp index 3ffd00c6dfb7..abaef6b3cd86 100644 --- a/specification/awsconnector/LogsMetricFilter.Management/main.tsp +++ b/specification/awsconnector/LogsMetricFilter.Management/main.tsp @@ -81,7 +81,7 @@ model AwsLogsMetricFilterProperties { logGroupName?: string; @doc("The metric transformations.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) metricTransformations?: MetricTransformation[]; } @@ -95,7 +95,7 @@ model MetricTransformation { defaultValue?: int32; @doc("The fields to use as dimensions for the metric. One metric filter can include as many as three dimensions. Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as ``IPAddress`` or ``requestID`` as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric. CloudWatch Logs disables a metric filter if it generates 1000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges. You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see [Creating a Billing Alarm to Monitor Your Estimated Charges](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html).") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dimensions?: Dimension[]; @doc("The name of the CloudWatch metric.") diff --git a/specification/awsconnector/Macie2JobSummary.Management/main.tsp b/specification/awsconnector/Macie2JobSummary.Management/main.tsp index 09d74d77d9ef..c4df4733a2bf 100644 --- a/specification/awsconnector/Macie2JobSummary.Management/main.tsp +++ b/specification/awsconnector/Macie2JobSummary.Management/main.tsp @@ -75,7 +75,7 @@ model AwsMacie2JobSummaryProperties { bucketCriteria?: S3BucketCriteriaForJob; @doc("

An array of objects, one for each Amazon Web Services account that owns specific S3 buckets for the job to analyze. Each object specifies the account ID for an account and one or more buckets to analyze for that account. A job's definition can contain a bucketDefinitions array or a bucketCriteria object, not both.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) bucketDefinitions?: S3BucketDefinitionForJob[]; @doc("

The date and time, in UTC and extended ISO 8601 format, when the job was created.

") @@ -177,7 +177,6 @@ model S3BucketDefinitionForJob { accountId?: string; @doc("

An array that lists the names of the buckets.

") - @extension("x-ms-identifiers", #[]) buckets?: string[]; } @@ -235,7 +234,7 @@ model UserPausedDetails { @doc("Definition of CriteriaBlockForJob") model CriteriaBlockForJob { @doc("

An array of conditions, one for each condition that determines which buckets to include or exclude from the job. If you specify more than one condition, Amazon Macie uses AND logic to join the conditions.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) and?: CriteriaForJob[]; } @@ -265,7 +264,6 @@ model SimpleCriterionForJob { key?: SimpleCriterionKeyForJobEnumValue; @doc("

An array that lists one or more values to use in the condition. If you specify multiple values, Amazon Macie uses OR logic to join the values. Valid values for each supported property (key) are:

Values are case sensitive. Also, Macie doesn't support use of partial values or wildcard characters in these values.

") - @extension("x-ms-identifiers", #[]) values?: string[]; } @@ -318,7 +316,7 @@ model TagCriterionForJob { comparator?: JobComparatorEnumValue; @doc("

The tag keys, tag values, or tag key and value pairs to use in the condition.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tagValues?: TagCriterionPairForJob[]; } diff --git a/specification/awsconnector/MacieAllowList.Management/main.tsp b/specification/awsconnector/MacieAllowList.Management/main.tsp index f7bf311feeec..6e2968ffa028 100644 --- a/specification/awsconnector/MacieAllowList.Management/main.tsp +++ b/specification/awsconnector/MacieAllowList.Management/main.tsp @@ -90,7 +90,7 @@ model AwsMacieAllowListProperties { status?: Status; @doc("A collection of tags associated with a resource") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/NetworkFirewallFirewall.Management/main.tsp b/specification/awsconnector/NetworkFirewallFirewall.Management/main.tsp index afb455b3dc80..5d80f0ffa239 100644 --- a/specification/awsconnector/NetworkFirewallFirewall.Management/main.tsp +++ b/specification/awsconnector/NetworkFirewallFirewall.Management/main.tsp @@ -79,7 +79,6 @@ model AwsNetworkFirewallFirewallProperties { description?: string; @doc("Property endpointIds") - @extension("x-ms-identifiers", #[]) endpointIds?: string[]; @doc("A resource ARN.") @@ -101,11 +100,11 @@ model AwsNetworkFirewallFirewallProperties { subnetChangeProtection?: boolean; @doc("Property subnetMappings") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) subnetMappings?: SubnetMapping[]; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property vpcId") diff --git a/specification/awsconnector/NetworkFirewallFirewallPolicy.Management/main.tsp b/specification/awsconnector/NetworkFirewallFirewallPolicy.Management/main.tsp index 446df8a1cbb0..6263e26f9b00 100644 --- a/specification/awsconnector/NetworkFirewallFirewallPolicy.Management/main.tsp +++ b/specification/awsconnector/NetworkFirewallFirewallPolicy.Management/main.tsp @@ -94,7 +94,7 @@ model AwsNetworkFirewallFirewallPolicyProperties { firewallPolicyName?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } @@ -108,30 +108,27 @@ model FirewallPolicy { policyVariables?: RuleVariablesModel; @doc("Property statefulDefaultActions") - @extension("x-ms-identifiers", #[]) statefulDefaultActions?: string[]; @doc("Property statefulEngineOptions") statefulEngineOptions?: StatefulEngineOptions; @doc("Property statefulRuleGroupReferences") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) statefulRuleGroupReferences?: StatefulRuleGroupReference[]; @doc("Property statelessCustomActions") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) statelessCustomActions?: CustomAction[]; @doc("Property statelessDefaultActions") - @extension("x-ms-identifiers", #[]) statelessDefaultActions?: string[]; @doc("Property statelessFragmentDefaultActions") - @extension("x-ms-identifiers", #[]) statelessFragmentDefaultActions?: string[]; @doc("Property statelessRuleGroupReferences") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) statelessRuleGroupReferences?: StatelessRuleGroupReference[]; @doc("A resource ARN.") @@ -249,7 +246,6 @@ model StatelessRuleGroupReference { @doc("Definition of IPSet") model IPSet { @doc("Property definition") - @extension("x-ms-identifiers", #[]) definition?: string[]; } @@ -288,7 +284,7 @@ model ActionDefinition { @doc("Definition of PublishMetricAction") model PublishMetricAction { @doc("Property dimensions") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dimensions?: Dimension[]; } diff --git a/specification/awsconnector/NetworkFirewallRuleGroup.Management/main.tsp b/specification/awsconnector/NetworkFirewallRuleGroup.Management/main.tsp index 47f2d2a06794..eafbac6e6195 100644 --- a/specification/awsconnector/NetworkFirewallRuleGroup.Management/main.tsp +++ b/specification/awsconnector/NetworkFirewallRuleGroup.Management/main.tsp @@ -91,7 +91,7 @@ model AwsNetworkFirewallRuleGroupProperties { ruleGroupName?: string; @doc("Property tags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property type") @@ -177,7 +177,7 @@ model RulesSource { rulesString?: string; @doc("Property statefulRules") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) statefulRules?: StatefulRule[]; @doc("Property statelessRulesAndCustomActions") @@ -222,7 +222,6 @@ model IPSetReference { @doc("Definition of IPSet") model IPSet { @doc("Property definition") - @extension("x-ms-identifiers", #[]) definition?: string[]; } @@ -233,7 +232,6 @@ model IPSet { @doc("Definition of PortSet") model PortSet { @doc("Property definition") - @extension("x-ms-identifiers", #[]) definition?: string[]; } @@ -247,11 +245,9 @@ model RulesSourceList { generatedRulesType?: RulesSourceListGeneratedRulesType; @doc("Property targetTypes") - @extension("x-ms-identifiers", #[]) targetTypes?: string[]; @doc("Property targets") - @extension("x-ms-identifiers", #[]) targets?: string[]; } @@ -279,7 +275,7 @@ model StatefulRule { header?: Header; @doc("Property ruleOptions") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ruleOptions?: RuleOption[]; } @@ -307,11 +303,11 @@ union StatefulRuleAction { @doc("Definition of StatelessRulesAndCustomActions") model StatelessRulesAndCustomActions { @doc("Property customActions") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) customActions?: CustomAction[]; @doc("Property statelessRules") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) statelessRules?: StatelessRule[]; } @@ -361,7 +357,6 @@ model RuleOption { keyword?: string; @doc("Property settings") - @extension("x-ms-identifiers", #[]) settings?: string[]; } @@ -470,7 +465,6 @@ model ActionDefinition { @doc("Definition of RuleDefinition") model RuleDefinition { @doc("Property actions") - @extension("x-ms-identifiers", #[]) actions?: string[]; @doc("Property matchAttributes") @@ -484,7 +478,7 @@ model RuleDefinition { @doc("Definition of PublishMetricAction") model PublishMetricAction { @doc("Property dimensions") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dimensions?: Dimension[]; } @@ -495,27 +489,26 @@ model PublishMetricAction { @doc("Definition of MatchAttributes") model MatchAttributes { @doc("Property destinationPorts") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) destinationPorts?: PortRange[]; @doc("Property destinations") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) destinations?: Address[]; @doc("Property protocols") - @extension("x-ms-identifiers", #[]) protocols?: int32[]; @doc("Property sourcePorts") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) sourcePorts?: PortRange[]; @doc("Property sources") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) sources?: Address[]; @doc("Property tcpFlags") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tcpFlags?: TCPFlagField[]; } @@ -559,11 +552,9 @@ model Address { @doc("Definition of TCPFlagField") model TCPFlagField { @doc("Property flags") - @extension("x-ms-identifiers", #[]) flags?: string[]; @doc("Property masks") - @extension("x-ms-identifiers", #[]) masks?: string[]; } diff --git a/specification/awsconnector/OpenSearchDomainStatus.Management/main.tsp b/specification/awsconnector/OpenSearchDomainStatus.Management/main.tsp index 4939e490f878..52ff3b508289 100644 --- a/specification/awsconnector/OpenSearchDomainStatus.Management/main.tsp +++ b/specification/awsconnector/OpenSearchDomainStatus.Management/main.tsp @@ -139,7 +139,7 @@ model AwsOpenSearchDomainStatusProperties { logPublishingOptions?: Record; @doc("

Information about the domain properties that are currently being modified.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) modifyingProperties?: ModifyingProperties[]; @doc("

Whether node-to-node encryption is enabled or disabled.

") @@ -1071,15 +1071,12 @@ model SoftwareUpdateOptions { @doc("Definition of VPCDerivedInfo") model VPCDerivedInfo { @doc("

The list of Availability Zones associated with the VPC subnets.

") - @extension("x-ms-identifiers", #[]) availabilityZones?: string[]; @doc("

The list of security group IDs associated with the VPC endpoints for the domain.

") - @extension("x-ms-identifiers", #[]) securityGroupIds?: string[]; @doc("

A list of subnet IDs associated with the VPC endpoints for the domain.

") - @extension("x-ms-identifiers", #[]) subnetIds?: string[]; @doc("

The ID for your VPC. Amazon VPC generates this value when you create a VPC.

") diff --git a/specification/awsconnector/OrganizationsAccount.Management/main.tsp b/specification/awsconnector/OrganizationsAccount.Management/main.tsp index b358a3a0b6de..29cfa7a8e60a 100644 --- a/specification/awsconnector/OrganizationsAccount.Management/main.tsp +++ b/specification/awsconnector/OrganizationsAccount.Management/main.tsp @@ -90,7 +90,6 @@ model AwsOrganizationsAccountProperties { joinedTimestamp?: string; @doc("List of parent nodes for the member account. Currently only one parent at a time is supported. Default is root.") - @extension("x-ms-identifiers", #[]) parentIds?: string[]; @doc("The name of an IAM role that AWS Organizations automatically preconfigures in the new member account. Default name is OrganizationAccountAccessRole if not specified.") @@ -100,7 +99,7 @@ model AwsOrganizationsAccountProperties { status?: Status; @doc("A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify both a tag key and a value.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/RdsDBCluster.Management/main.tsp b/specification/awsconnector/RdsDBCluster.Management/main.tsp index 2c2d34c1c35a..43e77b0bc31c 100644 --- a/specification/awsconnector/RdsDBCluster.Management/main.tsp +++ b/specification/awsconnector/RdsDBCluster.Management/main.tsp @@ -75,14 +75,13 @@ model AwsRdsDBClusterProperties { allocatedStorage?: int32; @doc("Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) associatedRoles?: DBClusterRole[]; @doc("A value that indicates whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.") autoMinorVersionUpgrade?: boolean; @doc("A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide.") - @extension("x-ms-identifiers", #[]) availabilityZones?: string[]; @doc("The target backtrack window, in seconds. To disable backtracking, set this value to 0.") @@ -131,7 +130,6 @@ model AwsRdsDBClusterProperties { domainIAMRoleName?: string; @doc("The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.") - @extension("x-ms-identifiers", #[]) enableCloudwatchLogsExports?: string[]; @doc("Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.") @@ -243,14 +241,13 @@ model AwsRdsDBClusterProperties { storageType?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.") useLatestRestorableTime?: boolean; @doc("A list of EC2 VPC security groups to associate with this DB cluster.") - @extension("x-ms-identifiers", #[]) vpcSecurityGroupIds?: string[]; } diff --git a/specification/awsconnector/RdsDBInstance.Management/main.tsp b/specification/awsconnector/RdsDBInstance.Management/main.tsp index 9053ce6721f8..7e6e3bc91a44 100644 --- a/specification/awsconnector/RdsDBInstance.Management/main.tsp +++ b/specification/awsconnector/RdsDBInstance.Management/main.tsp @@ -78,7 +78,7 @@ model AwsRdsDBInstanceProperties { allowMajorVersionUpgrade?: boolean; @doc("The IAMlong (IAM) roles associated with the DB instance. *Amazon Aurora* Not applicable. The associated roles are managed by the DB cluster.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) associatedRoles?: DBInstanceRole[]; @doc("A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.") @@ -136,7 +136,6 @@ model AwsRdsDBInstanceProperties { dbParameterGroupName?: string; @doc("A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template. If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups. If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations: + ``AllocatedStorage`` + ``AutoMinorVersionUpgrade`` + ``AvailabilityZone`` + ``BackupRetentionPeriod`` + ``CharacterSetName`` + ``DBInstanceClass`` + ``DBName`` + ``DBParameterGroupName`` + ``DBSecurityGroups`` + ``DBSubnetGroupName`` + ``Engine`` + ``EngineVersion`` + ``Iops`` + ``LicenseModel`` + ``MasterUsername`` + ``MasterUserPassword`` + ``MultiAZ`` + ``OptionGroupName`` + ``PreferredBackupWindow`` + ``PreferredMaintenanceWindow`` All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as ``StorageType``, ``StorageEncrypted``, or ``KmsKeyId``. If you're already using the ``DBSecurityGroups`` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.") - @extension("x-ms-identifiers", #[]) dbSecurityGroups?: string[]; @doc("The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot. By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack. Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*. After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted. If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties: + ``CharacterSetName`` + ``DBClusterIdentifier`` + ``DBName`` + ``DeleteAutomatedBackups`` + ``EnablePerformanceInsights`` + ``KmsKeyId`` + ``MasterUsername`` + ``MasterUserPassword`` + ``PerformanceInsightsKMSKeyId`` + ``PerformanceInsightsRetentionPeriod`` + ``PromotionTier`` + ``SourceDBInstanceIdentifier`` + ``SourceRegion`` + ``StorageEncrypted`` (for an encrypted snapshot) + ``Timezone`` *Amazon Aurora* Not applicable. Snapshot restore is managed by the DB cluster.") @@ -167,7 +166,6 @@ model AwsRdsDBInstanceProperties { domainAuthSecretArn?: string; @doc("The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. Constraints: + Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Example: ``123.124.125.126,234.235.236.237``") - @extension("x-ms-identifiers", #[]) domainDnsIps?: string[]; @doc("The fully qualified domain name (FQDN) of an Active Directory domain. Constraints: + Can't be longer than 64 characters. Example: ``mymanagedADtest.mymanagedAD.mydomain``") @@ -180,7 +178,6 @@ model AwsRdsDBInstanceProperties { domainOu?: string; @doc("The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide*. *Amazon Aurora* Not applicable. CloudWatch Logs exports are managed by the DB cluster. *Db2* Valid values: ``diag.log``, ``notify.log`` *MariaDB* Valid values: ``audit``, ``error``, ``general``, ``slowquery`` *Microsoft SQL Server* Valid values: ``agent``, ``error`` *MySQL* Valid values: ``audit``, ``error``, ``general``, ``slowquery`` *Oracle* Valid values: ``alert``, ``audit``, ``listener``, ``trace``, ``oemagent`` *PostgreSQL* Valid values: ``postgresql``, ``upgrade``") - @extension("x-ms-identifiers", #[]) enableCloudwatchLogsExports?: string[]; @doc("A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. This property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.* *Amazon Aurora* Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.") @@ -256,7 +253,7 @@ model AwsRdsDBInstanceProperties { preferredMaintenanceWindow?: string; @doc("The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) processorFeatures?: ProcessorFeature[]; @doc("The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide*. This setting doesn't apply to RDS Custom DB instances. Default: ``1`` Valid Values: ``0 - 15``") @@ -296,7 +293,7 @@ model AwsRdsDBInstanceProperties { storageType?: string; @doc("An optional array of key-value pairs to apply to this DB instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property tdeCredentialArn") @@ -315,7 +312,6 @@ model AwsRdsDBInstanceProperties { useLatestRestorableTime?: boolean; @doc("A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template. If you plan to update the resource, don't specify VPC security groups in a shared VPC. If you set ``VPCSecurityGroups``, you must not set [DBSecurityGroups](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups), and vice versa. You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind: + You can't revert to using an RDS security group after you establish a VPC security group membership. + When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group. + To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [DBSecurityGroups](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. *Amazon Aurora* Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.") - @extension("x-ms-identifiers", #[]) vpcSecurityGroups?: string[]; } diff --git a/specification/awsconnector/RdsDBSnapshot.Management/main.tsp b/specification/awsconnector/RdsDBSnapshot.Management/main.tsp index e31bce3f1824..da7fafc2f22e 100644 --- a/specification/awsconnector/RdsDBSnapshot.Management/main.tsp +++ b/specification/awsconnector/RdsDBSnapshot.Management/main.tsp @@ -138,7 +138,7 @@ model AwsRdsDBSnapshotProperties { port?: int32; @doc("

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance when the DB snapshot was created.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) processorFeatures?: ProcessorFeature[]; @doc("

Specifies when the snapshot was taken in Coordinated Universal Time (UTC). Changes for the copy when the snapshot is copied.

") @@ -169,7 +169,7 @@ model AwsRdsDBSnapshotProperties { storageType?: string; @doc("Property tagList") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tagList?: Tag[]; @doc("

The ARN from the key store with which to associate the instance for TDE encryption.

") diff --git a/specification/awsconnector/RdsDBSnapshotAttributesResult.Management/main.tsp b/specification/awsconnector/RdsDBSnapshotAttributesResult.Management/main.tsp index 2e3f83d7916e..21e9ffb601e2 100644 --- a/specification/awsconnector/RdsDBSnapshotAttributesResult.Management/main.tsp +++ b/specification/awsconnector/RdsDBSnapshotAttributesResult.Management/main.tsp @@ -79,7 +79,7 @@ model RdsDBSnapshotAttributesResultProperties { @doc("Definition of awsRdsDBSnapshotAttributesResult") model AwsRdsDBSnapshotAttributesResultProperties { @doc("

The list of attributes and values for the manual DB snapshot.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dbSnapshotAttributes?: DBSnapshotAttribute[]; @doc("

The identifier of the manual DB snapshot that the attributes apply to.

") @@ -96,7 +96,6 @@ model DBSnapshotAttribute { attributeName?: string; @doc("

The value or values for the manual DB snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the Amazon Web Services accounts that are authorized to copy or restore the manual DB snapshot. If a value of all is in the list, then the manual DB snapshot is public and available for any Amazon Web Services account to copy or restore.

") - @extension("x-ms-identifiers", #[]) attributeValues?: string[]; } diff --git a/specification/awsconnector/RdsEventSubscription.Management/main.tsp b/specification/awsconnector/RdsEventSubscription.Management/main.tsp index 81845c640b58..736462ba1ac9 100644 --- a/specification/awsconnector/RdsEventSubscription.Management/main.tsp +++ b/specification/awsconnector/RdsEventSubscription.Management/main.tsp @@ -75,14 +75,12 @@ model AwsRdsEventSubscriptionProperties { enabled?: boolean = true; @doc("A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.") - @extension("x-ms-identifiers", #[]) eventCategories?: string[]; @doc("The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.") snsTopicArn?: string; @doc("The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.") - @extension("x-ms-identifiers", #[]) sourceIds?: string[]; @doc("The type of source that will be 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 is not specified, all events are returned.") @@ -92,7 +90,7 @@ model AwsRdsEventSubscriptionProperties { subscriptionName?: string; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/RdsExportTask.Management/main.tsp b/specification/awsconnector/RdsExportTask.Management/main.tsp index 25216157f0ad..04abe23fb01e 100644 --- a/specification/awsconnector/RdsExportTask.Management/main.tsp +++ b/specification/awsconnector/RdsExportTask.Management/main.tsp @@ -72,7 +72,6 @@ model RdsExportTaskProperties { @doc("Definition of awsRdsExportTask") model AwsRdsExportTaskProperties { @doc("

The data exported from the snapshot or cluster.

Valid Values:

  • database - Export all the data from a specified database.

  • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

  • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

  • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

") - @extension("x-ms-identifiers", #[]) exportOnly?: string[]; @doc("

A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.

") diff --git a/specification/awsconnector/RedshiftCluster.Management/main.tsp b/specification/awsconnector/RedshiftCluster.Management/main.tsp index eb0314fcf2b0..045b579ba1dc 100644 --- a/specification/awsconnector/RedshiftCluster.Management/main.tsp +++ b/specification/awsconnector/RedshiftCluster.Management/main.tsp @@ -102,7 +102,6 @@ model AwsRedshiftClusterProperties { clusterParameterGroupName?: string; @doc("A list of security groups to be associated with this cluster.") - @extension("x-ms-identifiers", #[]) clusterSecurityGroups?: string[]; @doc("The name of a cluster subnet group to be associated with this cluster.") @@ -154,7 +153,6 @@ model AwsRedshiftClusterProperties { hsmConfigurationIdentifier?: string; @doc("A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 50 IAM roles in a single request") - @extension("x-ms-identifiers", #[]) iamRoles?: string[]; @doc("The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.") @@ -233,11 +231,10 @@ model AwsRedshiftClusterProperties { snapshotIdentifier?: string; @doc("The list of tags for the cluster parameter group.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.") - @extension("x-ms-identifiers", #[]) vpcSecurityGroupIds?: string[]; } diff --git a/specification/awsconnector/RedshiftClusterParameterGroup.Management/main.tsp b/specification/awsconnector/RedshiftClusterParameterGroup.Management/main.tsp index 1d8172ba171f..89cc40c5a87a 100644 --- a/specification/awsconnector/RedshiftClusterParameterGroup.Management/main.tsp +++ b/specification/awsconnector/RedshiftClusterParameterGroup.Management/main.tsp @@ -88,11 +88,11 @@ model AwsRedshiftClusterParameterGroupProperties { parameterGroupName?: string; @doc("An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) parameters?: Parameter[]; @doc("An array of key-value pairs to apply to this resource.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/Route53HostedZone.Management/main.tsp b/specification/awsconnector/Route53HostedZone.Management/main.tsp index 68877497852e..06d218e2ef89 100644 --- a/specification/awsconnector/Route53HostedZone.Management/main.tsp +++ b/specification/awsconnector/Route53HostedZone.Management/main.tsp @@ -75,7 +75,7 @@ model AwsRoute53HostedZoneProperties { hostedZoneConfig?: HostedZoneConfig; @doc("Adds, edits, or deletes tags for a health check or a hosted zone. For information about using tags for cost allocation, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the *User Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) hostedZoneTags?: HostedZoneTag[]; @doc("Property id") @@ -85,14 +85,13 @@ model AwsRoute53HostedZoneProperties { name?: string; @doc("Property nameServers") - @extension("x-ms-identifiers", #[]) nameServers?: string[]; @doc("Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group. DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following: + Route 53 edge location that responded to the DNS query + Domain or subdomain that was requested + DNS record type, such as A or AAAA + DNS response code, such as ``NoError`` or ``ServFail`` + Log Group and Resource Policy Before you create a query logging configuration, perform the following operations. If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following: You must create the log group in the us-east-1 region. You must use the same to create the log group and the hosted zone that you want to configure query logging for. When you create log groups for query logging, we recommend that you use a consistent prefix, for example: /aws/route53/hosted zone name In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example: arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/* To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values: For aws:SourceArn, supply the hosted zone ARN used in creating the query logging configuration. For example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID. For aws:SourceAccount, supply the account ID for the account that creates the query logging configuration. For example, aws:SourceAccount:111111111111. For more information, see The confused deputy problem in the IAM User Guide. You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the SDKs, or the . + Log Streams and Edge Locations When Route 53 finishes creating the configuration for DNS query logging, it does the following: Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. Begins to send query logs to the applicable log stream. The name of each log stream is in the following format: hosted zone ID/edge location code The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see 'The Route 53 Global Network' on the Route 53 Product Details page. + Queries That Are Logged Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide. + Log File Format For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide. + Pricing For information about charges for query logs, see Amazon CloudWatch Pricing. + How to Stop Logging If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig. A complex type that contains information about a configuration for DNS query logging.") queryLoggingConfig?: QueryLoggingConfig; @doc("*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone. For public hosted zones, omit ``VPCs``, ``VPCId``, and ``VPCRegion``.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) vpCs?: VPC[]; } diff --git a/specification/awsconnector/Route53ResourceRecordSet.Management/main.tsp b/specification/awsconnector/Route53ResourceRecordSet.Management/main.tsp index beff6292c3a0..7a88d08905c2 100644 --- a/specification/awsconnector/Route53ResourceRecordSet.Management/main.tsp +++ b/specification/awsconnector/Route53ResourceRecordSet.Management/main.tsp @@ -100,7 +100,7 @@ model AwsRoute53ResourceRecordSetProperties { region?: ResourceRecordSetRegionEnumValue; @doc("

Information about the resource records to act upon.

If you're creating an alias resource record set, omit ResourceRecords.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) resourceRecords?: ResourceRecord[]; @doc("

Resource record sets that have a routing policy other than simple: An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of SetIdentifier must be unique for each resource record set.

For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.

") diff --git a/specification/awsconnector/S3AccessControlPolicy.Management/main.tsp b/specification/awsconnector/S3AccessControlPolicy.Management/main.tsp index aa2733098517..1e8672580ca3 100644 --- a/specification/awsconnector/S3AccessControlPolicy.Management/main.tsp +++ b/specification/awsconnector/S3AccessControlPolicy.Management/main.tsp @@ -73,7 +73,7 @@ model S3AccessControlPolicyProperties { @doc("Definition of awsS3AccessControlPolicy") model AwsS3AccessControlPolicyProperties { @doc("

A list of grants.

") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) grants?: Grant[]; @doc("

Container for the bucket owner's display name and ID.

") diff --git a/specification/awsconnector/S3Bucket.Management/main.tsp b/specification/awsconnector/S3Bucket.Management/main.tsp index dc603545e71c..80f1c6c21e12 100644 --- a/specification/awsconnector/S3Bucket.Management/main.tsp +++ b/specification/awsconnector/S3Bucket.Management/main.tsp @@ -139,7 +139,7 @@ model AwsS3BucketProperties { replicationConfiguration?: ReplicationConfiguration; @doc("An arbitrary set of tags (key-value pairs) for this S3 bucket.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them. Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.") @@ -218,7 +218,7 @@ model AnalyticsConfiguration { storageClassAnalysis?: StorageClassAnalysis; @doc("The tags to use when evaluating an analytics filter. The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tagFilters?: TagFilter[]; } @@ -229,7 +229,7 @@ model AnalyticsConfiguration { @doc("Definition of BucketEncryption") model BucketEncryption { @doc("Specifies the default server-side-encryption configuration.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) serverSideEncryptionConfiguration?: ServerSideEncryptionRule[]; } @@ -260,11 +260,11 @@ model IntelligentTieringConfiguration { status?: IntelligentTieringConfigurationStatus; @doc("A container for a key-value pair.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tagFilters?: TagFilter[]; @doc("Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``. You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tierings?: Tiering[]; } @@ -298,7 +298,6 @@ model InventoryConfiguration { includedObjectVersions?: InventoryConfigurationIncludedObjectVersions; @doc("Contains the optional fields that are included in the inventory results.") - @extension("x-ms-identifiers", #[]) optionalFields?: InventoryConfigurationOptionalFields[]; @doc("Specifies the inventory filter prefix.") @@ -423,7 +422,7 @@ model MetricsConfiguration { prefix?: string; @doc("Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tagFilters?: TagFilter[]; } @@ -437,15 +436,15 @@ model NotificationConfiguration { eventBridgeConfiguration?: EventBridgeConfiguration; @doc("Describes the LAMlong functions to invoke and the events for which to invoke them.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) lambdaConfigurations?: LambdaConfiguration[]; @doc("The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) queueConfigurations?: QueueConfiguration[]; @doc("The topic to which notifications are sent and the events for which notifications are generated.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) topicConfigurations?: TopicConfiguration[]; } @@ -469,7 +468,7 @@ model ObjectLockConfiguration { @doc("Definition of OwnershipControls") model OwnershipControls { @doc("Specifies the container element for Object Ownership rules.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) rules?: OwnershipControlsRule[]; } @@ -556,7 +555,7 @@ model WebsiteConfiguration { redirectAllRequestsTo?: RedirectAllRequestsTo; @doc("Rules that define when a redirect is applied and the redirect behavior.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) routingRules?: RoutingRule[]; } @@ -603,19 +602,15 @@ model ServerSideEncryptionRule { @doc("Definition of CorsRule") model CorsRule { @doc("Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.") - @extension("x-ms-identifiers", #[]) allowedHeaders?: string[]; @doc("An HTTP method that you allow the origin to run. *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``") - @extension("x-ms-identifiers", #[]) allowedMethods?: CorsRuleAllowedMethods[]; @doc("One or more origins you want customers to be able to access the bucket from.") - @extension("x-ms-identifiers", #[]) allowedOrigins?: string[]; @doc("One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).") - @extension("x-ms-identifiers", #[]) exposedHeaders?: string[]; @doc("A unique identifier for this rule. The value must be no more than 255 characters.") @@ -733,7 +728,7 @@ model Rule { noncurrentVersionTransition?: NoncurrentVersionTransition; @doc("For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) noncurrentVersionTransitions?: NoncurrentVersionTransition[]; @doc("Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.") @@ -749,14 +744,14 @@ model Rule { status?: RuleStatus; @doc("Tags to use to identify a subset of objects to which the lifecycle rule applies.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tagFilters?: TagFilter[]; @doc("(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property. Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.") transition?: Transition; @doc("One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) transitions?: Transition[]; } @@ -1314,7 +1309,7 @@ model RoutingRuleCondition { @doc("Definition of S3KeyFilter") model S3KeyFilter { @doc("A list of containers for the key-value pair that defines the criteria for the filter rule.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) rules?: FilterRule[]; } @@ -1396,7 +1391,7 @@ model ReplicationRuleAndOperator { prefix?: string; @doc("An array of tags containing key and value pairs.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tagFilters?: TagFilter[]; } diff --git a/specification/awsconnector/SageMakerApp.Management/main.tsp b/specification/awsconnector/SageMakerApp.Management/main.tsp index 5b83f17fc4ab..9a739d55d0ac 100644 --- a/specification/awsconnector/SageMakerApp.Management/main.tsp +++ b/specification/awsconnector/SageMakerApp.Management/main.tsp @@ -87,7 +87,7 @@ model AwsSageMakerAppProperties { resourceSpec?: ResourceSpec; @doc("A list of tags to apply to the app.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The user profile name.") diff --git a/specification/awsconnector/SageMakerNotebookInstanceSummary.Management/main.tsp b/specification/awsconnector/SageMakerNotebookInstanceSummary.Management/main.tsp index 89880c84b000..9c12b01f49ea 100644 --- a/specification/awsconnector/SageMakerNotebookInstanceSummary.Management/main.tsp +++ b/specification/awsconnector/SageMakerNotebookInstanceSummary.Management/main.tsp @@ -80,7 +80,6 @@ model SageMakerNotebookInstanceSummaryProperties { @doc("Definition of awsSageMakerNotebookInstanceSummary") model AwsSageMakerNotebookInstanceSummaryProperties { @doc("

An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in Amazon Web Services CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with SageMaker Notebook Instances.

") - @extension("x-ms-identifiers", #[]) additionalCodeRepositories?: string[]; @doc("

A timestamp that shows when the notebook instance was created.

") diff --git a/specification/awsconnector/SecretsManagerSecret.Management/main.tsp b/specification/awsconnector/SecretsManagerSecret.Management/main.tsp index 10a0f9082b29..0ef5005f6675 100644 --- a/specification/awsconnector/SecretsManagerSecret.Management/main.tsp +++ b/specification/awsconnector/SecretsManagerSecret.Management/main.tsp @@ -87,14 +87,14 @@ model AwsSecretsManagerSecretProperties { name?: string; @doc("A custom type that specifies a ``Region`` and the ``KmsKeyId`` for a replica secret.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) replicaRegions?: ReplicaRegion[]; @doc("The text to encrypt and store in the secret. We recommend you use a JSON structure of key/value pairs for your secret value. To generate a random password, use ``GenerateSecretString`` instead. If you omit both ``GenerateSecretString`` and ``SecretString``, you create an empty secret. When you make a change to this property, a new secret version is created.") secretString?: string; @doc("A list of tags to attach to the secret. Each tag is a key and value pair of strings in a JSON text string, for example: ``[{'Key':'CostCenter','Value':'12345'},{'Key':'environment','Value':'production'}]`` Secrets Manager tag key names are case sensitive. A tag with the key 'ABC' is a different tag from one with key 'abc'. Stack-level tags, tags you apply to the CloudFormation stack, are also attached to the secret. If you check tags in permissions policies as part of your security strategy, then adding or removing a tag can change permissions. If the completion of this operation would result in you losing your permissions for this secret, then Secrets Manager blocks the operation and returns an ``Access Denied`` error. For more information, see [Control access to secrets using tags](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#tag-secrets-abac) and [Limit access to identities with tags that match secrets' tags](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_tags2). For information about how to format a JSON parameter for the various command line tool environments, see [Using JSON for Parameters](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json). If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. The following restrictions apply to tags: + Maximum number of tags per secret: 50 + Maximum key length: 127 Unicode characters in UTF-8 + Maximum value length: 255 Unicode characters in UTF-8 + Tag keys and values are case sensitive. + Do not use the ``aws:`` prefix in your tag names or values because AWS reserves it for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit. + If you use your tagging schema across multiple services and resources, other services might have restrictions on allowed characters. Generally allowed characters: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; } diff --git a/specification/awsconnector/SnsTopic.Management/main.tsp b/specification/awsconnector/SnsTopic.Management/main.tsp index 339701a98ece..eb7b9e016b17 100644 --- a/specification/awsconnector/SnsTopic.Management/main.tsp +++ b/specification/awsconnector/SnsTopic.Management/main.tsp @@ -81,7 +81,7 @@ model AwsSnsTopicProperties { dataProtectionPolicy?: unknown; @doc("Property deliveryStatusLogging") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) deliveryStatusLogging?: LoggingConfig[]; @doc("The display name to use for an SNS topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.") @@ -97,11 +97,11 @@ model AwsSnsTopicProperties { signatureVersion?: string; @doc("The SNS subscriptions (endpoints) for this topic. If you specify the ``Subscription`` property in the ``AWS::SNS::Topic`` resource and it creates an associated subscription resource, the associated subscription is not deleted when the ``AWS::SNS::Topic`` resource is deleted.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) subscription?: Subscription[]; @doc("The list of tags to add to a new topic. To be able to tag a topic on creation, you must have the ``sns:CreateTopic`` and ``sns:TagResource`` permissions.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("Property topicArn") diff --git a/specification/awsconnector/SqsQueue.Management/main.tsp b/specification/awsconnector/SqsQueue.Management/main.tsp index 9794f9614648..cdf78db54811 100644 --- a/specification/awsconnector/SqsQueue.Management/main.tsp +++ b/specification/awsconnector/SqsQueue.Management/main.tsp @@ -120,7 +120,7 @@ model AwsSqsQueueProperties { sqsManagedSseEnabled?: boolean; @doc("The tags that you attach to this queue. For more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *User Guide*.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tag[]; @doc("The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue. Values must be from 0 to 43,200 seconds (12 hours). If you don't specify a value, AWS CloudFormation uses the default value of 30 seconds. For more information about SQS queue visibility timeouts, see [Visibility timeout](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) in the *Developer Guide*.") diff --git a/specification/awsconnector/Wafv2LoggingConfiguration.Management/main.tsp b/specification/awsconnector/Wafv2LoggingConfiguration.Management/main.tsp index 7ad9588042b1..a42d9fdfb651 100644 --- a/specification/awsconnector/Wafv2LoggingConfiguration.Management/main.tsp +++ b/specification/awsconnector/Wafv2LoggingConfiguration.Management/main.tsp @@ -73,7 +73,6 @@ model Wafv2LoggingConfigurationProperties { @doc("Definition of awsWafv2LoggingConfiguration") model AwsWafv2LoggingConfigurationProperties { @doc("The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.") - @extension("x-ms-identifiers", #[]) logDestinationConfigs?: string[]; @doc("Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.") @@ -83,7 +82,7 @@ model AwsWafv2LoggingConfigurationProperties { managedByFirewallManager?: boolean; @doc("The parts of the request that you want to keep out of the logs. For example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) redactedFields?: FieldToMatch[]; @doc("The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.") @@ -100,7 +99,7 @@ model LoggingFilterModelProperties { defaultBehavior?: DefaultBehavior; @doc("The filters that you want to apply to the logs.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) filters?: Filter[]; } @@ -144,7 +143,7 @@ model Filter { behavior?: FilterBehavior; @doc("Match conditions for the filter.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) conditions?: Condition[]; @doc("Logic to apply to the filtering conditions. You can specify that, in order to satisfy the filter, a log must match all conditions or must match at least one condition.") diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/accessAnalyzerAnalyzer.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/accessAnalyzerAnalyzer.json index 5cee7a5bf28a..ec0123a27982 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/accessAnalyzerAnalyzer.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/accessAnalyzerAnalyzer.json @@ -541,16 +541,14 @@ "description": "Property contains", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "eq": { "type": "array", "description": "Property eq", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exists": { "type": "boolean", @@ -561,8 +559,7 @@ "description": "Property neq", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "property": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/acmCertificateSummary.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/acmCertificateSummary.json index cfaa636b4792..4b86ba37567d 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/acmCertificateSummary.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/acmCertificateSummary.json @@ -502,8 +502,7 @@ "description": "

Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

", "items": { "$ref": "#/definitions/ExtendedKeyUsageName" - }, - "x-ms-identifiers": [] + } }, "hasAdditionalSubjectAlternativeNames": { "type": "boolean", @@ -532,8 +531,7 @@ "description": "

A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

", "items": { "$ref": "#/definitions/KeyUsageName" - }, - "x-ms-identifiers": [] + } }, "notAfter": { "type": "string", @@ -563,8 +561,7 @@ "description": "

One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

When called by ListCertificates, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "type": { "$ref": "#/definitions/CertificateTypeEnumValue", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/apiGatewayRestApi.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/apiGatewayRestApi.json index a44fb90b1e52..f5792a066808 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/apiGatewayRestApi.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/apiGatewayRestApi.json @@ -489,8 +489,7 @@ "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "body": { "type": "object", @@ -572,16 +571,14 @@ "description": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``'EDGE'``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcEndpointIds": { "type": "array", "description": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/autoScalingAutoScalingGroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/autoScalingAutoScalingGroup.json index 3c3121b450b9..4190eb0377dc 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/autoScalingAutoScalingGroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/autoScalingAutoScalingGroup.json @@ -521,8 +521,7 @@ "description": "A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the ``VPCZoneIdentifier`` property, or for attaching a network interface when an existing network interface ID is specified in a launch template.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "capacityRebalance": { "type": "boolean", @@ -587,8 +586,7 @@ "description": "A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify the ``TargetGroupARNs`` property instead.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "maxInstanceLifetime": { "type": "integer", @@ -652,24 +650,21 @@ "description": "The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "terminationPolicies": { "type": "array", "description": "A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Work with Amazon EC2 Auto Scaling termination policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. Valid values: ``Default`` | ``AllocationStrategy`` | ``ClosestToNextInstanceHour`` | ``NewestInstance`` | ``OldestInstance`` | ``OldestLaunchConfiguration`` | ``OldestLaunchTemplate`` | ``arn:aws:lambda:region:account-id:function:my-function:my-alias``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcZoneIdentifier": { "type": "array", "description": "A list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). When you update ``VPCZoneIdentifier``, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). Required to launch instances into a nondefault VPC. If you specify ``VPCZoneIdentifier`` with ``AvailabilityZones``, the subnets that you specify for this property must reside in those Availability Zones.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -718,16 +713,14 @@ "description": "Indicates whether instance types must have accelerators by specific manufacturers. + For instance types with NVIDIA devices, specify ``nvidia``. + For instance types with AMD devices, specify ``amd``. + For instance types with AWS devices, specify ``amazon-web-services``. + For instance types with Xilinx devices, specify ``xilinx``. Default: Any manufacturer", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "acceleratorNames": { "type": "array", "description": "Lists the accelerators that must be on an instance type. + For instance types with NVIDIA A100 GPUs, specify ``a100``. + For instance types with NVIDIA V100 GPUs, specify ``v100``. + For instance types with NVIDIA K80 GPUs, specify ``k80``. + For instance types with NVIDIA T4 GPUs, specify ``t4``. + For instance types with NVIDIA M60 GPUs, specify ``m60``. + For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520``. + For instance types with Xilinx VU9P FPGAs, specify ``vu9p``. Default: Any accelerator", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "acceleratorTotalMemoryMiB": { "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest", @@ -738,16 +731,14 @@ "description": "Lists the accelerator types that must be on an instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "allowedInstanceTypes": { "type": "array", "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types. If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``. Default: All instance types", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "bareMetal": { "type": "string", @@ -766,24 +757,21 @@ "description": "Lists which specific CPU manufacturers to include. + For instance types with Intel CPUs, specify ``intel``. + For instance types with AMD CPUs, specify ``amd``. + For instance types with AWS CPUs, specify ``amazon-web-services``. Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "excludedInstanceTypes": { "type": "array", "description": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types. If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``. Default: No excluded instance types", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "instanceGenerations": { "type": "array", "description": "Indicates whether current or previous generation instance types are included. + For current generation instance types, specify ``current``. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*. + For previous generation instance types, specify ``previous``. Default: Any current or previous generation", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "localStorage": { "type": "string", @@ -794,8 +782,7 @@ "description": "Indicates the type of local storage that is required. + For instance types with hard disk drive (HDD) storage, specify ``hdd``. + For instance types with solid state drive (SSD) storage, specify ``ssd``. Default: Any local storage type", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "maxSpotPriceAsPercentageOfOptimalOnDemandPrice": { "type": "integer", @@ -1013,8 +1000,7 @@ "description": "Identifies the metrics to enable. You can specify one or more of the following metrics: + ``GroupMinSize`` + ``GroupMaxSize`` + ``GroupDesiredCapacity`` + ``GroupInServiceInstances`` + ``GroupPendingInstances`` + ``GroupStandbyInstances`` + ``GroupTerminatingInstances`` + ``GroupTotalInstances`` + ``GroupInServiceCapacity`` + ``GroupPendingCapacity`` + ``GroupStandbyCapacity`` + ``GroupTerminatingCapacity`` + ``GroupTotalCapacity`` + ``WarmPoolDesiredCapacity`` + ``WarmPoolWarmedCapacity`` + ``WarmPoolPendingCapacity`` + ``WarmPoolTerminatingCapacity`` + ``WarmPoolTotalCapacity`` + ``GroupAndWarmPoolDesiredCapacity`` + ``GroupAndWarmPoolTotalCapacity`` If you specify ``Granularity`` and don't specify any metrics, all metrics are enabled. For more information, see [Auto Scaling group metrics](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics) in the *Amazon EC2 Auto Scaling User Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1073,8 +1059,7 @@ "description": "A list of event types that send a notification. Event types can include any of the following types. *Allowed values*: + ``autoscaling:EC2_INSTANCE_LAUNCH`` + ``autoscaling:EC2_INSTANCE_LAUNCH_ERROR`` + ``autoscaling:EC2_INSTANCE_TERMINATE`` + ``autoscaling:EC2_INSTANCE_TERMINATE_ERROR`` + ``autoscaling:TEST_NOTIFICATION``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "topicARN": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStack.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStack.json index 9940b35c818f..91453cbb8ffc 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStack.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStack.json @@ -390,8 +390,7 @@ "description": "Property capabilities", "items": { "$ref": "#/definitions/Capabilities" - }, - "x-ms-identifiers": [] + } }, "changeSetId": { "type": "string", @@ -422,8 +421,7 @@ "description": "Property notificationARNs", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "outputs": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStackSet.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStackSet.json index bea51d3b3aca..6505298982f7 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStackSet.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFormationStackSet.json @@ -426,8 +426,7 @@ "description": "In some cases, you must explicitly acknowledge that your stack set template contains certain capabilities in order for AWS CloudFormation to create the stack set and related stack instances.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "description": { "type": "string", @@ -623,8 +622,7 @@ "description": "AWS accounts that you want to create stack instances in the specified Region(s) for.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "accountsUrl": { "type": "string", @@ -635,8 +633,7 @@ "description": "The organization root ID or organizational unit (OU) IDs to which StackSets deploys.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -709,8 +706,7 @@ "description": "Property regionOrder", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -852,8 +848,7 @@ "description": "The names of one or more Regions where you want to create stack instances using the specified AWS account(s).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFrontDistribution.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFrontDistribution.json index 48bf399501da..56fe44005b68 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFrontDistribution.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudFrontDistribution.json @@ -416,8 +416,7 @@ "description": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices: + CloudFront forwards only ``GET`` and ``HEAD`` requests. + CloudFront forwards only ``GET``, ``HEAD``, and ``OPTIONS`` requests. + CloudFront forwards ``GET, HEAD, OPTIONS, PUT, PATCH, POST``, and ``DELETE`` requests. If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cachePolicyId": { "type": "string", @@ -428,8 +427,7 @@ "description": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices: + CloudFront caches responses to ``GET`` and ``HEAD`` requests. + CloudFront caches responses to ``GET``, ``HEAD``, and ``OPTIONS`` requests. If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "compress": { "type": "boolean", @@ -505,16 +503,14 @@ "description": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "trustedSigners": { "type": "array", "description": "We recommend using ``TrustedKeyGroups`` instead of ``TrustedSigners``. A list of AWS-account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in the trusted signer's AWS-account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "viewerProtocolPolicy": { "type": "string", @@ -630,8 +626,7 @@ "description": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include cookies in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -698,8 +693,7 @@ "description": "Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include ``SSLv3``, ``TLSv1``, ``TLSv1.1``, and ``TLSv1.2``. For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -712,8 +706,7 @@ "description": "A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices: + CloudFront forwards only ``GET`` and ``HEAD`` requests. + CloudFront forwards only ``GET``, ``HEAD``, and ``OPTIONS`` requests. + CloudFront forwards ``GET, HEAD, OPTIONS, PUT, PATCH, POST``, and ``DELETE`` requests. If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cachePolicyId": { "type": "string", @@ -724,8 +717,7 @@ "description": "A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices: + CloudFront caches responses to ``GET`` and ``HEAD`` requests. + CloudFront caches responses to ``GET``, ``HEAD``, and ``OPTIONS`` requests. If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "compress": { "type": "boolean", @@ -797,16 +789,14 @@ "description": "A list of key groups that CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted key groups, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "trustedSigners": { "type": "array", "description": "We recommend using ``TrustedKeyGroups`` instead of ``TrustedSigners``. A list of AWS-account IDs whose public keys CloudFront can use to validate signed URLs or signed cookies. When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with the private key of a CloudFront key pair in a trusted signer's AWS-account. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see [Serving private content](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "viewerProtocolPolicy": { "type": "string", @@ -823,16 +813,14 @@ "description": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cnamEs": { "type": "array", "description": "Property cnamEs", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cacheBehaviors": { "type": "array", @@ -939,8 +927,7 @@ "description": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include headers in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send headers to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. A complex type that specifies the ``Headers``, if any, that you want CloudFront to forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests. For more information, see [Caching Content Based on Request Headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) in the *Amazon CloudFront Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "queryString": { "type": "boolean", @@ -951,8 +938,7 @@ "description": "This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include query strings in the cache key, use a cache policy. For more information, see [Creating cache policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) in the *Amazon CloudFront Developer Guide*. If you want to send query strings to the origin but not include them in the cache key, use an origin request policy. For more information, see [Creating origin request policies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) in the *Amazon CloudFront Developer Guide*. A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -979,8 +965,7 @@ "description": "A complex type that contains a ``Location`` element for each country in which you want CloudFront either to distribute your content or not distribute your content.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "restrictionType": { "type": "string", @@ -1035,8 +1020,7 @@ "description": "Property originSSLProtocols", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1313,8 +1297,7 @@ "items": { "type": "integer", "format": "int32" - }, - "x-ms-identifiers": [] + } }, "quantity": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudTrailTrail.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudTrailTrail.json index 960ef264e9c0..e9e195ed1d9e 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudTrailTrail.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudTrailTrail.json @@ -408,16 +408,14 @@ "description": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "equals": { "type": "array", "description": "An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "field": { "type": "string", @@ -428,32 +426,28 @@ "description": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "notEquals": { "type": "array", "description": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "notStartsWith": { "type": "array", "description": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "startsWith": { "type": "array", "description": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -659,8 +653,7 @@ "description": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -681,8 +674,7 @@ "description": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing 'kms.amazonaws.com'. By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "includeManagementEvents": { "type": "boolean", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudWatchAlarm.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudWatchAlarm.json index 1458b8b49783..09ab66adbc7a 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudWatchAlarm.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/cloudWatchAlarm.json @@ -395,8 +395,7 @@ "description": "The list of actions to execute when this alarm transitions into an ALARM state from any other state. Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *API Reference*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "alarmDescription": { "type": "string", @@ -445,8 +444,7 @@ "description": "The actions to execute when this alarm transitions to the ``INSUFFICIENT_DATA`` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "metricName": { "type": "string", @@ -469,8 +467,7 @@ "description": "The actions to execute when this alarm transitions to the ``OK`` state from any other state. Each action is specified as an Amazon Resource Name (ARN).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "period": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/codeBuildProject.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/codeBuildProject.json index d553b16724d0..df5aad1ce611 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/codeBuildProject.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/codeBuildProject.json @@ -675,8 +675,7 @@ "description": "

An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the CodeBuild User Guide for these values.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "maximumBuildsAllowed": { "type": "integer", @@ -1394,8 +1393,7 @@ "description": "

An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for LOCAL cache types.

Possible values are:

LOCAL_SOURCE_CACHE

Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.

LOCAL_DOCKER_LAYER_CACHE

Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.

  • You can use a Docker layer cache in the Linux environment only.

  • The privileged flag must be set so that your project has the required Docker permissions.

  • You should consider the security implications before you use a Docker layer cache.

LOCAL_CUSTOM_CACHE

Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:

  • Only directories can be specified for caching. You cannot specify individual files.

  • Symlinks are used to reference cached directories.

  • Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.

", "items": { "$ref": "#/definitions/CacheMode" - }, - "x-ms-identifiers": [] + } }, "type": { "$ref": "#/definitions/CacheTypeEnumValue", @@ -1818,16 +1816,14 @@ "description": "

A list of one or more security groups IDs in your Amazon VPC.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnets": { "type": "array", "description": "

A list of one or more subnet IDs in your Amazon VPC.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/configServiceConfigurationRecorder.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/configServiceConfigurationRecorder.json index 5e25c9ecbb57..515b188816e3 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/configServiceConfigurationRecorder.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/configServiceConfigurationRecorder.json @@ -507,8 +507,7 @@ "description": "

A comma-separated list of resource types to exclude from recording by the configuration recorder.

", "items": { "$ref": "#/definitions/ResourceType" - }, - "x-ms-identifiers": [] + } } } }, @@ -626,8 +625,7 @@ "description": "

A comma-separated list that specifies which resource types Config records.

For a list of valid resourceTypes values, see the Resource Type Value column in Supported Amazon Web Services resource Types in the Config developer guide.

Required and optional fields

Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

To record all configuration changes, set the allSupported field of RecordingGroup to true, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes, when Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

Region availability

Before specifying a resource type for Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the Amazon Web Services Region where you set up Config. If a resource type is supported by Config in at least one Region, you can enable the recording of that resource type in all Regions supported by Config, even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

", "items": { "$ref": "#/definitions/ResourceType" - }, - "x-ms-identifiers": [] + } } } }, @@ -666,8 +664,7 @@ "description": "

A comma-separated list that specifies which resource types Config includes in the override.

Daily recording is not supported for the following resource types:

  • AWS::Config::ResourceCompliance

  • AWS::Config::ConformancePackCompliance

  • AWS::Config::ConfigurationRecorder

", "items": { "$ref": "#/definitions/ResourceType" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/databaseMigrationServiceReplicationInstance.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/databaseMigrationServiceReplicationInstance.json index 49a07f60b8d5..8f8e35b03a13 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/databaseMigrationServiceReplicationInstance.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/databaseMigrationServiceReplicationInstance.json @@ -467,8 +467,7 @@ "description": "

One or more IPv6 addresses for the replication instance.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "replicationInstancePrivateIpAddress": { "type": "string", @@ -479,8 +478,7 @@ "description": "

One or more private IP addresses for the replication instance.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "replicationInstancePublicIpAddress": { "type": "string", @@ -491,8 +489,7 @@ "description": "

One or more public IP addresses for the replication instance.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "replicationInstanceStatus": { "type": "string", @@ -722,8 +719,7 @@ "description": "

The IP addressing protocol supported by the subnet group. This is used by a replication instance with values such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/daxCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/daxCluster.json index 8700a9fff7ea..3da7146ab7eb 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/daxCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/daxCluster.json @@ -419,8 +419,7 @@ "description": "

A list of nodes to be removed from the cluster.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "nodeType": { "type": "string", @@ -675,8 +674,7 @@ "description": "

The node IDs of one or more nodes to be rebooted.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "parameterApplyStatus": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/dynamoDBTable.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/dynamoDBTable.json index 1bdbeb1e7e5a..8c9483df5642 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/dynamoDBTable.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/dynamoDBTable.json @@ -524,8 +524,7 @@ "description": "List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -779,8 +778,7 @@ "description": "Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of ``NonKeyAttributes`` summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "projectionType": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2NetworkInterface.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2NetworkInterface.json index dfec167b55bf..7b558fddf96a 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2NetworkInterface.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2NetworkInterface.json @@ -402,8 +402,7 @@ "description": "A list of security group IDs associated with this network interface.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "id": { "type": "string", @@ -482,8 +481,7 @@ "description": "Returns the secondary private IP addresses of the network interface.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "sourceDestCheck": { "type": "boolean", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Subnet.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Subnet.json index 5f8d69d4917e..68356a07f435 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Subnet.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Subnet.json @@ -428,8 +428,7 @@ "description": "The IPv6 network ranges for the subnet, in CIDR notation.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "ipv6IpamPoolId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2VPCEndpoint.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2VPCEndpoint.json index 2e44f929779a..de77c72ebcc5 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2VPCEndpoint.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2VPCEndpoint.json @@ -394,8 +394,7 @@ "description": "Property dnsEntries", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "id": { "type": "string", @@ -406,8 +405,7 @@ "description": "Property networkInterfaceIds", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "policyDocument": { "type": "object", @@ -423,16 +421,14 @@ "description": "The IDs of the route tables. Routing is supported only for gateway endpoints.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "securityGroupIds": { "type": "array", "description": "The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "serviceName": { "type": "string", @@ -443,8 +439,7 @@ "description": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcEndpointType": { "$ref": "#/definitions/VpcEndpointType", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Vpc.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Vpc.json index 8977a83d2a5a..c636dc2693de 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Vpc.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ec2Vpc.json @@ -394,8 +394,7 @@ "description": "Property cidrBlockAssociations", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "defaultNetworkAcl": { "type": "string", @@ -431,8 +430,7 @@ "description": "Property ipv6CidrBlocks", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "tags": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrImageDetail.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrImageDetail.json index 95a2a55dde67..9c30f1d0be29 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrImageDetail.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrImageDetail.json @@ -420,8 +420,7 @@ "description": "

The list of tags associated with this image.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "lastRecordedPullTime": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrRepository.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrRepository.json index 4acd74bd7d72..fd085c18c87e 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrRepository.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecrRepository.json @@ -609,7 +609,7 @@ }, "registryId": { "type": "string", - "description": "The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed. The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed." + "description": "The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed. The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed." } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsCluster.json index eee0aa9f572e..3a00d99419b4 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsCluster.json @@ -394,8 +394,7 @@ "description": "The short name of one or more capacity providers to associate with the cluster. A capacity provider must be associated with a cluster before it can be included as part of the default capacity provider strategy of the cluster or used in a capacity provider strategy when calling the [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html) or [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) actions. If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not associated with another cluster. New Auto Scaling group capacity providers can be created with the [CreateCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html) API operation. To use a FARGATElong capacity provider, specify either the ``FARGATE`` or ``FARGATE_SPOT`` capacity providers. The FARGATElong capacity providers are available to all accounts and only need to be associated with a cluster to be used. The [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "clusterName": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsService.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsService.json index e81ff5a90b27..23b265217205 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsService.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsService.json @@ -531,16 +531,14 @@ "description": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. All specified security groups must be from the same VPC.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnets": { "type": "array", "description": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. All specified subnets must be from the same VPC.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -597,8 +595,7 @@ "description": "One or more CloudWatch alarm names. Use a ',' to separate the alarms.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "enable": { "type": "boolean", @@ -694,7 +691,7 @@ "properties": { "propagateTags": { "$ref": "#/definitions/EBSTagSpecificationPropagateTags", - "description": "Determines whether to propagate the tags from the task definition to 
the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in 
``ServiceVolumeConfiguration``. If no value is specified, the tags aren't 
propagated." + "description": "Determines whether to propagate the tags from the task definition to the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in ``ServiceVolumeConfiguration``. If no value is specified, the tags aren't propagated." }, "resourceType": { "type": "string", @@ -1226,7 +1223,7 @@ }, "filesystemType": { "type": "string", - "description": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start. The available filesystem types are
 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default." + "description": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start. The available filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default." }, "iops": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsTaskDefinition.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsTaskDefinition.json index e36a6d13a546..6bab68be58f8 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsTaskDefinition.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/ecsTaskDefinition.json @@ -488,8 +488,7 @@ "description": "The task launch types the task definition was validated against. The valid values are ``EC2``, ``FARGATE``, and ``EXTERNAL``. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "runtimePlatform": { "$ref": "#/definitions/RuntimePlatform", @@ -530,8 +529,7 @@ "description": "The command that's passed to the container. This parameter maps to ``Cmd`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``COMMAND`` parameter to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#cmd](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple arguments, each argument is a separated string in the array.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cpu": { "type": "integer", @@ -543,8 +541,7 @@ "description": "A list of ARNs in SSM or Amazon S3 to a credential spec (``CredSpec``) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions``. The maximum number of ARNs is 1. There are two formats for each ARN. + credentialspecdomainless:MyARN You use credentialspecdomainless:MyARN to provide a CredSpec with an additional section for a secret in . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. + credentialspec:MyARN You use credentialspec:MyARN to provide a CredSpec for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3. If you provide a ``credentialspecdomainless:MyARN``, the ``credspec`` must provide a ARN in ASMlong for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dependsOn": { "type": "array", @@ -563,16 +560,14 @@ "description": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--dns-search`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dnsServers": { "type": "array", "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--dns`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dockerLabels": { "description": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--label`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``" @@ -582,16 +577,14 @@ "description": "A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. This parameter maps to ``SecurityOpt`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--security-opt`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. For more information about valid values, see [Docker Run Security Configuration](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Valid values: 'no-new-privileges' | 'apparmor:PROFILE' | 'label:value' | 'credentialspec:CredentialSpecFilePath'", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "entryPoint": { "type": "array", "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--entrypoint`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). For more information, see [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "environment": { "type": "array", @@ -646,8 +639,7 @@ "description": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to [Legacy container links](https://docs.aws.amazon.com/https://docs.docker.com/network/links/) in the Docker documentation. This parameter maps to ``Links`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--link`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). This parameter is not supported for Windows containers. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "linuxParameters": { "$ref": "#/definitions/LinuxParameters", @@ -794,8 +786,7 @@ "description": "The explicit permissions to provide to the container for the device. By default, the container has permissions for ``read``, ``write``, and ``mknod`` for the device.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1048,8 +1039,7 @@ "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets. ``[ 'CMD-SHELL', 'curl -f http://localhost/ || exit 1' ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "interval": { "type": "integer", @@ -1120,16 +1110,14 @@ "description": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cap-add`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``'ALL' | 'AUDIT_CONTROL' | 'AUDIT_WRITE' | 'BLOCK_SUSPEND' | 'CHOWN' | 'DAC_OVERRIDE' | 'DAC_READ_SEARCH' | 'FOWNER' | 'FSETID' | 'IPC_LOCK' | 'IPC_OWNER' | 'KILL' | 'LEASE' | 'LINUX_IMMUTABLE' | 'MAC_ADMIN' | 'MAC_OVERRIDE' | 'MKNOD' | 'NET_ADMIN' | 'NET_BIND_SERVICE' | 'NET_BROADCAST' | 'NET_RAW' | 'SETFCAP' | 'SETGID' | 'SETPCAP' | 'SETUID' | 'SYS_ADMIN' | 'SYS_BOOT' | 'SYS_CHROOT' | 'SYS_MODULE' | 'SYS_NICE' | 'SYS_PACCT' | 'SYS_PTRACE' | 'SYS_RAWIO' | 'SYS_RESOURCE' | 'SYS_TIME' | 'SYS_TTY_CONFIG' | 'SYSLOG' | 'WAKE_ALARM'``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "drop": { "type": "array", "description": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--cap-drop`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). Valid values: ``'ALL' | 'AUDIT_CONTROL' | 'AUDIT_WRITE' | 'BLOCK_SUSPEND' | 'CHOWN' | 'DAC_OVERRIDE' | 'DAC_READ_SEARCH' | 'FOWNER' | 'FSETID' | 'IPC_LOCK' | 'IPC_OWNER' | 'KILL' | 'LEASE' | 'LINUX_IMMUTABLE' | 'MAC_ADMIN' | 'MAC_OVERRIDE' | 'MKNOD' | 'NET_ADMIN' | 'NET_BIND_SERVICE' | 'NET_BROADCAST' | 'NET_RAW' | 'SETFCAP' | 'SETGID' | 'SETPCAP' | 'SETUID' | 'SYS_ADMIN' | 'SYS_BOOT' | 'SYS_CHROOT' | 'SYS_MODULE' | 'SYS_NICE' | 'SYS_PACCT' | 'SYS_PTRACE' | 'SYS_RAWIO' | 'SYS_RESOURCE' | 'SYS_TIME' | 'SYS_TTY_CONFIG' | 'SYSLOG' | 'WAKE_ALARM'``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1477,8 +1465,7 @@ "description": "The list of tmpfs volume mount options.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "size": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/efsMountTarget.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/efsMountTarget.json index 6ebe82a4dd21..b1267771b108 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/efsMountTarget.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/efsMountTarget.json @@ -402,8 +402,7 @@ "description": "Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksCluster.json index 7c69d6837ce7..d190344dab90 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksCluster.json @@ -427,8 +427,7 @@ "description": "

The resource IDs that the issue relates to.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -758,8 +757,7 @@ "description": "

Specifies the resources to be encrypted. The only supported value is secrets.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -838,8 +836,7 @@ "description": "

The available cluster control plane log types.

", "items": { "$ref": "#/definitions/LogType" - }, - "x-ms-identifiers": [] + } } } }, @@ -936,8 +933,7 @@ "description": "

The ARN of the Outpost that you specified for use with your local Amazon EKS cluster on Outposts.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1027,24 +1023,21 @@ "description": "

The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "securityGroupIds": { "type": "array", "description": "

The security groups associated with the cross-account elastic network interfaces that are used to allow communication between your nodes and the Kubernetes control plane.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetIds": { "type": "array", "description": "

The subnets associated with your cluster.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksNodegroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksNodegroup.json index a8bf201f40ff..a7dba808a023 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksNodegroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/eksNodegroup.json @@ -419,8 +419,7 @@ "description": "Specify the instance types for a node group.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "labels": { "type": "object", @@ -458,8 +457,7 @@ "description": "The subnets to use for the Auto Scaling group that is created for your node group.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "tags": { "type": "object", @@ -667,8 +665,7 @@ "description": "Property sourceSecurityGroups", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2Listener.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2Listener.json index 39fc6820e308..6f9504193486 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2Listener.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2Listener.json @@ -527,8 +527,7 @@ "description": "[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "certificates": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2LoadBalancer.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2LoadBalancer.json index c928e0d007b2..67cfbdd49e00 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2LoadBalancer.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2LoadBalancer.json @@ -434,8 +434,7 @@ "description": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetMappings": { "type": "array", @@ -450,8 +449,7 @@ "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones. [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "tags": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2TargetGroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2TargetGroup.json index adf013f0e140..60046a1cc7e3 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2TargetGroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/elasticLoadBalancingV2TargetGroup.json @@ -425,8 +425,7 @@ "description": "The Amazon Resource Names (ARNs) of the load balancers that route traffic to this target group.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "matcher": { "$ref": "#/definitions/Matcher", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/emrCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/emrCluster.json index 528328b9653c..f2d8e7261afb 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/emrCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/emrCluster.json @@ -397,8 +397,7 @@ "description": "

Arguments for Amazon EMR to pass to the application.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "name": { "type": "string", @@ -802,16 +801,14 @@ "description": "

A list of additional Amazon EC2 security group IDs for the master node.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "additionalSlaveSecurityGroups": { "type": "array", "description": "

A list of additional Amazon EC2 security group IDs for the core and task nodes.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "ec2AvailabilityZone": { "type": "string", @@ -842,16 +839,14 @@ "description": "

Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch Amazon EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "requestedEc2SubnetIds": { "type": "array", "description": "

Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch Amazon EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the Amazon EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "serviceAccessSecurityGroup": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamGroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamGroup.json index 21f982398aae..88fb9cdcfdd7 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamGroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamGroup.json @@ -398,8 +398,7 @@ "description": "The Amazon Resource Name (ARN) of the IAM policy you want to attach. For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "path": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamInstanceProfile.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamInstanceProfile.json index 77d0ac0ed8cb..4a82341fe913 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamInstanceProfile.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamInstanceProfile.json @@ -402,8 +402,7 @@ "description": "The name of the role to associate with the instance profile. Only one role can be assigned to an EC2 instance at a time, and all applications on the instance share the same role and permissions.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamRole.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamRole.json index d6bd6b66e3cc..8919b0382c58 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamRole.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamRole.json @@ -403,8 +403,7 @@ "description": "A list of Amazon Resource Names (ARNs) of the IAM managed policies that you want to attach to the role. For more information about ARNs, see [Amazon Resource Names (ARNs) and Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "maxSessionDuration": { "type": "integer", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamVirtualMFADevice.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamVirtualMFADevice.json index 263be835e1e4..179fe1de6f56 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamVirtualMFADevice.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/iamVirtualMFADevice.json @@ -406,8 +406,7 @@ "description": "Property users", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "virtualMfaDeviceName": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lambdaFunction.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lambdaFunction.json index 01f5b8c5cb8b..fb53bbb9c491 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lambdaFunction.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lambdaFunction.json @@ -414,8 +414,7 @@ "description": "The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.", "items": { "$ref": "#/definitions/Architectures" - }, - "x-ms-identifiers": [] + } }, "arn": { "type": "string", @@ -474,8 +473,7 @@ "description": "A list of [function layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "loggingConfig": { "$ref": "#/definitions/LoggingConfig", @@ -621,16 +619,14 @@ "description": "Specifies parameters that you want to pass in with ENTRYPOINT. You can specify a maximum of 1,500 parameters in the list.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "entryPoint": { "type": "array", "description": "Specifies the entry point to their application, which is typically the location of the runtime executable. You can specify a maximum of 1,500 string entries in the list.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "workingDirectory": { "type": "string", @@ -1137,16 +1133,14 @@ "description": "A list of VPC security group IDs.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetIds": { "type": "array", "description": "A list of VPC subnet IDs.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } } diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailBucket.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailBucket.json index 3dba81fbf6bd..162de373a5ff 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailBucket.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailBucket.json @@ -428,16 +428,14 @@ "description": "An array of strings to specify the AWS account IDs that can access the bucket.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "resourcesReceivingAccess": { "type": "array", "description": "The names of the Lightsail resources for which to set bucket access.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "tags": { "type": "array", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailInstance.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailInstance.json index e753283ec1ab..17f2159881ee 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailInstance.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/lightsailInstance.json @@ -774,16 +774,14 @@ "description": "cidr List Aliases", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "cidrs": { "type": "array", "description": "Property cidrs", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "commonName": { "type": "string", @@ -799,8 +797,7 @@ "description": "IPv6 Cidrs", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "protocol": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/macie2JobSummary.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/macie2JobSummary.json index 8957f9472c51..e56e4d30631c 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/macie2JobSummary.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/macie2JobSummary.json @@ -839,8 +839,7 @@ "description": "

An array that lists the names of the buckets.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -861,8 +860,7 @@ "description": "

An array that lists one or more values to use in the condition. If you specify multiple values, Amazon Macie uses OR logic to join the values. Valid values for each supported property (key) are:

  • ACCOUNT_ID - A string that represents the unique identifier for the Amazon Web Services account that owns the bucket.

  • S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an enumerated value that Macie defines for the BucketPublicAccess.effectivePermission property of a bucket.

  • S3_BUCKET_NAME - A string that represents the name of a bucket.

  • S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated value that Macie defines for the BucketMetadata.sharedAccess property of a bucket.

Values are case sensitive. Also, Macie doesn't support use of partial values or wildcard characters in these values.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewall.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewall.json index 9d3b8d2a6e62..141e083a5720 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewall.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewall.json @@ -398,8 +398,7 @@ "description": "Property endpointIds", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "firewallArn": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewallPolicy.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewallPolicy.json index 777f8608d7b5..ed4173ac36d2 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewallPolicy.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallFirewallPolicy.json @@ -462,8 +462,7 @@ "description": "Property statefulDefaultActions", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "statefulEngineOptions": { "$ref": "#/definitions/StatefulEngineOptions", @@ -490,16 +489,14 @@ "description": "Property statelessDefaultActions", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "statelessFragmentDefaultActions": { "type": "array", "description": "Property statelessFragmentDefaultActions", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "statelessRuleGroupReferences": { "type": "array", @@ -524,8 +521,7 @@ "description": "Property definition", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallRuleGroup.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallRuleGroup.json index d704b68386ef..93df1bf19884 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallRuleGroup.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/networkFirewallRuleGroup.json @@ -657,8 +657,7 @@ "description": "Property definition", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -698,8 +697,7 @@ "items": { "type": "integer", "format": "int32" - }, - "x-ms-identifiers": [] + } }, "sourcePorts": { "type": "array", @@ -847,8 +845,7 @@ "description": "Property definition", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -943,8 +940,7 @@ "description": "Property actions", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "matchAttributes": { "$ref": "#/definitions/MatchAttributes", @@ -987,8 +983,7 @@ "description": "Property settings", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1051,16 +1046,14 @@ "description": "Property targetTypes", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "targets": { "type": "array", "description": "Property targets", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, @@ -1226,16 +1219,14 @@ "description": "Property flags", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "masks": { "type": "array", "description": "Property masks", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/openSearchDomainStatus.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/openSearchDomainStatus.json index e3e9583ff2b7..b6fb3f214e5b 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/openSearchDomainStatus.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/openSearchDomainStatus.json @@ -2173,24 +2173,21 @@ "description": "

The list of Availability Zones associated with the VPC subnets.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "securityGroupIds": { "type": "array", "description": "

The list of security group IDs associated with the VPC endpoints for the domain.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "subnetIds": { "type": "array", "description": "

A list of subnet IDs associated with the VPC endpoints for the domain.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "vpcId": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/organizationsAccount.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/organizationsAccount.json index aa417cc714f4..70473fe126d0 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/organizationsAccount.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/organizationsAccount.json @@ -414,8 +414,7 @@ "description": "List of parent nodes for the member account. Currently only one parent at a time is supported. Default is root.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "roleName": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBCluster.json index a1731a5dc196..9f741603b5b7 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBCluster.json @@ -407,8 +407,7 @@ "description": "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "backtrackWindow": { "type": "integer", @@ -479,8 +478,7 @@ "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "enableGlobalWriteForwarding": { "type": "boolean", @@ -649,8 +647,7 @@ "description": "A list of EC2 VPC security groups to associate with this DB cluster.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBInstance.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBInstance.json index 27884db100ea..bfefa11d70e7 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBInstance.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBInstance.json @@ -480,8 +480,7 @@ "description": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template. If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups. If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations: + ``AllocatedStorage`` + ``AutoMinorVersionUpgrade`` + ``AvailabilityZone`` + ``BackupRetentionPeriod`` + ``CharacterSetName`` + ``DBInstanceClass`` + ``DBName`` + ``DBParameterGroupName`` + ``DBSecurityGroups`` + ``DBSubnetGroupName`` + ``Engine`` + ``EngineVersion`` + ``Iops`` + ``LicenseModel`` + ``MasterUsername`` + ``MasterUserPassword`` + ``MultiAZ`` + ``OptionGroupName`` + ``PreferredBackupWindow`` + ``PreferredMaintenanceWindow`` All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as ``StorageType``, ``StorageEncrypted``, or ``KmsKeyId``. If you're already using the ``DBSecurityGroups`` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dbSnapshotIdentifier": { "type": "string", @@ -524,8 +523,7 @@ "description": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. Constraints: + Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. Example: ``123.124.125.126,234.235.236.237``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "domainFqdn": { "type": "string", @@ -544,8 +542,7 @@ "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide*. *Amazon Aurora* Not applicable. CloudWatch Logs exports are managed by the DB cluster. *Db2* Valid values: ``diag.log``, ``notify.log`` *MariaDB* Valid values: ``audit``, ``error``, ``general``, ``slowquery`` *Microsoft SQL Server* Valid values: ``agent``, ``error`` *MySQL* Valid values: ``audit``, ``error``, ``general``, ``slowquery`` *Oracle* Valid values: ``alert``, ``audit``, ``listener``, ``trace``, ``oemagent`` *PostgreSQL* Valid values: ``postgresql``, ``upgrade``", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "enableIAMDatabaseAuthentication": { "type": "boolean", @@ -739,8 +736,7 @@ "description": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template. If you plan to update the resource, don't specify VPC security groups in a shared VPC. If you set ``VPCSecurityGroups``, you must not set [DBSecurityGroups](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups), and vice versa. You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind: + You can't revert to using an RDS security group after you establish a VPC security group membership. + When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group. + To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [DBSecurityGroups](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. *Amazon Aurora* Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBSnapshotAttributesResult.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBSnapshotAttributesResult.json index 08b2f195a244..f6ebbe05df0a 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBSnapshotAttributesResult.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsDBSnapshotAttributesResult.json @@ -412,8 +412,7 @@ "description": "

The value or values for the manual DB snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the Amazon Web Services accounts that are authorized to copy or restore the manual DB snapshot. If a value of all is in the list, then the manual DB snapshot is public and available for any Amazon Web Services account to copy or restore.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsEventSubscription.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsEventSubscription.json index a90dea32e6d7..ec34dc4097c0 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsEventSubscription.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsEventSubscription.json @@ -395,8 +395,7 @@ "description": "A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "snsTopicArn": { "type": "string", @@ -407,8 +406,7 @@ "description": "The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "sourceType": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsExportTask.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsExportTask.json index 247cd8147104..972e63029321 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsExportTask.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/rdsExportTask.json @@ -390,8 +390,7 @@ "description": "

The data exported from the snapshot or cluster.

Valid Values:

  • database - Export all the data from a specified database.

  • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

  • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

  • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exportTaskIdentifier": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/redshiftCluster.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/redshiftCluster.json index 26cf588b4d86..bdf3e5d6013c 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/redshiftCluster.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/redshiftCluster.json @@ -431,8 +431,7 @@ "description": "A list of security groups to be associated with this cluster.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "clusterSubnetGroupName": { "type": "string", @@ -504,8 +503,7 @@ "description": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 50 IAM roles in a single request", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "kmsKeyId": { "type": "string", @@ -623,8 +621,7 @@ "description": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } } }, diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/route53HostedZone.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/route53HostedZone.json index ec7f8fedcad8..91cc3e6da7cf 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/route53HostedZone.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/route53HostedZone.json @@ -410,8 +410,7 @@ "description": "Property nameServers", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "queryLoggingConfig": { "$ref": "#/definitions/QueryLoggingConfig", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/s3Bucket.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/s3Bucket.json index 6fb129ef2480..474ec9c4888d 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/s3Bucket.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/s3Bucket.json @@ -685,32 +685,28 @@ "description": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "allowedMethods": { "type": "array", "description": "An HTTP method that you allow the origin to run. *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``", "items": { "$ref": "#/definitions/CorsRuleAllowedMethods" - }, - "x-ms-identifiers": [] + } }, "allowedOrigins": { "type": "array", "description": "One or more origins you want customers to be able to access the bucket from.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exposedHeaders": { "type": "array", "description": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "id": { "type": "string", @@ -1027,8 +1023,7 @@ "description": "Contains the optional fields that are included in the inventory results.", "items": { "$ref": "#/definitions/InventoryConfigurationOptionalFields" - }, - "x-ms-identifiers": [] + } }, "prefix": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/sageMakerNotebookInstanceSummary.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/sageMakerNotebookInstanceSummary.json index 5ff49bc300db..fbe009187a84 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/sageMakerNotebookInstanceSummary.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/sageMakerNotebookInstanceSummary.json @@ -390,8 +390,7 @@ "description": "

An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in Amazon Web Services CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with SageMaker Notebook Instances.

", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "creationTime": { "type": "string", diff --git a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/wafv2LoggingConfiguration.json b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/wafv2LoggingConfiguration.json index 697a95d33a64..8a5a2e021775 100644 --- a/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/wafv2LoggingConfiguration.json +++ b/specification/awsconnector/resource-manager/Microsoft.AwsConnector/stable/2024-12-01/wafv2LoggingConfiguration.json @@ -448,8 +448,7 @@ "description": "The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "loggingFilter": { "$ref": "#/definitions/LoggingFilterModelProperties", diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp index 7af7971bf08e..8ee2cf2d3d9e 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp @@ -383,7 +383,7 @@ model StorageProfile { Specifies information about the operating system disk used by Azure Large Instance. """) - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) osDisks?: Disk[]; } @@ -437,7 +437,7 @@ model OsProfile { @doc("Specifies the network settings for the Azure Large Instance disks.") model NetworkProfile { @doc("Specifies the network interfaces for the Azure Large Instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) networkInterfaces?: IpAddress[]; @removed(Versions.v2024_08_01_preview) diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/models.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/models.tsp index 3cda85fb4f86..6c0a50dd32bb 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/models.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/models.tsp @@ -690,7 +690,7 @@ model LogicalNetworkProperties { dhcpOptions?: LogicalNetworkPropertiesDhcpOptions; @doc("Subnet - list of subnets under the logical network") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) subnets?: Subnet[]; @doc("Provisioning state of the logical network.") @@ -735,7 +735,7 @@ model SubnetProperties { ipAllocationMethod?: IpAllocationMethodEnum; @doc("IPConfigurationReferences - list of IPConfigurationReferences") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipConfigurationReferences?: SubnetIpConfigurationReference[]; @doc("NetworkSecurityGroup - Network Security Group attached to the logical network.") @@ -745,7 +745,7 @@ model SubnetProperties { routeTable?: RouteTable; @doc("network associated pool of IP Addresses") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipPools?: IPPool[]; @doc("Vlan to use for the subnet") @@ -775,7 +775,7 @@ model RouteTable { @doc("RouteTablePropertiesFormat - Route Table resource.") model RouteTableProperties { @doc("Collection of routes contained within a route table.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) routes?: Route[]; } @@ -914,7 +914,7 @@ model SecurityRuleProperties { @doc("Properties under the network interface resource") model NetworkInterfaceProperties { @doc("IPConfigurations - A list of IPConfigurations of the network interface.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) ipConfigurations?: IPConfiguration[]; @doc("MacAddress - The MAC address of the network interface.") @@ -1410,7 +1410,7 @@ model VirtualMachineInstancePropertiesHardwareProfile { #suppress "@azure-tools/typespec-azure-core/casing-style" "GPU is a short form. It is the correct case." @added(Versions.v2024_05_01_preview) @doc("virtualMachineGPUs - list of gpus to be attached to the virtual machine instance") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) virtualMachineGPUs?: VirtualMachineInstancePropertiesHardwareProfileVirtualMachineGPU[]; } @@ -1490,7 +1490,7 @@ model VirtualMachineInstancePropertiesOsProfileLinuxConfiguration { @doc("SSH configuration for Linux based VMs running on Azure") model SshConfiguration { @doc("The list of SSH public keys used to authenticate with linux based VMs.") - @extension("x-ms-identifiers", #["path"]) + @identifiers(#["path"]) publicKeys?: SshPublicKey[]; } @@ -1617,7 +1617,7 @@ model VirtualMachineConfigAgentInstanceView { vmConfigAgentVersion?: string; @doc("The resource status information.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) statuses?: InstanceViewStatus[]; } @@ -1741,7 +1741,7 @@ model HardwareProfileUpdate { #suppress "@azure-tools/typespec-azure-core/casing-style" "GPU is a short form. It is the correct case." @added(Versions.v2024_05_01_preview) @doc("virtualMachineGPUs - updated list of GPUs on the virtual machine instance") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) virtualMachineGPUs?: VirtualMachineInstancePropertiesHardwareProfileVirtualMachineGPU[]; } diff --git a/specification/codesigning/CodeSigning.Management/models.tsp b/specification/codesigning/CodeSigning.Management/models.tsp index e7f184dcd859..eed3e731fb1d 100644 --- a/specification/codesigning/CodeSigning.Management/models.tsp +++ b/specification/codesigning/CodeSigning.Management/models.tsp @@ -251,7 +251,7 @@ model CertificateProfileProperties { #suppress "deprecated" "Legacy flatten" @doc("List of renewed certificates.") @visibility("read") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) @Azure.ClientGenerator.Core.flattenProperty certificates?: Certificate[]; } diff --git a/specification/containerservice/Fleet.Management/update/run.tsp b/specification/containerservice/Fleet.Management/update/run.tsp index ea21c195e714..4fc4d9a14d0e 100644 --- a/specification/containerservice/Fleet.Management/update/run.tsp +++ b/specification/containerservice/Fleet.Management/update/run.tsp @@ -101,7 +101,7 @@ model NodeImageSelection { @added(Versions.v2024_05_02_preview) @doc("Custom node image versions to upgrade the nodes to. This field is required if node image selection type is Custom. Otherwise, it must be empty. For each node image family (e.g., 'AKSUbuntu-1804gen2containerd'), this field can contain at most one version (e.g., only one of 'AKSUbuntu-1804gen2containerd-2023.01.12' or 'AKSUbuntu-1804gen2containerd-2023.02.12', not both). If the nodes belong to a family without a matching image version in this field, they are not upgraded.") - @extension("x-ms-identifiers", #["version"]) + @identifiers(#["version"]) customNodeImageVersions?: NodeImageVersion[]; } @@ -213,7 +213,7 @@ model UpdateRunStatus { @doc("The node image upgrade specs for the update run.") @added(Versions.v2023_06_15_preview) model NodeImageSelectionStatus { - @extension("x-ms-identifiers", #["version"]) + @identifiers(#["version"]) @visibility("read") @doc("The image versions to upgrade the nodes to.") selectedNodeImageVersions?: NodeImageVersion[]; @@ -334,7 +334,7 @@ model SkipTarget { @added(Versions.v2024_02_02_preview) model SkipProperties { @doc("The targets to skip.") - @extension("x-ms-identifiers", #["type", "name"]) + @identifiers(#["type", "name"]) targets: SkipTarget[]; } diff --git a/specification/databasewatcher/DatabaseWatcher.Management/healthValidation.tsp b/specification/databasewatcher/DatabaseWatcher.Management/healthValidation.tsp index 08ae1d4b4744..8b38b28c96b8 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/healthValidation.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/healthValidation.tsp @@ -49,7 +49,7 @@ model HealthValidationProperties { status: validationStatus; @visibility("read") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) @doc("The list of issues found by health validation.") issues: ValidationIssue[]; diff --git a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp index e207b44a674c..baaf607a1702 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp @@ -125,7 +125,7 @@ model X509Credentials { @removed(Versions.v2024_09_01_preview) model TransportAuthentication { @doc("Defines a reference to a secret which contains all certificates and private keys that can be used by the southbound connector connecting to the shop floor/OT device. The accepted extensions are .der for certificates and .pfx/.pem for private keys.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) @removed(Versions.v2024_09_01_preview) ownCertificates: OwnCertificate[]; } @@ -148,7 +148,7 @@ model OwnCertificate { model AssetEndpointProfileStatus { @doc("Array object to transfer and persist errors that originate from the Edge.") @visibility("read") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) errors?: AssetEndpointProfileStatusError[]; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp index 68aa55866305..7e0e58801068 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp @@ -121,16 +121,16 @@ model AssetProperties { @doc("Array of data points that are part of the asset. Each data point can reference an asset type capability and have per-data point configuration.") @removed(Versions.v2024_09_01_preview) - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dataPoints?: DataPoint[]; @doc("Array of datasets that are part of the asset. Each dataset describes the data points that make up the set.") @added(Versions.v2024_09_01_preview) - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) datasets?: Dataset[]; @doc("Array of events that are part of the asset. Each event can have per-event configuration.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) events?: Event[]; @doc("Read only object to reflect changes that have occurred on the Edge. Similar to Kubernetes status property for custom resources.") @@ -155,7 +155,7 @@ model Dataset { topic?: Topic; @doc("Array of data points that are part of the dataset. Each data point can have per-data point configuration.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dataPoints?: DataPoint[]; } @@ -297,7 +297,7 @@ union EventObservabilityMode { model AssetStatus { @doc("Array object to transfer and persist errors that originate from the Edge.") @visibility("read") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) errors?: AssetStatusError[]; @doc("A read only incremental counter indicating the number of times the configuration has been modified from the perspective of the current actual (Edge) state of the Asset. Edge would be the only writer of this value and would sync back up to the cloud. In steady state, this should equal version.") @@ -308,13 +308,13 @@ model AssetStatus { @doc("Array of dataset statuses that describe the status of each dataset.") @visibility("read") @added(Versions.v2024_09_01_preview) - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) datasets?: AssetStatusDataset[]; @doc("Array of event statuses that describe the status of each event.") @visibility("read") @added(Versions.v2024_09_01_preview) - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) events?: AssetStatusEvent[]; } diff --git a/specification/deviceregistry/DeviceRegistry.Management/discoveredAssetEndpointProfiles.tsp b/specification/deviceregistry/DeviceRegistry.Management/discoveredAssetEndpointProfiles.tsp index 65642413342e..fc5ff415bfc3 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/discoveredAssetEndpointProfiles.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/discoveredAssetEndpointProfiles.tsp @@ -47,7 +47,6 @@ model DiscoveredAssetEndpointProfileProperties { additionalConfiguration?: string; @doc("List of supported authentication methods supported by the target server.") - @extension("x-ms-identifiers", #[]) supportedAuthenticationMethods?: AuthenticationMethod[]; @doc("Defines the configuration for the connector type that is being used with the endpoint profile.") diff --git a/specification/deviceregistry/DeviceRegistry.Management/discoveredAssets.tsp b/specification/deviceregistry/DeviceRegistry.Management/discoveredAssets.tsp index ba547251f496..c8bc421b8510 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/discoveredAssets.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/discoveredAssets.tsp @@ -83,11 +83,11 @@ model DiscoveredAssetProperties { defaultTopic?: Topic; @doc("Array of datasets that are part of the asset. Each dataset spec describes the data points that make up the set.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) datasets?: DiscoveredDataset[]; @doc("Array of events that are part of the asset. Each event can have per-event configuration.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) events?: DiscoveredEvent[]; @doc("Provisioning state of the resource.") @@ -109,7 +109,7 @@ model DiscoveredDataset { topic?: Topic; @doc("Array of data points that are part of the dataset. Each data point can have per-data point configuration.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dataPoints?: DiscoveredDataPoint[]; } diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2024-09-01-preview/deviceregistry.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2024-09-01-preview/deviceregistry.json index 3a4b127055f5..5a71618f28bc 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2024-09-01-preview/deviceregistry.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2024-09-01-preview/deviceregistry.json @@ -3411,8 +3411,7 @@ "description": "List of supported authentication methods supported by the target server.", "items": { "$ref": "#/definitions/AuthenticationMethod" - }, - "x-ms-identifiers": [] + } }, "endpointProfileType": { "type": "string", @@ -3476,8 +3475,7 @@ "description": "List of supported authentication methods supported by the target server.", "items": { "$ref": "#/definitions/AuthenticationMethod" - }, - "x-ms-identifiers": [] + } }, "endpointProfileType": { "type": "string", diff --git a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp index 1c16779a8f4c..29198df84706 100644 --- a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp +++ b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp @@ -74,7 +74,7 @@ model GitHubOrganizationProfile extends OrganizationProfile { kind: "GitHub"; @doc("The list of GitHub organizations/repositories the pool should be present in.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) organizations: GitHubOrganization[]; } @doc("Defines a GitHub organization") @@ -92,7 +92,7 @@ model AzureDevOpsOrganizationProfile extends OrganizationProfile { kind: "AzureDevOps"; @doc("The list of Azure DevOps organizations the pool should be present in.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) organizations: Organization[]; @doc("The type of permission which determines which accounts are admins on the Azure DevOps pool.") @@ -152,7 +152,7 @@ model VmssFabricProfile extends FabricProfile { sku: DevOpsAzureSku; @doc("The VM images of the machines in the pool.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) images: PoolImage[]; @doc("The OS profile of the machines in the pool.") @@ -177,7 +177,7 @@ model StorageProfile { osDiskStorageAccountType?: OsDiskStorageAccountType; @doc("A list of empty data disks to attach.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) dataDisks?: DataDisk[]; } @@ -625,7 +625,7 @@ model ResourceSkuLocationInfo { zones: string[]; @doc("Gets details of capabilities available to a SKU in specific zones.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) zoneDetails: ResourceSkuZoneDetails[]; } @@ -635,7 +635,7 @@ model ResourceSkuZoneDetails { name: string[]; @doc("A list of capabilities that are available for the SKU in the specified list of zones.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) capabilities: ResourceSkuCapabilities[]; } @@ -670,15 +670,15 @@ model ResourceSkuProperties { locations: azureLocation[]; @doc("A list of locations and availability zones in those locations where the SKU is available") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) locationInfo: ResourceSkuLocationInfo[]; @doc("Name value pairs to describe the capability.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) capabilities: ResourceSkuCapabilities[]; @doc("The restrictions of the SKU.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) restrictions: ResourceSkuRestrictions[]; } diff --git a/specification/ews/SecretSyncController.Management/secretsync.tsp b/specification/ews/SecretSyncController.Management/secretsync.tsp index 68d3ff127eb7..a36310a59940 100644 --- a/specification/ews/SecretSyncController.Management/secretsync.tsp +++ b/specification/ews/SecretSyncController.Management/secretsync.tsp @@ -46,7 +46,7 @@ model SecretSyncProperties { @doc("An array of SecretObjectData that maps secret data from the external secret provider to the Kubernetes secret. Each entry specifies the source secret in the external provider and the corresponding key in the Kubernetes secret.") @minItems(1) - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) objectSecretMapping: KubernetesSecretObjectMapping[]; @visibility("read") @@ -109,7 +109,7 @@ model SecretSyncStatus { @visibility("read") lastSuccessfulSyncTime?: utcDateTime; - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) @doc("Conditions represent the status of the secret create and update processes. The status can be True, False, or Unknown with various reasons and messages explaining the state. Examples of reasons include CreateSucceeded, ProviderError, InvalidClusterSecretLabelError, InvalidClusterSecretAnnotationError, UnknownError, ValidatingAdmissionPolicyCheckFailed, UserInputValidationFailed, ControllerSpcError, ControllerInternalError, NoValueChange, and ValueChangeOrForceUpdateDetected.") @visibility("read") conditions?: SecretSyncCondition[]; diff --git a/specification/impact/Impact.Management/ImpactCategories.tsp b/specification/impact/Impact.Management/ImpactCategories.tsp index 1b496813b247..06dba3284df0 100644 --- a/specification/impact/Impact.Management/ImpactCategories.tsp +++ b/specification/impact/Impact.Management/ImpactCategories.tsp @@ -40,7 +40,7 @@ model ImpactCategoryProperties is ResourceProperties { description?: string; @doc("The workloadImpact properties which are required when reporting with the impact category") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) requiredImpactProperties?: RequiredImpactProperties[]; } diff --git a/specification/impact/Impact.Management/workloadImpacts.tsp b/specification/impact/Impact.Management/workloadImpacts.tsp index a7bff228da78..aaae13412194 100644 --- a/specification/impact/Impact.Management/workloadImpacts.tsp +++ b/specification/impact/Impact.Management/workloadImpacts.tsp @@ -50,11 +50,10 @@ model WorkloadImpactProperties is ResourceProperties { impactDescription?: string; @doc("The ARM correlation ids, this is important field for control plane related impacts") - @extension("x-ms-identifiers", #[]) armCorrelationIds?: string[]; @doc("Details about performance issue. Applicable for performance impacts.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) performance?: Performance[]; @doc("Details about connectivity issue. Applicable when root resource causing the issue is not identified. For example, when a VM is impacted due to a network issue, the impacted resource is identified as the VM, but the root cause is the network. In such cases, the connectivity field will have the details about the network issue") diff --git a/specification/impact/resource-manager/Microsoft.Impact/preview/2024-05-01-preview/impact.json b/specification/impact/resource-manager/Microsoft.Impact/preview/2024-05-01-preview/impact.json index 89de17921485..d91d640f5860 100644 --- a/specification/impact/resource-manager/Microsoft.Impact/preview/2024-05-01-preview/impact.json +++ b/specification/impact/resource-manager/Microsoft.Impact/preview/2024-05-01-preview/impact.json @@ -1838,8 +1838,7 @@ "description": "The ARM correlation ids, this is important field for control plane related impacts", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "performance": { "type": "array", diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/datalakeconnector.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/datalakeconnector.tsp index 0f97bf007fdf..a557a45cde9e 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/datalakeconnector.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/datalakeconnector.tsp @@ -241,7 +241,7 @@ model DataLakeConnectorMap { @doc("Delta table properties") model DeltaTable { @doc("Schema list supported.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) schema: DeltaTableSchema[]; @doc("Delta table name.") diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/kafkaconnector.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/kafkaconnector.tsp index 50b5552e079e..80038a872f22 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/kafkaconnector.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/kafkaconnector.tsp @@ -206,7 +206,7 @@ model KafkaTopicMapProperties { partitionStrategy?: KafkaPartitionStrategy = KafkaPartitionStrategy.default; @doc("The route details for Kafka connector.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) routes: KafkaRoutes[]; @visibility("read") diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbridgeconnector.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbridgeconnector.tsp index d2421ed1eb06..4dc27d7ba092 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbridgeconnector.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbridgeconnector.tsp @@ -148,7 +148,7 @@ model MqttBridgeTopicMapProperties { mqttBridgeConnectorRef: string; @doc("The route details for MqttBridge connector.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) routes?: MqttBridgeRoutes[]; @visibility("read") diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp index a5c1fe97f6d2..9fa30d27c9c1 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp @@ -250,7 +250,6 @@ model DiskBackedMessageBufferSettings { @doc("VolumeClaimSpec properties") model VolumeClaimSpec { @doc("AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1") - @OpenAPI.extension("x-ms-identifiers", #[]) accessModes?: string[]; @doc("This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.") @@ -317,7 +316,7 @@ model VolumeClaimResourceRequirements { @doc("VolumeClaimSpecSelector properties") model VolumeClaimSpecSelector { @doc("MatchExpressions is a list of label selector requirements. The requirements are ANDed.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) matchExpressions?: VolumeClaimSpecSelectorMatchExpressions[]; #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" @@ -509,7 +508,7 @@ model BrokerAuthenticationResource model BrokerAuthenticationProperties { // GENERATION FIX TEMP - add "minProperties": 1 and "maxProperties": 1 to this property after creation. @doc("The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) authenticationMethods: BrokerAuthenticatorMethods[]; @doc("The array of listener Resources it supports.") @@ -660,14 +659,14 @@ model AuthorizationConfig { enableCache?: boolean = true; @doc("Authorization Rules to be used. If no rule is set, but Authorization Resource is used that would mean DenyAll.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) rules?: AuthorizationBasicRule[]; } @doc("BasicRules of AuthorizationConfig Polar rules are not supported") model AuthorizationBasicRule { @doc("This subfield defines the broker resources that the Basic Rule is applied on.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) brokerResources: ResourceInfoDefinition[]; @doc("This subfield defines the identities that represent the clients.") @@ -678,7 +677,7 @@ model AuthorizationBasicRule { model PrincipalDefinition { #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" @doc("A list of key-value pairs that match the attributes of the clients. The attributes are case-sensitive and must match the attributes provided by the clients during authentication.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) attributes?: Record[] = #[]; @doc("A list of client IDs that match the clients. The client IDs are case-sensitive and must match the client IDs provided by the clients during connection.") diff --git a/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json b/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json index 70205ed0f26a..ec78541163d9 100644 --- a/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json +++ b/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json @@ -9226,8 +9226,7 @@ "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dataSource": { "$ref": "#/definitions/VolumeClaimDataSource", @@ -9314,8 +9313,7 @@ "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "dataSource": { "$ref": "#/definitions/VolumeClaimDataSourceUpdate", diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp index 3461a072f351..2e795d63e262 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp @@ -32,7 +32,7 @@ model Solution is TrackedResource { @doc("The properties of a Solution resource.") model SolutionProperties { @doc("A list of components") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) components?: ComponentProperties[]; @doc("Version of the particular resource.") diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp index 9a32ccfcc65c..4ac09f2b3898 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp @@ -32,14 +32,14 @@ model Target is TrackedResource { @doc("The properties of a Target resource.") model TargetProperties { @doc("A list of components.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) components?: ComponentProperties[]; @doc("Deployment scope (such as Kubernetes namespace).") scope?: string; @doc("Defines the device topology for a target or instance.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) topologies?: TopologiesProperties[]; @doc("Reconciliation Policy.") @@ -56,7 +56,7 @@ model TargetProperties { @doc("Defines a desired runtime component.") model TopologiesProperties { @doc("bindings description.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) bindings?: BindingProperties[]; } diff --git a/specification/loadtestservice/LoadTestService.Management/models.tsp b/specification/loadtestservice/LoadTestService.Management/models.tsp index 5bbc982c9a86..f6e80945b107 100644 --- a/specification/loadtestservice/LoadTestService.Management/models.tsp +++ b/specification/loadtestservice/LoadTestService.Management/models.tsp @@ -130,7 +130,7 @@ model EndpointDependency { @doc("The list of connection details for this endpoint.") @visibility("read") - @extension("x-ms-identifiers", #["port"]) + @identifiers(#["port"]) endpointDetails?: EndpointDetail[]; } @@ -142,7 +142,7 @@ model OutboundEnvironmentEndpoint { @doc("The endpoints for this service to which the Batch service makes outbound calls.") @visibility("read") - @extension("x-ms-identifiers", #["domainName"]) + @identifiers(#["domainName"]) endpoints?: EndpointDependency[]; } diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp index 094efa6a92da..1ee17c2e6b14 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp @@ -128,7 +128,7 @@ model MongoClusterProperties { publicNetworkAccess?: PublicNetworkAccess; /** The list of node group specs in the cluster. */ - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) @removed(Versions.v2024_07_01) nodeGroupSpecs?: NodeGroupSpec[]; @@ -253,7 +253,7 @@ model BackupProperties { model ListConnectionStringsResult { /** An array that contains the connection strings for a mongo cluster. */ @visibility("read") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) connectionStrings?: ConnectionString[]; } diff --git a/specification/monitor/Microsoft.Monitor.Management/typespec/pipelineGroup.tsp b/specification/monitor/Microsoft.Monitor.Management/typespec/pipelineGroup.tsp index 3d10313e1751..237ee40b6776 100644 --- a/specification/monitor/Microsoft.Monitor.Management/typespec/pipelineGroup.tsp +++ b/specification/monitor/Microsoft.Monitor.Management/typespec/pipelineGroup.tsp @@ -41,22 +41,22 @@ model PipelineGroupProperties { replicas?: int32; @doc("The receivers specified for a pipeline group instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) receivers: Receiver[]; @doc("The processors specified for a pipeline group instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) processors: Processor[]; @doc("The exporters specified for a pipeline group instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) exporters: Exporter[]; @doc("The service section for a given pipeline group instance.") service: Service; @doc("Networking configurations for the pipeline group instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) networkingConfigurations?: NetworkingConfiguration[]; @doc("The provisioning state of a pipeline group instance. Set to Succeeded if everything is healthy.") @@ -154,11 +154,10 @@ union ExporterType { @doc("Service Info.") model Service { @doc("Pipelines belonging to a given pipeline group.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) pipelines: Pipeline[]; @doc("Persistence options to all pipelines in the instance.") - @extension("x-ms-identifiers", #[]) persistence?: PersistenceConfigurations; } @@ -172,15 +171,12 @@ model Pipeline { type: PipelineType; @doc("Reference to receivers configured for the pipeline.") - @extension("x-ms-identifiers", #[]) receivers: string[]; @doc("Reference to processors configured for the pipeline.") - @extension("x-ms-identifiers", #[]) processors?: string[]; @doc("Reference to exporters configured for the pipeline.") - @extension("x-ms-identifiers", #[]) exporters: string[]; } @@ -202,7 +198,7 @@ model NetworkingConfiguration { host?: string; @doc("Networking routes configuration.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) routes: NetworkingRoute[]; } diff --git a/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/pipelineGroup.tsp b/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/pipelineGroup.tsp index 3e833fd76697..9ab191d6dec3 100644 --- a/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/pipelineGroup.tsp +++ b/specification/monitor/Microsoft.Monitor.PipelineGroups.Management/typespec/pipelineGroup.tsp @@ -39,22 +39,22 @@ model PipelineGroupProperties { replicas?: int32; @doc("The receivers specified for a pipeline group instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) receivers: Receiver[]; @doc("The processors specified for a pipeline group instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) processors: Processor[]; @doc("The exporters specified for a pipeline group instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) exporters: Exporter[]; @doc("The service section for a given pipeline group instance.") service: Service; @doc("Networking configurations for the pipeline group instance.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) networkingConfigurations?: NetworkingConfiguration[]; @doc("The provisioning state of a pipeline group instance. Set to Succeeded if everything is healthy.") @@ -152,11 +152,10 @@ union ExporterType { @doc("Service Info.") model Service { @doc("Pipelines belonging to a given pipeline group.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) pipelines: Pipeline[]; @doc("Persistence options to all pipelines in the instance.") - @extension("x-ms-identifiers", #[]) persistence?: PersistenceConfigurations; } @@ -170,15 +169,12 @@ model Pipeline { type: PipelineType; @doc("Reference to receivers configured for the pipeline.") - @extension("x-ms-identifiers", #[]) receivers: string[]; @doc("Reference to processors configured for the pipeline.") - @extension("x-ms-identifiers", #[]) processors?: string[]; @doc("Reference to exporters configured for the pipeline.") - @extension("x-ms-identifiers", #[]) exporters: string[]; } @@ -200,7 +196,7 @@ model NetworkingConfiguration { host?: string; @doc("Networking routes configuration.") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) routes: NetworkingRoute[]; } diff --git a/specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json b/specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json index 99d56778924e..be30fe9f66cf 100644 --- a/specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json +++ b/specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json @@ -812,24 +812,21 @@ "description": "Reference to receivers configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "processors": { "type": "array", "description": "Reference to processors configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exporters": { "type": "array", "description": "Reference to exporters configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } }, "required": [ @@ -1278,8 +1275,7 @@ }, "persistence": { "$ref": "#/definitions/PersistenceConfigurations", - "description": "Persistence options to all pipelines in the instance.", - "x-ms-identifiers": [] + "description": "Persistence options to all pipelines in the instance." } }, "required": [ @@ -1300,8 +1296,7 @@ }, "persistence": { "$ref": "#/definitions/PersistenceConfigurationsUpdate", - "description": "Persistence options to all pipelines in the instance.", - "x-ms-identifiers": [] + "description": "Persistence options to all pipelines in the instance." } } }, diff --git a/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json b/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json index e2fe1763eeb6..2aa3b2d19b74 100644 --- a/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json +++ b/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json @@ -1203,24 +1203,21 @@ "description": "Reference to receivers configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "processors": { "type": "array", "description": "Reference to processors configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } }, "exporters": { "type": "array", "description": "Reference to exporters configured for the pipeline.", "items": { "type": "string" - }, - "x-ms-identifiers": [] + } } }, "required": [ @@ -1698,8 +1695,7 @@ }, "persistence": { "$ref": "#/definitions/PersistenceConfigurations", - "description": "Persistence options to all pipelines in the instance.", - "x-ms-identifiers": [] + "description": "Persistence options to all pipelines in the instance." } }, "required": [ diff --git a/specification/portal/Dashboard.Management/models.tsp b/specification/portal/Dashboard.Management/models.tsp index ee44acb0ead7..982cd9508957 100644 --- a/specification/portal/Dashboard.Management/models.tsp +++ b/specification/portal/Dashboard.Management/models.tsp @@ -77,7 +77,7 @@ model ErrorDefinition { * Internal error details. */ @visibility("read") - @OpenAPI.extension("x-ms-identifiers", #["code"]) + @identifiers(#["code"]) details?: ErrorDefinition[]; } @@ -97,7 +97,7 @@ model DashboardProperties { /** * The dashboard lenses. */ - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) lenses?: DashboardLens[]; /** @@ -119,7 +119,7 @@ model DashboardLens { /** * The dashboard parts. */ - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) parts: DashboardParts[]; /** @@ -237,7 +237,7 @@ model MarkdownPartMetadata extends DashboardPartMetadata { * Input to dashboard part. */ #suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "Existing use case" - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) inputs?: {}[]; /** diff --git a/specification/portalservices/Extension.Management/models.tsp b/specification/portalservices/Extension.Management/models.tsp index eec5b5be05dd..90fdcdc30d9d 100644 --- a/specification/portalservices/Extension.Management/models.tsp +++ b/specification/portalservices/Extension.Management/models.tsp @@ -223,7 +223,6 @@ model DeploymentConfig { /** * Defines the deployment stages, regions to deploy to for each stage and sequence to rollout to individual stages. */ - @extension("x-ms-identifiers", #[]) stageDefinition?: Record>; } @@ -328,7 +327,7 @@ model PortalExtensionAlter { /** * The list of alterations to perform on the source code. */ - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) alterations?: Array; } diff --git a/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp b/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp index aee04b3823b2..3e5786ef6587 100644 --- a/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp +++ b/specification/purviewpolicy/PurviewPolicy.Management/policy.tsp @@ -87,7 +87,7 @@ model Policy extends Azure.ResourceManager.Foundations.ProxyResource { members: PolicyMembers; /** Array of decision rules for the policy */ - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) decisionRules: PolicyDecisionRule[]; /** The timestamp of the expiry time of the policy (UTC). */ @@ -101,11 +101,11 @@ model Policy extends Azure.ResourceManager.Foundations.ProxyResource { /** Policy member */ model PolicyMembers { /** Array of azure active directory members */ - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) fabricItemMembers?: FabricItemMember[]; /** Array of azure active directory members */ - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) aadMembers?: AadMember[]; } @@ -136,7 +136,7 @@ model PolicyDecisionRule { effect: Decision; /** Array of attribute predicates */ - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) permission?: AttributePredicate[]; } diff --git a/specification/quantum/Microsoft.Quantum.Management/models.tsp b/specification/quantum/Microsoft.Quantum.Management/models.tsp index d451a3d5e69c..5585ff933a85 100644 --- a/specification/quantum/Microsoft.Quantum.Management/models.tsp +++ b/specification/quantum/Microsoft.Quantum.Management/models.tsp @@ -370,7 +370,7 @@ model WorkspaceResourceProperties { /** * List of Providers selected for this Workspace */ - @OpenAPI.extension("x-ms-identifiers", #["providerId"]) + @identifiers(#["providerId"]) providers?: Provider[]; /** diff --git a/specification/scvmm/ScVmm.Management/models.tsp b/specification/scvmm/ScVmm.Management/models.tsp index 2359bdf1796f..6e88e385abe4 100644 --- a/specification/scvmm/ScVmm.Management/models.tsp +++ b/specification/scvmm/ScVmm.Management/models.tsp @@ -380,12 +380,12 @@ model VirtualMachineTemplateProperties { /** Gets the network interfaces of the template. */ @visibility("read") - @extension("x-ms-identifiers", #["name", "nicId"]) + @identifiers(#["name", "nicId"]) networkInterfaces?: NetworkInterface[]; /** Gets the disks of the template. */ @visibility("read") - @extension("x-ms-identifiers", #["diskId", "name"]) + @identifiers(#["diskId", "name"]) disks?: VirtualDisk[]; /** Provisioning state of the resource. */ @@ -711,7 +711,7 @@ model HardwareProfileUpdate is UpdateableProperties; /** Defines the resource properties. */ model NetworkProfile { /** Gets or sets the list of network interfaces associated with the virtual machine. */ - @extension("x-ms-identifiers", #["name", "nicId"]) + @identifiers(#["name", "nicId"]) networkInterfaces?: NetworkInterface[]; } @@ -719,14 +719,14 @@ model NetworkProfile { model NetworkProfileUpdate is UpdateableProperties> { /** Gets or sets the list of network interfaces associated with the virtual machine. */ - @extension("x-ms-identifiers", #["name", "nicId"]) + @identifiers(#["name", "nicId"]) networkInterfaces?: NetworkInterfaceUpdate[]; } /** Defines the resource properties. */ model StorageProfile { /** Gets or sets the list of virtual disks associated with the virtual machine. */ - @extension("x-ms-identifiers", #["diskId", "name"]) + @identifiers(#["diskId", "name"]) disks?: VirtualDisk[]; } @@ -734,7 +734,7 @@ model StorageProfile { model StorageProfileUpdate is UpdateableProperties> { /** Gets or sets the list of virtual disks associated with the virtual machine. */ - @extension("x-ms-identifiers", #["diskId", "name"]) + @identifiers(#["diskId", "name"]) disks?: VirtualDiskUpdate[]; } @@ -781,7 +781,7 @@ model InfrastructureProfile { /** Checkpoints in the vm. */ #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "Workaround for emitter problem" @visibility("read") - @extension("x-ms-identifiers", #["checkpointID"]) + @identifiers(#["checkpointID"]) checkpoints?: Checkpoint[]; /** Type of checkpoint supported for the vm. */ diff --git a/specification/servicenetworking/ServiceNetworking.Management/main.tsp b/specification/servicenetworking/ServiceNetworking.Management/main.tsp index a35334c8f7d0..11bbf90ca299 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/main.tsp +++ b/specification/servicenetworking/ServiceNetworking.Management/main.tsp @@ -207,7 +207,6 @@ model TrafficControllerProperties { /** Security Policy Configuration */ @added(Versions.v2024_05_01_preview) - @OpenAPI.extension("x-ms-identifiers", #[]) securityPolicyConfigurations?: SecurityPolicyConfigurations; /** The status of the last operation. */ diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json index df40e8866122..7208f19b2136 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json @@ -1813,8 +1813,7 @@ }, "securityPolicyConfigurations": { "$ref": "#/definitions/SecurityPolicyConfigurations", - "description": "Security Policy Configuration", - "x-ms-identifiers": [] + "description": "Security Policy Configuration" }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", @@ -1847,8 +1846,7 @@ "properties": { "securityPolicyConfigurations": { "$ref": "#/definitions/SecurityPolicyConfigurationsUpdate", - "description": "Security Policy Configuration", - "x-ms-identifiers": [] + "description": "Security Policy Configuration" } } }, diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2025-01-01/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2025-01-01/TrafficController.json index 097126f15da9..b3552bb9cfe8 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2025-01-01/TrafficController.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2025-01-01/TrafficController.json @@ -1813,8 +1813,7 @@ }, "securityPolicyConfigurations": { "$ref": "#/definitions/SecurityPolicyConfigurations", - "description": "Security Policy Configuration", - "x-ms-identifiers": [] + "description": "Security Policy Configuration" }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", @@ -1847,8 +1846,7 @@ "properties": { "securityPolicyConfigurations": { "$ref": "#/definitions/SecurityPolicyConfigurationsUpdate", - "description": "Security Policy Configuration", - "x-ms-identifiers": [] + "description": "Security Policy Configuration" } } }, diff --git a/specification/sovereign/Sovereign.Management/landingZoneConfigurationResourceProperties.tsp b/specification/sovereign/Sovereign.Management/landingZoneConfigurationResourceProperties.tsp index 04565317d7d9..299d72429e04 100644 --- a/specification/sovereign/Sovereign.Management/landingZoneConfigurationResourceProperties.tsp +++ b/specification/sovereign/Sovereign.Management/landingZoneConfigurationResourceProperties.tsp @@ -37,7 +37,7 @@ model LandingZoneConfigurationResourceProperties { ]>; @doc("Tags are key-value pairs that can be assigned to a resource to organize and manage it more effectively. Example: {'name': 'a tag name', 'value': 'a tag value'}") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) tags?: Tags[]; @doc("Parameter used for deploying a Firewall: Select 'No' to skip deployment, 'Standard' to deploy the Standard SKU, or 'Premium' to deploy the Premium SKU.") @@ -71,7 +71,7 @@ model LandingZoneConfigurationResourceProperties { azureBastionSubnetCidrBlock?: string; @doc("The child management groups of 'Landing Zones' management group and their assigned policies.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) landingZonesMgChildren?: LandingZoneManagementGroupProperties[]; @doc("The assigned policies of the parent management group.") @@ -102,14 +102,14 @@ model LandingZoneConfigurationResourceProperties { managedIdentity: ManagedIdentityProperties; @doc("The names of the 'Platform' child management groups and their assigned policies, excluding the default ones: 'Connectivity', 'Identity', and 'Management'") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) platformMgChildren?: PlatformManagementGroupProperties[]; @doc("The default naming convention applied to all resources for this landing zone configuration. Example - {DeploymentPrefix}-Contoso-{ResourceTypeAbbreviation}{DeploymentSuffix}-{Environment}-testing") namingConventionFormula?: string; @doc("The custom naming convention applied to specific resource types for this landing zone configuration, which overrides the default naming convention for those resource types. Example - 'customNamingConvention': [{'resourceType': 'azureFirewalls', 'formula': '{DeploymentPrefix}-afwl-{DeploymentSuffix}'}]") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) customNamingConvention?: CustomNamingConvention[]; } @@ -160,7 +160,7 @@ model LandingZoneManagementGroupProperties { @doc("The properties of policy initiatives applied to the management group.") model ManagementGroupProperties { @doc("Array of policy initiatives applied to the management group.") - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) policyInitiativesAssignmentProperties: PolicyInitiativeAssignmentProperties[]; } diff --git a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPoolRuntimeView.tsp b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPoolRuntimeView.tsp index b1bf11b3e6b0..2c2702ec9a30 100644 --- a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPoolRuntimeView.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPoolRuntimeView.tsp @@ -51,7 +51,7 @@ model StandbyContainerGroupPoolRuntimeViewResourceProperties { @doc("Displays the counts of container groups in each state, as known by the StandbyPool resource provider.") model ContainerGroupInstanceCountSummary { @doc("The count of pooled resources in each state.") - @extension("x-ms-identifiers", #["state"]) + @identifiers(#["state"]) instanceCountsByState: PoolResourceStateCount[]; } diff --git a/specification/standbypool/StandbyPool.Management/standbyVirtualMachinePoolRuntimeView.tsp b/specification/standbypool/StandbyPool.Management/standbyVirtualMachinePoolRuntimeView.tsp index 0352631c3da9..f98fbd4fcfe8 100644 --- a/specification/standbypool/StandbyPool.Management/standbyVirtualMachinePoolRuntimeView.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyVirtualMachinePoolRuntimeView.tsp @@ -54,7 +54,7 @@ model VirtualMachineInstanceCountSummary { zone?: int64; @doc("The count of pooled resources in each state for the given zone.") - @extension("x-ms-identifiers", #["state"]) + @identifiers(#["state"]) instanceCountsByState: PoolResourceStateCount[]; } diff --git a/specification/terraform/Microsoft.AzureTerraform.Management/models.tsp b/specification/terraform/Microsoft.AzureTerraform.Management/models.tsp index 84fb50dc34b2..3e511c6bae52 100644 --- a/specification/terraform/Microsoft.AzureTerraform.Management/models.tsp +++ b/specification/terraform/Microsoft.AzureTerraform.Management/models.tsp @@ -132,6 +132,6 @@ model ExportResult { skippedResources?: armResourceIdentifier[]; @doc("A list of errors derived during exporting each resource") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) errors?: ErrorDetail[]; } diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp index 4d4e7b506ffb..e3425572b5d0 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/models.tsp @@ -232,7 +232,7 @@ model ErrorDefinition { * Internal error details. */ @visibility("read") - @extension("x-ms-identifiers", #[]) + @identifiers(#[]) details?: ErrorDefinition[]; }