diff --git a/.changes/1.32.102.json b/.changes/1.32.102.json new file mode 100644 index 000000000000..497a767fdae3 --- /dev/null +++ b/.changes/1.32.102.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-agent-runtime``", + "description": "This release adds support to provide guardrail configuration and modify inference parameters that are then used in RetrieveAndGenerate API in Agents for Amazon Bedrock.", + "type": "api-change" + }, + { + "category": "``pinpoint``", + "description": "This release adds support for specifying email message headers for Email Templates, Campaigns, Journeys and Send Messages.", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Update the DNS Firewall settings to correct a spelling issue.", + "type": "api-change" + }, + { + "category": "``ssm-sap``", + "description": "Added support for application-aware start/stop of SAP applications running on EC2 instances, with SSM for SAP", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Adds policy effect and actions fields to Policy API's.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.103.json b/.changes/1.32.103.json new file mode 100644 index 000000000000..99caa64f2080 --- /dev/null +++ b/.changes/1.32.103.json @@ -0,0 +1,22 @@ +[ + { + "category": "``discovery``", + "description": "add v2 smoke tests and smithy smokeTests trait for SDK testing", + "type": "api-change" + }, + { + "category": "``greengrassv2``", + "description": "Mark ComponentVersion in ComponentDeploymentSpecification as required.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Introduced support for G6 instance types on Sagemaker Notebook Instances and on SageMaker Studio for JupyterLab and CodeEditor applications.", + "type": "api-change" + }, + { + "category": "``sso-oidc``", + "description": "Updated request parameters for PKCE support.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.104.json b/.changes/1.32.104.json new file mode 100644 index 000000000000..c0d01b9af359 --- /dev/null +++ b/.changes/1.32.104.json @@ -0,0 +1,12 @@ +[ + { + "category": "``events``", + "description": "Amazon EventBridge introduces KMS customer-managed key (CMK) encryption support for custom and partner events published on EventBridge Event Bus (including default bus) and UpdateEventBus API.", + "type": "api-change" + }, + { + "category": "``vpc-lattice``", + "description": "This release adds TLS Passthrough support. It also increases max number of target group per rule to 10.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.105.json b/.changes/1.32.105.json new file mode 100644 index 000000000000..ed70d806d04e --- /dev/null +++ b/.changes/1.32.105.json @@ -0,0 +1,12 @@ +[ + { + "category": "``connect``", + "description": "Amazon Connect provides enhanced search capabilities for flows & flow modules on the Connect admin website and programmatically using APIs. You can search for flows and flow modules by name, description, type, status, and tags, to filter and identify a specific flow in your Connect instances.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Updated a few x-id in the http uri traits", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.106.json b/.changes/1.32.106.json new file mode 100644 index 000000000000..12704461fb3d --- /dev/null +++ b/.changes/1.32.106.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent-runtime``", + "description": "Updating Bedrock Knowledge Base Metadata & Filters feature with two new filters listContains and stringContains", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "CodeBuild Reserved Capacity VPC Support", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "Task executions now display a CANCELLING status when an execution is in the process of being cancelled.", + "type": "api-change" + }, + { + "category": "``grafana``", + "description": "This release adds new ServiceAccount and ServiceAccountToken APIs.", + "type": "api-change" + }, + { + "category": "``medical-imaging``", + "description": "Added support for importing medical imaging data from Amazon S3 buckets across accounts and regions.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Documentation-only update for AWS Security Hub", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.107.json b/.changes/1.32.107.json new file mode 100644 index 000000000000..86f9024a6f56 --- /dev/null +++ b/.changes/1.32.107.json @@ -0,0 +1,37 @@ +[ + { + "category": "``acm-pca``", + "description": "This release adds support for waiters to fail on AccessDeniedException when having insufficient permissions", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Adding Contact Flow metrics to the GetMetricDataV2 API", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "AWS MSK support for Broker Removal.", + "type": "api-change" + }, + { + "category": "``mwaa``", + "description": "Amazon MWAA now supports Airflow web server auto scaling to automatically handle increased demand from REST APIs, Command Line Interface (CLI), or more Airflow User Interface (UI) users. Customers can specify maximum and minimum web server instances during environment creation and update workflow.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "This release adds DescribeKeyRegistration and UpdateKeyRegistration APIs to manage QuickSight Customer Managed Keys (CMK).", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Introduced WorkerAccessConfiguration to SageMaker Workteam. This allows customers to configure resource access for workers in a workteam.", + "type": "api-change" + }, + { + "category": "``secretsmanager``", + "description": "Documentation updates for AWS Secrets Manager", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.108.json b/.changes/1.32.108.json new file mode 100644 index 000000000000..25b8a8ec9f84 --- /dev/null +++ b/.changes/1.32.108.json @@ -0,0 +1,27 @@ +[ + { + "category": "``application-autoscaling``", + "description": "add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "Aws CodeBuild now supports 36 hours build timeout", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release adds dualstack-without-public-ipv4 IP address type for ALB.", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "Introduces a new API, GetDataLakePrincipal, that returns the identity of the invoking principal", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "Enable use of CloudFormation traits in Smithy model to improve generated CloudFormation schema from the Smithy API model.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.109.json b/.changes/1.32.109.json new file mode 100644 index 000000000000..447147c7cf92 --- /dev/null +++ b/.changes/1.32.109.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent``", + "description": "This release adds support for using Guardrails with Bedrock Agents.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "This release adds support for using Guardrails with Bedrock Agents.", + "type": "api-change" + }, + { + "category": "``controltower``", + "description": "Added ListControlOperations API and filtering support for ListEnabledControls API. Updates also includes added metadata for enabled controls and control operations.", + "type": "api-change" + }, + { + "category": "``osis``", + "description": "Add support for creating an OpenSearch Ingestion pipeline that is attached to a provided VPC. Add information about the destinations of an OpenSearch Ingestion pipeline to the GetPipeline and ListPipelines APIs.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release adds support for EngineLifecycleSupport on DBInstances, DBClusters, and GlobalClusters.", + "type": "api-change" + }, + { + "category": "``secretsmanager``", + "description": "add v2 smoke tests and smithy smokeTests trait for SDK testing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.110.json b/.changes/1.32.110.json new file mode 100644 index 000000000000..b0ae3518b3a0 --- /dev/null +++ b/.changes/1.32.110.json @@ -0,0 +1,37 @@ +[ + { + "category": "``cloudfront``", + "description": "Model update; no change to SDK functionality.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add Maintenance window to CreateJob and UpdateJob APIs and JobRun response. Add a new Job Run State for EXPIRED.", + "type": "api-change" + }, + { + "category": "``lightsail``", + "description": "This release adds support for Amazon Lightsail instances to switch between dual-stack or IPv4 only and IPv6-only public IP address types.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "This release includes a new Amazon SES feature called Mail Manager, which is a set of email gateway capabilities designed to help customers strengthen their organization's email infrastructure, simplify email workflow management, and streamline email compliance control.", + "type": "api-change" + }, + { + "category": "``pi``", + "description": "Performance Insights added a new input parameter called AuthorizedActions to support the fine-grained access feature. Performance Insights also restricted the acceptable input characters.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation for Db2 license through AWS Marketplace.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "Added new SMBSecurityStrategy enum named MandatoryEncryptionNoAes128, new mode enforces encryption and disables AES 128-bit algorithums.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.111.json b/.changes/1.32.111.json new file mode 100644 index 000000000000..cf003dd00422 --- /dev/null +++ b/.changes/1.32.111.json @@ -0,0 +1,27 @@ +[ + { + "category": "``chatbot``", + "description": "This change adds support for tagging Chatbot configurations.", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "Added DeletionMode FORCE_DELETE_STACK for deleting a stack that is stuck in DELETE_FAILED state due to resource deletion failure.", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "This release includes feature to import customer's asymmetric (RSA, ECC and SM2) and HMAC keys into KMS in China.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This release adds support for enabling or disabling a data source configured as part of Zero-ETL integration with Amazon S3, by setting its status.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "You can now use Security Lake to collect web ACL traffic data.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.112.json b/.changes/1.32.112.json new file mode 100644 index 000000000000..bc271e879692 --- /dev/null +++ b/.changes/1.32.112.json @@ -0,0 +1,12 @@ +[ + { + "category": "``emr-serverless``", + "description": "This release adds the capability to run interactive workloads using Apache Livy Endpoint.", + "type": "api-change" + }, + { + "category": "``opsworks``", + "description": "Documentation-only update for OpsWorks Stacks.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.113.json b/.changes/1.32.113.json new file mode 100644 index 000000000000..cfa389e1f494 --- /dev/null +++ b/.changes/1.32.113.json @@ -0,0 +1,17 @@ +[ + { + "category": "``dynamodb``", + "description": "Documentation only updates for DynamoDB.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "AWS IoT FleetWise now supports listing vehicles with attributes filter, ListVehicles API is updated to support additional attributes filter.", + "type": "api-change" + }, + { + "category": "``managedblockchain``", + "description": "This is a minor documentation update to address the impact of the shut down of the Goerli and Polygon networks.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.114.json b/.changes/1.32.114.json new file mode 100644 index 000000000000..bd7cd32b2ce4 --- /dev/null +++ b/.changes/1.32.114.json @@ -0,0 +1,22 @@ +[ + { + "category": "``dynamodb``", + "description": "Doc-only update for DynamoDB. Specified the IAM actions needed to authorize a user to create a table with a resource-based policy.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Providing support to accept BgpAsnExtended attribute", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "Adds ControllerNodeInfo in ListNodes response to support Raft mode for MSK", + "type": "api-change" + }, + { + "category": "``swf``", + "description": "This release adds new APIs for deleting activity type and workflow type resources.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.115.json b/.changes/1.32.115.json new file mode 100644 index 000000000000..a66e32cfa7f1 --- /dev/null +++ b/.changes/1.32.115.json @@ -0,0 +1,27 @@ +[ + { + "category": "``athena``", + "description": "Throwing validation errors on CreateNotebook with Name containing `/`,`:`,`\\`", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports manually creating GitHub webhooks", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release includes changes to DescribeContact API's response by including ConnectedToSystemTimestamp, RoutingCriteria, Customer, Campaign, AnsweringMachineDetectionStatus, CustomerVoiceActivity, QualityMetrics, DisconnectDetails, and SegmentAttributes information from a contact in Amazon Connect.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add optional field JobMode to CreateJob and UpdateJob APIs.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Add ROOT type for TargetType model", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.32.116.json b/.changes/1.32.116.json new file mode 100644 index 000000000000..6f7787e74ca4 --- /dev/null +++ b/.changes/1.32.116.json @@ -0,0 +1,47 @@ +[ + { + "category": "``acm``", + "description": "add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "With this release, Knowledge bases for Bedrock adds support for Titan Text Embedding v2.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "This release adds Converse and ConverseStream APIs to Bedrock Runtime", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "CloudTrail Lake returns PartitionKeys in the GetEventDataStore API response. Events are grouped into partitions based on these keys for better query performance. For example, the calendarday key groups events by day, while combining the calendarday key with the hour key groups them by day and hour.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Adding associatedQueueIds as a SearchCriteria and response field to the SearchRoutingProfiles API", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "The release adds support for spark structured streaming.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation for Aurora Postgres DBname.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adds Model Card information as a new component to Model Package. Autopilot launches algorithm selection for TimeSeries modality to generate AutoML candidates per algorithm.", + "type": "api-change" + }, + { + "category": "``ssm start-session``", + "description": "Only provide profile name to session-manager-plugin if provided using --profile flag", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.32.117.json b/.changes/1.32.117.json new file mode 100644 index 000000000000..abbe7aba702d --- /dev/null +++ b/.changes/1.32.117.json @@ -0,0 +1,22 @@ +[ + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports Self-hosted GitHub Actions runners for Github Enterprise", + "type": "api-change" + }, + { + "category": "``codeguru-security``", + "description": "This release includes minor model updates and documentation updates.", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "Update to attributes of TestFailover and minor revisions.", + "type": "api-change" + }, + { + "category": "``launch-wizard``", + "description": "This release adds support for describing workload deployment specifications, deploying additional workload types, and managing tags for Launch Wizard resources with API operations.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.0.json b/.changes/1.33.0.json new file mode 100644 index 000000000000..178c89ff57e5 --- /dev/null +++ b/.changes/1.33.0.json @@ -0,0 +1,27 @@ +[ + { + "category": "``amplify``", + "description": "This doc-only update identifies fields that are specific to Gen 1 and Gen 2 applications.", + "type": "api-change" + }, + { + "category": "``batch``", + "description": "This release adds support for the AWS Batch GetJobQueueSnapshot API operation.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Adds support for EKS add-ons pod identity associations integration", + "type": "api-change" + }, + { + "category": "``iottwinmaker``", + "description": "Support RESET_VALUE UpdateType for PropertyUpdates to reset property value to default or null", + "type": "api-change" + }, + { + "category": "logs start-live-tail", + "description": "Adds support for starting a live tail streaming session for one or more log groups.", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.33.1.json b/.changes/1.33.1.json new file mode 100644 index 000000000000..2c5fcc1c7b31 --- /dev/null +++ b/.changes/1.33.1.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ec2``", + "description": "U7i instances with up to 32 TiB of DDR5 memory and 896 vCPUs are now available. C7i-flex instances are launched and are lower-priced variants of the Amazon EC2 C7i instances that offer a baseline level of CPU performance with the ability to scale up to the full compute performance 95% of the time.", + "type": "api-change" + }, + { + "category": "``pipes``", + "description": "This release adds Timestream for LiveAnalytics as a supported target in EventBridge Pipes", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Extend DescribeClusterNode response with private DNS hostname and IP address, and placement information about availability zone and availability zone ID.", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "Initial release of AWS Tax Settings API", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.10.json b/.changes/1.33.10.json new file mode 100644 index 000000000000..123c80200acf --- /dev/null +++ b/.changes/1.33.10.json @@ -0,0 +1,52 @@ +[ + { + "category": "``acm-pca``", + "description": "Doc-only update that adds name constraints as an allowed extension for ImportCertificateAuthorityCertificate.", + "type": "api-change" + }, + { + "category": "``batch``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports global and organization GitHub webhooks", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``ds``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``efs``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release introduces a new feature, Usage profiles. Usage profiles allow the AWS Glue admin to create different profiles for various classes of users within the account, enforcing limits and defaults for jobs and sessions.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release includes support for creating I-frame only video segments for DASH trick play.", + "type": "api-change" + }, + { + "category": "``secretsmanager``", + "description": "Doc only update for Secrets Manager", + "type": "api-change" + }, + { + "category": "``waf``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.11.json b/.changes/1.33.11.json new file mode 100644 index 000000000000..a2c2ddc2d838 --- /dev/null +++ b/.changes/1.33.11.json @@ -0,0 +1,52 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "This release adds support for using Guardrails with the Converse and ConverseStream APIs.", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``config``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "This release adds support to surface async fargate customer errors from async path to customer through describe-fargate-profile API response.", + "type": "api-change" + }, + { + "category": "``lightsail``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``polly``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``rekognition``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Launched a new feature in SageMaker to provide managed MLflow Tracking Servers for customers to track ML experiments. This release also adds a new capability of attaching additional storage to SageMaker HyperPod cluster instances.", + "type": "api-change" + }, + { + "category": "``shield``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``snowball``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.12.json b/.changes/1.33.12.json new file mode 100644 index 000000000000..4ca212f92a40 --- /dev/null +++ b/.changes/1.33.12.json @@ -0,0 +1,32 @@ +[ + { + "category": "``artifact``", + "description": "This release adds an acceptanceType field to the ReportSummary structure (used in the ListReports API response).", + "type": "api-change" + }, + { + "category": "``athena``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``cur``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``directconnect``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``elastictranscoder``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This release enables customers to use JSON Web Tokens (JWT) for authentication on their Amazon OpenSearch Service domains.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.13.json b/.changes/1.33.13.json new file mode 100644 index 000000000000..bb7c0df1ae24 --- /dev/null +++ b/.changes/1.33.13.json @@ -0,0 +1,47 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "This release adds document support to Converse and ConverseStream APIs", + "type": "api-change" + }, + { + "category": "``codeartifact``", + "description": "Add support for the Cargo package format.", + "type": "api-change" + }, + { + "category": "``compute-optimizer``", + "description": "This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Doc-only update for DynamoDB. Fixed Important note in 6 Global table APIs - CreateGlobalTable, DescribeGlobalTable, DescribeGlobalTableSettings, ListGlobalTables, UpdateGlobalTable, and UpdateGlobalTableSettings.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Fix Glue paginators for Jobs, JobRuns, Triggers, Blueprints and Workflows.", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "IVS Real-Time now offers customers the ability to record individual stage participants to S3.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adds support for model references in Hub service, and adds support for cross-account access of Hubs", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Documentation updates for Security Hub", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.14.json b/.changes/1.33.14.json new file mode 100644 index 000000000000..13608c1230ff --- /dev/null +++ b/.changes/1.33.14.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Increases Converse API's document name length", + "type": "api-change" + }, + { + "category": "``customer-profiles``", + "description": "This release includes changes to ProfileObjectType APIs, adds functionality top set and get capacity for profile object types.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Fix EC2 multi-protocol info in models.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Allow enable/disable Q Apps when creating/updating a Q application; Return the Q Apps enablement information when getting a Q application.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Add sensitive trait to SSM IPAddress property for CloudTrail redaction", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Added ability to enable DeepLinking functionality on a Portal via UserSettings as well as added support for IdentityProvider resource tagging.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.15.json b/.changes/1.33.15.json new file mode 100644 index 000000000000..dc596151dfa1 --- /dev/null +++ b/.changes/1.33.15.json @@ -0,0 +1,22 @@ +[ + { + "category": "``autoscaling``", + "description": "Doc only update for Auto Scaling's TargetTrackingMetricDataQuery", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release is for the launch of the new u7ib-12tb.224xlarge, R8g, c7gn.metal and mac2-m1ultra.metal instance types", + "type": "api-change" + }, + { + "category": "``networkmanager``", + "description": "This is model changes & documentation update for the Asynchronous Error Reporting feature for AWS Cloud WAN. This feature allows customers to view errors that occur while their resources are being provisioned, enabling customers to fix their resources without needing external support.", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "This release adds the deviceCreationTags field to CreateEnvironment API input, UpdateEnvironment API input and GetEnvironment API output.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.16.json b/.changes/1.33.16.json new file mode 100644 index 000000000000..ddc52d381f08 --- /dev/null +++ b/.changes/1.33.16.json @@ -0,0 +1,27 @@ +[ + { + "category": "``controltower``", + "description": "Added ListLandingZoneOperations API.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Added support for disabling unmanaged addons during cluster creation.", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "IVS Real-Time now offers customers the ability to upload public keys for customer vended participant tokens.", + "type": "api-change" + }, + { + "category": "``kinesisanalyticsv2``", + "description": "This release adds support for new ListApplicationOperations and DescribeApplicationOperation APIs. It adds a new configuration to enable system rollbacks, adds field ApplicationVersionCreateTimestamp for clarity and improves support for pagination for APIs.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This release adds support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the current state of the setup or tear-down.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.17.json b/.changes/1.33.17.json new file mode 100644 index 000000000000..a2071cef608e --- /dev/null +++ b/.changes/1.33.17.json @@ -0,0 +1,57 @@ +[ + { + "category": "``application-autoscaling``", + "description": "Amazon WorkSpaces customers can now use Application Auto Scaling to automatically scale the number of virtual desktops in a WorkSpaces pool.", + "type": "api-change" + }, + { + "category": "``chime-sdk-media-pipelines``", + "description": "Added Amazon Transcribe multi language identification to Chime SDK call analytics. Enabling customers sending single stream audio to generate call recordings using Chime SDK call analytics", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Doc only update for CloudFront that fixes customer-reported issue", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release supports the data lineage feature of business data catalog in Amazon DataZone.", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``mq``", + "description": "This release makes the EngineVersion field optional for both broker and configuration and uses the latest available version by default. The AutoMinorVersionUpgrade field is also now optional for broker creation and defaults to 'true'.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Adds CreateContentAssociation, ListContentAssociations, GetContentAssociation, and DeleteContentAssociation APIs.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Adding support for Repeating Sections, Nested Filters", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation for TAZ export to S3.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Add capability for Admins to customize Studio experience for the user by showing or hiding Apps and MLTools.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added support for WorkSpaces Pools.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.18.json b/.changes/1.33.18.json new file mode 100644 index 000000000000..b1e0c5319ac6 --- /dev/null +++ b/.changes/1.33.18.json @@ -0,0 +1,47 @@ +[ + { + "category": "``acm-pca``", + "description": "Added CCPC_LEVEL_1_OR_HIGHER KeyStorageSecurityStandard and SM2 KeyAlgorithm and SM3WITHSM2 SigningAlgorithm for China regions.", + "type": "api-change" + }, + { + "category": "``cloudhsmv2``", + "description": "Added 3 new APIs to support backup sharing: GetResourcePolicy, PutResourcePolicy, and DeleteResourcePolicy. Added BackupArn to the output of the DescribeBackups API. Added support for BackupArn in the CreateCluster API.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release supports showing PreferredAgentRouting step via DescribeContact API.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "This release provides the support for new allocation strategies i.e. CAPACITY_OPTIMIZED_PRIORITIZED for Spot and PRIORITIZED for On-Demand by taking input of priority value for each instance type for instance fleet clusters.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Added AttributesToGet parameter to Glue GetDatabases, allowing caller to limit output to include only the database name.", + "type": "api-change" + }, + { + "category": "``kinesisanalyticsv2``", + "description": "Support for Flink 1.19 in Managed Service for Apache Flink", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This release removes support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains.", + "type": "api-change" + }, + { + "category": "``pi``", + "description": "Noting that the filter db.sql.db_id isn't available for RDS for SQL Server DB instances.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added support for Red Hat Enterprise Linux 8 on Amazon WorkSpaces Personal.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.19.json b/.changes/1.33.19.json new file mode 100644 index 000000000000..f2d23906e7f0 --- /dev/null +++ b/.changes/1.33.19.json @@ -0,0 +1,52 @@ +[ + { + "category": "``apigateway``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``cognito-identity``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Authentication profiles are Amazon Connect resources (in gated preview) that allow you to configure authentication settings for users in your contact center. This release adds support for new ListAuthenticationProfiles, DescribeAuthenticationProfile and UpdateAuthenticationProfile APIs.", + "type": "api-change" + }, + { + "category": "``docdb``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Updates EKS managed node groups to support EC2 Capacity Blocks for ML", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "Added further restrictions on logging of potentially sensitive inputs and outputs.", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Adding support for dynamic keys for encrypt, decrypt, re-encrypt and translate pin functions. With this change, customers can use one-time TR-31 keys directly in dataplane operations without the need to first import them into the service.", + "type": "api-change" + }, + { + "category": "``stepfunctions``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``swf``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "JSON body inspection: Update documentation to clarify that JSON parsing doesn't include full validation.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.2.json b/.changes/1.33.2.json new file mode 100644 index 000000000000..37f6a1e3f974 --- /dev/null +++ b/.changes/1.33.2.json @@ -0,0 +1,22 @@ +[ + { + "category": "``globalaccelerator``", + "description": "This release contains a new optional ip-addresses input field for the update accelerator and update custom routing accelerator apis. This input enables consumers to replace IPv4 addresses on existing accelerators with addresses provided in the input.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue now supports native SaaS connectivity: Salesforce connector available now", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Added new params copySource and key to copyObject API for supporting S3 Access Grants plugin. These changes will not change any of the existing S3 API functionality.", + "type": "api-change" + }, + { + "category": "emr customization", + "description": "Update the EC2 service principal when creating the trust policy for EMR default roles to always be ec2.amazonaws.com.", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.33.20.json b/.changes/1.33.20.json new file mode 100644 index 000000000000..2d5a97ed612d --- /dev/null +++ b/.changes/1.33.20.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ec2``", + "description": "Documentation updates for Elastic Compute Cloud (EC2).", + "type": "api-change" + }, + { + "category": "``fms``", + "description": "Increases Customer API's ManagedServiceData length", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Added response overrides to Head Object requests.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.21.json b/.changes/1.33.21.json new file mode 100644 index 000000000000..1f9ab9a47f3f --- /dev/null +++ b/.changes/1.33.21.json @@ -0,0 +1,27 @@ +[ + { + "category": "``application-autoscaling``", + "description": "Doc only update for Application Auto Scaling that fixes resource name.", + "type": "api-change" + }, + { + "category": "``directconnect``", + "description": "This update includes documentation for support of new native 400 GBps ports for Direct Connect.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Added a new reason under ConstraintViolationException in RegisterDelegatedAdministrator API to prevent registering suspended accounts as delegated administrator of a service.", + "type": "api-change" + }, + { + "category": "``rekognition``", + "description": "This release adds support for tagging projects and datasets with the CreateProject and CreateDataset APIs.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Fix create workspace bundle RootStorage/UserStorage to accept non null values", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.22.json b/.changes/1.33.22.json new file mode 100644 index 000000000000..05d5e01a9178 --- /dev/null +++ b/.changes/1.33.22.json @@ -0,0 +1,22 @@ +[ + { + "category": "``acm``", + "description": "Documentation updates, including fixes for xml formatting, broken links, and ListCertificates description.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "This release for Amazon ECR makes change to bring the SDK into sync with the API.", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Added further restrictions on logging of potentially sensitive inputs and outputs.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Add personalization to Q Applications. Customers can enable or disable personalization when creating or updating a Q application with the personalization configuration.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.23.json b/.changes/1.33.23.json new file mode 100644 index 000000000000..385d82697998 --- /dev/null +++ b/.changes/1.33.23.json @@ -0,0 +1,52 @@ +[ + { + "category": "``codedeploy``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``devicefarm``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``elasticbeanstalk``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``es``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``firehose``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``qapps``", + "description": "This is a general availability (GA) release of Amazon Q Apps, a capability of Amazon Q Business. Q Apps leverages data sources your company has provided to enable users to build, share, and customize apps within your organization.", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``ses``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.24.json b/.changes/1.33.24.json new file mode 100644 index 000000000000..35ab99cbfaf5 --- /dev/null +++ b/.changes/1.33.24.json @@ -0,0 +1,22 @@ +[ + { + "category": "``datazone``", + "description": "This release deprecates dataProductItem field from SearchInventoryResultItem, along with some unused DataProduct shapes", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Adds support for FSx for NetApp ONTAP 2nd Generation file systems, and FSx for OpenZFS Single AZ HA file systems.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This release adds support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the current state of the setup or tear-down.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release 1/ enables optimization jobs that allows customers to perform Ahead-of-time compilation and quantization. 2/ allows customers to control access to Amazon Q integration in SageMaker Studio. 3/ enables AdditionalModelDataSources for CreateModel action.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.25.json b/.changes/1.33.25.json new file mode 100644 index 000000000000..432c34ff857b --- /dev/null +++ b/.changes/1.33.25.json @@ -0,0 +1,52 @@ +[ + { + "category": "``batch``", + "description": "This feature allows AWS Batch Jobs with EKS container orchestration type to be run as Multi-Node Parallel Jobs.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Add support for contextual grounding check for Guardrails for Amazon Bedrock.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Introduces new data sources and chunking strategies for Knowledge bases, advanced parsing logic using FMs, session summary generation, and code interpretation (preview) for Claude V3 Sonnet and Haiku models. Also introduces Prompt Flows (preview) to link prompts, foundational models, and resources.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Introduces query decomposition, enhanced Agents integration with Knowledge bases, session summary generation, and code interpretation (preview) for Claude V3 Sonnet and Haiku models. Also introduces Prompt Flows (preview) to link prompts, foundational models, and resources for end-to-end solutions.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Add support for contextual grounding check and ApplyGuardrail API for Guardrails for Amazon Bedrock.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add parameters to enable provisioning IPAM BYOIPv4 space at a Local Zone Network Border Group level", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add recipe step support for recipe node", + "type": "api-change" + }, + { + "category": "``groundstation``", + "description": "Documentation update specifying OEM ephemeris units of measurement", + "type": "api-change" + }, + { + "category": "``license-manager-linux-subscriptions``", + "description": "Add support for third party subscription providers, starting with RHEL subscriptions through Red Hat Subscription Manager (RHSM). Additionally, add support for tagging subscription provider resources, and detect when an instance has more than one Linux subscription and notify the customer.", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "AWS Elemental MediaConnect introduces the ability to disable outputs. Disabling an output allows you to keep the output attached to the flow, but stop streaming to the output destination. A disabled output does not incur data transfer costs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.26.json b/.changes/1.33.26.json new file mode 100644 index 000000000000..f0fc3b2a4cc3 --- /dev/null +++ b/.changes/1.33.26.json @@ -0,0 +1,27 @@ +[ + { + "category": "``acm-pca``", + "description": "Minor refactoring of C2J model for AWS Private CA", + "type": "api-change" + }, + { + "category": "``arc-zonal-shift``", + "description": "Adds the option to subscribe to get notifications when a zonal autoshift occurs in a region.", + "type": "api-change" + }, + { + "category": "``globalaccelerator``", + "description": "This feature adds exceptions to the Customer API to avoid throwing Internal Service errors", + "type": "api-change" + }, + { + "category": "``pinpoint``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Vega ally control options and Support for Reviewed Answers in Topics", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.27.json b/.changes/1.33.27.json new file mode 100644 index 000000000000..fca532be9e20 --- /dev/null +++ b/.changes/1.33.27.json @@ -0,0 +1,62 @@ +[ + { + "category": "``acm-pca``", + "description": "Fix broken waiters for the acm-pca client. Waiters broke in version 1.13.144 of the Boto3 SDK.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect expands search API coverage for additional resources. Search for hierarchy groups by name, ID, tag, or other criteria (new endpoint). Search for agent statuses by name, ID, tag, or other criteria (new endpoint). Search for users by their assigned proficiencies (enhanced endpoint)", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon VPC IP Address Manager (IPAM) now supports Bring-Your-Own-IP (BYOIP) for IP addresses registered with any Internet Registry. This feature uses DNS TXT records to validate ownership of a public IP address range.", + "type": "api-change" + }, + { + "category": "``firehose``", + "description": "This release 1) Add configurable buffering hints for Snowflake as destination. 2) Add ReadFromTimestamp for MSK As Source. Firehose will start reading data from MSK Cluster using offset associated with this timestamp. 3) Gated public beta release to add Apache Iceberg tables as destination.", + "type": "api-change" + }, + { + "category": "``ivschat``", + "description": "Documentation update for IVS Chat API Reference.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive now supports the SRT protocol via the new SRT Caller input type.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation to specify an eventual consistency model for DescribePendingMaintenanceActions.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "SageMaker Training supports R5, T3 and R5D instances family. And SageMaker Processing supports G5 and R5D instances family.", + "type": "api-change" + }, + { + "category": "``secretsmanager``", + "description": "Doc only update for Secrets Manager", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "Set default endpoint for aws partition. Requests from all regions in aws partition will be forward to us-east-1 endpoint.", + "type": "api-change" + }, + { + "category": "``timestream-query``", + "description": "Doc-only update for TimestreamQuery. Added guidance about the accepted valid value for the QueryPricingModel parameter.", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Documentation update for WorkSpaces Thin Client.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.28.json b/.changes/1.33.28.json new file mode 100644 index 000000000000..5073c0103cda --- /dev/null +++ b/.changes/1.33.28.json @@ -0,0 +1,22 @@ +[ + { + "category": "``datazone``", + "description": "This release adds 1/ support of register S3 locations of assets in AWS Lake Formation hybrid access mode for DefaultDataLake blueprint. 2/ support of CRUD operations for Asset Filters.", + "type": "api-change" + }, + { + "category": "``ivs``", + "description": "Documentation update for IVS Low Latency API Reference.", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Amazon Neptune Analytics provides new options for customers to start with smaller graphs at a lower cost. CreateGraph, CreaateGraphImportTask, UpdateGraph and StartImportTask APIs will now allow 32 and 64 for `provisioned-memory`", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Adds dualstack support for Redshift Serverless workgroup.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.29.json b/.changes/1.33.29.json new file mode 100644 index 000000000000..e3a1fa4d4ee8 --- /dev/null +++ b/.changes/1.33.29.json @@ -0,0 +1,37 @@ +[ + { + "category": "``appsync``", + "description": "Adding support for paginators in AppSync list APIs", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "This release adds AWS Entity Resolution integration to associate ID namespaces & ID mapping workflow resources as part of ID namespace association and ID mapping table in AWS Clean Rooms. It also introduces a new ID_MAPPING_TABLE analysis rule to manage the protection on ID mapping table.", + "type": "api-change" + }, + { + "category": "``cleanroomsml``", + "description": "Adds SQL query as the source of seed audience for audience generation job.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Added PostContactSummary segment type on ListRealTimeContactAnalysisSegmentsV2 API", + "type": "api-change" + }, + { + "category": "``connect-contact-lens``", + "description": "Added PostContactSummary segment type on ListRealTimeContactAnalysisSegments API", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release removes the deprecated dataProductItem field from Search API output.", + "type": "api-change" + }, + { + "category": "``entityresolution``", + "description": "Support First Party ID Mapping", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.3.json b/.changes/1.33.3.json new file mode 100644 index 000000000000..fd366e3d6ea7 --- /dev/null +++ b/.changes/1.33.3.json @@ -0,0 +1,47 @@ +[ + { + "category": "``account``", + "description": "This release adds 3 new APIs (AcceptPrimaryEmailUpdate, GetPrimaryEmail, and StartPrimaryEmailUpdate) used to centrally manage the root user email address of member accounts within an AWS organization.", + "type": "api-change" + }, + { + "category": "``firehose``", + "description": "Adds integration with Secrets Manager for Redshift, Splunk, HttpEndpoint, and Snowflake destinations", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "This release adds support to increase metadata performance on FSx for Lustre file systems beyond the default level provisioned when a file system is created. This can be done by specifying MetadataConfiguration during the creation of Persistent_2 file systems or by updating it on demand.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release adds support for creating and updating Glue Data Catalog Views.", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "Adds support for wireless device to be in Conflict FUOTA Device Status due to a FUOTA Task, so it couldn't be attached to a new one.", + "type": "api-change" + }, + { + "category": "``location``", + "description": "Added two new APIs, VerifyDevicePosition and ForecastGeofenceEvents. Added support for putting larger geofences up to 100,000 vertices with Geobuf fields.", + "type": "api-change" + }, + { + "category": "``sns``", + "description": "Doc-only update for SNS. These changes include customer-reported issues and TXC3 updates.", + "type": "api-change" + }, + { + "category": "``sqs``", + "description": "Doc only updates for SQS. These updates include customer-reported issues and TCX3 modifications.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "Adds SoftwareUpdatePreferences to DescribeMaintenanceStartTime and UpdateMaintenanceStartTime, a structure which contains AutomaticUpdatePolicy.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.30.json b/.changes/1.33.30.json new file mode 100644 index 000000000000..b21c0f196406 --- /dev/null +++ b/.changes/1.33.30.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cleanrooms``", + "description": "Three enhancements to the AWS Clean Rooms: Disallowed Output Columns, Flexible Result Receivers, SQL as a Seed", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "DynamoDB doc only update for July", + "type": "api-change" + }, + { + "category": "``iotsitewise``", + "description": "Adds support for creating SiteWise Edge gateways that run on a Siemens Industrial Edge Device.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds support for Irdeto DRM encryption in DASH manifests.", + "type": "api-change" + }, + { + "category": "``medical-imaging``", + "description": "CopyImageSet API adds copying selected instances between image sets, and overriding inconsistent metadata with a force parameter. UpdateImageSetMetadata API enables reverting to prior versions; updates to Study, Series, and SOP Instance UIDs; and updates to private elements, with a force parameter.", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "Update for rebrand to AWS End User Messaging SMS and Voice.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.31.json b/.changes/1.33.31.json new file mode 100644 index 000000000000..fc8c3beefa06 --- /dev/null +++ b/.changes/1.33.31.json @@ -0,0 +1,62 @@ +[ + { + "category": "``application-autoscaling``", + "description": "Application Auto Scaling is now more responsive to the changes in demand of your SageMaker Inference endpoints. To get started, create or update a Target Tracking policy based on High Resolution CloudWatch metrics.", + "type": "api-change" + }, + { + "category": "``application-signals``", + "description": "CloudWatch Application Signals now supports application logs correlation with traces and operational health metrics of applications running on EC2 instances. Users can view the most relevant telemetry to troubleshoot application health anomalies such as spikes in latency, errors, and availability.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Provides ServiceUnavailableException error message", + "type": "api-change" + }, + { + "category": "``codecommit``", + "description": "CreateRepository API now throws OperationNotAllowedException when the account has been restricted from creating a repository.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Introduces GetEnvironmentCredentials operation to SDK", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "EC2 Fleet now supports using custom identifiers to reference Amazon Machine Images (AMI) in launch requests that are configured to choose from a diversified list of instance types.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "API and documentation updates for Amazon ECR, adding support for creating, updating, describing and deleting ECR Repository Creation Template.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "This release adds support for EKS cluster to manage extended support.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release adds support for sharing trust stores across accounts and organizations through integration with AWS Resource Access Manager.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "You can now log events that are related to TLS inspection, in addition to the existing alert and flow logging.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "Adding default vCPU information to GetOutpostSupportedInstanceTypes and GetOutpostInstanceTypes responses", + "type": "api-change" + }, + { + "category": "``stepfunctions``", + "description": "This release adds support to customer managed KMS key encryption in AWS Step Functions.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.32.json b/.changes/1.33.32.json new file mode 100644 index 000000000000..a108a41228c2 --- /dev/null +++ b/.changes/1.33.32.json @@ -0,0 +1,12 @@ +[ + { + "category": "``elasticache``", + "description": "Renaming full service name as it appears in developer documentation.", + "type": "api-change" + }, + { + "category": "``memorydb``", + "description": "Renaming full service name as it appears in developer documentation.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.33.json b/.changes/1.33.33.json new file mode 100644 index 000000000000..7a1f455181e1 --- /dev/null +++ b/.changes/1.33.33.json @@ -0,0 +1,62 @@ +[ + { + "category": "``appstream``", + "description": "Added support for Red Hat Enterprise Linux 8 on Amazon AppStream 2.0", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "Increase the length limit for VPCZoneIdentifier from 2047 to 5000", + "type": "api-change" + }, + { + "category": "``codepipeline``", + "description": "AWS CodePipeline V2 type pipelines now support stage level conditions to enable development teams to safely release changes that meet quality and compliance requirements.", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "Doc only update for changes to deletion API.", + "type": "api-change" + }, + { + "category": "``elb``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``events``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``lexv2-models``", + "description": "This release adds new capabilities to the AMAZON.QnAIntent: Custom prompting, Guardrails integration and ExactResponse support for Bedrock Knowledge Base.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``rolesanywhere``", + "description": "IAM RolesAnywhere now supports custom role session name on the CreateSession. This release adds the acceptRoleSessionName option to a profile to control whether a role session name will be accepted in a session request with a given profile.", + "type": "api-change" + }, + { + "category": "``tnb``", + "description": "This release adds Network Service Update, through which customers will be able to update their instantiated networks to a new network package. See the documentation for limitations. The release also enhances the Get network operation API to return parameter overrides used during the operation.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Removing multi-session as it isn't supported for pools", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Disable usage of mb command with S3 Express directory buckets.", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.33.34.json b/.changes/1.33.34.json new file mode 100644 index 000000000000..5b8075bf5739 --- /dev/null +++ b/.changes/1.33.34.json @@ -0,0 +1,47 @@ +[ + { + "category": "``bedrock``", + "description": "API and Documentation for Bedrock Model Copy feature. This feature lets you share and copy a custom model from one region to another or one account to another.", + "type": "api-change" + }, + { + "category": "``controlcatalog``", + "description": "AWS Control Tower provides two new public APIs controlcatalog:ListControls and controlcatalog:GetControl under controlcatalog service namespace, which enable customers to programmatically retrieve control metadata of available controls.", + "type": "api-change" + }, + { + "category": "``controltower``", + "description": "Updated Control Tower service documentation for controlcatalog control ARN support with existing Control Tower public APIs", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``memorydb``", + "description": "Doc only update for changes to deletion API.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release adds support for specifying optional MinACU parameter in CreateDBShardGroup and ModifyDBShardGroup API. DBShardGroup response will contain MinACU if specified.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds support for Amazon EMR Serverless applications in SageMaker Studio for running data processing jobs.", + "type": "api-change" + }, + { + "category": "``ssm-quicksetup``", + "description": "This release adds API support for the QuickSetup feature of AWS Systems Manager", + "type": "api-change" + }, + { + "category": "``support``", + "description": "Doc only updates to CaseDetails", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.35.json b/.changes/1.33.35.json new file mode 100644 index 000000000000..232e845ab014 --- /dev/null +++ b/.changes/1.33.35.json @@ -0,0 +1,27 @@ +[ + { + "category": "``cloudwatch``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``resiliencehub``", + "description": "Customers are presented with the grouping recommendations and can determine if the recommendations are accurate and apply to their case. This feature simplifies onboarding by organizing resources into appropriate AppComponents.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``waf-regional``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.36.json b/.changes/1.33.36.json new file mode 100644 index 000000000000..e639f03e1e0d --- /dev/null +++ b/.changes/1.33.36.json @@ -0,0 +1,22 @@ +[ + { + "category": "``datazone``", + "description": "This releases Data Product feature. Data Products allow grouping data assets into cohesive, self-contained units for ease of publishing for data producers, and ease of finding and accessing for data consumers.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Released two new APIs along with documentation updates. The GetAccountSetting API is used to view the current basic scan type version setting for your registry, while the PutAccountSetting API is used to update the basic scan type version for your registry.", + "type": "api-change" + }, + { + "category": "``kinesis-video-webrtc-storage``", + "description": "Add JoinStorageSessionAsViewer API", + "type": "api-change" + }, + { + "category": "``pi``", + "description": "Added a description for the Dimension db.sql.tokenized_id on the DimensionGroup data type page.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.37.json b/.changes/1.33.37.json new file mode 100644 index 000000000000..dafb64b9b144 --- /dev/null +++ b/.changes/1.33.37.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agent-runtime``", + "description": "Introduce model invocation output traces for orchestration traces, which contain the model's raw response and usage.", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "Advanced security feature updates to include password history and log export for Cognito user pools.", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "This release adds savings percentage support to the ListRecommendationSummaries API.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added support for BYOL_GRAPHICS_G4DN_WSP IngestionProcess", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.38.json b/.changes/1.33.38.json new file mode 100644 index 000000000000..a9ca9e241a9d --- /dev/null +++ b/.changes/1.33.38.json @@ -0,0 +1,12 @@ +[ + { + "category": "``appintegrations``", + "description": "Updated CreateDataIntegration and CreateDataIntegrationAssociation API to support bulk data export from Amazon Connect Customer Profiles to the customer S3 bucket.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Introducing AWS Glue Data Quality anomaly detection, a new functionality that uses ML-based solutions to detect data anomalies users have not explicitly defined rules for.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.39.json b/.changes/1.33.39.json new file mode 100644 index 000000000000..a6cc4b5e12f4 --- /dev/null +++ b/.changes/1.33.39.json @@ -0,0 +1,22 @@ +[ + { + "category": "``cognito-idp``", + "description": "Added support for threat protection for custom authentication in Amazon Cognito user pools.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release fixes a regression in number of access control tags that are allowed to be added to a security profile in Amazon Connect. You can now add up to four access control tags on a single security profile.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Launch of private IPv6 addressing for VPCs and Subnets. VPC IPAM supports the planning and monitoring of private IPv6 usage.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release adds support to retrieve the validation status when creating or updating Glue Data Catalog Views. Also added is support for BasicCatalogTarget partition keys.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.4.json b/.changes/1.33.4.json new file mode 100644 index 000000000000..211f72fb642e --- /dev/null +++ b/.changes/1.33.4.json @@ -0,0 +1,27 @@ +[ + { + "category": "``auditmanager``", + "description": "New feature: common controls. When creating custom controls, you can now use pre-grouped AWS data sources based on common compliance themes. Also, the awsServices parameter is deprecated because we now manage services in scope for you. If used, the input is ignored and an empty list is returned.", + "type": "api-change" + }, + { + "category": "``b2bi``", + "description": "Added exceptions to B2Bi List operations and ConflictException to B2Bi StartTransformerJob operation. Also made capabilities field explicitly required when creating a Partnership.", + "type": "api-change" + }, + { + "category": "``codepipeline``", + "description": "CodePipeline now supports overriding S3 Source Object Key during StartPipelineExecution, as part of Source Overrides.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release introduces a new optional parameter: InferenceAmiVersion, in ProductionVariant.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "This release adds OpenIdConnect (OIDC) configuration support for IdentitySources, allowing for external IDPs to be used in authorization requests.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.40.json b/.changes/1.33.40.json new file mode 100644 index 000000000000..21456a4c20f1 --- /dev/null +++ b/.changes/1.33.40.json @@ -0,0 +1,17 @@ +[ + { + "category": "``cognito-idp``", + "description": "Fixed a description of AdvancedSecurityAdditionalFlows in Amazon Cognito user pool configuration.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release supports adding RoutingCriteria via UpdateContactRoutingData public API.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Systems Manager doc-only updates for August 2024.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.41.json b/.changes/1.33.41.json new file mode 100644 index 000000000000..6bcd6a839c31 --- /dev/null +++ b/.changes/1.33.41.json @@ -0,0 +1,37 @@ +[ + { + "category": "``compute-optimizer``", + "description": "Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications", + "type": "api-change" + }, + { + "category": "``config``", + "description": "Documentation update for the OrganizationConfigRuleName regex pattern.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Added support for new AL2023 GPU AMIs to the supported AMITypes.", + "type": "api-change" + }, + { + "category": "``groundstation``", + "description": "Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.42.json b/.changes/1.33.42.json new file mode 100644 index 000000000000..e9d58feca774 --- /dev/null +++ b/.changes/1.33.42.json @@ -0,0 +1,27 @@ +[ + { + "category": "``amplify``", + "description": "Add a new field \"cacheConfig\" that enables users to configure the CDN cache settings for an App", + "type": "api-change" + }, + { + "category": "``appstream``", + "description": "This release includes following new APIs: CreateThemeForStack, DescribeThemeForStack, UpdateThemeForStack, DeleteThemeForStack to support custom branding programmatically.", + "type": "api-change" + }, + { + "category": "``fis``", + "description": "This release adds support for additional error information on experiment failure. It adds the error code, location, and account id on relevant failures to the GetExperiment and ListExperiment API responses.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add AttributesToGet parameter support for Glue GetTables", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Amazon Neptune Analytics provides a new option for customers to load data into a graph using the RDF (Resource Description Framework) NTRIPLES format. When loading NTRIPLES files, use the value `convertToIri` for the `blankNodeHandling` parameter.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.43.json b/.changes/1.33.43.json new file mode 100644 index 000000000000..1ecba0d08a40 --- /dev/null +++ b/.changes/1.33.43.json @@ -0,0 +1,7 @@ +[ + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports using Secrets Manager to store git credentials and using multiple source credentials in a single project.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.44.json b/.changes/1.33.44.json new file mode 100644 index 000000000000..03313bbe4a51 --- /dev/null +++ b/.changes/1.33.44.json @@ -0,0 +1,22 @@ +[ + { + "category": "``docdb``", + "description": "This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature.", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.5.json b/.changes/1.33.5.json new file mode 100644 index 000000000000..5e768982a854 --- /dev/null +++ b/.changes/1.33.5.json @@ -0,0 +1,17 @@ +[ + { + "category": "``application-signals``", + "description": "This is the initial SDK release for Amazon CloudWatch Application Signals. Amazon CloudWatch Application Signals provides curated application performance monitoring for developers to monitor and troubleshoot application health using pre-built dashboards and Service Level Objectives.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release introduces a new cluster configuration to support the customer-managed keys for ECS managed storage encryption.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "This release updates the regex pattern for Image Builder ARNs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.6.json b/.changes/1.33.6.json new file mode 100644 index 000000000000..0144a29417a7 --- /dev/null +++ b/.changes/1.33.6.json @@ -0,0 +1,27 @@ +[ + { + "category": "``accessanalyzer``", + "description": "IAM Access Analyzer now provides policy recommendations to help resolve unused permissions for IAM roles and users. Additionally, IAM Access Analyzer now extends its custom policy checks to detect when IAM policies grant public access or access to critical resources ahead of deployments.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Added API support for GuardDuty Malware Protection for S3.", + "type": "api-change" + }, + { + "category": "``networkmanager``", + "description": "This is model changes & documentation update for Service Insertion feature for AWS Cloud WAN. This feature allows insertion of AWS/3rd party security services on Cloud WAN. This allows to steer inter/intra segment traffic via security appliances and provide visibility to the route updates.", + "type": "api-change" + }, + { + "category": "``pca-connector-scep``", + "description": "Connector for SCEP allows you to use a managed, cloud CA to enroll mobile devices and networking gear. SCEP is a widely-adopted protocol used by mobile device management (MDM) solutions for enrolling mobile devices. With the connector, you can use AWS Private CA with popular MDM solutions.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Introduced Scope and AuthenticationRequestExtraParams to SageMaker Workforce OIDC configuration; this allows customers to modify these options for their private Workforce IdP integration. Model Registry Cross-account model package groups are discoverable.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.7.json b/.changes/1.33.7.json new file mode 100644 index 000000000000..0867baca8b24 --- /dev/null +++ b/.changes/1.33.7.json @@ -0,0 +1,37 @@ +[ + { + "category": "``apptest``", + "description": "AWS Mainframe Modernization Application Testing is an AWS Mainframe Modernization service feature that automates functional equivalence testing for mainframe application modernization and migration to AWS, and regression testing.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Tagging support for Traffic Mirroring FilterRule resource", + "type": "api-change" + }, + { + "category": "``osis``", + "description": "SDK changes for self-managed vpc endpoint to OpenSearch ingestion pipelines.", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Updates to remove DC1 and DS2 node types.", + "type": "api-change" + }, + { + "category": "``secretsmanager``", + "description": "Introducing RotationToken parameter for PutSecretValue API", + "type": "api-change" + }, + { + "category": "``securitylake``", + "description": "This release updates request validation regex to account for non-commercial aws partitions.", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "This release adds support for Amazon EventBridge as an email sending events destination.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.8.json b/.changes/1.33.8.json new file mode 100644 index 000000000000..f2f6b12bad9e --- /dev/null +++ b/.changes/1.33.8.json @@ -0,0 +1,27 @@ +[ + { + "category": "``cloudhsmv2``", + "description": "Added support for hsm type hsm2m.medium. Added supported for creating a cluster in FIPS or NON_FIPS mode.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release adds support for configuration of evaluation method for composite rules in Glue Data Quality rulesets.", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer Metrics.", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "This feature allows customers to use their keys stored in KMS to derive a shared secret which can then be used to establish a secured channel for communication, provide proof of possession, or establish trust with other parties.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds support for CMAF ingest (DASH-IF live media ingest protocol interface 1)", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.33.9.json b/.changes/1.33.9.json new file mode 100644 index 000000000000..bf1b45b7bc3c --- /dev/null +++ b/.changes/1.33.9.json @@ -0,0 +1,27 @@ +[ + { + "category": "``datazone``", + "description": "This release introduces a new default service blueprint for custom environment creation.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Documentation updates for Amazon EC2.", + "type": "api-change" + }, + { + "category": "``macie2``", + "description": "This release adds support for managing the status of automated sensitive data discovery for individual accounts in an organization, and determining whether individual S3 buckets are included in the scope of the analyses.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds the ability to search for historical job records within the management console using a search box and/or via the SDK/CLI with partial string matching search on input file name.", + "type": "api-change" + }, + { + "category": "``route53domains``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.0.json b/.changes/1.34.0.json new file mode 100644 index 000000000000..cb4a18d67474 --- /dev/null +++ b/.changes/1.34.0.json @@ -0,0 +1,32 @@ +[ + { + "category": "``batch``", + "description": "Improvements of integration between AWS Batch and EC2.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Update the correct format of key and values for resource tags", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Amazon QuickSight launches Customer Managed Key (CMK) encryption for Data Source metadata", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Introduce Endpoint and EndpointConfig Arns in sagemaker:ListPipelineExecutionSteps API response", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Marking use case description field of account details as deprecated.", + "type": "api-change" + }, + { + "category": "``codeartifact``", + "description": "Update login command error message.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.34.1.json b/.changes/1.34.1.json new file mode 100644 index 000000000000..445c1a3aeba4 --- /dev/null +++ b/.changes/1.34.1.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock``", + "description": "Amazon Bedrock Batch Inference/ Model Invocation is a feature which allows customers to asynchronously run inference on a large set of records/files stored in S3.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports creating fleets with macOS platform for running builds.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "This release adds additional search fields and provides sorting by multiple fields.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Release Lambda FunctionRecursiveConfig, enabling customers to turn recursive loop detection on or off on individual functions. This release adds two new APIs, GetFunctionRecursionConfig and PutFunctionRecursionConfig.", + "type": "api-change" + }, + { + "category": "``ssm-sap``", + "description": "Add new attributes to the outputs of GetApplication and GetDatabase APIs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.10.json b/.changes/1.34.10.json new file mode 100644 index 000000000000..5a70eb323e98 --- /dev/null +++ b/.changes/1.34.10.json @@ -0,0 +1,22 @@ +[ + { + "category": "``backup``", + "description": "The latest update introduces two new attributes, VaultType and VaultState, to the DescribeBackupVault and ListBackupVaults APIs. The VaultState attribute reflects the current status of the vault, while the VaultType attribute indicates the specific category of the vault.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Amazon DataZone now adds new governance capabilities of Domain Units for organization within your Data Domains, and Authorization Policies for tighter controls.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "This release introduces a new optional parameter: Entity, in PutLogEvents request", + "type": "api-change" + }, + { + "category": "``redshift-data``", + "description": "The release include the new Redshift DataAPI feature for session use, customer execute query with --session-keep-alive-seconds parameter and can submit follow-up queries to same sessions with returned`session-id`", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.11.json b/.changes/1.34.11.json new file mode 100644 index 000000000000..f51f352bd7f3 --- /dev/null +++ b/.changes/1.34.11.json @@ -0,0 +1,37 @@ +[ + { + "category": "``connect``", + "description": "Release ReplicaConfiguration as part of DescribeInstance", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Add support to let data publisher specify a subset of the data asset that a subscriber will have access to based on the asset filters provided, when accepting a subscription request.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release adds support for configuring TCP idle timeout on NLB and GWLB listeners.", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "AWS Elemental MediaConnect introduces thumbnails for Flow source monitoring. Thumbnails provide still image previews of the live content feeding your MediaConnect Flow allowing you to easily verify that your source is operating as expected.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Added MinQP as a Rate Control option for H264 and H265 encodes.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Amazon SageMaker now supports automatic mounting of a user's home folder in the Amazon Elastic File System (EFS) associated with the SageMaker Studio domain to their Studio Spaces to enable users to share data between their own private spaces.", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "Timestream for InfluxDB now supports compute scaling and deployment type conversion. This release adds the DbInstanceType and DeploymentType parameters to the UpdateDbInstance API.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.12.json b/.changes/1.34.12.json new file mode 100644 index 000000000000..5cba34828bf2 --- /dev/null +++ b/.changes/1.34.12.json @@ -0,0 +1,32 @@ +[ + { + "category": "``appsync``", + "description": "Adds new logging levels (INFO and DEBUG) for additional log output control", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Add support for user metadata inside PromptVariant.", + "type": "api-change" + }, + { + "category": "``finspace``", + "description": "Updates Finspace documentation for smaller instances.", + "type": "api-change" + }, + { + "category": "``fis``", + "description": "This release adds safety levers, a new mechanism to stop all running experiments and prevent new experiments from starting.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Update to support new APIs for delivery of logs from AWS services.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Amazon Simple Storage Service /S3 Access Grants / Features : This release launches new Access Grants API - ListCallerAccessGrants.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.13.json b/.changes/1.34.13.json new file mode 100644 index 000000000000..ab4e0c5d5c0d --- /dev/null +++ b/.changes/1.34.13.json @@ -0,0 +1,32 @@ +[ + { + "category": "``application-signals``", + "description": "Amazon CloudWatch Application Signals now supports creating Service Level Objectives using a new calculation type. Users can now create SLOs which are configured with request-based SLIs to help meet their specific business requirements.", + "type": "api-change" + }, + { + "category": "``codepipeline``", + "description": "Updates to add recent notes to APIs and to replace example S3 bucket names globally.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect Custom Vocabulary now supports Catalan (Spain), Danish (Denmark), Dutch (Netherlands), Finnish (Finland), Indonesian (Indonesia), Malay (Malaysia), Norwegian Bokmal (Norway), Polish (Poland), Swedish (Sweden), and Tagalog/Filipino (Philippines).", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Amazon GameLift provides additional events for tracking the fleet creation process.", + "type": "api-change" + }, + { + "category": "``kinesisanalyticsv2``", + "description": "Support for Flink 1.20 in Managed Service for Apache Flink", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Amazon SageMaker now supports idle shutdown of JupyterLab and CodeEditor applications on SageMaker Studio.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.14.json b/.changes/1.34.14.json new file mode 100644 index 000000000000..500f5a6ec5bb --- /dev/null +++ b/.changes/1.34.14.json @@ -0,0 +1,7 @@ +[ + { + "category": "``qapps``", + "description": "Adds UpdateLibraryItemMetadata api to change status of app for admin verification feature and returns isVerified field in any api returning the app or library item.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.15.json b/.changes/1.34.15.json new file mode 100644 index 000000000000..b6a59055f0d9 --- /dev/null +++ b/.changes/1.34.15.json @@ -0,0 +1,32 @@ +[ + { + "category": "``dynamodb``", + "description": "Doc-only update for DynamoDB. Added information about async behavior for TagResource and UntagResource APIs and updated the description of ResourceInUseException.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "Add paginators for the ELBv2 DescribeListenerCertificates and DescribeRules APIs. Fix broken waiter for the ELBv2 DescribeLoadBalancers API.", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "IVS Real-Time now offers customers the ability to broadcast to Stages using RTMP(S).", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "Amazon MSK Replicator can now replicate data to identically named topics between MSK clusters within the same AWS Region or across different AWS Regions.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Amazon Sagemaker supports orchestrating SageMaker HyperPod clusters with Amazon EKS", + "type": "api-change" + }, + { + "category": "``sagemaker-runtime``", + "description": "AWS SageMaker Runtime feature: Add sticky routing to support stateful inference models.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.16.json b/.changes/1.34.16.json new file mode 100644 index 000000000000..469de838a27f --- /dev/null +++ b/.changes/1.34.16.json @@ -0,0 +1,22 @@ +[ + { + "category": "``chime-sdk-voice``", + "description": "Documentation-only update that clarifies the ValidateE911Address action of the Amazon Chime SDK Voice APIs.", + "type": "api-change" + }, + { + "category": "``cognito-identity``", + "description": "This release adds sensitive trait to some required shapes.", + "type": "api-change" + }, + { + "category": "``pipes``", + "description": "This release adds support for customer managed KMS keys in Amazon EventBridge Pipe", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Documentation update for Security Hub", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.17.json b/.changes/1.34.17.json new file mode 100644 index 000000000000..654201bd16f6 --- /dev/null +++ b/.changes/1.34.17.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Amazon Bedrock Knowledge Bases now supports using inference profiles to increase throughput and improve resilience.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Amazon Bedrock Knowledge Bases now supports using inference profiles to increase throughput and improve resilience.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Added KMS_DSSE to EncryptionType", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Add support for new statistic types in GetFindingsStatistics.", + "type": "api-change" + }, + { + "category": "``lexv2-models``", + "description": "Support new Polly voice engines in VoiceSettings: long-form and generative", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Adds AV1 Codec support, SRT ouputs, and MediaLive Anywhere support.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.18.json b/.changes/1.34.18.json new file mode 100644 index 000000000000..ee801b19b93f --- /dev/null +++ b/.changes/1.34.18.json @@ -0,0 +1,42 @@ +[ + { + "category": "``cognito-idp``", + "description": "Added email MFA option to user pools with advanced security features.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "Correct incorrectly mapped error in ELBv2 waiters", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue is introducing two new optimizers for Apache Iceberg tables: snapshot retention and orphan file deletion. Customers can enable these optimizers and customize their configurations to perform daily maintenance tasks on their Iceberg tables based on their specific requirements.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release adds support for the os-upgrade pending maintenance action for Amazon Aurora DB clusters.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "The S3 File Gateway now supports DSSE-KMS encryption. A new parameter EncryptionType is added to these APIs: CreateSmbFileShare, CreateNfsFileShare, UpdateSmbFileShare, UpdateNfsFileShare, DescribeSmbFileShares, DescribeNfsFileShares. Also, in favor of EncryptionType, KmsEncrypted is deprecated.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "This release introduces two features. The first is tag replication, which allows for the propagation of canary tags onto Synthetics related resources, such as Lambda functions. The second is a limit increase in canary name length, which has now been increased from 21 to 255 characters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.19.json b/.changes/1.34.19.json new file mode 100644 index 000000000000..30c7713c5b32 --- /dev/null +++ b/.changes/1.34.19.json @@ -0,0 +1,17 @@ +[ + { + "category": "``amplify``", + "description": "Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications", + "type": "api-change" + }, + { + "category": "``ivs``", + "description": "Updates to all tags descriptions.", + "type": "api-change" + }, + { + "category": "``ivschat``", + "description": "Updates to all tags descriptions.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.2.json b/.changes/1.34.2.json new file mode 100644 index 000000000000..d61655d0d72e --- /dev/null +++ b/.changes/1.34.2.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ecs``", + "description": "Documentation only release to address various tickets", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "Added FailureCode and FailureMessage to BatchGetCollectionResponse for BatchGetVPCEResponse for non-Active Collection and VPCE.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon Simple Storage Service / Features : Add support for conditional writes for PutObject and CompleteMultipartUpload APIs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.20.json b/.changes/1.34.20.json new file mode 100644 index 000000000000..ad11cc51f9f9 --- /dev/null +++ b/.changes/1.34.20.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock``", + "description": "This feature adds cross account s3 bucket and VPC support to ModelInvocation jobs. To use a cross account bucket, pass in the accountId of the bucket to s3BucketOwner in the ModelInvocationJobInputDataConfig or ModelInvocationJobOutputDataConfig.", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "This release adds additional enhancements to AWS IoT Device Management Software Package Catalog and Jobs. It also adds SBOM support in Software Package Version.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Removing the ON_PREMISE enum from the input settings field.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Doc only update for AWS Organizations that fixes several customer-reported issues", + "type": "api-change" + }, + { + "category": "``pca-connector-scep``", + "description": "This is a general availability (GA) release of Connector for SCEP, a feature of AWS Private CA. Connector for SCEP links your SCEP-enabled and mobile device management systems to AWS Private CA for digital signature installation and certificate management.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Launching Global Cluster tagging.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.21.json b/.changes/1.34.21.json new file mode 100644 index 000000000000..53907cc5739c --- /dev/null +++ b/.changes/1.34.21.json @@ -0,0 +1,32 @@ +[ + { + "category": "``codebuild``", + "description": "GitLab Enhancements - Add support for Self-Hosted GitLab runners in CodeBuild. Add group webhooks", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "The `DescribeImageScanning` API now includes `fixAvailable`, `exploitAvailable`, and `fixedInVersion` fields to provide more detailed information about the availability of fixes, exploits, and fixed versions for identified image vulnerabilities.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only release to address various tickets.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Support for JSON resource-based policies and block public access", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation with configuration information about the BYOL model for RDS for Db2.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Support for additional levels of cross-account, cross-Region organizational units in Automation. Various documentation updates.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.22.json b/.changes/1.34.22.json new file mode 100644 index 000000000000..938a1835e817 --- /dev/null +++ b/.changes/1.34.22.json @@ -0,0 +1,37 @@ +[ + { + "category": "``ce``", + "description": "This release extends the GetReservationPurchaseRecommendation API to support recommendations for Amazon DynamoDB reservations.", + "type": "api-change" + }, + { + "category": "``ds``", + "description": "Added new APIs for enabling, disabling, and describing access to the AWS Directory Service Data API", + "type": "api-change" + }, + { + "category": "``ds-data``", + "description": "Added new AWS Directory Service Data API, enabling you to manage data stored in AWS Directory Service directories. This includes APIs for creating, reading, updating, and deleting directory users, groups, and group memberships.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Add `launchType` and `sourceIPs` fields to GuardDuty findings.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Introduce a new RuleSet condition evaluation, where customers can set up a StringExpression with a MimeHeader condition. This condition will perform the necessary validation based on the X-header provided by customers.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation with information upgrading snapshots with unsupported engine versions for RDS for MySQL and RDS for PostgreSQL.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Added SSE-KMS support for directory buckets.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.23.json b/.changes/1.34.23.json new file mode 100644 index 000000000000..089432ac9cbc --- /dev/null +++ b/.changes/1.34.23.json @@ -0,0 +1,42 @@ +[ + { + "category": "``codeconnections``", + "description": "This release adds the PullRequestComment field to CreateSyncConfiguration API input, UpdateSyncConfiguration API input, GetSyncConfiguration API output and ListSyncConfiguration API output", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This change is for releasing TestConnection api SDK model", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Tagging support for Lambda event source mapping, and code signing configuration resources.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release provides support for additional DRM configurations per SPEKE Version 2.0.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Adds Bandwidth Reduction Filtering for HD AVC and HEVC encodes, multiplex container settings.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "QuickSight: 1. Add new API - ListFoldersForResource. 2. Commit mode adds visibility configuration of Apply button on multi-select controls for authors.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Introduced support for G6e instance types on SageMaker Studio for JupyterLab and CodeEditor applications.", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "WorkSpaces Secure Browser now enables Administrators to view and manage end-user browsing sessions via Session Management APIs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.24.json b/.changes/1.34.24.json new file mode 100644 index 000000000000..ea8d84927015 --- /dev/null +++ b/.changes/1.34.24.json @@ -0,0 +1,32 @@ +[ + { + "category": "``dynamodb``", + "description": "Generate account endpoint for DynamoDB requests when the account ID is available", + "type": "api-change" + }, + { + "category": "``neptune``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Amazon SageMaker now supports using manifest files to specify the location of uncompressed model artifacts within Model Packages", + "type": "api-change" + }, + { + "category": "``sagemaker-metrics``", + "description": "This release introduces support for the SageMaker Metrics BatchGetMetrics API.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Releasing new ErrorCodes for SysPrep failures during ImageImport and CreateImage process", + "type": "api-change" + }, + { + "category": "paginator", + "description": "Add warning when a non-positive value is provided for the max-items pagination parameter.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.34.25.json b/.changes/1.34.25.json new file mode 100644 index 000000000000..26891b23a5a7 --- /dev/null +++ b/.changes/1.34.25.json @@ -0,0 +1,42 @@ +[ + { + "category": "``apigateway``", + "description": "Documentation updates for Amazon API Gateway", + "type": "api-change" + }, + { + "category": "``athena``", + "description": "List/Get/Update/Delete/CreateDataCatalog now integrate with AWS Glue connections. Users can create a Glue connection through Athena or use a Glue connection to define their Athena federated parameters.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Amazon Bedrock Prompt Flows and Prompt Management now supports using inference profiles to increase throughput and improve resilience.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads.", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "This release adds support for job concurrency and queuing configuration at Application level.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Added AthenaProperties parameter to Glue Connections, allowing Athena to store service specific properties on Glue Connections.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Support ComputeRedundancy parameter in ModifyDBShardGroup API. Add DBShardGroupArn in DBShardGroup API response. Remove InvalidMaxAcuFault from CreateDBShardGroup and ModifyDBShardGroup API. Both API will throw InvalidParameterValueException for invalid ACU configuration.", + "type": "api-change" + }, + { + "category": "``resource-explorer-2``", + "description": "AWS Resource Explorer released ListResources feature which allows customers to list all indexed AWS resources within a view.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.26.json b/.changes/1.34.26.json new file mode 100644 index 000000000000..7a847d1b276d --- /dev/null +++ b/.changes/1.34.26.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock``", + "description": "Add support for Cross Region Inference in Bedrock Model Evaluations.", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Releasing minor partitional endpoint updates", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "This release includes support to add tags when creating a stream", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "AWS End User Messaging SMS-Voice V2 has added support for resource policies. Use the three new APIs to create, view, edit, and delete resource policies.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adding `HiddenInstanceTypes` and `HiddenSageMakerImageVersionAliases` attribute to SageMaker API", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.27.json b/.changes/1.34.27.json new file mode 100644 index 000000000000..49b22905de81 --- /dev/null +++ b/.changes/1.34.27.json @@ -0,0 +1,17 @@ +[ + { + "category": "``cloudtrail``", + "description": "Doc-only update for CloudTrail network activity events release (in preview)", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Updates to documentation for the transit gateway security group referencing feature.", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Doc-only update to address Lustre S3 hard-coded names.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.28.json b/.changes/1.34.28.json new file mode 100644 index 000000000000..5b9026c80bb3 --- /dev/null +++ b/.changes/1.34.28.json @@ -0,0 +1,32 @@ +[ + { + "category": "``chatbot``", + "description": "Return State and StateReason fields for Chatbot Channel Configurations.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Reverting Lambda resource-based policy and block public access APIs.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Add support for policy operations on the CHATBOT_POLICY policy type.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "AWS PCS API documentation - Edited the description of the iamInstanceProfileArn parameter of the CreateComputeNodeGroup and UpdateComputeNodeGroup actions; edited the description of the SlurmCustomSetting data type to list the supported parameters for clusters and compute node groups.", + "type": "api-change" + }, + { + "category": "``rds-data``", + "description": "Documentation update for RDS Data API to reflect support for Aurora MySQL Serverless v2 and Provisioned DB clusters.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adding `TagPropagation` attribute to Sagemaker API", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.29.json b/.changes/1.34.29.json new file mode 100644 index 000000000000..1a94c8937e3c --- /dev/null +++ b/.changes/1.34.29.json @@ -0,0 +1,22 @@ +[ + { + "category": "``customer-profiles``", + "description": "Introduces optional RoleArn parameter for PutIntegration request and includes RoleArn in the response of PutIntegration, GetIntegration and ListIntegrations", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Adding personalization in QuickSight data stories. Admins can enable or disable personalization through QuickSight settings.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Documentation updates for AWS Security Hub", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "This release adds support for engagement tracking over Https using custom domains.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.3.json b/.changes/1.34.3.json new file mode 100644 index 000000000000..ab0c3ed3a803 --- /dev/null +++ b/.changes/1.34.3.json @@ -0,0 +1,32 @@ +[ + { + "category": "``ec2``", + "description": "DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances", + "type": "api-change" + }, + { + "category": "``entityresolution``", + "description": "Increase the mapping attributes in Schema to 35.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add optional field JobRunQueuingEnabled to CreateJob and UpdateJob APIs.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Release FilterCriteria encryption for Lambda EventSourceMapping, enabling customers to encrypt their filter criteria using a customer-owned KMS key.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Security Hub documentation and definition updates", + "type": "api-change" + }, + { + "category": "``ses``", + "description": "Enable email receiving customers to provide SES with access to their S3 buckets via an IAM role for \"Deliver to S3 Action\"", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.30.json b/.changes/1.34.30.json new file mode 100644 index 000000000000..eed962933e7a --- /dev/null +++ b/.changes/1.34.30.json @@ -0,0 +1,42 @@ +[ + { + "category": "``bedrock``", + "description": "Add support for custom models via provisioned throughput for Bedrock Model Evaluation", + "type": "api-change" + }, + { + "category": "``clouddirectory``", + "description": "Add examples for API operations in model.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts", + "type": "api-change" + }, + { + "category": "``pricing``", + "description": "Add examples for API operations in model.", + "type": "api-change" + }, + { + "category": "``resource-groups``", + "description": "This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications.", + "type": "api-change" + }, + { + "category": "``supplychain``", + "description": "Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Add examples for API operations in model.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.31.json b/.changes/1.34.31.json new file mode 100644 index 000000000000..2525d56f5bd3 --- /dev/null +++ b/.changes/1.34.31.json @@ -0,0 +1,17 @@ +[ + { + "category": "``bedrock-agent``", + "description": "This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock.", + "type": "api-change" + }, + { + "category": "``codeartifact``", + "description": "Add support for the dual stack endpoints.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release provides additional support for enabling Aurora Limitless Database DB clusters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.32.json b/.changes/1.34.32.json new file mode 100644 index 000000000000..393c404ad69e --- /dev/null +++ b/.changes/1.34.32.json @@ -0,0 +1,47 @@ +[ + { + "category": "``appstream``", + "description": "Added support for Automatic Time Zone Redirection on Amazon AppStream 2.0", + "type": "api-change" + }, + { + "category": "``b2bi``", + "description": "Added and updated APIs to support outbound EDI transformations", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Added raw model response and usage metrics to PreProcessing and PostProcessing Trace", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Added new fields to Amazon Bedrock Guardrails trace", + "type": "api-change" + }, + { + "category": "``iotdeviceadvisor``", + "description": "Add clientToken attribute and implement idempotency for CreateSuiteDefinition.", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "Adds new Stage Health EventErrorCodes applicable to RTMP(S) broadcasts. Bug Fix: Enforces that EncoderConfiguration Video height and width must be even-number values.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "This release introduces a header representing the minimum object size limit for Lifecycle transitions.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "releasing builtinlcc to public", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "WSP is being rebranded to become DCV.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.33.json b/.changes/1.34.33.json new file mode 100644 index 000000000000..8eddc8abe88a --- /dev/null +++ b/.changes/1.34.33.json @@ -0,0 +1,37 @@ +[ + { + "category": "``codepipeline``", + "description": "AWS CodePipeline introduces Commands action that enables you to easily run shell commands as part of your pipeline execution.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Public GetMetricDataV2 Grouping increase from 3 to 4", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release includes a new API for modifying instance cpu-options after launch.", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "This release adds support for Custom Authentication with X.509 Client Certificates, support for Custom Client Certificate validation, and support for selecting application protocol and authentication type without requiring TLS ALPN for customer's AWS IoT Domain Configurations.", + "type": "api-change" + }, + { + "category": "``marketplace-reporting``", + "description": "The AWS Marketplace Reporting service introduces the GetBuyerDashboard API. This API returns a dashboard that provides visibility into your organization's AWS Marketplace agreements and associated spend across the AWS accounts in your organization.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "Added support for ClipStartTime on the FilterConfiguration object on OriginEndpoint manifest settings objects. Added support for EXT-X-START tags on produced HLS child playlists.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "QuickSight: Add support for exporting and importing folders in AssetBundle APIs", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.4.json b/.changes/1.34.4.json new file mode 100644 index 000000000000..92bc4cf3c7d2 --- /dev/null +++ b/.changes/1.34.4.json @@ -0,0 +1,32 @@ +[ + { + "category": "``autoscaling``", + "description": "Amazon EC2 Auto Scaling now provides EBS health check to manage EC2 instance replacement", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Amazon Bedrock Evaluation BatchDeleteEvaluationJob API allows customers to delete evaluation jobs under terminated evaluation job statuses - Stopped, Failed, or Completed. Customers can submit a batch of 25 evaluation jobs to be deleted at once.", + "type": "api-change" + }, + { + "category": "``emr-containers``", + "description": "Correct endpoint for FIPS is configured for US Gov Regions.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Add enums for Agentless scan statuses and EC2 enablement error states", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Explicit query for authors and dashboard viewing sharing for embedded users", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the Asia Pacific (Malaysia) Region (ap-southeast-5) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.5.json b/.changes/1.34.5.json new file mode 100644 index 000000000000..eb7dbc9063f4 --- /dev/null +++ b/.changes/1.34.5.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Releasing the support for Action User Confirmation.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Releasing the support for Action User Confirmation.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "Added support for the MAC_ARM environment type for CodeBuild fleets.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Releasing minor partitional endpoint updates.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Amazon QBusiness: Enable support for SAML and OIDC federation through AWS IAM Identity Provider integration.", + "type": "api-change" + }, + { + "category": "``supplychain``", + "description": "Update API documentation to clarify the event SLA as well as the data model expectations", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.6.json b/.changes/1.34.6.json new file mode 100644 index 000000000000..9f3c3d3791eb --- /dev/null +++ b/.changes/1.34.6.json @@ -0,0 +1,12 @@ +[ + { + "category": "``iotsitewise``", + "description": "AWS IoT SiteWise now supports versioning for asset models. It enables users to retrieve active version of their asset model and perform asset model writes with optimistic lock.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "This release adds support for creating and managing directories that use AWS IAM Identity Center as user identity source. Such directories can be used to create non-Active Directory domain joined WorkSpaces Personal.Updated RegisterWorkspaceDirectory and DescribeWorkspaceDirectories APIs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.7.json b/.changes/1.34.7.json new file mode 100644 index 000000000000..2286f048a1b7 --- /dev/null +++ b/.changes/1.34.7.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock``", + "description": "Amazon Bedrock SDK updates for Inference Profile.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Amazon Bedrock SDK updates for Inference Profile.", + "type": "api-change" + }, + { + "category": "``chatbot``", + "description": "Update documentation to be consistent with the API docs", + "type": "api-change" + }, + { + "category": "``omics``", + "description": "Adds data provenance to import jobs from read sets and references", + "type": "api-change" + }, + { + "category": "``polly``", + "description": "Amazon Polly adds 2 new voices: Jitka (cs-CZ) and Sabrina (de-CH).", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.8.json b/.changes/1.34.8.json new file mode 100644 index 000000000000..dc1fa3a8e2ab --- /dev/null +++ b/.changes/1.34.8.json @@ -0,0 +1,37 @@ +[ + { + "category": "``appconfig``", + "description": "This release adds support for deletion protection, which is a safety guardrail to prevent the unintentional deletion of a recently used AWS AppConfig Configuration Profile or Environment. This also includes a change to increase the maximum length of the Name parameter in UpdateConfigurationProfile.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Update regex to include dot character to be consistent with IAM role creation in the authorized principal field for create and update subscription target.", + "type": "api-change" + }, + { + "category": "``devicefarm``", + "description": "This release removed support for Calabash, UI Automation, Built-in Explorer, remote access record, remote access replay, and web performance profile framework in ScheduleRun API.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon VPC IP Address Manager (IPAM) now allows customers to provision IPv4 CIDR blocks and allocate Elastic IP Addresses directly from IPAM pools with public IPv4 space", + "type": "api-change" + }, + { + "category": "``internetmonitor``", + "description": "Adds new querying types to show overall traffic suggestion information for monitors", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Introducing AWS Parallel Computing Service (AWS PCS), a new service makes it easy to setup and manage high performance computing (HPC) clusters, and build scientific and engineering models at virtually any scale on AWS.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Documentation-only update that clarifies the StartWorkspaces and StopWorkspaces actions, and a few other minor edits.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.34.9.json b/.changes/1.34.9.json new file mode 100644 index 000000000000..465fa7380599 --- /dev/null +++ b/.changes/1.34.9.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent-runtime``", + "description": "Lifting the maximum length on Bedrock KnowledgeBase RetrievalFilter array", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Add support for imported-model in invokeModel and InvokeModelWithResponseStream.", + "type": "api-change" + }, + { + "category": "``personalize``", + "description": "This releases ability to update automatic training scheduler for customer solutions", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Increased Character Limit for Dataset Calculation Field expressions", + "type": "api-change" + }, + { + "category": "``stepfunctions``", + "description": "This release adds support for static analysis to ValidateStateMachineDefinition API, which can now return optional WARNING diagnostics for semantic errors on the definition of an Amazon States Language (ASL) state machine.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "The minimum request rate for a rate-based rule is now 10. Before this, it was 100.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.0.json b/.changes/1.35.0.json new file mode 100644 index 000000000000..7d44da228401 --- /dev/null +++ b/.changes/1.35.0.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ec2``", + "description": "Documentation updates for Amazon EC2.", + "type": "api-change" + }, + { + "category": "``iot-data``", + "description": "Add v2 smoke tests and smithy smokeTests trait for SDK testing.", + "type": "api-change" + }, + { + "category": "s3", + "description": "Adds ``--checksum-mode`` and ``--checksum-algorithm`` parameters to high-level ``s3`` commands.", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.35.1.json b/.changes/1.35.1.json new file mode 100644 index 000000000000..a21f8e18cac0 --- /dev/null +++ b/.changes/1.35.1.json @@ -0,0 +1,22 @@ +[ + { + "category": "``deadline``", + "description": "Add support for using the template from a previous job during job creation and listing parameter definitions for a job.", + "type": "api-change" + }, + { + "category": "``marketplace-reporting``", + "description": "Documentation-only update for AWS Marketplace Reporting API.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "This release adds support for the following capabilities: Configuration of the Gen AI system via AIAgent and AIPrompts. Integration support for Bedrock Knowledge Base.", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Add validation pattern to S3KeyPrefix on the EnableLogging API", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.10.json b/.changes/1.35.10.json new file mode 100644 index 000000000000..e81481e2b296 --- /dev/null +++ b/.changes/1.35.10.json @@ -0,0 +1,27 @@ +[ + { + "category": "``athena``", + "description": "Removing FEDERATED from Create/List/Delete/GetDataCatalog API", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Adding converse support to CMI API's", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Added converse support for custom imported models", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Adding the following project member designations: PROJECT_CATALOG_VIEWER, PROJECT_CATALOG_CONSUMER and PROJECT_CATALOG_STEWARD in the CreateProjectMembership API and PROJECT_CATALOG_STEWARD designation in the AddPolicyGrant API.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "RequestSpotInstances and RequestSpotFleet feature release.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.11.json b/.changes/1.35.11.json new file mode 100644 index 000000000000..d7d172253221 --- /dev/null +++ b/.changes/1.35.11.json @@ -0,0 +1,47 @@ +[ + { + "category": "``application-insights``", + "description": "This feature enables customers to specify SNS Topic ARN. CloudWatch Application Insights (CWAI) will utilize this ARN to send problem notifications.", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "Adds support for removing the PlacementGroup setting on an Auto Scaling Group through the UpdateAutoScalingGroup API.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Knowledge Bases for Amazon Bedrock now supports custom prompts and model parameters in the orchestrationConfiguration of the RetrieveAndGenerate API. The modelArn field accepts Custom Models and Imported Models ARNs.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Added support for tagging in StartReplicationTaskAssessmentRun API and introduced IsLatestTaskAssessmentRun and ResultStatistic fields for enhanced tracking and assessment result statistics.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon EC2 now allows you to create network interfaces with just the EFA driver and no ENA driver by specifying the network interface type as efa-only.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "This release adds support for Amazon Application Recovery Controller (ARC) zonal shift and zonal autoshift with EKS that enhances the resiliency of multi-AZ cluster environments", + "type": "api-change" + }, + { + "category": "``fms``", + "description": "Update AWS WAF policy - add the option to retrofit existing web ACLs instead of creating all new web ACLs.", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Adding new API to generate authenticated scripts for EMV pin change use cases.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "Add a property to WebACL to indicate whether it's been retrofitted by Firewall Manager.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.12.json b/.changes/1.35.12.json new file mode 100644 index 000000000000..4266ceb370bd --- /dev/null +++ b/.changes/1.35.12.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Updating invoke regex to support imported models for converse API", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "Add macOS platform and instance placement options", + "type": "api-change" + }, + { + "category": "``m2``", + "description": "Add AuthSecretsManagerArn optional parameter to batch job APIs, expand batch parameter limits, and introduce clientToken constraints.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Global clusters now expose the Endpoint attribute as one of its fields. It is a Read/Write endpoint for the global cluster which resolves to the Global Cluster writer instance.", + "type": "api-change" + }, + { + "category": "``repostspace``", + "description": "Adds the BatchAddRole and BatchRemoveRole APIs.", + "type": "api-change" + }, + { + "category": "``timestream-query``", + "description": "This release adds support for Query Insights, a feature that provides details of query execution, enabling users to identify areas for improvement to optimize their queries, resulting in improved query performance and lower query costs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.13.json b/.changes/1.35.13.json new file mode 100644 index 000000000000..a4eff790a41b --- /dev/null +++ b/.changes/1.35.13.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock``", + "description": "Doc updates for supporting converse", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect Service Feature: Add support to start screen sharing for a web calling contact.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon EC2 X8g, C8g and M8g instances are powered by AWS Graviton4 processors. X8g provide the lowest cost per GiB of memory among Graviton4 instances. C8g provide the best price performance for compute-intensive workloads. M8g provide the best price performance in for general purpose workloads.", + "type": "api-change" + }, + { + "category": "``mwaa``", + "description": "Introducing InvokeRestApi which allows users to invoke the Apache Airflow REST API on the webserver with the specified inputs.", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "Add support for ECC P-256 and P-384 Keys.", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Add ECDH support on PIN operations.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.14.json b/.changes/1.35.14.json new file mode 100644 index 000000000000..3c60b1225964 --- /dev/null +++ b/.changes/1.35.14.json @@ -0,0 +1,32 @@ +[ + { + "category": "``appconfig``", + "description": "This release improves deployment safety by granting customers the ability to REVERT completed deployments, to the last known good state.In the StopDeployment API revert case the status of a COMPLETE deployment will be REVERTED. AppConfig only allows a revert within 72 hours of deployment completion.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release includes a new API to describe some details of the Amazon Machine Images (AMIs) that were used to launch EC2 instances, even if those AMIs are no longer available for use.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release adds support for EBS volumes attached to Amazon ECS Windows tasks running on EC2 instances.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Documentation update: added the default value of the Slurm configuration parameter scaleDownIdleTimeInSeconds to its description.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Add a new field in chat response. This field can be used to support nested schemas in array fields", + "type": "api-change" + }, + { + "category": "shorthand", + "description": "Improve performance when parsing invalid shorthand syntax.", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.35.15.json b/.changes/1.35.15.json new file mode 100644 index 000000000000..e57b9a2eb758 --- /dev/null +++ b/.changes/1.35.15.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Add support of new model types for Bedrock Agents, Adding inference profile support for Flows and Prompt Management, Adding new field to configure additional inference configurations for Flows and Prompt Management", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports automatically retrying failed builds", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Add TagsError field in Lambda GetFunctionResponse. The TagsError field contains details related to errors retrieving tags.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Adding inferred token name for dynamic tokens in Anomalies.", + "type": "api-change" + }, + { + "category": "``supplychain``", + "description": "API doc updates, and also support showing error message on a failed instance", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.16.json b/.changes/1.35.16.json new file mode 100644 index 000000000000..65fda3365348 --- /dev/null +++ b/.changes/1.35.16.json @@ -0,0 +1,22 @@ +[ + { + "category": "``mediapackagev2``", + "description": "MediaPackage V2 Live to VOD Harvester is a MediaPackage V2 feature, which is used to export content from an origin endpoint to a S3 bucket.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "Adds support for provisioning dedicated coordinator nodes. Coordinator nodes can be specified using the new NodeOptions parameter in ClusterConfig.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release adds support for Enhanced Monitoring and Performance Insights when restoring Aurora Limitless Database DB clusters. It also adds support for the os-upgrade pending maintenance action.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "Documentation update: Amazon FSx File Gateway will no longer be available to new customers.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.17.json b/.changes/1.35.17.json new file mode 100644 index 000000000000..2a2ef4e1a663 --- /dev/null +++ b/.changes/1.35.17.json @@ -0,0 +1,37 @@ +[ + { + "category": "``bedrock``", + "description": "Update Application Inference Profile", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Update Application Inference Profile", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "This release adds the option for customers to configure analytics engine when creating a collaboration, and introduces the new SPARK analytics engine type in addition to maintaining the legacy CLEAN_ROOMS_SQL engine type.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "Updated BatchCreateVehicle and BatchUpdateVehicle APIs: LimitExceededException has been added and the maximum number of vehicles in a batch has been set to 10 explicitly", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Added support for new optional baseline parameter in the UpdateAnomaly API. For UpdateAnomaly requests with baseline set to True, The anomaly behavior is then treated as baseline behavior. However, more severe occurrences of this behavior will still be reported as anomalies.", + "type": "api-change" + }, + { + "category": "``redshift-data``", + "description": "Adding a new API GetStatementResultV2 that supports CSV formatted results from ExecuteStatement and BatchExecuteStatement calls.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adding `notebook-al2-v3` as allowed value to SageMaker NotebookInstance PlatformIdentifier attribute", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.18.json b/.changes/1.35.18.json new file mode 100644 index 000000000000..6b685c5fcd83 --- /dev/null +++ b/.changes/1.35.18.json @@ -0,0 +1,87 @@ +[ + { + "category": "``appsync``", + "description": "This release adds support for AppSync Event APIs.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Updated the public documentation for the UserIdentityInfo object to accurately reflect the character limits for the FirstName and LastName fields, which were previously listed as 1-100 characters.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "AWS DataSync now supports Enhanced mode tasks. This task mode supports transfer of virtually unlimited numbers of objects with enhanced metrics, more detailed logs, and higher performance than Basic mode. This mode currently supports transfers between Amazon S3 locations.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds two new capabilities to VPC Security Groups: Security Group VPC Associations and Shared Security Groups.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release supports service deployments and service revisions which provide a comprehensive view of your Amazon ECS service history.", + "type": "api-change" + }, + { + "category": "``geo-maps``", + "description": "Release of Amazon Location Maps API. Maps enables you to build digital maps that showcase your locations, visualize your data, and unlock insights to drive your business", + "type": "api-change" + }, + { + "category": "``geo-places``", + "description": "Release of Amazon Location Places API. Places enables you to quickly search, display, and filter places, businesses, and locations based on proximity, category, and name", + "type": "api-change" + }, + { + "category": "``geo-routes``", + "description": "Release of Amazon Location Routes API. Routes enables you to plan efficient routes and streamline deliveries by leveraging real-time traffic, vehicle restrictions, and turn-by-turn directions.", + "type": "api-change" + }, + { + "category": "``keyspaces``", + "description": "Adds support for interacting with user-defined types (UDTs) through the following new operations: Create-Type, Delete-Type, List-Types, Get-Type.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "AWS Network Firewall now supports configuring TCP idle timeout", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This release introduces the new OpenSearch user interface (Dashboards), a new web-based application that can be associated with multiple data sources across OpenSearch managed clusters, serverless collections, and Amazon S3, so that users can gain a comprehensive insights in an unified interface.", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "Neo Integration via IAM Identity Center (IdC)", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "This release launches S3 event integrations to create and manage integrations from an Amazon S3 source into an Amazon Redshift database.", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Adds and updates API members for the Redshift Serverless AI-driven scaling and optimization feature using the price-performance target setting.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "This release adds support for TLSA, SSHFP, SVCB, and HTTPS record types.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added support for Model Registry Staging construct. Users can define series of stages that models can progress through for model workflows and lifecycle. This simplifies tracking and managing models as they transition through development, testing, and production stages.", + "type": "api-change" + }, + { + "category": "``workmail``", + "description": "This release adds support for Multi-Factor Authentication (MFA) and Personal Access Tokens through integration with AWS IAM Identity Center.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.19.json b/.changes/1.35.19.json new file mode 100644 index 000000000000..bbb193551a72 --- /dev/null +++ b/.changes/1.35.19.json @@ -0,0 +1,37 @@ +[ + { + "category": "``amp``", + "description": "Added support for UpdateScraper API, to enable updating collector configuration in-place", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "Adds bake time for Auto Scaling group Instance Refresh", + "type": "api-change" + }, + { + "category": "``batch``", + "description": "Add `podNamespace` to `EksAttemptDetail` and `containerID` to `EksAttemptContainerDetail`.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "Add UDP support for AWS PrivateLink and dual-stack Network Load Balancers", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add schedule support for AWS Glue column statistics", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "SageMaker HyperPod adds scale-down at instance level via BatchDeleteClusterNodes API and group level via UpdateCluster API. SageMaker Training exposes secondary job status in TrainingJobSummary from ListTrainingJobs API. SageMaker now supports G6, G6e, P5e instances for HyperPod and Training.", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "This release enables customers to provide the email template content in the SESv2 SendEmail and SendBulkEmail APIs instead of the name or the ARN of a stored email template.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.2.json b/.changes/1.35.2.json new file mode 100644 index 000000000000..672f7eec55d2 --- /dev/null +++ b/.changes/1.35.2.json @@ -0,0 +1,17 @@ +[ + { + "category": "``elasticache``", + "description": "AWS ElastiCache SDK now supports using APIs with newly launched Valkey engine. Please refer to updated AWS ElastiCache public documentation for detailed information on API usage.", + "type": "api-change" + }, + { + "category": "``memorydb``", + "description": "Amazon MemoryDB SDK now supports all APIs for newly launched Valkey engine. Please refer to the updated Amazon MemoryDB public documentation for detailed information on API usage.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Adds logic to gracefully handle invalid timestamps returned in the Expires header.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.35.20.json b/.changes/1.35.20.json new file mode 100644 index 000000000000..a9a810894b06 --- /dev/null +++ b/.changes/1.35.20.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Amazon Bedrock Knowledge Bases now supports using application inference profiles to increase throughput and improve resilience.", + "type": "api-change" + }, + { + "category": "``docdb-elastic``", + "description": "Amazon DocumentDB Elastic Clusters adds support for pending maintenance actions feature with APIs GetPendingMaintenanceAction, ListPendingMaintenanceActions and ApplyPendingMaintenanceAction", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "This release introduces an improvement in PutLogEvents", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "Add support for supplemental tax registrations via these new APIs: PutSupplementalTaxRegistration, ListSupplementalTaxRegistrations, and DeleteSupplementalTaxRegistration.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.21.json b/.changes/1.35.21.json new file mode 100644 index 000000000000..8fa134dc0871 --- /dev/null +++ b/.changes/1.35.21.json @@ -0,0 +1,32 @@ +[ + { + "category": "``codebuild``", + "description": "AWS CodeBuild now adds additional compute types for reserved capacity fleet.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "GuardDuty RDS Protection expands support for Amazon Aurora PostgreSQL Limitless Databases.", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "API changes for new named tag expressions feature.", + "type": "api-change" + }, + { + "category": "``qapps``", + "description": "Introduces category apis in AmazonQApps. Web experience users use Categories to tag and filter library items.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Fix ListStorageLensConfigurations and ListStorageLensGroups deserialization for Smithy SDKs.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Adding BatchGetPolicy API which supports the retrieval of multiple policies across multiple policy stores within a single request.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.22.json b/.changes/1.35.22.json new file mode 100644 index 000000000000..55b680dad2a3 --- /dev/null +++ b/.changes/1.35.22.json @@ -0,0 +1,42 @@ +[ + { + "category": "``autoscaling``", + "description": "Auto Scaling groups now support the ability to strictly balance instances across Availability Zones by configuring the AvailabilityZoneDistribution parameter. If balanced-only is configured for a group, launches will always be attempted in the under scaled Availability Zone even if it is unhealthy.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Add prompt support for chat template configuration and agent generative AI resource. Add support for configuring an optional guardrail in Prompt and Knowledge Base nodes in Prompt Flows. Add API to validate flow definition", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Add Prompt management support to Bedrock runtime APIs: Converse, ConverseStream, InvokeModel, InvokeModelWithStreamingResponse", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "This release introduces support for Custom Models in AWS Clean Rooms ML.", + "type": "api-change" + }, + { + "category": "``cleanroomsml``", + "description": "This release introduces support for Custom Models in AWS Clean Rooms ML.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Add Client Credentials based OAuth support for Snowflake and Starburst", + "type": "api-change" + }, + { + "category": "``resource-explorer-2``", + "description": "Add GetManagedView, ListManagedViews APIs.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Add support to toggle if a canary will automatically delete provisioned canary resources such as Lambda functions and layers when a canary is deleted. This behavior can be controlled via the new ProvisionedResourceCleanup property exposed in the CreateCanary and UpdateCanary APIs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.23.json b/.changes/1.35.23.json new file mode 100644 index 000000000000..b6060207d0bb --- /dev/null +++ b/.changes/1.35.23.json @@ -0,0 +1,47 @@ +[ + { + "category": "``batch``", + "description": "This feature allows override LaunchTemplates to be specified in an AWS Batch Compute Environment.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "This release adds trace functionality to Bedrock Prompt Flows", + "type": "api-change" + }, + { + "category": "``chime-sdk-media-pipelines``", + "description": "Added support for Media Capture Pipeline and Media Concatenation Pipeline for customer managed server side encryption. Now Media Capture Pipeline can use IAM sink role to get access to KMS key and encrypt/decrypt recorded artifacts. KMS key ID can also be supplied with encryption context.", + "type": "api-change" + }, + { + "category": "``controlcatalog``", + "description": "AWS Control Catalog GetControl public API returns additional data in output, including Implementation and Parameters", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Adds new error code `Ec2InstanceTypeDoesNotExist` for Amazon EKS managed node groups", + "type": "api-change" + }, + { + "category": "``firehose``", + "description": "Amazon Data Firehose / Features : Adds support for a new DeliveryStreamType, DatabaseAsSource. DatabaseAsSource hoses allow customers to stream CDC events from their RDS and Amazon EC2 hosted databases, running MySQL and PostgreSQL database engines, to Iceberg Table destinations.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "This release adds support for using AWS KMS customer managed keys to encrypt AWS Lambda .zip deployment packages.", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "Added the RequiresAuthenticationTimestamp field to the RegistrationVersionStatusHistory data type.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Adds S3 path option to pass group member list for PutGroup API.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.24.json b/.changes/1.35.24.json new file mode 100644 index 000000000000..e89e0359049e --- /dev/null +++ b/.changes/1.35.24.json @@ -0,0 +1,27 @@ +[ + { + "category": "``cloudfront``", + "description": "No API changes from previous release. This release migrated the model to Smithy keeping all features unchanged.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Adds support for filePath filter.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Add Python 3.13 (python3.13) support to AWS Lambda", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "Adds Support for new AssociatePackages and DissociatePackages API in Amazon OpenSearch Service that allows association and dissociation operations to be carried out on multiple packages at the same time.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "This release updates StartCapacityTask to allow an active Outpost to be modified. It also adds a new API to list all running EC2 instances on the Outpost.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.3.json b/.changes/1.35.3.json new file mode 100644 index 000000000000..041b8caf7976 --- /dev/null +++ b/.changes/1.35.3.json @@ -0,0 +1,7 @@ +[ + { + "category": "``codepipeline``", + "description": "AWS CodePipeline introduces a Compute category", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.4.json b/.changes/1.35.4.json new file mode 100644 index 000000000000..06247d72fee0 --- /dev/null +++ b/.changes/1.35.4.json @@ -0,0 +1,57 @@ +[ + { + "category": "``acm-pca``", + "description": "Documentation updates for AWS Private CA.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Introduces DescribeDataMigrations, CreateDataMigration, ModifyDataMigration, DeleteDataMigration, StartDataMigration, StopDataMigration operations to SDK. Provides FailedDependencyFault error message.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for assigning the billing of shared Amazon EC2 On-Demand Capacity Reservations.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only release that updates to documentation to let customers know that Amazon Elastic Inference is no longer available.", + "type": "api-change" + }, + { + "category": "``elastic-inference``", + "description": "Elastic Inference - Documentation update to add service shutdown notice.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "Refine campaign related API validations", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Support for 16 m-NCU graphs available through account allowlisting", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "Adding new \"DELIVERED\" enum value for Outposts Order status", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Route 53 Resolver Forwarding Rules can now include a server name indication (SNI) in the target address for rules that use the DNS-over-HTTPS (DoH) protocol. When a DoH-enabled Outbound Resolver Endpoint forwards a request to a DoH server, it will provide the SNI in the TLS handshake.", + "type": "api-change" + }, + { + "category": "``socialmessaging``", + "description": "This release for AWS End User Messaging includes a public SDK, providing a suite of APIs that enable sending WhatsApp messages to end users.", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "This release updates our regex based validation rules in regards to valid DbInstance and DbParameterGroup name.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.5.json b/.changes/1.35.5.json new file mode 100644 index 000000000000..22b588d5a46d --- /dev/null +++ b/.changes/1.35.5.json @@ -0,0 +1,27 @@ +[ + { + "category": "``appflow``", + "description": "Doc only updates for clarification around OAuth2GrantType for Salesforce.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "Add zonal_shift.config.enabled attribute. Add new AdministrativeOverride construct in the describe-target-health API response to include information about the override status applied to a target.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "This release provides new parameter \"Context\" in instance fleet clusters.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Added a new field for network connection details.", + "type": "api-change" + }, + { + "category": "``robomaker``", + "description": "Documentation update: added support notices to each API action.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.6.json b/.changes/1.35.6.json new file mode 100644 index 000000000000..5bcd920b80d9 --- /dev/null +++ b/.changes/1.35.6.json @@ -0,0 +1,27 @@ +[ + { + "category": "``codepipeline``", + "description": "AWS CodePipeline V2 type pipelines now support automatically retrying failed stages and skipping stage for failed entry conditions.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Mail Manager support for viewing and exporting metadata of archived messages.", + "type": "api-change" + }, + { + "category": "``securitylake``", + "description": "This release updates request validation regex for resource ARNs.", + "type": "api-change" + }, + { + "category": "``supplychain``", + "description": "This release adds AWS Supply Chain instance management functionality. Specifically adding CreateInstance, DeleteInstance, GetInstance, ListInstances, and UpdateInstance APIs.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "This release enables customers using SFTP connectors to query the transfer status of their files to meet their monitoring needs as well as orchestrate post transfer actions.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.7.json b/.changes/1.35.7.json new file mode 100644 index 000000000000..63505bbc274d --- /dev/null +++ b/.changes/1.35.7.json @@ -0,0 +1,42 @@ +[ + { + "category": "``amplify``", + "description": "Added sourceUrlType field to StartDeployment request", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "Documentation update for AWS CloudFormation API Reference.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "Enable proxy for reserved capacity fleet.", + "type": "api-change" + }, + { + "category": "``ivs``", + "description": "On a channel that you own, you can now replace an ongoing stream with a new stream by streaming up with the priority parameter appended to the stream key.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Amazon Q Business now supports embedding the Amazon Q Business web experience on third-party websites.", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "This release launches the CreateIntegration, DeleteIntegration, DescribeIntegrations and ModifyIntegration APIs to create and manage Amazon Redshift Zero-ETL Integrations.", + "type": "api-change" + }, + { + "category": "``resiliencehub``", + "description": "AWS Resilience Hub now integrates with the myApplications platform, enabling customers to easily assess the resilience of applications defined in myApplications. The new Resiliency widget provides visibility into application resilience and actionable recommendations for improvement.", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "This release adds support for email maximum delivery seconds that allows senders to control the time within which their emails are attempted for delivery.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.8.json b/.changes/1.35.8.json new file mode 100644 index 000000000000..4e3bc4f046f7 --- /dev/null +++ b/.changes/1.35.8.json @@ -0,0 +1,7 @@ +[ + { + "category": "``s3``", + "description": "Add support for the new optional bucket-region and prefix query parameters in the ListBuckets API. For ListBuckets requests that express pagination, Amazon S3 will now return both the bucket names and associated AWS regions in the response.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.35.9.json b/.changes/1.35.9.json new file mode 100644 index 000000000000..dd363221a2f7 --- /dev/null +++ b/.changes/1.35.9.json @@ -0,0 +1,42 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Removing support for topK property in PromptModelInferenceConfiguration object, Making PromptTemplateConfiguration property as required, Limiting the maximum PromptVariant to 1", + "type": "api-change" + }, + { + "category": "``dataexchange``", + "description": "This release adds Data Grant support, through which customers can programmatically create data grants to share with other AWS accounts and accept data grants from other AWS accounts.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is an Amazon ECS documentation only update to address tickets.", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "Added the registrations status of REQUIRES_AUTHENTICATION", + "type": "api-change" + }, + { + "category": "``pipes``", + "description": "This release adds validation to require specifying a SecurityGroup and Subnets in the Vpc object under PipesSourceSelfManagedKafkaParameters. It also adds support for iso-e, iso-f, and other non-commercial partitions in ARN parameters.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Add StartDashboardSnapshotJobSchedule API. RestoreAnalysis now supports restoring analysis to folders.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation for TAZ IAM support", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Updated the DomainName pattern for Active Directory", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.0.json b/.changes/1.36.0.json new file mode 100644 index 000000000000..658ef9b3cc7e --- /dev/null +++ b/.changes/1.36.0.json @@ -0,0 +1,37 @@ +[ + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports non-containerized Linux and Windows builds on Reserved Capacity.", + "type": "api-change" + }, + { + "category": "``controltower``", + "description": "Added ResetEnabledControl API.", + "type": "api-change" + }, + { + "category": "``fis``", + "description": "This release adds support for generating experiment reports with the experiment report configuration", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Amazon GameLift releases container fleets support for general availability. Deploy Linux-based containerized game server software for hosting on Amazon GameLift.", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "Updated ListAliases API with KeyArn filter.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation for Amazon RDS Extended Support for Amazon Aurora MySQL.", + "type": "api-change" + }, + { + "category": "shorthand", + "description": "Adds support to shorthand syntax for loading parameters from files via the ``@=`` assignment operator.", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.36.1.json b/.changes/1.36.1.json new file mode 100644 index 000000000000..9b70a99abcbc --- /dev/null +++ b/.changes/1.36.1.json @@ -0,0 +1,52 @@ +[ + { + "category": "``accessanalyzer``", + "description": "This release adds support for policy validation and external access findings for resource control policies (RCP). IAM Access Analyzer helps you author functional and secure RCPs and awareness that a RCP may restrict external access. Updated service API, documentation, and paginators.", + "type": "api-change" + }, + { + "category": "``application-signals``", + "description": "Amazon CloudWatch Application Signals now supports creating Service Level Objectives with burn rates. Users can now create or update SLOs with burn rate configurations to meet their specific business requirements.", + "type": "api-change" + }, + { + "category": "``b2bi``", + "description": "This release adds a GenerateMapping API to allow generation of JSONata or XSLT transformer code based on input and output samples.", + "type": "api-change" + }, + { + "category": "``billing``", + "description": "Today, AWS announces the general availability of ListBillingViews API in the AWS SDKs, to enable AWS Billing Conductor (ABC) users to create proforma Cost and Usage Reports (CUR) programmatically.", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "This release adds a new API GenerateQuery that generates a query from a natural language prompt about the event data in your event data store. This operation uses generative artificial intelligence (generative AI) to produce a ready-to-use SQL query from the prompt.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This release includes supports the new WarmThroughput feature for DynamoDB. You can now provide an optional WarmThroughput attribute for CreateTable or UpdateTable APIs to pre-warm your table or global secondary index. You can also use DescribeTable to see the latest WarmThroughput value.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds the source AMI details in DescribeImages API", + "type": "api-change" + }, + { + "category": "``internetmonitor``", + "description": "Add new query type Routing_Suggestions regarding querying interface", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds support for ARN inputs in the Kantar credentials secrets name field and the MSPR field to the manifests for PlayReady DRM protected outputs.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Add support for policy operations on the Resource Control Polices.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.10.json b/.changes/1.36.10.json new file mode 100644 index 000000000000..28000710a77e --- /dev/null +++ b/.changes/1.36.10.json @@ -0,0 +1,17 @@ +[ + { + "category": "``directconnect``", + "description": "Update DescribeDirectConnectGatewayAssociations API to return associated core network information if a Direct Connect gateway is attached to a Cloud WAN core network.", + "type": "api-change" + }, + { + "category": "``networkmanager``", + "description": "This release adds native Direct Connect integration on Cloud WAN enabling customers to directly attach their Direct Connect gateways to Cloud WAN without the need for an intermediate Transit Gateway.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.11.json b/.changes/1.36.11.json new file mode 100644 index 000000000000..020c56230736 --- /dev/null +++ b/.changes/1.36.11.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Custom Orchestration API release for AWSBedrockAgents.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Custom Orchestration and Streaming configurations API release for AWSBedrockAgents.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Enables access to ValueMap and ValueInteger types for SegmentAttributes and fixes deserialization bug for DescribeContactFlow in AmazonConnect Public API", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds support for Time-based Copy for EBS Snapshots and Cross Region PrivateLink. Time-based Copy ensures that EBS Snapshots are copied within and across AWS Regions in a specified timeframe. Cross Region PrivateLink enables customers to connect to VPC endpoint services hosted in other AWS Regions.", + "type": "api-change" + }, + { + "category": "``qapps``", + "description": "Private sharing, file upload and data collection feature support for Q Apps", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.12.json b/.changes/1.36.12.json new file mode 100644 index 000000000000..528a12728534 --- /dev/null +++ b/.changes/1.36.12.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Add support for specifying embeddingDataType, either FLOAT32 or BINARY", + "type": "api-change" + }, + { + "category": "``config``", + "description": "AWS Config adds support for service-linked recorders, a new type of Config recorder managed by AWS services to record specific subsets of resource configuration data and functioning independently from customer managed AWS Config recorders.", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "This release adds EFA support to increase FSx for Lustre file systems' throughput performance to a single client instance. This can be done by specifying EfaEnabled=true at the time of creation of Persistent_2 file systems.", + "type": "api-change" + }, + { + "category": "``observabilityadmin``", + "description": "Amazon CloudWatch Observability Admin adds the ability to audit telemetry configuration for AWS resources in customers AWS Accounts and Organizations. The release introduces new APIs to turn on/off the new experience, which supports discovering supported AWS resources and their state of telemetry.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.13.json b/.changes/1.36.13.json new file mode 100644 index 000000000000..f9293ba5d512 --- /dev/null +++ b/.changes/1.36.13.json @@ -0,0 +1,152 @@ +[ + { + "category": "``bedrock``", + "description": "Add support for Knowledge Base Evaluations & LLM as a judge", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "This release introduces APIs to upload documents directly into a Knowledge Base", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "This release introduces a new Rerank API to leverage reranking models (with integration into Knowledge Bases); APIs to upload documents directly into Knowledge Base; RetrieveAndGenerateStream API for streaming response; Guardrails on Retrieve API; and ability to automatically generate filters", + "type": "api-change" + }, + { + "category": "``chime-sdk-voice``", + "description": "This release adds supports for enterprises to integrate Amazon Connect with other voice systems. It supports directly transferring voice calls and metadata without using the public telephone network. It also supports real-time and post-call analytics.", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "This release allows customers and their partners to easily collaborate with data stored in Snowflake and Amazon Athena, without having to move or share their underlying data among collaborators.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Adds support for WhatsApp Business messaging, IVR call recording, enabling Contact Lens for existing on-premise contact centers and telephony platforms, and enabling telephony and IVR migration to Amazon Connect independent of their contact center agents.", + "type": "api-change" + }, + { + "category": "``connectcampaignsv2``", + "description": "Amazon Connect Outbound Campaigns V2 / Features : Adds support for Event-Triggered Campaigns.", + "type": "api-change" + }, + { + "category": "``customer-profiles``", + "description": "This release introduces Event Trigger APIs as part of Amazon Connect Customer Profiles service.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds support for declarative policies that allow you to enforce desired configuration across an AWS organization through configuring account attributes. Adds support for Allowed AMIs that allows you to limit the use of AMIs in AWS accounts. Adds support for connectivity over non-HTTP protocols.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release adds support for Container Insights with Enhanced Observability for Amazon ECS.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Added support for Auto Mode Clusters, Hybrid Nodes, and specifying computeTypes in the DescribeAddonVersions API.", + "type": "api-change" + }, + { + "category": "``events``", + "description": "Call private APIs by configuring Connections with VPC connectivity through PrivateLink and VPC Lattice", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "FSx API changes to support the public launch of the Amazon FSx Intelligent Tiering for OpenZFS storage class.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Add new Multi Domain Correlation findings.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "Added support for EC2 Image Builder's integration with AWS Marketplace for Marketplace components.", + "type": "api-change" + }, + { + "category": "``invoicing``", + "description": "AWS Invoice Configuration allows you to receive separate AWS invoices based on your organizational needs. You can use the AWS SDKs to manage Invoice Units and programmatically fetch the information of the invoice receiver.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Adds PutIntegration, GetIntegration, ListIntegrations and DeleteIntegration APIs. Adds QueryLanguage support to StartQuery, GetQueryResults, DescribeQueries, DescribeQueryDefinitions, and PutQueryDefinition APIs.", + "type": "api-change" + }, + { + "category": "``memorydb``", + "description": "Amazon MemoryDB SDK now supports all APIs for Multi-Region. Please refer to the updated Amazon MemoryDB public documentation for detailed information on API usage.", + "type": "api-change" + }, + { + "category": "``networkflowmonitor``", + "description": "This release adds documentation for a new feature in Amazon CloudWatch called Network Flow Monitor. You can use Network Flow Monitor to get near real-time metrics, including retransmissions and data transferred, for your actual workloads.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This feature introduces support for CRUDL APIs, enabling the creation and management of Connected data sources.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Add support for policy operations on the DECLARATIVE_POLICY_EC2 policy type.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Amazon Q Business now supports capabilities to extract insights and answer questions from visual elements embedded within documents, a browser extension for Google Chrome, Mozilla Firefox, and Microsoft Edge, and attachments across conversations.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "This release adds following capabilities: Configuring safeguards via AIGuardrails for Q in Connect inferencing, and APIs to support Q&A self-service use cases", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Amazon RDS supports CloudWatch Database Insights. You can use the SDK to create, modify, and describe the DatabaseInsightsMode for your DB instances and clusters.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon S3 introduces support for AWS Dedicated Local Zones", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Amazon S3 introduces support for AWS Dedicated Local Zones", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Add new Multi Domain Correlation findings.", + "type": "api-change" + }, + { + "category": "``security-ir``", + "description": "AWS Security Incident Response is a purpose-built security incident solution designed to help customers prepare for, respond to, and recover from security incidents.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "AWS Transfer Family now offers Web apps that enables simple and secure access to data stored in Amazon S3.", + "type": "api-change" + }, + { + "category": "``vpc-lattice``", + "description": "Lattice APIs that allow sharing and access of VPC resources across accounts.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.14.json b/.changes/1.36.14.json new file mode 100644 index 000000000000..8cc093c5fcc5 --- /dev/null +++ b/.changes/1.36.14.json @@ -0,0 +1,17 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Add an API parameter that allows customers to set performance configuration for invoking a model.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "It allows customers to pass CRC64NVME as a header in S3 Batch Operations copy requests", + "type": "api-change" + }, + { + "category": "``socialmessaging``", + "description": "Added support for passing role arn corresponding to the supported event destination", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.15.json b/.changes/1.36.15.json new file mode 100644 index 000000000000..8403e5d0976a --- /dev/null +++ b/.changes/1.36.15.json @@ -0,0 +1,92 @@ +[ + { + "category": "``athena``", + "description": "Add FEDERATED type to CreateDataCatalog. This creates Athena Data Catalog, AWS Lambda connector, and AWS Glue connection. Create/DeleteDataCatalog returns DataCatalog. Add Status, ConnectionType, and Error to DataCatalog and DataCatalogSummary. Add DeleteCatalogOnly to delete Athena Catalog only.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Tagging support for Async Invoke resources. Added support for Distillation in CreateModelCustomizationJob API. Support for videoDataDeliveryEnabled flag in invocation logging.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Releasing SDK for Multi-Agent Collaboration.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Releasing SDK for multi agent collaboration", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Added support for Async Invoke Operations Start, List and Get. Support for invocation logs with `requestMetadata` field in Converse, ConverseStream, Invoke and InvokeStream. Video content blocks in Converse/ConverseStream accept raw bytes or S3 URI.", + "type": "api-change" + }, + { + "category": "``cloudwatch``", + "description": "Support for configuring AiOps investigation as alarm action", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Adds support for Connections, ProjectProfiles, and JobRuns APIs. Supports the new Lineage feature at GA. Adjusts optionality of a parameter for DataSource and SubscriptionTarget APIs which may adjust types in some clients.", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "Add new API operations for Amazon Aurora DSQL. Amazon Aurora DSQL is a serverless, distributed SQL database with virtually unlimited scale, highest availability, and zero infrastructure management.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This change adds support for global tables with multi-Region strong consistency (in preview). The UpdateTable API now supports a new attribute MultiRegionConsistency to set consistency when creating global tables. The DescribeTable output now optionally includes the MultiRegionConsistency attribute.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release includes(1)Zero-ETL integration to ingest data from 3P SaaS and DynamoDB to Redshift/Redlake (2)new properties on Connections to enable reuse; new connection APIs for retrieve/preview metadata (3)support of CRUD operations for Multi-catalog (4)support of automatic statistics collections", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "This release added two new LakeFormation Permissions (CREATE_CATALOG, SUPER_USER) and added Id field for CatalogResource. It also added new conditon and expression field.", + "type": "api-change" + }, + { + "category": "``qapps``", + "description": "Add support for 11 new plugins as action cards to help automate repetitive tasks and improve productivity.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Amazon Q Business now supports customization options for your web experience, 11 new Plugins, and QuickSight support. Amazon Q index allows software providers to enrich their native generative AI experiences with their customer's enterprise knowledge and user context spanning multiple applications.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "This release includes API needed to support for Unstructured Data in Q in QuickSight Q&A (IDC).", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Adds support for Amazon Redshift RegisterNamespace and DeregisterNamespace APIs to share data to AWS Glue Data Catalog.", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Adds support for the ListManagedWorkgroups API to get an overview of existing managed workgroups.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "Amazon S3 Tables deliver the first cloud object store with built-in open table format support, and the easiest way to store tabular data at scale.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.16.json b/.changes/1.36.16.json new file mode 100644 index 000000000000..9d5a3c902a07 --- /dev/null +++ b/.changes/1.36.16.json @@ -0,0 +1,42 @@ +[ + { + "category": "``bedrock``", + "description": "Introduced two APIs ListPromptRouters and GetPromptRouter for Intelligent Prompt Router feature. Add support for Bedrock Guardrails image content filter. New Bedrock Marketplace feature enabling a wider range of bedrock compatible models with self-hosted capability.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "This release introduces the ability to generate SQL using natural language, through a new GenerateQuery API (with native integration into Knowledge Bases); ability to ingest and retrieve images through Bedrock Data Automation; and ability to create a Knowledge Base backed by Kendra GenAI Index.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "This release introduces the ability to generate SQL using natural language, through a new GenerateQuery API (with native integration into Knowledge Bases); ability to ingest and retrieve images through Bedrock Data Automation; and ability to create a Knowledge Base backed by Kendra GenAI Index.", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Release Bedrock Data Automation SDK", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation-runtime``", + "description": "Release Bedrock Data Automation Runtime SDK", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Added support for Intelligent Prompt Router in Invoke, InvokeStream, Converse and ConverseStream. Add support for Bedrock Guardrails image content filter. New Bedrock Marketplace feature enabling a wider range of bedrock compatible models with self-hosted capability.", + "type": "api-change" + }, + { + "category": "``kendra``", + "description": "This release adds GenAI Index in Amazon Kendra for Retrieval Augmented Generation (RAG) and intelligent search. With the Kendra GenAI Index, customers get high retrieval accuracy powered by the latest information retrieval technologies and semantic models.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Amazon SageMaker HyperPod launched task governance to help customers maximize accelerator utilization for model development and flexible training plans to meet training timelines and budget while reducing weeks of training time. AI apps from AWS partner is now available in SageMaker.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.17.json b/.changes/1.36.17.json new file mode 100644 index 000000000000..1f5e70543cd7 --- /dev/null +++ b/.changes/1.36.17.json @@ -0,0 +1,12 @@ +[ + { + "category": "``partnercentral-selling``", + "description": "Introducing the preview of new partner central selling APIs designed to transform how AWS partners collaborate and co-sell with multiple partners. This enables multiple partners to seamlessly engage and jointly pursue customer opportunities, fostering a new era of collaborative selling.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "This release removes the deprecated UserId and UserGroups fields from SearchRelevantContent api's request parameters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.18.json b/.changes/1.36.18.json new file mode 100644 index 000000000000..364f8c259c66 --- /dev/null +++ b/.changes/1.36.18.json @@ -0,0 +1,37 @@ +[ + { + "category": "``appsync``", + "description": "Provides description of new Amazon Bedrock runtime datasource.", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "Change `CustomDomainConfig` from a required to an optional parameter for the `UpdateUserPoolDomain` operation.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release includes a new API for modifying instance network-performance-options after launch.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only update to address various tickets for Amazon ECS.", + "type": "api-change" + }, + { + "category": "``keyspaces``", + "description": "Amazon Keyspaces: adding the list of IAM actions required by the UpdateKeyspace API.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "H265 outputs now support disabling the deblocking filter.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added text to clarify case-sensitivity", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.19.json b/.changes/1.36.19.json new file mode 100644 index 000000000000..a923cbfc3413 --- /dev/null +++ b/.changes/1.36.19.json @@ -0,0 +1,32 @@ +[ + { + "category": "``application-autoscaling``", + "description": "Doc only update for AAS Predictive Scaling policy configuration API.", + "type": "api-change" + }, + { + "category": "``bcm-pricing-calculator``", + "description": "Updated condition key inference from Workload Estimate, Bill Scenario, and Bill Estimate resources. Updated documentation links.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Add support for Push Notifications for Amazon Connect chat. With Push Notifications enabled an alert could be sent to customers about new messages even when they aren't actively using the mobile application.", + "type": "api-change" + }, + { + "category": "``finspace``", + "description": "Update KxCommandLineArgument value parameter regex to allow for spaces and semicolons", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "IVS Real-Time now offers customers the ability to customize thumbnails recording mode and interval for both Individual Participant Recording (IPR) and Server-Side Compositions (SSC).", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Introduces support for creating DEED (Deterministic Easy-DKIM) identities.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.2.json b/.changes/1.36.2.json new file mode 100644 index 000000000000..987df1336ecf --- /dev/null +++ b/.changes/1.36.2.json @@ -0,0 +1,67 @@ +[ + { + "category": "``accessanalyzer``", + "description": "Expand analyzer configuration capabilities for unused access analyzers. Unused access analyzer configurations now support the ability to exclude accounts and resource tags from analysis providing more granular control over the scope of analysis.", + "type": "api-change" + }, + { + "category": "``cloudcontrol``", + "description": "Added support for CloudFormation Hooks with Cloud Control API. The GetResourceRequestStatus API response now includes an optional HooksProgressEvent and HooksRequestToken parameter for Hooks Invocation Progress as part of resource operation with Cloud Control.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "Adds support for select GPU accelerated instance types when creating new service-managed fleets.", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "This release includes support for five new APIs and changes to existing APIs that give AWS Organizations customers the ability to use temporary root credentials, targeted to member accounts in the organization.", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "New FuotaTask resource type to enable logging for your FUOTA tasks. A ParticipatingGatewaysforMulticast parameter to choose the list of gateways to receive the multicast downlink message and the transmission interval between them. Descriptor field which will be sent to devices during FUOTA transfer.", + "type": "api-change" + }, + { + "category": "``ivs``", + "description": "IVS now offers customers the ability to stream multitrack video to Channels.", + "type": "api-change" + }, + { + "category": "``license-manager-user-subscriptions``", + "description": "New and updated API operations to support License Included User-based Subscription of Microsoft Remote Desktop Services (RDS).", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Announcing AWS Partner Central API for Selling: This service launch Introduces new APIs for co-selling opportunity management and related functions. Key features include notifications, a dynamic sandbox for testing, and streamlined validations.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "This release adds APIs for Custom Permissions management in QuickSight, and APIs to support QuickSight Branding.", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Adds support for Amazon Redshift S3AccessGrants", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "This release updates the ListBuckets API Reference documentation in support of the new 10,000 general purpose bucket default quota on all AWS accounts. To increase your bucket quota from 10,000 to up to 1 million buckets, simply request a quota increase via Service Quotas.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Add support for Neuron instance types [ trn1/trn1n/inf2 ] on SageMaker Notebook Instances Platform.", + "type": "api-change" + }, + { + "category": "``sts``", + "description": "This release introduces the new API 'AssumeRoot', which returns short-term credentials that you can use to perform privileged tasks.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.20.json b/.changes/1.36.20.json new file mode 100644 index 000000000000..309912d52732 --- /dev/null +++ b/.changes/1.36.20.json @@ -0,0 +1,42 @@ +[ + { + "category": "``artifact``", + "description": "Add support for listing active customer agreements for the calling AWS Account.", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "Doc-only updates for CloudTrail.", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "Updated descriptions for some API operations and parameters, corrected some errors in Cognito user pools", + "type": "api-change" + }, + { + "category": "``controlcatalog``", + "description": "Minor documentation updates to the content of ImplementationDetails object part of the Control Catalog GetControl API", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "This release adds support for accessing system profile logs in Lake Formation-enabled jobs.", + "type": "api-change" + }, + { + "category": "``mgh``", + "description": "API and documentation updates for AWS MigrationHub related to adding support for listing migration task updates and associating, disassociating and listing source resources", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Introduces support for multi-region endpoint.", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "Adds networkType parameter to CreateDbInstance API which allows IPv6 support to the InfluxDB endpoint", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.21.json b/.changes/1.36.21.json new file mode 100644 index 000000000000..39bc4239bbbc --- /dev/null +++ b/.changes/1.36.21.json @@ -0,0 +1,27 @@ +[ + { + "category": "``connect``", + "description": "Configure holidays and other overrides to hours of operation in advance. During contact handling, Amazon Connect automatically checks for overrides and provides customers with an appropriate flow path. After an override period passes call center automatically reverts to standard hours of operation.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Add parameters to support for kerberos authentication. Add parameter for disabling the Unicode source filter with PostgreSQL settings. Add parameter to use large integer value with Kinesis/Kafka settings.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "To support customer-managed encryption in Data Quality to allow customers encrypt data with their own KMS key, we will add a DataQualityEncryption field to the SecurityConfiguration API where customers can provide their KMS keys.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Improved descriptions for certain APIs.", + "type": "api-change" + }, + { + "category": "``route53domains``", + "description": "This release includes the following API updates: added the enumeration type RESTORE_DOMAIN to the OperationType; constrained the Price attribute to non-negative values; updated the LangCode to allow 2 or 3 alphabetical characters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.22.json b/.changes/1.36.22.json new file mode 100644 index 000000000000..1e068976db97 --- /dev/null +++ b/.changes/1.36.22.json @@ -0,0 +1,37 @@ +[ + { + "category": "``cloudhsmv2``", + "description": "Add support for Dual-Stack hsm2m.medium clusters. The customers will now be able to create hsm2m.medium clusters having both IPv4 and IPv6 connection capabilities by specifying a new param called NetworkType=DUALSTACK during cluster creation.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds GroupId to the response for DeleteSecurityGroup.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Add NodeRepairConfig in CreateNodegroupRequest and UpdateNodegroupConfigRequest", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Limit PutIntegration IntegrationName and ListIntegrations IntegrationNamePrefix parameters to 50 characters", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "AWS Elemental MediaConnect Gateway now supports Source Specific Multicast (SSM) for ingress bridges. This enables you to specify a source IP address in addition to a multicast IP when creating or updating an ingress bridge source.", + "type": "api-change" + }, + { + "category": "``networkmanager``", + "description": "There was a sentence fragment in UpdateDirectConnectGatewayAttachment that was causing customer confusion as to whether it's an incomplete sentence or if it was a typo. Removed the fragment.", + "type": "api-change" + }, + { + "category": "``servicediscovery``", + "description": "AWS Cloud Map now supports service-level attributes, allowing you to associate custom metadata directly with services. These attributes can be retrieved, updated, and deleted using the new GetServiceAttributes, UpdateServiceAttributes, and DeleteServiceAttributes API calls.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.23.json b/.changes/1.36.23.json new file mode 100644 index 000000000000..4361c9732a39 --- /dev/null +++ b/.changes/1.36.23.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cloud9``", + "description": "Added information about Ubuntu 18.04 will be removed from the available imageIds for Cloud9 because Ubuntu 18.04 has ended standard support on May 31, 2023.", + "type": "api-change" + }, + { + "category": "``dlm``", + "description": "This release adds support for Local Zones in Amazon Data Lifecycle Manager EBS snapshot lifecycle policies.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for EBS local snapshots in AWS Dedicated Local Zones, which allows you to store snapshots of EBS volumes locally in Dedicated Local Zones.", + "type": "api-change" + }, + { + "category": "``greengrassv2``", + "description": "Add support for runtime in GetCoreDevice and ListCoreDevices APIs.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive adds three new features: MediaPackage v2 endpoint support for live stream delivery, KLV metadata passthrough in CMAF Ingest output groups, and Metadata Name Modifier in CMAF Ingest output groups for customizing metadata track names in output streams.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release adds support for the \"MYSQL_CACHING_SHA2_PASSWORD\" enum value for RDS Proxy ClientPasswordAuthType.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.24.json b/.changes/1.36.24.json new file mode 100644 index 000000000000..45fb0379d44a --- /dev/null +++ b/.changes/1.36.24.json @@ -0,0 +1,52 @@ +[ + { + "category": "``account``", + "description": "Update endpoint configuration.", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "Add Support for Backup Indexing", + "type": "api-change" + }, + { + "category": "``backupsearch``", + "description": "Add support for searching backups", + "type": "api-change" + }, + { + "category": "``batch``", + "description": "This feature allows AWS Batch on Amazon EKS to support configuration of Pod Annotations, overriding Namespace on which the Batch job's Pod runs on, and allows Subpath and Persistent Volume claim to be set for AWS Batch on Amazon EKS jobs.", + "type": "api-change" + }, + { + "category": "``cleanroomsml``", + "description": "Add support for SQL compute configuration for StartAudienceGenerationJob API.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Adds support for OriginReadTimeout and OriginKeepaliveTimeout to create CloudFront Distributions with VPC Origins.", + "type": "api-change" + }, + { + "category": "``codepipeline``", + "description": "AWS CodePipeline V2 type pipelines now support Managed Compute Rule.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Added support for enableFaultInjection task definition parameter which can be used to enable Fault Injection feature on ECS tasks.", + "type": "api-change" + }, + { + "category": "``m2``", + "description": "This release adds support for AWS Mainframe Modernization(M2) Service to allow specifying network type(ipv4, dual) for the environment instances. For dual network type, m2 environment applications will serve both IPv4 and IPv6 requests, whereas for ipv4 it will serve only IPv4 requests.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Add support to toggle outbound IPv6 traffic on canaries connected to dualstack subnets. This behavior can be controlled via the new Ipv6AllowedForDualStack parameter of the VpcConfig input object in CreateCanary and UpdateCanary APIs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.25.json b/.changes/1.36.25.json new file mode 100644 index 000000000000..8caed448506a --- /dev/null +++ b/.changes/1.36.25.json @@ -0,0 +1,52 @@ +[ + { + "category": "``amplify``", + "description": "Added WAF Configuration to Amplify Apps", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Releasing minor partition endpoint updates", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release adds support for the UpdateParticipantAuthentication API used for customer authentication within Amazon Connect chats.", + "type": "api-change" + }, + { + "category": "``connectparticipant``", + "description": "This release adds support for the GetAuthenticationUrl and CancelParticipantAuthentication APIs used for customer authentication within Amazon Connect chats. There are also minor updates to the GetAttachment API.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "AWS DataSync introduces the ability to update attributes for in-cloud locations.", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "Release connectivity status query API which is a dedicated high throughput(TPS) API to query a specific device's most recent connectivity state and metadata.", + "type": "api-change" + }, + { + "category": "``mwaa``", + "description": "Added support for Apache Airflow version 2.10.3 to MWAA.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Add support for PerformanceConfiguration attribute to Dataset entity. Allow PerformanceConfiguration specification in CreateDataset and UpdateDataset APIs.", + "type": "api-change" + }, + { + "category": "``resiliencehub``", + "description": "AWS Resilience Hub now automatically detects already configured CloudWatch alarms and FIS experiments as part of the assessment process and returns the discovered resources in the corresponding list API responses. It also allows you to include or exclude test recommendations for an AppComponent.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "Added AS2 agreement configurations to control filename preservation and message signing enforcement. Added AS2 connector configuration to preserve content type from S3 objects.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.26.json b/.changes/1.36.26.json new file mode 100644 index 000000000000..2021a6c778c8 --- /dev/null +++ b/.changes/1.36.26.json @@ -0,0 +1,32 @@ +[ + { + "category": "``appstream``", + "description": "Added support for Rocky Linux 8 on Amazon AppStream 2.0", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds support for inserting timecode tracks into MP4 container outputs.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "MediaLive is releasing ListVersions api", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Amazon Q in Connect enables agents to ask Q for assistance in multiple languages and Q will provide answers and recommended step-by-step guides in those languages. Qs default language is English (United States) and you can switch this by setting the locale configuration on the AI Agent.", + "type": "api-change" + }, + { + "category": "``ssm-sap``", + "description": "AWS Systems Manager for SAP added support for registration and discovery of distributed ABAP applications", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added AWS Global Accelerator (AGA) support for WorkSpaces Personal.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.27.json b/.changes/1.36.27.json new file mode 100644 index 000000000000..d5659e162e80 --- /dev/null +++ b/.changes/1.36.27.json @@ -0,0 +1,62 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Support for custom user agent and max web pages crawled for web connector. Support app only credentials for SharePoint connector. Increase agents memory duration limit to 365 days. Support to specify max number of session summaries to include in agent invocation context.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "bedrock agents now supports long term memory and performance configs. Invokeflow supports performance configs. RetrieveAndGenerate performance configs", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Documentation update for Amazon Bedrock Data Automation", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation-runtime``", + "description": "Documentation update for Amazon Bedrock Data Automation Runtime", + "type": "api-change" + }, + { + "category": "``billing``", + "description": "Added new API's for defining and fetching Billing Views.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "Support for retrieving cost, usage, and forecast for billing view.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release supports adding NotAttributeCondition and Range to the RoutingCriteria object.", + "type": "api-change" + }, + { + "category": "``docdb``", + "description": "Support AWS Secret Manager managed password for AWS DocumentDB instance-based cluster.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "This release expands the catalog of upgrade insight checks", + "type": "api-change" + }, + { + "category": "``macie2``", + "description": "This release adds support for identifying S3 general purpose buckets that exceed the Amazon Macie quota for preventative control monitoring.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "Add CS8365C as a supported power connector for Outpost sites.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds support for c6i, m6i and r6i instance on SageMaker Hyperpod and trn1 instances in batch", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.28.json b/.changes/1.36.28.json new file mode 100644 index 000000000000..c3153f7f8aff --- /dev/null +++ b/.changes/1.36.28.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ecr``", + "description": "Documentation update for ECR GetAccountSetting and PutAccountSetting APIs.", + "type": "api-change" + }, + { + "category": "``ecr-public``", + "description": "Add support for Dualstack endpoints", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "This release adds support for DescribeClusterVersions API that provides important information about Kubernetes versions along with end of support dates", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add IncludeRoot parameters to GetCatalogs API to return root catalog.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.29.json b/.changes/1.36.29.json new file mode 100644 index 000000000000..99ad69fa9b70 --- /dev/null +++ b/.changes/1.36.29.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bcm-pricing-calculator``", + "description": "Added ConflictException to DeleteBillEstimate.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Add support for Dualstack Endpoints", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "Dual-stack endpoints are now supported.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Documentation updates for AWS Security Hub", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.3.json b/.changes/1.36.3.json new file mode 100644 index 000000000000..148fc5a18c47 --- /dev/null +++ b/.changes/1.36.3.json @@ -0,0 +1,7 @@ +[ + { + "category": "``partnercentral-selling``", + "description": "Announcing AWS Partner Central API for Selling: This service launch Introduces new APIs for co-selling opportunity management and related functions. Key features include notifications, a dynamic sandbox for testing, and streamlined validations.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.30.json b/.changes/1.36.30.json new file mode 100644 index 000000000000..5de6390c0f0f --- /dev/null +++ b/.changes/1.36.30.json @@ -0,0 +1,7 @@ +[ + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation to correct various descriptions.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.31.json b/.changes/1.36.31.json new file mode 100644 index 000000000000..2b2057ebd861 --- /dev/null +++ b/.changes/1.36.31.json @@ -0,0 +1,12 @@ +[ + { + "category": "``ecr``", + "description": "Restoring custom endpoint functionality for ECR", + "type": "api-change" + }, + { + "category": "``ecr-public``", + "description": "Restoring custom endpoint functionality for ECR Public", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.32.json b/.changes/1.36.32.json new file mode 100644 index 000000000000..c4af0e67dfc0 --- /dev/null +++ b/.changes/1.36.32.json @@ -0,0 +1,37 @@ +[ + { + "category": "``appsync``", + "description": "Modify UpdateGraphQLAPI operation and flag authenticationType as required.", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Amazon GameLift releases a new game session shutdown feature. Use the Amazon GameLift console or AWS CLI to terminate an in-progress game session that's entered a bad state or is no longer needed.", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "AWS Elemental MediaConnect now supports Content Quality Analysis for enhanced source stream monitoring. This enables you to track specific audio and video metrics in transport stream source flows, ensuring your content meets quality standards.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds support for the AVC3 codec and fixes an alignment issue with Japanese vertical captions.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Added ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED to ConstraintViolationException for the EnableAllFeatures operation.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adding ETag information with Model Artifacts for Model Registry", + "type": "api-change" + }, + { + "category": "``sqs``", + "description": "In-flight message typo fix from 20k to 120k.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.33.json b/.changes/1.36.33.json new file mode 100644 index 000000000000..51e9cc532bd9 --- /dev/null +++ b/.changes/1.36.33.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ecs``", + "description": "Adding SDK reference examples for Amazon ECS operations.", + "type": "api-change" + }, + { + "category": "``route53domains``", + "description": "Doc only update for Route 53 Domains that fixes several customer-reported issues", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "This change is only for updating the model regexp of CopySource which is not for validation but only for documentation and user guide change.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.34.json b/.changes/1.36.34.json new file mode 100644 index 000000000000..9cf6cd8cf0b0 --- /dev/null +++ b/.changes/1.36.34.json @@ -0,0 +1,12 @@ +[ + { + "category": "``iotsecuretunneling``", + "description": "Adds dualstack endpoint support for IoT Secure Tunneling", + "type": "api-change" + }, + { + "category": "``supplychain``", + "description": "Allow vanity DNS domain when creating a new ASC instance", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.35.json b/.changes/1.36.35.json new file mode 100644 index 000000000000..824d663c08db --- /dev/null +++ b/.changes/1.36.35.json @@ -0,0 +1,22 @@ +[ + { + "category": "``cloudhsmv2``", + "description": "Adds support to ModifyCluster for modifying a Cluster's Hsm Type.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This release makes Amazon DynamoDB point-in-time-recovery (PITR) to be configurable. You can set PITR recovery period for each table individually to between 1 and 35 days.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "This release adds support for importing images from ISO disk files. Added new ImportDiskImage API operation.", + "type": "api-change" + }, + { + "category": "``s3 ls``", + "description": "Expose low-level ``ListBuckets` parameters ``Prefix`` and ``BucketRegion`` to high-level ``s3 ls`` command as ``--bucket-name-prefix`` and ``--bucket-region``.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.36.36.json b/.changes/1.36.36.json new file mode 100644 index 000000000000..689a15015b8d --- /dev/null +++ b/.changes/1.36.36.json @@ -0,0 +1,17 @@ +[ + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation to clarify the RestoreDBClusterToPointInTime description.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the Asia Pacific (Thailand) Region (ap-southeast-7) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adds support for IPv6 for SageMaker HyperPod cluster nodes.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.37.json b/.changes/1.36.37.json new file mode 100644 index 000000000000..776885cb0a99 --- /dev/null +++ b/.changes/1.36.37.json @@ -0,0 +1,17 @@ +[ + { + "category": "``codebuild``", + "description": "AWS CodeBuild Now Supports BuildBatch in Reserved Capacity and Lambda", + "type": "api-change" + }, + { + "category": "``compute-optimizer``", + "description": "This release expands AWS Compute Optimizer rightsizing recommendation support for Amazon EC2 Auto Scaling groups to include those with scaling policies and multiple instance types.", + "type": "api-change" + }, + { + "category": "``fms``", + "description": "AWS Firewall Manager now lets you combine multiple resource tags using the logical AND operator or the logical OR operator.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.38.json b/.changes/1.36.38.json new file mode 100644 index 000000000000..db30622d861a --- /dev/null +++ b/.changes/1.36.38.json @@ -0,0 +1,17 @@ +[ + { + "category": "``redshift``", + "description": "Additions to the PubliclyAccessible and Encrypted parameters clarifying what the defaults are.", + "type": "api-change" + }, + { + "category": "``securitylake``", + "description": "Doc only update for ServiceName that fixes several customer-reported issues", + "type": "api-change" + }, + { + "category": "``sts``", + "description": "Fixed typos in the descriptions.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.39.json b/.changes/1.36.39.json new file mode 100644 index 000000000000..d5042c05fe8c --- /dev/null +++ b/.changes/1.36.39.json @@ -0,0 +1,27 @@ +[ + { + "category": "``artifact``", + "description": "Support resolving regional API calls to partition's leader region endpoint.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "With this release, Bedrock Evaluation will now support latency-optimized inference for foundation models.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add support for DisconnectOnSessionTimeout flag in CreateClientVpnEndpoint and ModifyClientVpnEndpoint requests and DescribeClientVpnEndpoints responses", + "type": "api-change" + }, + { + "category": "``kafkaconnect``", + "description": "Support updating connector configuration via UpdateConnector API. Release Operations API to monitor the status of the connector operation.", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "This update provides tagging support for Transcribe's Call Analytics Jobs and Call Analytics Categories.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.4.json b/.changes/1.36.4.json new file mode 100644 index 000000000000..70b58aaa73c2 --- /dev/null +++ b/.changes/1.36.4.json @@ -0,0 +1,42 @@ +[ + { + "category": "``cloudwatch``", + "description": "Adds support for adding related Entity information to metrics ingested through PutMetricData.", + "type": "api-change" + }, + { + "category": "``connectcampaignsv2``", + "description": "Added Amazon Connect Outbound Campaigns V2 SDK.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "Doc-only updates and enhancements related to creating DataSync tasks and describing task executions.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Remove non-functional enum variants for FleetCapacityReservationUsageStrategy", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "This release allows AWS IoT Core users to enrich MQTT messages with propagating attributes, to associate a thing to a connection, and to enable Online Certificate Status Protocol (OCSP) stapling for TLS X.509 server certificates through private endpoints.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "You can now purchase AWS Outposts rack or server capacity for a 5-year term with one of the following payment options: All Upfront, Partial Upfront, and No Upfront.", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "Use rule overrides to always allow or always block messages to specific phone numbers. Use message feedback to monitor if a customer interacts with your message.", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Route 53 Resolver DNS Firewall Advanced Rules allows you to monitor and block suspicious DNS traffic based on anomalies detected in the queries, such as DNS tunneling and Domain Generation Algorithms (DGAs).", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.40.json b/.changes/1.36.40.json new file mode 100644 index 000000000000..b791ac137e72 --- /dev/null +++ b/.changes/1.36.40.json @@ -0,0 +1,12 @@ +[ + { + "category": "``gamelift``", + "description": "Amazon GameLift releases a new game session placement feature: PriorityConfigurationOverride. You can now override how a game session queue prioritizes placement locations for a single StartGameSessionPlacement request.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the Mexico (Central) Region (mx-central-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.5.json b/.changes/1.36.5.json new file mode 100644 index 000000000000..1a997f87ccac --- /dev/null +++ b/.changes/1.36.5.json @@ -0,0 +1,57 @@ +[ + { + "category": "``appconfig``", + "description": "AWS AppConfig has added a new extension action point, AT_DEPLOYMENT_TICK, to support third-party monitors to trigger an automatic rollback during a deployment.", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "Amazon EC2 Auto Scaling now supports Amazon Application Recovery Controller (ARC) zonal shift and zonal autoshift to help you quickly recover an impaired application from failures in an Availability Zone (AZ).", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "This release adds a new API, ListHookResults, that allows retrieving CloudFormation Hooks invocation results for hooks invoked during a create change set operation or Cloud Control API operation", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Adds CreateContactFlowVersion and ListContactFlowVersions APIs to create and view the versions of a contact flow.", + "type": "api-change" + }, + { + "category": "``customer-profiles``", + "description": "This release introduces Segmentation APIs and new Calculated Attribute Event Filters as part of Amazon Connect Customer Profiles service.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adding request and response elements for managed resources.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release adds support for adding VPC Lattice configurations in ECS CreateService/UpdateService APIs. The configuration allows for associating VPC Lattice target groups with ECS Services.", + "type": "api-change" + }, + { + "category": "``iotsitewise``", + "description": "The release introduces a generative AI Assistant in AWS IoT SiteWise. It includes: 1) InvokeAssistant API - Invoke the Assistant to get alarm summaries and ask questions. 2) Dataset APIs - Manage knowledge base configuration for the Assistant. 3) Portal APIs enhancement - Manage AI-aware dashboards.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "This release introduces MessageTemplate as a resource in Amazon Q in Connect, along with APIs to create, read, search, update, and delete MessageTemplate resources.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Add support for the automatic pause/resume feature of Aurora Serverless v2.", + "type": "api-change" + }, + { + "category": "``rds-data``", + "description": "Add support for the automatic pause/resume feature of Aurora Serverless v2.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.6.json b/.changes/1.36.6.json new file mode 100644 index 000000000000..eeec8dccb826 --- /dev/null +++ b/.changes/1.36.6.json @@ -0,0 +1,47 @@ +[ + { + "category": "``b2bi``", + "description": "Add new X12 transactions sets and versions", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds VPC Block Public Access (VPC BPA), a new declarative control which blocks resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release introduces support for configuring the version consistency feature for individual containers defined within a task definition. The configuration allows to specify whether ECS should resolve the container image tag specified in the container definition to an image digest.", + "type": "api-change" + }, + { + "category": "``efs``", + "description": "Add support for the new parameters in EFS replication APIs", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue Data Catalog now enhances managed table optimizations of Apache Iceberg tables that can be accessed only from a specific Amazon Virtual Private Cloud (VPC) environment.", + "type": "api-change" + }, + { + "category": "``keyspaces``", + "description": "Amazon Keyspaces Multi-Region Replication: Adds support to add new regions to multi and single-region keyspaces.", + "type": "api-change" + }, + { + "category": "``mwaa``", + "description": "Amazon MWAA now supports a new environment class, mw1.micro, ideal for workloads requiring fewer resources than mw1.small. This class supports a single instance of each Airflow component: Scheduler, Worker, and Webserver.", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "Release Tax Inheritance APIs, Tax Exemption APIs, and functionality update for some existing Tax Registration APIs", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Releasing new ErrorCodes for Image Validation failure during CreateWorkspaceImage process", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.7.json b/.changes/1.36.7.json new file mode 100644 index 000000000000..855bee29fc28 --- /dev/null +++ b/.changes/1.36.7.json @@ -0,0 +1,102 @@ +[ + { + "category": "``autoscaling``", + "description": "With this release, customers can prioritize launching instances into ODCRs using targets from ASGs or Launch Templates. Customers can express their baseline instances' CPU-performance in attribute-based Instance Requirements configuration by referencing an instance family that meets their needs.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Releasing new Prompt Optimization to enhance your prompts for improved performance", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Add support for gRPC, VPC origins, and Anycast IP Lists. Allow LoggingConfig IncludeCookies to be set regardless of whether the LoggingConfig is enabled.", + "type": "api-change" + }, + { + "category": "``compute-optimizer``", + "description": "This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for Amazon Aurora database instances. It also enables Compute Optimizer to identify idle Amazon EC2 instances, Amazon EBS volumes, Amazon ECS services running on Fargate, and Amazon RDS databases.", + "type": "api-change" + }, + { + "category": "``controltower``", + "description": "Adds support for child enabled baselines which allow you to see the enabled baseline status for individual accounts.", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "This release adds action type \"Delete\" to the GetRecommendation, ListRecommendations and ListRecommendationSummaries APIs to support new EBS and ECS recommendations with action type \"Delete\".", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release supports Metadata Enforcement Rule feature for Create Subscription Request action.", + "type": "api-change" + }, + { + "category": "``discovery``", + "description": "Add support to import data from commercially available discovery tools without file manipulation.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "With this release, customers can express their desire to launch instances only in an ODCR or ODCR group rather than OnDemand capacity. Customers can express their baseline instances' CPU-performance in attribute-based Instance Requirements configuration by referencing an instance family.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release adds support for the Availability Zone rebalancing feature on Amazon ECS.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release adds support for configuring Load balancer Capacity Unit reservations", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Add Node 22.x (node22.x) support to AWS Lambda", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds the ability to reconfigure concurrent job settings for existing queues and create queues with custom concurrent job settings.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "MediaPackage v2 now supports the Media Quality Confidence Score (MQCS) published from MediaLive. Customers can control input switching based on the MQCS and publishing HTTP Headers for the MQCS via the API.", + "type": "api-change" + }, + { + "category": "``omics``", + "description": "Enabling call caching feature that allows customers to reuse previously computed results from a set of completed tasks in a new workflow run.", + "type": "api-change" + }, + { + "category": "``rbin``", + "description": "This release adds support for exclusion tags for Recycle Bin, which allows you to identify resources that are to be excluded, or ignored, by a Region-level retention rule.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release adds support for scale storage on the DB instance using a Blue/Green Deployment.", + "type": "api-change" + }, + { + "category": "``timestream-query``", + "description": "This release adds support for Provisioning Timestream Compute Units (TCUs), a new feature that allows provisioning dedicated compute resources for your queries, providing predictable and cost-effective query performance.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added support for Rocky Linux 8 on Amazon WorkSpaces Personal.", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Added data protection settings with support for inline data redaction.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.8.json b/.changes/1.36.8.json new file mode 100644 index 000000000000..fb331f935765 --- /dev/null +++ b/.changes/1.36.8.json @@ -0,0 +1,112 @@ +[ + { + "category": "``apigateway``", + "description": "Added support for custom domain names for private APIs.", + "type": "api-change" + }, + { + "category": "``application-autoscaling``", + "description": "Application Auto Scaling now supports Predictive Scaling to proactively increase the desired capacity ahead of predicted demand, ensuring improved availability and responsiveness for customers' applications. This feature is currently only made available for Amazon ECS Service scalable targets.", + "type": "api-change" + }, + { + "category": "``appsync``", + "description": "Add support for the Amazon Bedrock Runtime.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "This release introduces three new APIs that enable you to estimate the cost, coverage, and utilization impact of Savings Plans you plan to purchase. The three APIs are StartCommitmentPurchaseAnalysis, GetCommitmentPurchaseAnalysis, and ListCommitmentPurchaseAnalyses.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Adds support for Origin Selection between EMPv2 origins based on media quality score.", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "This release introduces new APIs for creating and managing CloudTrail Lake dashboards. It also adds support for resource-based policies on CloudTrail EventDataStore and Dashboard resource.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds support for requesting future-dated Capacity Reservations with a minimum commitment duration, enabling IPAM for organizational units within AWS Organizations, reserving EC2 Capacity Blocks that start in 30 minutes, and extending the end date of existing Capacity Blocks.", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "Added support to modify the engine type for existing ElastiCache Users and User Groups. Customers can now modify the engine type from redis to valkey.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This feature adds support for enabling zonal shift on cross-zone enabled Application Load Balancer, as well as modifying HTTP request and response headers.", + "type": "api-change" + }, + { + "category": "``health``", + "description": "Adds metadata property to an AffectedEntity.", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "AWS IoT FleetWise now includes campaign parameters to store and forward data, configure MQTT topic as a data destination, and collect diagnostic trouble code data. It includes APIs for network agnostic data collection using custom decoding interfaces, and monitoring the last known state of vehicles.", + "type": "api-change" + }, + { + "category": "``iot-jobs-data``", + "description": "General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Adds support for metrics for event source mappings for AWS Lambda", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Adds \"Create field indexes to improve query performance and reduce scan volume\" and \"Transform logs during ingestion\". Updates documentation for \"PutLogEvents with Entity\".", + "type": "api-change" + }, + { + "category": "``notifications``", + "description": "This release adds support for AWS User Notifications. You can now configure and view notifications from AWS services in a central location using the AWS SDK.", + "type": "api-change" + }, + { + "category": "``notificationscontacts``", + "description": "This release adds support for AWS User Notifications Contacts. You can now configure and view email contacts for AWS User Notifications using the AWS SDK.", + "type": "api-change" + }, + { + "category": "``resiliencehub``", + "description": "AWS Resilience Hub's new summary view visually represents applications' resilience through charts, enabling efficient resilience management. It provides a consolidated view of the app portfolio's resilience state and allows data export for custom stakeholder reporting.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Add support for conditional deletes for the S3 DeleteObject and DeleteObjects APIs. Add support for write offset bytes option used to append to objects with the S3 PutObject API.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Added support for providing high-level overviews of managed nodes and previewing the potential impact of a runbook execution.", + "type": "api-change" + }, + { + "category": "``ssm-quicksetup``", + "description": "Add methods that retrieve details about deployed configurations: ListConfigurations, GetConfiguration", + "type": "api-change" + }, + { + "category": "``xray``", + "description": "AWS X-Ray introduces Transaction Search APIs, enabling span ingestion into CloudWatch Logs for high-scale trace data indexing. These APIs support span-level queries, trace graph generation, and metric correlation for deeper application insights.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.36.9.json b/.changes/1.36.9.json new file mode 100644 index 000000000000..2053793705e5 --- /dev/null +++ b/.changes/1.36.9.json @@ -0,0 +1,107 @@ +[ + { + "category": "``autoscaling``", + "description": "Now, Amazon EC2 Auto Scaling customers can enable target tracking policies to take quicker scaling decisions, enhancing their application performance and EC2 utilization. To get started, specify target tracking to monitor a metric that is available on Amazon CloudWatch at seconds-level interval.", + "type": "api-change" + }, + { + "category": "``bcm-pricing-calculator``", + "description": "Initial release of the AWS Billing and Cost Management Pricing Calculator API.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "InvokeInlineAgent API release to help invoke runtime agents without any dependency on preconfigured agents.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "This release adds the Impact field(contains Contribution field) to the GetAnomalies API response under RootCause", + "type": "api-change" + }, + { + "category": "``chatbot``", + "description": "Adds support for programmatic management of custom actions and aliases which can be associated with channel configurations.", + "type": "api-change" + }, + { + "category": "``codepipeline``", + "description": "AWS CodePipeline V2 type pipelines now support ECRBuildAndPublish and InspectorScan actions.", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "Add support for users to sign up and sign in without passwords, using email and SMS OTPs and Passkeys. Add support for Passkeys based on WebAuthn. Add support for enhanced branding customization for hosted authentication pages with Amazon Cognito Managed Login. Add feature tiers with new pricing.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect Service Feature: Add APIs for Amazon Connect Email Channel", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release adds support for advertising trusted CA certificate names in associated trust stores.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Advanced Scaling in Amazon EMR Managed Scaling", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Extend inspector2 service model to include ServiceQuotaExceededException.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Add ProvisionedPollerConfig to Lambda event-source-mapping API.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Added new \"DeliverToQBusiness\" rule action to MailManager RulesSet for ingesting email data into Amazon Q Business customer applications", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Add 4 new APIs to support new Export features, allowing Parquet and CSV formats. Add new arguments in Import APIs to support Parquet import. Add a new query \"neptune.read\" to run algorithms without loading data into database", + "type": "api-change" + }, + { + "category": "``omics``", + "description": "This release adds support for resource policy based cross account S3 access to sequence store read sets.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "This release includes: Update APIs to support Image, Layer Map, font customization, and Plugin Visual. Add Identity center related information in ListNamsespace API. Update API for restrictedFolder support in topics and add API for SearchTopics, Describe/Update DashboardsQA Configration.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds APIs for new features for SageMaker endpoint to scale down to zero instances, native support for multi-adapter inference, and endpoint scaling improvements.", + "type": "api-change" + }, + { + "category": "``ses``", + "description": "This release adds support for starting email contacts in your Amazon Connect instance as an email receiving action.", + "type": "api-change" + }, + { + "category": "``sns``", + "description": "ArchivePolicy attribute added to Archive and Replay feature", + "type": "api-change" + }, + { + "category": "``stepfunctions``", + "description": "Add support for variables and JSONata in TestState, GetExecutionHistory, DescribeStateMachine, and DescribeStateMachineForExecution", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "While integrating WSP-DCV rebrand, a few mentions were erroneously renamed from WSP to DCV. This release reverts those mentions back to WSP.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.0.json b/.changes/1.37.0.json new file mode 100644 index 000000000000..e585c5c9293e --- /dev/null +++ b/.changes/1.37.0.json @@ -0,0 +1,62 @@ +[ + { + "category": "``apigateway``", + "description": "Documentation updates for Amazon API Gateway", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Now supports streaming for inline agents.", + "type": "api-change" + }, + { + "category": "``cognito-identity``", + "description": "corrects the dual-stack endpoint configuration", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Add Tagging support for ResourceSnapshotJob resources", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests.", + "type": "api-change" + }, + { + "category": "``security-ir``", + "description": "Increase minimum length of Threat Actor IP 'userAgent' to 1.", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "This release introduces a new recommendation in Virtual Deliverability Manager Advisor, which detects elevated complaint rates for customer sending identities.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added GeneralPurpose.4xlarge & GeneralPurpose.8xlarge ComputeTypes.", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Mark type in MaintenanceWindow as required.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "The S3 client attempts to validate response checksums for all S3 API operations that support checksums. However, if the SDK has not implemented the specified checksum algorithm then this validation is skipped. Checksum validation behavior can be configured using the ``when_supported`` and ``when_required`` options - in code using the ``response_checksum_validation`` parameter for ``botocore.config.Config``, in the shared AWS config file using ``response_checksum_validation``, or as an env variable using ``AWS_RESPONSE_CHECKSUM_VALIDATION``.", + "type": "feature" + }, + { + "category": "``s3``", + "description": "Added support for the CRC64NVME checksum algorithm in the S3 client through the optional AWS CRT (``awscrt``) dependency.", + "type": "feature" + }, + { + "category": "``s3``", + "description": "S3 client behavior is updated to always calculate a CRC32 checksum by default for operations that support it (such as PutObject or UploadPart), or require it (such as DeleteObjects). Checksum behavior can be configured using ``when_supported`` and ``when_required`` options - in code using the ``request_checksum_calculation`` parameter for ``botocore.config.Config``, in the shared AWS config file using ``request_checksum_calculation``, or as an env variable using ``AWS_REQUEST_CHECKSUM_CALCULATION``. Note: Botocore will no longer automatically compute and populate the Content-MD5 header.", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.37.1.json b/.changes/1.37.1.json new file mode 100644 index 000000000000..2e77650de0f0 --- /dev/null +++ b/.changes/1.37.1.json @@ -0,0 +1,12 @@ +[ + { + "category": "``ecs``", + "description": "The release addresses Amazon ECS documentation tickets.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added support for ml.trn1.32xlarge instance type in Reserved Capacity Offering", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.10.json b/.changes/1.37.10.json new file mode 100644 index 000000000000..c8ecdf706555 --- /dev/null +++ b/.changes/1.37.10.json @@ -0,0 +1,42 @@ +[ + { + "category": "``appstream``", + "description": "Add support for managing admin consent requirement on selected domains for OneDrive Storage Connectors in AppStream2.0.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Add a 'reason' field to InternalServerException", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Temporarily updating dualstack endpoint support", + "type": "api-change" + }, + { + "category": "``ecr-public``", + "description": "Temporarily updating dualstack endpoint support", + "type": "api-change" + }, + { + "category": "``mediatailor``", + "description": "Adds options for configuring how MediaTailor conditions ads before inserting them into the content stream. Based on the new settings, MediaTailor will either transcode ads to match the content stream as it has in the past, or it will insert ads without first transcoding them.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Added APIs to manage QBusiness user subscriptions", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "You can now use the CreateTable API operation to create tables with schemas by adding an optional metadata argument.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Adds Cedar JSON format support for entities and context data in authorization requests", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.11.json b/.changes/1.37.11.json new file mode 100644 index 000000000000..40166a6a5c04 --- /dev/null +++ b/.changes/1.37.11.json @@ -0,0 +1,32 @@ +[ + { + "category": "``amp``", + "description": "Add support for sending metrics to cross account and CMCK AMP workspaces through RoleConfiguration on Create/Update Scraper.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "This change is to deprecate the existing citation field under RetrieveAndGenerateStream API response in lieu of GeneratedResponsePart and RetrievedReferences", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "Added support for CodeBuild self-hosted Buildkite runner builds", + "type": "api-change" + }, + { + "category": "``geo-routes``", + "description": "The OptimizeWaypoints API now supports 50 waypoints per request (20 with constraints like AccessHours or AppointmentTime). It adds waypoint clustering via Clustering and ClusteringIndex for better optimization. Also, total distance validation is removed for greater flexibility.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates to Aurora MySQL and Aurora PostgreSQL API pages with instance log type in the create and modify DB Cluster.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release introduces a new valid value in InstanceType parameter: p5en.48xlarge, in ProductionVariant.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.12.json b/.changes/1.37.12.json new file mode 100644 index 000000000000..2cb82857eefb --- /dev/null +++ b/.changes/1.37.12.json @@ -0,0 +1,7 @@ +[ + { + "category": "``mediatailor``", + "description": "Add support for CloudWatch Vended Logs which allows for delivery of customer logs to CloudWatch Logs, S3, or Firehose.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.13.json b/.changes/1.37.13.json new file mode 100644 index 000000000000..b021503cc9c3 --- /dev/null +++ b/.changes/1.37.13.json @@ -0,0 +1,32 @@ +[ + { + "category": "``datasync``", + "description": "Doc-only update to provide more information on using Kerberos authentication with SMB locations.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Introduces TargetDataSettings with the TablePreparationMode option available for data migrations.", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "This release adds support for accepting encrypted SAML assertions. Customers can now configure their identity provider to encrypt the SAML assertions it sends to IAM.", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Added argument to `list-export` to filter by graph ID", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Adds functionality to enable/disable a new Q Business Chat orchestration feature. If enabled, Q Business can orchestrate over datasources and plugins without the need for customers to select specific chat modes.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "IPv6 support for Hyperpod clusters", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.14.json b/.changes/1.37.14.json new file mode 100644 index 000000000000..2b14e6c30cfc --- /dev/null +++ b/.changes/1.37.14.json @@ -0,0 +1,7 @@ +[ + { + "category": "``rds``", + "description": "Documentation updates to clarify the description for the parameter AllocatedStorage for the DB cluster data type, the description for the parameter DeleteAutomatedBackups for the DeleteDBCluster API operation, and removing an outdated note for the CreateDBParameterGroup API operation.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.15.json b/.changes/1.37.15.json new file mode 100644 index 000000000000..073945b45f6c --- /dev/null +++ b/.changes/1.37.15.json @@ -0,0 +1,22 @@ +[ + { + "category": "``cloudformation``", + "description": "We added 5 new stack refactoring APIs: CreateStackRefactor, ExecuteStackRefactor, ListStackRefactors, DescribeStackRefactor, ListStackRefactorActions.", + "type": "api-change" + }, + { + "category": "``connectcases``", + "description": "This release adds the ability to conditionally require fields on a template. Check public documentation for more information.", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon Auto Scaling Groups, including those with single and mixed instance types.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.16.json b/.changes/1.37.16.json new file mode 100644 index 000000000000..68ff1d3c6f60 --- /dev/null +++ b/.changes/1.37.16.json @@ -0,0 +1,27 @@ +[ + { + "category": "``ecr``", + "description": "Adds support to handle the new basic scanning daily quota.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Introduce versionStatus field to take place of status field in EKS DescribeClusterVersions API", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds support for Animated GIF output, forced chroma sample positioning metadata, and Extensible Wave Container format", + "type": "api-change" + }, + { + "category": "``pi``", + "description": "Adds documentation for dimension groups and dimensions to analyze locks for Database Insights.", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "This release adds support for the Clinical Note Template Customization feature for the AWS HealthScribe APIs within Amazon Transcribe.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.17.json b/.changes/1.37.17.json new file mode 100644 index 000000000000..825530a91c69 --- /dev/null +++ b/.changes/1.37.17.json @@ -0,0 +1,22 @@ +[ + { + "category": "``apigatewayv2``", + "description": "Documentation updates for Amazon API Gateway", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Doc-only update that adds defaults for CloudFront VpcOriginEndpointConfig values.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Updated the CreateContact API documentation to indicate that it only applies to EMAIL contacts.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "New vendors for DMS Data Providers: DB2 LUW and DB2 for z/OS", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.18.json b/.changes/1.37.18.json new file mode 100644 index 000000000000..ad88392d62cb --- /dev/null +++ b/.changes/1.37.18.json @@ -0,0 +1,22 @@ +[ + { + "category": "``acm-pca``", + "description": "Private Certificate Authority service now supports Partitioned CRL as a revocation configuration option.", + "type": "api-change" + }, + { + "category": "``appsync``", + "description": "Add support for operation level caching", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adding support for the new fullSnapshotSizeInBytes field in the response of the EC2 EBS DescribeSnapshots API. This field represents the size of all the blocks that were written to the source volume at the time the snapshot was created.", + "type": "api-change" + }, + { + "category": "``pi``", + "description": "Documentation only update for RDS Performance Insights dimensions for execution plans and locking analysis.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.19.json b/.changes/1.37.19.json new file mode 100644 index 000000000000..4350b41b4d67 --- /dev/null +++ b/.changes/1.37.19.json @@ -0,0 +1,42 @@ +[ + { + "category": "``b2bi``", + "description": "Allow spaces in the following fields in the Partnership resource: ISA 06 - Sender ID, ISA 08 - Receiver ID, GS 02 - Application Sender Code, GS 03 - Application Receiver Code", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "This releases adds the additionalModelRequestFields field to the CreateAgent and UpdateAgent operations. Use additionalModelRequestFields to specify additional inference parameters for a model beyond the base inference parameters.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "This releases adds the additionalModelRequestFields field to the InvokeInlineAgent operation. Use additionalModelRequestFields to specify additional inference parameters for a model beyond the base inference parameters.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "Add note for the RUNNER_BUILDKITE_BUILD buildType.", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Support for in-place Lustre version upgrades", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Adds a RequestId parameter to all MediaLive Workflow Monitor create operations. The RequestId parameter allows idempotent operations.", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "Custom OpenSearchServerless Entity ID for SAML Config.", + "type": "api-change" + }, + { + "category": "``polly``", + "description": "Added support for the new voice - Jasmine (en-SG). Jasmine is available as a Neural voice only.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.2.json b/.changes/1.37.2.json new file mode 100644 index 000000000000..b39c72d4d2f8 --- /dev/null +++ b/.changes/1.37.2.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Allow hyphens in tool name for Converse and ConverseStream APIs", + "type": "api-change" + }, + { + "category": "``detective``", + "description": "Doc only update for Detective documentation.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Release u7i-6tb.112xlarge, u7i-8tb.112xlarge, u7inh-32tb.480xlarge, p5e.48xlarge, p5en.48xlarge, f2.12xlarge, f2.48xlarge, trn2.48xlarge instance types.", + "type": "api-change" + }, + { + "category": "``notifications``", + "description": "Added support for Managed Notifications, integration with AWS Organization and added aggregation summaries for Aggregate Notifications", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Correction of docs for \"Added support for ml.trn1.32xlarge instance type in Reserved Capacity Offering\"", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.20.json b/.changes/1.37.20.json new file mode 100644 index 000000000000..0c44a9fa248a --- /dev/null +++ b/.changes/1.37.20.json @@ -0,0 +1,32 @@ +[ + { + "category": "``accessanalyzer``", + "description": "This release introduces the getFindingsStatistics API, enabling users to retrieve aggregated finding statistics for IAM Access Analyzer's external access and unused access analysis features. Updated service API and documentation.", + "type": "api-change" + }, + { + "category": "``acm-pca``", + "description": "Private Certificate Authority (PCA) documentation updates", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only release to support migrating Amazon ECS service ARNs to the long ARN format.", + "type": "api-change" + }, + { + "category": "``fis``", + "description": "Adds auto-pagination for the following operations: ListActions, ListExperimentTemplates, ListTargetAccountConfigurations, ListExperiments, ListExperimentResolvedTargets, ListTargetResourceTypes. Reduces length constraints of prefixes for logConfiguration and experimentReportConfiguration.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adds additional values to the InferenceAmiVersion parameter in the ProductionVariant data type.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "This release adds support for generating cache reports on S3 File Gateways for files that fail to upload.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.21.json b/.changes/1.37.21.json new file mode 100644 index 000000000000..a7948e24d32b --- /dev/null +++ b/.changes/1.37.21.json @@ -0,0 +1,37 @@ +[ + { + "category": "``codebuild``", + "description": "Added test suite names to test case metadata", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Release Notes: 1) Analytics API enhancements: Added new ListAnalyticsDataLakeDataSets API. 2) Onboarding API Idempotency: Adds ClientToken to instance creation and management APIs to support idempotency.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Introduces premigration assessment feature to DMS Serverless API for start-replication and describe-replications", + "type": "api-change" + }, + { + "category": "``rds-data``", + "description": "Add support for Stop DB feature.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Added support for Content-Range header in HeadObject response.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "The WAFv2 API now supports configuring data protection in webACLs.", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Update Environment and Device name field definitions", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.22.json b/.changes/1.37.22.json new file mode 100644 index 000000000000..12c343b42f07 --- /dev/null +++ b/.changes/1.37.22.json @@ -0,0 +1,17 @@ +[ + { + "category": "``amplify``", + "description": "Add ComputeRoleArn to CreateApp, UpdateApp, CreateBranch, and UpdateBranch, allowing caller to specify a role to be assumed by Amplify Hosting for server-side rendered applications.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Support replicationConfigArn in DMS DescribeApplicableIndividualAssessments API.", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "This release introduces APIs to manage DbClusters and adds support for read replicas", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.23.json b/.changes/1.37.23.json new file mode 100644 index 000000000000..e561fd3d18d6 --- /dev/null +++ b/.changes/1.37.23.json @@ -0,0 +1,17 @@ +[ + { + "category": "``batch``", + "description": "This documentation-only update corrects some typos.", + "type": "api-change" + }, + { + "category": "``emr-containers``", + "description": "EMR on EKS StartJobRun Api will be supporting the configuration of log storage in AWS by using \"managedLogs\" under \"MonitoringConfiguration\".", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Adds support for creating CloudWatchAlarmTemplates for AWS Elemental MediaTailor Playback Configuration resources.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.24.json b/.changes/1.37.24.json new file mode 100644 index 000000000000..2c9dbde574bf --- /dev/null +++ b/.changes/1.37.24.json @@ -0,0 +1,42 @@ +[ + { + "category": "``codepipeline``", + "description": "Add environment variables to codepipeline action declaration.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only release for Amazon ECS that supports the CPU task limit increase.", + "type": "api-change" + }, + { + "category": "``lightsail``", + "description": "Documentation updates for Amazon Lightsail.", + "type": "api-change" + }, + { + "category": "``location``", + "description": "Adds support for larger property maps for tracking and geofence positions changes. It increases the maximum number of items from 3 to 4, and the maximum value length from 40 to 150.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "This release adds additional metadata fields in Mail Manager archive searches to show email source and details about emails that were archived when being sent with SES.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "This release introduces Network Firewall's Automated Domain List feature. New APIs include UpdateFirewallAnalysisSettings, StartAnalysisReport, GetAnalysisReportResults, and ListAnalysisReports. These allow customers to enable analysis on firewalls to identify and report frequently accessed domain.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adds r8g instance type support to SageMaker Realtime Endpoints", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "This release adds the ability for outbound email sent with SES to preserve emails to a Mail Manager archive.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.25.json b/.changes/1.37.25.json new file mode 100644 index 000000000000..c6d500af6066 --- /dev/null +++ b/.changes/1.37.25.json @@ -0,0 +1,32 @@ +[ + { + "category": "``codebuild``", + "description": "Add webhook status and status message to AWS CodeBuild webhooks", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Reduce the minimum number of required attack sequence signals from 2 to 1", + "type": "api-change" + }, + { + "category": "``license-manager-user-subscriptions``", + "description": "Updates entity to include Microsoft RDS SAL as a valid type of user subscription.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "CloudWatch Database Insights now supports Amazon RDS.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added new capability in the UpdateCluster operation to remove instance groups from your SageMaker HyperPod cluster.", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Add support for toolbar configuration under user settings.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.26.json b/.changes/1.37.26.json new file mode 100644 index 000000000000..1a9ff5f6a715 --- /dev/null +++ b/.changes/1.37.26.json @@ -0,0 +1,12 @@ +[ + { + "category": "``appstream``", + "description": "Added support for Certificate-Based Authentication on AppStream 2.0 multi-session fleets.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Introduce a new parameter which represents the user-agent header value used by the Bedrock Knowledge Base Web Connector.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.3.json b/.changes/1.37.3.json new file mode 100644 index 000000000000..94029600af68 --- /dev/null +++ b/.changes/1.37.3.json @@ -0,0 +1,42 @@ +[ + { + "category": "``batch``", + "description": "Documentation-only update: clarified the description of the shareDecaySeconds parameter of the FairsharePolicy data type, clarified the description of the priority parameter of the JobQueueDetail data type.", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "corrects the dual-stack endpoint configuration for cognitoidp", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Added DeleteContactFlowVersion API and the CAMPAIGN flow type", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "Increasing entryPoint in SparkSubmit to accept longer script paths. New limit is 4kb.", + "type": "api-change" + }, + { + "category": "``iotsitewise``", + "description": "AWS IoT SiteWise now supports ingestion and querying of Null (all data types) and NaN (double type) values of bad or uncertain data quality. New partial error handling prevents data loss during ingestion. Enabled by default for new customers; existing customers can opt-in.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Documentation-only update to address doc errors", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Added `DigitGroupingStyle` in ThousandsSeparator to allow grouping by `LAKH`( Indian Grouping system ) currency. Support LAKH and `CRORE` currency types in Column Formatting.", + "type": "api-change" + }, + { + "category": "``sns``", + "description": "This release adds support for the topic attribute FifoThroughputScope for SNS FIFO topics. For details, see the documentation history in the Amazon Simple Notification Service Developer Guide.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.4.json b/.changes/1.37.4.json new file mode 100644 index 000000000000..9142e622e669 --- /dev/null +++ b/.changes/1.37.4.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agent-runtime``", + "description": "Adds multi-turn input support for an Agent node in an Amazon Bedrock Flow", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Docs Update for timeout changes", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive adds a new feature, ID3 segment tagging, in CMAF Ingest output groups. It allows customers to insert ID3 tags into every output segment, controlled by a newly added channel schedule action Id3SegmentTagging.", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Rename WorkSpaces Web to WorkSpaces Secure Browser", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.5.json b/.changes/1.37.5.json new file mode 100644 index 000000000000..80c9496ad909 --- /dev/null +++ b/.changes/1.37.5.json @@ -0,0 +1,7 @@ +[ + { + "category": "``ec2``", + "description": "Added \"future\" allocation type for future dated capacity reservation", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.6.json b/.changes/1.37.6.json new file mode 100644 index 000000000000..e57e3527f4da --- /dev/null +++ b/.changes/1.37.6.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cloudtrail``", + "description": "This release introduces the SearchSampleQueries API that allows users to search for CloudTrail Lake sample queries.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Adds support for UpdateStrategies in EKS Managed Node Groups.", + "type": "api-change" + }, + { + "category": "``healthlake``", + "description": "Added new authorization strategy value 'SMART_ON_FHIR' for CreateFHIRDatastore API to support Smart App 2.0", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Systems Manager doc-only update for January, 2025.", + "type": "api-change" + }, + { + "category": "``sso-oidc``", + "description": "Fixed typos in the descriptions.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "Added CustomDirectories as a new directory option for storing inbound AS2 messages, MDN files and Status files.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.7.json b/.changes/1.37.7.json new file mode 100644 index 000000000000..aa1b97abae8f --- /dev/null +++ b/.changes/1.37.7.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Add support for the prompt caching feature for Bedrock Prompt Management", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "Raised the documentParameters size limit to 30 KB for AWS IoT Device Management - Jobs.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds support for dynamic audio configuration and the ability to disable the deblocking filter for h265 encodes.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Minor fix to ARN validation for Lambda functions passed to S3 Batch Operations", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.8.json b/.changes/1.37.8.json new file mode 100644 index 000000000000..e68e5acbb29b --- /dev/null +++ b/.changes/1.37.8.json @@ -0,0 +1,32 @@ +[ + { + "category": "``appsync``", + "description": "Add stash and outErrors to EvaluateCode/EvaluateMappingTemplate response", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "AWS DataSync now supports the Kerberos authentication protocol for SMB locations.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "feature: Deadline: Add support for limiting the concurrent usage of external resources, like floating licenses, using limits and the ability to constrain the maximum number of workers that work on a job", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release changes the CreateFleet CLI and SDK's such that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.", + "type": "api-change" + }, + { + "category": "``firehose``", + "description": "For AppendOnly streams, Firehose will automatically scale to match your throughput.", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "Adds 'allocatedStorage' parameter to UpdateDbInstance API that allows increasing the database instance storage size and 'dbStorageType' parameter to UpdateDbInstance API that allows changing the storage type of the database instance", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.37.9.json b/.changes/1.37.9.json new file mode 100644 index 000000000000..b24ad64671b9 --- /dev/null +++ b/.changes/1.37.9.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bcm-pricing-calculator``", + "description": "Added ConflictException error type in DeleteBillScenario, BatchDeleteBillScenarioCommitmentModification, BatchDeleteBillScenarioUsageModification, BatchUpdateBillScenarioUsageModification, and BatchUpdateBillScenarioCommitmentModification API operations.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Add support for Dualstack and Dualstack-with-FIPS Endpoints", + "type": "api-change" + }, + { + "category": "``ecr-public``", + "description": "Add support for Dualstack Endpoints", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "This release includes a new feature for Amazon SES Mail Manager which allows customers to specify known addresses and domains and make use of those in traffic policies and rules actions to distinguish between known and unknown entries.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.0.json b/.changes/1.38.0.json new file mode 100644 index 000000000000..82945c57a456 --- /dev/null +++ b/.changes/1.38.0.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-agent``", + "description": "This release improves support for newer models in Amazon Bedrock Flows.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Adding support for ReasoningContent fields in Pre-Processing, Post-Processing and Orchestration Trace outputs.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "This release adds Reasoning Content support to Converse and ConverseStream APIs", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "Documentation update, adding clarity and rephrasing.", + "type": "api-change" + }, + { + "category": "Endpoints", + "description": "Generate and use AWS-account-based endpoints for compatible services when the account ID is available. At launch, DynamoDB is the first and only compatible service. The new endpoint URL pattern will be ``https://.ddb..amazonaws.com``. Additional services may be added in the future. See the documentation for details: https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.38.1.json b/.changes/1.38.1.json new file mode 100644 index 000000000000..ee8441507ebd --- /dev/null +++ b/.changes/1.38.1.json @@ -0,0 +1,27 @@ +[ + { + "category": "``codebuild``", + "description": "Adding \"reportArns\" field in output of BatchGetBuildBatches API. \"reportArns\" is an array that contains the ARNs of reports created by merging reports from builds associated with the batch build.", + "type": "api-change" + }, + { + "category": "``devicefarm``", + "description": "Add an optional configuration to the ScheduleRun and CreateRemoteAccessSession API to set a device level http/s proxy.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds support for time-based EBS-backed AMI copy operations. Time-based copy ensures that EBS-backed AMIs are copied within and across Regions in a specified timeframe.", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "AWS IoT - AWS IoT Device Defender adds support for a new Device Defender Audit Check that monitors device certificate age and custom threshold configurations for both the new device certificate age check and existing device certificate expiry check.", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "PutTaxRegistration API changes for Egypt, Greece, Vietnam countries", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.10.json b/.changes/1.38.10.json new file mode 100644 index 000000000000..9396d932b0f8 --- /dev/null +++ b/.changes/1.38.10.json @@ -0,0 +1,42 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Add support for computer use tools", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Add support for computer use tools", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "Releasing minor partition endpoint updates.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Add support for contact transfers in external voice systems.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Adds defaultFontSize and defaultLineHeight as options in the EbuTtDDestinationSettings within the caption descriptions for an output stream.", + "type": "api-change" + }, + { + "category": "``pca-connector-ad``", + "description": "PrivateCA Connector for Active Directory now supports dual stack endpoints. This release adds the IpAddressType option to the VpcInformation on a Connector which determines whether the endpoint supports IPv4 only or IPv4 and IPv6 traffic.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "This release adds new StandardsControlsUpdatable field to the StandardsSubscription resource", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "This release updates the default value of pprof-disabled from false to true.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.11.json b/.changes/1.38.11.json new file mode 100644 index 000000000000..ccbd2e922a5e --- /dev/null +++ b/.changes/1.38.11.json @@ -0,0 +1,27 @@ +[ + { + "category": "``ec2``", + "description": "This release adds the GroupLongName field to the response of the DescribeAvailabilityZones API.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "This release adds Amazon ECR to Amazon ECR pull through cache rules support.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only update for Amazon ECS to address various tickets.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Adding componentArn to network reachability details", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Add an enum option DISABLED for Output Locking Mode under Global Configuration.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.12.json b/.changes/1.38.12.json new file mode 100644 index 000000000000..5e657cf21fb1 --- /dev/null +++ b/.changes/1.38.12.json @@ -0,0 +1,52 @@ +[ + { + "category": "``acm-pca``", + "description": "Private Certificate Authority service now supports P521 and RSA3072 key algorithms.", + "type": "api-change" + }, + { + "category": "``amplify``", + "description": "Introduced support for Skew Protection. Added enableSkewProtection field to createBranch and updateBranch API.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports webhook filtering by organization name", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release adds support to update projects and environments", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Generate account endpoints for DynamoDB requests using ARN-sourced account ID when available", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release changes the CreateLaunchTemplate, CreateLaunchTemplateVersion, ModifyLaunchTemplate CLI and SDKs such that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "IVS Real-Time now offers customers the ability to adjust the participant & composition recording segment duration", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Updated CreateLogAnomalyDetector to accept only kms key arn", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds the ResetChannelState and ResetOriginEndpointState operation to reset MediaPackage V2 channel and origin endpoint. This release also adds a new field, UrlEncodeChildManifest, for HLS/LL-HLS to allow URL-encoding child manifest query string based on the requirements of AWS SigV4.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Updating GetDataAccess response for S3 Access Grants to include the matched Grantee for the requested prefix", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.13.json b/.changes/1.38.13.json new file mode 100644 index 000000000000..c58ff5ddb0ce --- /dev/null +++ b/.changes/1.38.13.json @@ -0,0 +1,22 @@ +[ + { + "category": "``cognito-identity``", + "description": "Updated API model build artifacts for identity pools", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "Minor description updates to API parameters", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release added AllowFullTableExternalDataAccess to glue catalog resource.", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "This release added \"condition\" to LakeFormation OptIn APIs, also added WithPrivilegedAccess flag to RegisterResource and DescribeResource.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.14.json b/.changes/1.38.14.json new file mode 100644 index 000000000000..c19fe6136728 --- /dev/null +++ b/.changes/1.38.14.json @@ -0,0 +1,27 @@ +[ + { + "category": "``application-signals``", + "description": "This release adds support for adding, removing, and listing SLO time exclusion windows with the BatchUpdateExclusionWindows and ListServiceLevelObjectiveExclusionWindows APIs.", + "type": "api-change" + }, + { + "category": "``geo-maps``", + "description": "Provide support for vector map styles in the GetStaticMap operation.", + "type": "api-change" + }, + { + "category": "``rum``", + "description": "CloudWatch RUM now supports unminification of JS error stack traces.", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "Adjust Vietnam PaymentVoucherNumber regex and minor API change.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "AWS WAF now lets you inspect fragments of request URIs. You can specify the scope of the URI to inspect and narrow the set of URI fragments.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.15.json b/.changes/1.38.15.json new file mode 100644 index 000000000000..566bbbd7ed03 --- /dev/null +++ b/.changes/1.38.15.json @@ -0,0 +1,22 @@ +[ + { + "category": "``appsync``", + "description": "Providing Tagging support for DomainName in AppSync", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "This release adds support for PySpark jobs. Customers can now analyze data by running jobs using approved PySpark analysis templates.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds support for AVC passthrough, the ability to specify PTS offset without padding, and an A/V segment matching feature.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the iso-f regions for private DNS Amazon VPCs and cloudwatch healthchecks.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.16.json b/.changes/1.38.16.json new file mode 100644 index 000000000000..b6b1731aba40 --- /dev/null +++ b/.changes/1.38.16.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock``", + "description": "Support custom prompt routers for evaluation jobs", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Doc-only updates for EC2 for March 2025.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Add Ruby 3.4 (ruby3.4) support to AWS Lambda.", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "This release adds support for NDI flow outputs in AWS Elemental MediaConnect. You can now send content from your MediaConnect transport streams directly to your NDI environment using the new NDI output type.", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Update IAM Role ARN Validation to Support Role Paths", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added support for g6, g6e, m6i, c6i instance types in SageMaker Processing Jobs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.17.json b/.changes/1.38.17.json new file mode 100644 index 000000000000..fbccd35af6e3 --- /dev/null +++ b/.changes/1.38.17.json @@ -0,0 +1,27 @@ +[ + { + "category": "``amplify``", + "description": "Added appId field to Webhook responses", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "With this release, Bedrock Evaluation will now support bring your own inference responses.", + "type": "api-change" + }, + { + "category": "``controlcatalog``", + "description": "Add ExemptAssumeRoot parameter to adapt for new AWS AssumeRoot capability.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Amazon SES Mail Manager. Extended rule string and boolean expressions to support analysis in condition evaluation. Extended ingress point string expression to support analysis in condition evaluation", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "You can now use flow operations to either flush or capture traffic monitored in your firewall's flow table.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.18.json b/.changes/1.38.18.json new file mode 100644 index 000000000000..23b5c7a4eb88 --- /dev/null +++ b/.changes/1.38.18.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock``", + "description": "A CustomModelUnit(CMU) is an abstract view of the hardware utilization that Bedrock needs to host a a single copy of your custom imported model. Bedrock determines the number of CMUs that a model copy needs when you import the custom model. You can use CMUs to estimate the cost of Inference's.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Add support for overriding selection of default AWS IAM Identity Center instance as part of Amazon DataZone domain APIs.", + "type": "api-change" + }, + { + "category": "``route53-recovery-control-config``", + "description": "Adds dual-stack (IPv4 and IPv6) endpoint support for route53-recovery-control-config operations, opt-in dual-stack addresses for cluster endpoints, and UpdateCluster API to update the network-type of clusters between IPv4 and dual-stack.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release does the following: 1.) Adds DurationHours as a required field to the SearchTrainingPlanOfferings action in the SageMaker AI API; 2.) Adds support for G6e instance types for SageMaker AI inference optimization jobs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.19.json b/.changes/1.38.19.json new file mode 100644 index 000000000000..313091b1b9f2 --- /dev/null +++ b/.changes/1.38.19.json @@ -0,0 +1,22 @@ +[ + { + "category": "``iotwireless``", + "description": "Mark EutranCid under LteNmr optional.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "ClusterName/ClusterIdentifier, ComputeNodeGroupName/ComputeNodeGroupIdentifier, and QueueName/QueueIdentifier can now have 10 characters, and a minimum of 3 characters. The TagResource API action can now return ServiceQuotaExceededException.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Provides the correct value for supported model ID.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "This release adds the AvailableSecurityUpdatesComplianceStatus field to patch baseline operations, as well as the AvailableSecurityUpdateCount and InstancesWithAvailableSecurityUpdates to patch state operations. Applies to Windows Server managed nodes only.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.2.json b/.changes/1.38.2.json new file mode 100644 index 000000000000..e4611f261bf8 --- /dev/null +++ b/.changes/1.38.2.json @@ -0,0 +1,42 @@ +[ + { + "category": "``application-signals``", + "description": "This release adds API support for reading Service Level Objectives and Services from monitoring accounts, from SLO and Service-scoped operations, including ListServices and ListServiceLevelObjectives.", + "type": "api-change" + }, + { + "category": "``batch``", + "description": "AWS Batch: Resource Aware Scheduling feature support", + "type": "api-change" + }, + { + "category": "``chime``", + "description": "Removes the Amazon Chime SDK APIs from the \"chime\" namespace. Amazon Chime SDK APIs continue to be available in the AWS SDK via the dedicated Amazon Chime SDK namespaces: chime-sdk-identity, chime-sdk-mediapipelines, chime-sdk-meetings, chime-sdk-messaging, and chime-sdk-voice.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Documentation update for VPC origin config.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon EC2 Fleet customers can now override the Block Device Mapping specified in the Launch Template when creating a new Fleet request, saving the effort of creating and associating new Launch Templates to customize the Block Device Mapping.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "This release adds an optional listResponseScope request parameter in certain list API requests to limit the response to metadata only.", + "type": "api-change" + }, + { + "category": "``oam``", + "description": "This release adds support for sharing AWS::ApplicationSignals::Service and AWS::ApplicationSignals::ServiceLevelObjective resources.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "AWS SageMaker InferenceComponents now support rolling update deployments for Inference Components.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.20.json b/.changes/1.38.20.json new file mode 100644 index 000000000000..7083ad6fba47 --- /dev/null +++ b/.changes/1.38.20.json @@ -0,0 +1,42 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Adding support for Amazon OpenSearch Managed clusters as a vector database in Knowledge Bases for Amazon Bedrock", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Added support to override upgrade-blocking readiness checks via force flag when updating a cluster.", + "type": "api-change" + }, + { + "category": "``gameliftstreams``", + "description": "Minor updates to improve developer experience.", + "type": "api-change" + }, + { + "category": "``keyspaces``", + "description": "Removing replication region limitation for Amazon Keyspaces Multi-Region Replication APIs.", + "type": "api-change" + }, + { + "category": "``marketplace-entitlement``", + "description": "This release enhances the GetEntitlements API to support new filter CUSTOMER_AWS_ACCOUNT_ID in request and CustomerAWSAccountId field in response.", + "type": "api-change" + }, + { + "category": "``meteringmarketplace``", + "description": "This release enhances the BatchMeterUsage API to support new field CustomerAWSAccountId in request and response and making CustomerIdentifier optional. CustomerAWSAccountId or CustomerIdentifier must be provided in request but not both.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds support for customer-managed KMS keys in Amazon SageMaker Partner AI Apps", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Deprecate tags field in Get API responses", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.21.json b/.changes/1.38.21.json new file mode 100644 index 000000000000..93ac6bb49b0d --- /dev/null +++ b/.changes/1.38.21.json @@ -0,0 +1,37 @@ +[ + { + "category": "``arc-zonal-shift``", + "description": "Add new shiftType field for ARC zonal shifts.", + "type": "api-change" + }, + { + "category": "``directconnect``", + "description": "With this release, AWS Direct Connect allows you to tag your Direct Connect gateways. Tags are metadata that you can create and use to manage your Direct Connect gateways. For more information about tagging, see AWS Tagging Strategies.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds a configurable Quality Level setting for the top rendition of Auto ABR jobs", + "type": "api-change" + }, + { + "category": "``mediatailor``", + "description": "Add support for log filtering which allow customers to filter out selected event types from logs.", + "type": "api-change" + }, + { + "category": "``polly``", + "description": "Added support for the new voice - Jihye (ko-KR). Jihye is available as a Neural voice only.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Add note about the Availability Zone where RDS restores the DB cluster for the RestoreDBClusterToPointInTime operation.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "This release adds the ability to associate an AWS WAF v2 web ACL with an AWS Amplify App.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.22.json b/.changes/1.38.22.json new file mode 100644 index 000000000000..1b6f94bc8d7d --- /dev/null +++ b/.changes/1.38.22.json @@ -0,0 +1,52 @@ +[ + { + "category": "``batch``", + "description": "This release will enable two features: Firelens log driver, and Execute Command on Batch jobs on ECS. Both features will be passed through to ECS.", + "type": "api-change" + }, + { + "category": "``bcm-pricing-calculator``", + "description": "Added standaloneAccountRateTypeSelections for GetPreferences and UpdatePreferences APIs. Added STALE enum value to status attribute in GetBillScenario and UpdateBillScenario APIs.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "bedrock flow now support node action trace.", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "Adding support for the new parameter \"ScanFilters\" in the CloudFormation StartResourceScan API. When this parameter is included, the StartResourceScan API will initiate a scan limited to the resource types specified by the parameter.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release adds new action type of Create Listing Changeset for the Metadata Enforcement Rule feature.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Added support for BOTTLEROCKET FIPS AMIs to AMI types in US regions.", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Amazon GameLift Servers add support for additional instance types.", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Update IAM dual-stack endpoints for BJS, IAD and PDT partitions", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "add: recovery mode for SageMaker Studio apps", + "type": "api-change" + }, + { + "category": "``sso-oidc``", + "description": "This release adds AwsAdditionalDetails in the CreateTokenWithIAM API response.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.23.json b/.changes/1.38.23.json new file mode 100644 index 000000000000..4e433b1b6ad0 --- /dev/null +++ b/.changes/1.38.23.json @@ -0,0 +1,52 @@ +[ + { + "category": "``apigateway``", + "description": "Adds support for setting the IP address type to allow dual-stack or IPv4 address types to invoke your APIs or domain names.", + "type": "api-change" + }, + { + "category": "``apigatewayv2``", + "description": "Adds support for setting the IP address type to allow dual-stack or IPv4 address types to invoke your APIs or domain names.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Launching Multi-modality Content Filter for Amazon Bedrock Guardrails.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "This release adds support for cacheNamespace in ProjectCache", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is an Amazon ECS documentation only release that addresses tickets.", + "type": "api-change" + }, + { + "category": "``meteringmarketplace``", + "description": "Add support for Marketplace Metering Service dual-stack endpoints.", + "type": "api-change" + }, + { + "category": "``networkmanager``", + "description": "Add support for NetworkManager Dualstack endpoints.", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "The service adds support for transferring AES-256 and other keys between the service and other service providers and HSMs. This feature uses ECDH to derive a one-time key transport key to enable these secure key exchanges.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "RLS permission dataset with userAs: RLS_RULES flag, Q in QuickSight/Threshold Alerts/Schedules/Snapshots in QS embedding, toggle dataset refresh email alerts via API, transposed table with options: column width, type and index, toggle Q&A on dashboards, Oracle Service Name when creating data source.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "TransformAmiVersion for Batch Transform and SageMaker Search Service Aggregate Search API Extension", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.24.json b/.changes/1.38.24.json new file mode 100644 index 000000000000..c72e58062706 --- /dev/null +++ b/.changes/1.38.24.json @@ -0,0 +1,52 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Add Prompt Caching support to Converse and ConverseStream APIs", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "With this release you can use a new field to specify the search term match type. Search term match types currently support fuzzy and contains matching.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Release VPC Route Server, a new feature allowing dynamic routing in VPCs.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Add support for updating RemoteNetworkConfig for hybrid nodes on EKS UpdateClusterConfig API", + "type": "api-change" + }, + { + "category": "``marketplace-entitlement``", + "description": "Add support for Marketplace Entitlement Service dual-stack endpoints.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "Enabling Asset Level Capacity Management feature, which allows customers to create a Capacity Task for a single Asset on their active Outpost.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Add dual-stack support to global endpoints.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "Add WebAppEndpointPolicy support for WebApps", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.25.json b/.changes/1.38.25.json new file mode 100644 index 000000000000..a313e59c9d28 --- /dev/null +++ b/.changes/1.38.25.json @@ -0,0 +1,12 @@ +[ + { + "category": "``cleanrooms``", + "description": "This release adds support for updating the analytics engine of a collaboration.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added tagging support for SageMaker notebook instance lifecycle configurations", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.26.json b/.changes/1.38.26.json new file mode 100644 index 000000000000..be572673e089 --- /dev/null +++ b/.changes/1.38.26.json @@ -0,0 +1,32 @@ +[ + { + "category": "``application-signals``", + "description": "Application Signals now supports creating Service Level Objectives on service dependencies. Users can now create or update SLOs on discovered service dependencies to monitor their standard application metrics.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "This release adds support for environment type WINDOWS_SERVER_2022_CONTAINER in ProjectEnvironment", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Fix for customer issues related to AWS account ID and size limitation for token.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is an Amazon ECS documentation only update to address various tickets.", + "type": "api-change" + }, + { + "category": "``lexv2-models``", + "description": "Release feature of errorlogging for lex bot, customer can config this feature in bot version to generate log for error exception which helps debug", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Added support for SMPTE 2110 inputs when running a channel in a MediaLive Anywhere cluster. This feature enables ingestion of SMPTE 2110-compliant video, audio, and ancillary streams by reading SDP files that AWS Elemental MediaLive can retrieve from a network source.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.27.json b/.changes/1.38.27.json new file mode 100644 index 000000000000..6991afda9078 --- /dev/null +++ b/.changes/1.38.27.json @@ -0,0 +1,42 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Added optional \"customMetadataField\" for Amazon Aurora knowledge bases, allowing single-column metadata. Also added optional \"textIndexName\" for MongoDB Atlas knowledge bases, enabling hybrid search support.", + "type": "api-change" + }, + { + "category": "``chime-sdk-voice``", + "description": "Added FOC date as an attribute of PhoneNumberOrder, added AccessDeniedException as a possible return type of ValidateE911Address", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Add support for Dual_Stack and PrivateLink types of IngressPoint. For configuration requests, SES Mail Manager will now accept both IPv4/IPv6 dual-stack endpoints and AWS PrivateLink VPC endpoints for email receiving.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "Improve descriptions for various API commands and data types.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Added us-gov-east-1 and us-gov-west-1 as valid Latency Based Routing regions for change-resource-record-sets.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adds support for i3en, m7i, r7i instance types for SageMaker Hyperpod", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "This release enables customers to provide attachments in the SESv2 SendEmail and SendBulkEmail APIs.", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "This Feature Adds Support for the \"zh-HK\" Locale for Batch Operations", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.28.json b/.changes/1.38.28.json new file mode 100644 index 000000000000..cbc67cd43cd7 --- /dev/null +++ b/.changes/1.38.28.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ds-data``", + "description": "Doc only update - fixed broken links.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Doc-only updates for Amazon EC2", + "type": "api-change" + }, + { + "category": "``events``", + "description": "Amazon EventBridge adds support for customer-managed keys on Archives and validations for two fields: eventSourceArn and kmsKeyIdentifier.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Updated max size of Prefixes parameter of Scope data type.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.29.json b/.changes/1.38.29.json new file mode 100644 index 000000000000..8eb8ad4589e1 --- /dev/null +++ b/.changes/1.38.29.json @@ -0,0 +1,37 @@ +[ + { + "category": "``bedrock``", + "description": "New options for how to handle harmful content detected by Amazon Bedrock Guardrails.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "New options for how to handle harmful content detected by Amazon Bedrock Guardrails.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now offers an enhanced debugging experience.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add input validations for multiple Glue APIs", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive now supports SDI inputs to MediaLive Anywhere Channels in workflows that use AWS SDKs.", + "type": "api-change" + }, + { + "category": "``personalize``", + "description": "Add support for eventsConfig for CreateSolution, UpdateSolution, DescribeSolution, DescribeSolutionVersion. Add support for GetSolutionMetrics to return weighted NDCG metrics when eventsConfig is enabled for the solution.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "This launch enables customers to manage contents of their remote directories, by deleting old files or moving files to archive folders in remote servers once they have been retrieved. Customers will be able to automate the process using event-driven architecture.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.3.json b/.changes/1.38.3.json new file mode 100644 index 000000000000..771e13af120f --- /dev/null +++ b/.changes/1.38.3.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent-runtime``", + "description": "Introduces Sessions (preview) to enable stateful conversations in GenAI applications.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Definition update for EbsConfiguration.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "This release supports deleting attachments from conversations.", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Add track support for Redshift Serverless workgroup.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "SageMaker HubService is introducing support for creating Training Jobs in Curated Hub (Private Hub). Additionally, it is introducing two new APIs: UpdateHubContent and UpdateHubContentReference.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "This release adds support to invoke a process that cleans the specified file share's cache of file entries that are failing upload to Amazon S3.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.30.json b/.changes/1.38.30.json new file mode 100644 index 000000000000..1cf987c0996d --- /dev/null +++ b/.changes/1.38.30.json @@ -0,0 +1,37 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "This release introduces our latest bedrock runtime API, InvokeModelWithBidirectionalStream. The API supports both input and output streams and is supported by only HTTP2.0.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "This release supports Pagination traits on Cost Anomaly Detection APIs.", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "This release adds resource type \"MemoryDbReservedInstances\" and resource type \"DynamoDbReservedCapacity\" to the GetRecommendation, ListRecommendations, and ListRecommendationSummaries APIs to support new MemoryDB and DynamoDB RI recommendations.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "This release adds the option to update the strategy of state templates already associated to a vehicle, without the need to remove and re-add them.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Documentation updates for AWS Security Hub.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "Added new ActiveDirectoryStatus value, ListCacheReports paginator, and support for longer pagination tokens.", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "Uzbekistan Launch on TaxSettings Page", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.31.json b/.changes/1.38.31.json new file mode 100644 index 000000000000..d43f8bed42ca --- /dev/null +++ b/.changes/1.38.31.json @@ -0,0 +1,27 @@ +[ + { + "category": "``controlcatalog``", + "description": "The GetControl API now surfaces a control's Severity, CreateTime, and Identifier for a control's Implementation. The ListControls API now surfaces a control's Behavior, Severity, CreateTime, and Identifier for a control's Implementation.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Documentation update for secondary indexes and Create_Table.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "The TableOptimizer APIs in AWS Glue now return the DpuHours field in each TableOptimizerRun, providing clients visibility to the DPU-hours used for billing in managed Apache Iceberg table compaction optimization.", + "type": "api-change" + }, + { + "category": "``groundstation``", + "description": "Support tagging Agents and adjust input field validations", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "This launch includes 2 enhancements to SFTP connectors user-experience: 1) Customers can self-serve concurrent connections setting for their connectors, and 2) Customers can discover the public host key of remote servers using their SFTP connectors.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.32.json b/.changes/1.38.32.json new file mode 100644 index 000000000000..1cb51e07c516 --- /dev/null +++ b/.changes/1.38.32.json @@ -0,0 +1,32 @@ +[ + { + "category": "``application-autoscaling``", + "description": "Application Auto Scaling now supports horizontal scaling for Elasticache Memcached self-designed clusters using target tracking scaling policies and scheduled scaling.", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "AWS ElastiCache SDK now supports using MemcachedUpgradeConfig parameter with ModifyCacheCluster API to enable updating Memcached cache node types. Please refer to updated AWS ElastiCache public documentation for detailed information on API usage and implementation.", + "type": "api-change" + }, + { + "category": "``m2``", + "description": "Introduce three new APIs: CreateDataSetExportTask, GetDataSetExportTask and ListDataSetExportHistory. Add support for batch restart for Blu Age applications.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive / Features : Add support for CMAF Ingest CaptionLanguageMappings, TimedMetadataId3 settings, and Link InputResolution.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Adds functionality to enable/disable a new Q Business Hallucination Reduction feature. If enabled, Q Business will detect and attempt to remove Hallucinations from certain Chat requests.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Add support to analysis and sheet level highlighting in QuickSight.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.33.json b/.changes/1.38.33.json new file mode 100644 index 000000000000..8c253cb3c64c --- /dev/null +++ b/.changes/1.38.33.json @@ -0,0 +1,42 @@ +[ + { + "category": "``connect-contact-lens``", + "description": "Making sentiment optional for ListRealtimeContactAnalysisSegments Response depending on conversational analytics configuration", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Raise hard limit of authorized principals per SubscriptionTarget from 10 to 20.", + "type": "api-change" + }, + { + "category": "``detective``", + "description": "Add support for Detective DualStack endpoints", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Doc only update for API descriptions.", + "type": "api-change" + }, + { + "category": "``marketplace-entitlement``", + "description": "Add support for Marketplace Entitlement Service dual-stack endpoints for CN and GOV regions", + "type": "api-change" + }, + { + "category": "``meteringmarketplace``", + "description": "Add support for Marketplace Metering Service dual-stack endpoints for CN regions", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Changed the minimum length of clusterIdentifier, computeNodeGroupIdentifier, and queueIdentifier to 3.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Adds deletion protection support to policy stores. Deletion protection is disabled by default, can be enabled via the CreatePolicyStore or UpdatePolicyStore APIs, and is visible in GetPolicyStore.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.34.json b/.changes/1.38.34.json new file mode 100644 index 000000000000..f75d6fab97b9 --- /dev/null +++ b/.changes/1.38.34.json @@ -0,0 +1,12 @@ +[ + { + "category": "``entityresolution``", + "description": "This is to add new metrics to our GetIdMappingJob API and also update uniqueId naming for batchDeleteUniqueIds API to be more accurate", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "Indonesia SOR Tax Registration Launch", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.35.json b/.changes/1.38.35.json new file mode 100644 index 000000000000..a252e1770350 --- /dev/null +++ b/.changes/1.38.35.json @@ -0,0 +1,42 @@ +[ + { + "category": "``connectcases``", + "description": "This feature provides capabilities to help track and meet service level agreements (SLAs) on cases programmatically. It allows configuring a new related item of type `Sla` on a case using CreateRelatedItem API and provides the ability to search for this new related item using SearchRelatedItems API.", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "Added GetClusterEndpointService API. The new API allows retrieving endpoint service name specific to a cluster.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Added support for new AL2023 ARM64 NVIDIA AMIs to the supported AMITypes.", + "type": "api-change" + }, + { + "category": "``events``", + "description": "Adding support for KmsKeyIdentifer in CreateConnection, UpdateConnection and DescribeConnection APIs", + "type": "api-change" + }, + { + "category": "``resource-groups``", + "description": "Resource Groups: TagSyncTasks can be created with ResourceQuery", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "S3 Tables now supports setting encryption configurations on table buckets and tables. Encryption configurations can use server side encryption using AES256 or KMS customer-managed keys.", + "type": "api-change" + }, + { + "category": "``servicecatalog``", + "description": "Updated default value for the access-level-filter in SearchProvisionedProducts API to Account. For access to userLevel or roleLevel, the user must provide access-level-filter parameter.", + "type": "api-change" + }, + { + "category": "Formatter", + "description": "Update JSON formatter to encode raw bytes as UTF-8.", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.38.36.json b/.changes/1.38.36.json new file mode 100644 index 000000000000..5fae7ab4fccf --- /dev/null +++ b/.changes/1.38.36.json @@ -0,0 +1,47 @@ +[ + { + "category": "``accessanalyzer``", + "description": "Added new resource types to evaluate for public access in resource policies and added support for S3 directory bucket access points.", + "type": "api-change" + }, + { + "category": "``amp``", + "description": "Add Workspace Configuration APIs for Amazon Prometheus", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "Doc only update for EC2 Auto Scaling.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "With this release, Bedrock Evaluation will now support custom metrics for evaluation.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release adds following capabilities to Contact Lens Rules APIs 1/ 'ASSIGN_SLA' action and '$.Case.TemplateId' comparison value for 'OnCaseCreate' and 'OnCaseUpdate' event sources 2/ 'OnSlaBreach' Cases event source which supports '$.RelatedItem.SlaConfiguration.Name' comparison value", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Adds a new AccountSetting - defaultLogDriverMode for ECS.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "We've added stricter parameter validations to AWS IoT FleetWise signal catalog, model manifest, and decoder manifest APIs.", + "type": "api-change" + }, + { + "category": "``memorydb``", + "description": "Added support for IPv6 and dual stack for Valkey and Redis clusters. Customers can now launch new Valkey and Redis clusters with IPv6 and dual stack networking support.", + "type": "api-change" + }, + { + "category": "``omics``", + "description": "Add versioning for HealthOmics workflows", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.37.json b/.changes/1.38.37.json new file mode 100644 index 000000000000..a375b052b472 --- /dev/null +++ b/.changes/1.38.37.json @@ -0,0 +1,17 @@ +[ + { + "category": "``qconnect``", + "description": "This release adds support for the following capabilities: Chunking generative answer replies from Amazon Q in Connect. Integration support for the use of additional LLM models with Amazon Q in Connect.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds a new Neuron driver option in InferenceAmiVersion parameter for ProductionVariant. Additionally, it adds support for fetching model lifecycle status in the ListModelPackages API. Users can now use this API to view the lifecycle stage of models that have been shared with them.", + "type": "api-change" + }, + { + "category": "``service-quotas``", + "description": "Add new optional SupportCaseAllowed query parameter to the RequestServiceQuotaIncrease API", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.38.json b/.changes/1.38.38.json new file mode 100644 index 000000000000..dd4161977ea2 --- /dev/null +++ b/.changes/1.38.38.json @@ -0,0 +1,27 @@ +[ + { + "category": "``arc-zonal-shift``", + "description": "Updates to documentation and exception types for Zonal Autoshift", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Releasing the new Budget FilterExpression and Metrics fields to support more granular filtering options. These new fields are intended to replace CostFilters and CostTypes, which are deprecated as of 2025/18/04.", + "type": "api-change" + }, + { + "category": "``firehose``", + "description": "Documentation update regarding the number of streams you can create using the CreateDeliveryStream API.", + "type": "api-change" + }, + { + "category": "``mediatailor``", + "description": "Added support for Recurring Prefetch and Traffic Shaping on both Single and Recurring Prefetch. ListPrefetchSchedules now return single prefetchs by default and can be provided scheduleType of SINGLE, RECURRING, AND ALL.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "The CheckDocumentAccess API for Amazon Q Business is a self-service debugging API that allows administrators to verify document access permissions and review Access Control List (ACL) configurations.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.4.json b/.changes/1.38.4.json new file mode 100644 index 000000000000..232290822343 --- /dev/null +++ b/.changes/1.38.4.json @@ -0,0 +1,42 @@ +[ + { + "category": "``bedrock-agent``", + "description": "This release lets Amazon Bedrock Flows support newer models by increasing the maximum length of output in a prompt configuration. This release also increases the maximum number of prompt variables to 20 and the maximum number of node inputs to 20.", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Renamed and added new StandardConfiguration enums. Added support to update EncryptionConfiguration in UpdateBlueprint and UpdateDataAutomation APIs. Changed HttpStatus code for DeleteBlueprint and DeleteDataAutomationProject APIs to 200 from 204. Added APIs to support tagging.", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation-runtime``", + "description": "Added a mandatory parameter DataAutomationProfileArn to support for cross region inference for InvokeDataAutomationAsync API. Renamed DataAutomationArn to DataAutomationProjectArn. Added APIs to support tagging.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Add skipped status to the Result Statistics of an Assessment Run", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Adding licenses to EKS Anywhere Subscription operations response.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "The AWS MediaConvert Probe API allows you to analyze media files and retrieve detailed metadata about their content, format, and structure.", + "type": "api-change" + }, + { + "category": "``pricing``", + "description": "Update GetProducts and DescribeServices API request input validations.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Systems Manager doc-only updates for Feb. 2025.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.5.json b/.changes/1.38.5.json new file mode 100644 index 000000000000..5ef20dad57b6 --- /dev/null +++ b/.changes/1.38.5.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cognito-idp``", + "description": "Added the capacity to return available challenges in admin authentication and to set version 3 of the pre token generation event for M2M ATC.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Update the DescribeVpcs response", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Adds support for the ingestion of audio and video files by Q Business, which can be configured with the mediaExtractionConfiguration parameter.", + "type": "api-change" + }, + { + "category": "``rum``", + "description": "Add support for PutResourcePolicy, GetResourcePolicy and DeleteResourcePolicy to support resource based policies for AWS CloudWatch RUM", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Add DomainId to CreateDomainResponse", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "Updating documentation for post call analytics job queueing.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.6.json b/.changes/1.38.6.json new file mode 100644 index 000000000000..6902d9ff8211 --- /dev/null +++ b/.changes/1.38.6.json @@ -0,0 +1,22 @@ +[ + { + "category": "``elasticache``", + "description": "Doc only update, listing 'valkey7' and 'valkey8' as engine options for parameter groups.", + "type": "api-change" + }, + { + "category": "``iot-managed-integrations``", + "description": "Adding managed integrations APIs for IoT Device Management to setup and control devices across different manufacturers and connectivity protocols. APIs include managedthing operations, credential and provisioning profile management, notification configuration, and OTA update.", + "type": "api-change" + }, + { + "category": "``iotsitewise``", + "description": "AWS IoT SiteWise now supports MQTT-enabled, V3 gateways. Configure data destinations for real-time ingestion into AWS IoT SiteWise or buffered ingestion using Amazon S3 storage. You can also use path filters for precise data collection from specific MQTT topics.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Note support for Database Insights for Amazon RDS.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.7.json b/.changes/1.38.7.json new file mode 100644 index 000000000000..9de7a42672ba --- /dev/null +++ b/.changes/1.38.7.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "This releases adds support for Custom Prompt Router ARN", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "AWS DataSync now supports modifying ServerHostname while updating locations SMB, NFS, and ObjectStorage.", + "type": "api-change" + }, + { + "category": "``gameliftstreams``", + "description": "New Service: Amazon GameLift Streams delivers low-latency game streaming from AWS global infrastructure to virtually any device with a browser at up to 1080p resolution and 60 fps.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "This release adds floating point support for CAN/OBD signals and adds support for signed OBD signals.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added DeviceTypeWorkSpacesThinClient type to allow users to access their WorkSpaces through a WorkSpaces Thin Client.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.8.json b/.changes/1.38.8.json new file mode 100644 index 000000000000..634571ce75f7 --- /dev/null +++ b/.changes/1.38.8.json @@ -0,0 +1,37 @@ +[ + { + "category": "``bedrock``", + "description": "This releases adds support for Custom Prompt Router", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "Doc-only update for CloudTrail.", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "IVS Real-Time now offers customers the ability to merge fragmented recordings in the event of a participant disconnect.", + "type": "api-change" + }, + { + "category": "``networkflowmonitor``", + "description": "This release contains 2 changes. 1: DeleteScope/GetScope/UpdateScope operations now return 404 instead of 500 when the resource does not exist. 2: Expected string format for clientToken fields of CreateMonitorInput/CreateScopeInput/UpdateMonitorInput have been updated to be an UUID based string.", + "type": "api-change" + }, + { + "category": "``redshift-data``", + "description": "This release adds support for ListStatements API to filter statements by ClusterIdentifier, WorkgroupName, and Database.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "You can now perform an exact match or rate limit aggregation against the web request's JA4 fingerprint.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added a new ModifyEndpointEncryptionMode API for managing endpoint encryption settings.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.38.9.json b/.changes/1.38.9.json new file mode 100644 index 000000000000..28d755b66313 --- /dev/null +++ b/.changes/1.38.9.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Introduces support for Neptune Analytics as a vector data store and adds Context Enrichment Configurations, enabling use cases such as GraphRAG.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Support Multi Agent Collaboration within Inline Agents", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Documentation updates for Amazon CloudFront.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add serviceManaged field to DescribeAddresses API response.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release adds support for assigning IP addresses to Application Load Balancers from VPC IP Address Manager pools.", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Several small updates to resolve customer requests.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.39.0.json b/.changes/1.39.0.json new file mode 100644 index 000000000000..7f4659fbc215 --- /dev/null +++ b/.changes/1.39.0.json @@ -0,0 +1,47 @@ +[ + { + "category": "``account``", + "description": "AWS Account Management now supports account name update via IAM principals.", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "This release adds refresh token rotation.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Added support for ClientRouteEnforcementOptions flag in CreateClientVpnEndpoint and ModifyClientVpnEndpoint requests and DescribeClientVpnEndpoints responses", + "type": "api-change" + }, + { + "category": "``entityresolution``", + "description": "To expand support for matching records using digital identifiers with TransUnion", + "type": "api-change" + }, + { + "category": "``mq``", + "description": "You can now delete Amazon MQ broker configurations using the DeleteConfiguration API. For more information, see Configurations in the Amazon MQ API Reference.", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Provides new and updated API members to support the Redshift Serverless reservations feature.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Fix endpoint resolution test cases", + "type": "api-change" + }, + { + "category": "Python", + "description": "End of support for Python 3.8", + "type": "feature" + }, + { + "category": "Python", + "description": "End of support for Python 3.8", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.40.0.json b/.changes/1.40.0.json new file mode 100644 index 000000000000..a5c0621472cc --- /dev/null +++ b/.changes/1.40.0.json @@ -0,0 +1,22 @@ +[ + { + "category": "``codebuild``", + "description": "Add support for custom instance type for reserved capacity fleets", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Add support to roll back an In_Progress ECS Service Deployment", + "type": "api-change" + }, + { + "category": "``resource-explorer-2``", + "description": "Documentation-only update for CreateView option correction", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Add assume-role-arn option to update-kubeconfig command for cross-account access", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.40.1.json b/.changes/1.40.1.json new file mode 100644 index 000000000000..ab06a82019e7 --- /dev/null +++ b/.changes/1.40.1.json @@ -0,0 +1,42 @@ +[ + { + "category": "``apprunner``", + "description": "AWS App Runner adds Node.js 22 runtime.", + "type": "api-change" + }, + { + "category": "``appsync``", + "description": "Add data source support to Event APIs", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Added support for modality routing and modality enablement on CreateDataAutomationProject and UpdateDataAutomationProject APIs", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "Remove redundant validation check.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Add support for ARN-sourced account endpoint generation for TransactWriteItems. This will generate account endpoints for DynamoDB TransactWriteItems requests using ARN-sourced account ID when available.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Documentation only release for Amazon ECS", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Documentation-only update: added valid values for the version property of the Scheduler and SchedulerRequest data types.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This Amazon RDS release adds support for managed master user passwords for Oracle CDBs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.10.json b/.changes/1.40.10.json new file mode 100644 index 000000000000..c3156272437d --- /dev/null +++ b/.changes/1.40.10.json @@ -0,0 +1,27 @@ +[ + { + "category": "``ec2``", + "description": "This release adds API support for Path Component Exclusion (Filter Out ARN) for Reachability Analyzer", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "Updated the CreateImageRecipeRequest ParentImage description to include all valid values as updated with the SSM Parameters project.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Enables Updating Anywhere Settings on a MediaLive Anywhere Channel.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "SageMaker AI Studio users can now migrate to SageMaker Unified Studio, which offers a unified web-based development experience that integrates AWS data, analytics, artificial intelligence (AI), and machine learning (ML) services, as well as additional tools and resource", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Add support to test a canary update by invoking a dry run of a canary. This behavior can be used via the new StartCanaryDryRun API along with new fields in UpdateCanary to apply dry run changes. Also includes changes in GetCanary and GetCanaryRuns to support retrieving dry run configurations.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.11.json b/.changes/1.40.11.json new file mode 100644 index 000000000000..bca2f6e44428 --- /dev/null +++ b/.changes/1.40.11.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cloudfront``", + "description": "Doc-only update for CloudFront. These changes include customer-reported issues.", + "type": "api-change" + }, + { + "category": "``codepipeline``", + "description": "Add support for Secrets Manager and Plaintext environment variable types in Commands action", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Launching the feature to support ENA queues offering flexibility to support multiple queues per Enhanced Network Interface (ENI)", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This new release supports customizable RefreshInterval for all Saas ZETL integrations from 15 minutes to 6 days.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Updated description of a data structure.", + "type": "api-change" + }, + { + "category": "``sso-admin``", + "description": "Update PutPermissionBoundaryToPermissionSet API's managedPolicyArn pattern to allow valid ARN only. Update ApplicationName to allow white spaces.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.12.json b/.changes/1.40.12.json new file mode 100644 index 000000000000..3b83c5634dba --- /dev/null +++ b/.changes/1.40.12.json @@ -0,0 +1,22 @@ +[ + { + "category": "``athena``", + "description": "Minor API documentation updates", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "We are pleased to announce limit increases to our grok processor logs transformation feature. Now you can define 20 Grok patterns in their configurations, with an expanded total pattern matching limit of 512 characters.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Add support to retry a canary automatically after schedule run failures. Users can enable this feature by configuring the RetryConfig field when calling the CreateCanary or UpdateCanary API. Also includes changes in GetCanary and GetCanaryRuns to support retrieving retry configurations.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Remove parameter EnableWorkDocs from WorkSpacesServiceModel due to end of support of Amazon WorkDocs service.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.13.json b/.changes/1.40.13.json new file mode 100644 index 000000000000..6100a317580b --- /dev/null +++ b/.changes/1.40.13.json @@ -0,0 +1,42 @@ +[ + { + "category": "``deadline``", + "description": "AWS Deadline Cloud service-managed fleets now support configuration scripts. Configuration scripts make it easy to install additional software, like plugins and packages, onto a worker.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "EC2 - Adding support for AvailabilityZoneId", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Updating the endpoint list for the Identity and access management (IAM) service", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Add support to the AV1 rate control mode", + "type": "api-change" + }, + { + "category": "``mediatailor``", + "description": "Documenting that EnabledLoggingStrategies is always present in responses of PlaybackConfiguration read operations.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Updates to support S3 Express zonal endpoints for directory buckets in AWS CLI", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "No API changes from previous release. This release migrated the model to Smithy keeping all features unchanged.", + "type": "api-change" + }, + { + "category": "``supplychain``", + "description": "Launch new AWS Supply Chain public APIs for DataIntegrationEvent, DataIntegrationFlowExecution and DatasetNamespace. Also add more capabilities to existing public APIs to support direct dataset event publish, data deduplication in DataIntegrationFlow, partition specification of custom datasets.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.14.json b/.changes/1.40.14.json new file mode 100644 index 000000000000..097e4b79968c --- /dev/null +++ b/.changes/1.40.14.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock``", + "description": "Enable cross-Region inference for Amazon Bedrock Guardrails by using the crossRegionConfig parameter when calling the CreateGuardrail or UpdateGuardrail operation.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Changes for enhanced metadata in trace", + "type": "api-change" + }, + { + "category": "``controltower``", + "description": "AWS Control Tower now reports the inheritance drift status for EnabledBaselines through the GetEnabledBaseline and ListEnabledBaselines APIs. You can now filter EnabledBaselines by their enablement and drift status using the ListEnabledBaselines API to view accounts and OUs that require attention.", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "CreateMultiRegionClusters and DeleteMultiRegionClusters APIs marked as deprecated. Introduced new multi-Region clusters creation experience through multiRegionProperties parameter in CreateCluster API.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release extends functionality for Amazon EBS volumes attached to Amazon ECS tasks by adding support for the new EBS volumeInitializationRate parameter in ECS RunTask/StartTask/CreateService/UpdateService APIs.", + "type": "api-change" + }, + { + "category": "``license-manager``", + "description": "Add Tagging feature to resources in the Managed Entitlements service. License and Grant resources can now be tagged.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.15.json b/.changes/1.40.15.json new file mode 100644 index 000000000000..198b59da484e --- /dev/null +++ b/.changes/1.40.15.json @@ -0,0 +1,22 @@ +[ + { + "category": "``cognito-idp``", + "description": "Add exceptions to WebAuthn operations.", + "type": "api-change" + }, + { + "category": "``firehose``", + "description": "This release adds catalogARN support for s3 tables multi-catalog catalogARNs.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "This release adds a new API \"ListLogGroups\" and an improvement in API \"DescribeLogGroups\"", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This update enables cropping for video overlays and adds a new STL to Teletext upconversion toggle to preserve styling.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.16.json b/.changes/1.40.16.json new file mode 100644 index 000000000000..518b7f03b7c2 --- /dev/null +++ b/.changes/1.40.16.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Amazon Bedrock Flows introduces DoWhile loops nodes, parallel node executions, and enhancements to knowledge base nodes.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports Docker Server capability", + "type": "api-change" + }, + { + "category": "``controltower``", + "description": "Updated the descriptions for the AWS Control Tower Baseline APIs to make them more intuitive.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Introduces Data Resync feature to describe-table-statistics and IAM database authentication for MariaDB, MySQL, and PostgreSQL.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "This release adds support for Slurm accounting. For more information, see the Slurm accounting topic in the AWS PCS User Guide. Slurm accounting is supported for Slurm 24.11 and later. This release also adds 24.11 as a valid value for the version parameter of the Scheduler data type.", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added the new AlwaysOn running mode for WorkSpaces Pools. Customers can now choose between AlwaysOn (for instant access, with hourly usage billing regardless of connection status), or AutoStop (to optimize cost, with a brief startup delay) for their pools.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.17.json b/.changes/1.40.17.json new file mode 100644 index 000000000000..cc5c8999cbd6 --- /dev/null +++ b/.changes/1.40.17.json @@ -0,0 +1,42 @@ +[ + { + "category": "``bedrock-data-automation``", + "description": "Add support for VIDEO modality to BlueprintType enum.", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation-runtime``", + "description": "Add AssetProcessingConfiguration for video segment to InputConfiguration", + "type": "api-change" + }, + { + "category": "``codepipeline``", + "description": "CodePipeline now supports new API ListDeployActionExecutionTargets that lists the deployment target details for deploy action executions.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is an Amazon ECs documentation only release to support the change of the container exit \"reason\" field from 255 characters to 1024 characters.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Added APIs for managing Application UIs: Access Persistent (serverless) UIs via CreatePersistentAppUI DescribePersistentAppUI & GetPersistentAppUIPresignedURL, and Cluster-based UIs through GetOnClusterAppUIPresignedURL. Supports Yarn, Spark History, and TEZ interfaces.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Changes include (1) Excel as S3 Source type and XML and Tableau's Hyper as S3 Sink types, (2) targeted number of partitions parameter in S3 sinks and (3) new compression types in CSV/JSON and Parquet S3 sinks.", + "type": "api-change" + }, + { + "category": "``neptune``", + "description": "This release adds Global Cluster Switchover capability which enables you to change your global cluster's primary AWS Region, the region that serves writes, while preserving the replication between all regions in the global cluster.", + "type": "api-change" + }, + { + "category": "``service-quotas``", + "description": "This release introduces CreateSupportCase operation to SDK.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.18.json b/.changes/1.40.18.json new file mode 100644 index 000000000000..d3fbe1340e6b --- /dev/null +++ b/.changes/1.40.18.json @@ -0,0 +1,17 @@ +[ + { + "category": "``dsql``", + "description": "CreateMultiRegionCluster and DeleteMultiRegionCluster APIs removed", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release includes new APIs for System Integrity Protection (SIP) configuration and automated root volume ownership delegation for EC2 Mac instances.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds support for DVB-DASH, EBU-TT-D subtitle format, and non-compacted manifests for DASH in MediaPackage v2 Origin Endpoints.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.19.json b/.changes/1.40.19.json new file mode 100644 index 000000000000..059dc0d201a3 --- /dev/null +++ b/.changes/1.40.19.json @@ -0,0 +1,32 @@ +[ + { + "category": "``datasync``", + "description": "Remove Discovery APIs from the DataSync service", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release expands the ModifyInstanceMaintenanceOptions API to enable or disable instance migration during customer-initiated reboots for EC2 Scheduled Reboot Events.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Enhanced AWS Glue ListConnectionTypes API Model with additional metadata fields.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "This release adds GetClustersForImage API and filter updates as part of the mapping of container images to running containers feature.", + "type": "api-change" + }, + { + "category": "``oam``", + "description": "Add IncludeTags field to GetLink, GetSink and UpdateLink API", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release introduces the new DescribeDBMajorEngineVersions API for describing the properties of specific major versions of database engines.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.2.json b/.changes/1.40.2.json new file mode 100644 index 000000000000..e896ab547a8e --- /dev/null +++ b/.changes/1.40.2.json @@ -0,0 +1,17 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "You can now reference images and documents stored in Amazon S3 when using InvokeModel and Converse APIs with Amazon Nova Lite and Nova Pro. This enables direct integration of S3-stored multimedia assets in your model requests without manual downloading or base64 encoding.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Documentation only release for Amazon ECS.", + "type": "api-change" + }, + { + "category": "``marketplace-deployment``", + "description": "Doc only update for the AWS Marketplace Deployment Service that fixes several customer-reported issues.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.20.json b/.changes/1.40.20.json new file mode 100644 index 000000000000..c95d0feb50bf --- /dev/null +++ b/.changes/1.40.20.json @@ -0,0 +1,27 @@ +[ + { + "category": "``application-autoscaling``", + "description": "Doc only update that addresses a customer reported issue.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Amazon Bedrock introduces asynchronous flows (in preview), which let you run flows for longer durations and yield control so that your application can perform other tasks and you don't have to actively monitor the flow's progress.", + "type": "api-change" + }, + { + "category": "``cloudwatch``", + "description": "Adds support for setting up Contributor Insight rules on logs transformed via Logs Transformation feature.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Release of Dualstack and Ipv6-only EC2 Public DNS hostnames", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Modified validation to allow expectedCustomerSpend array with zero elements in Partner Opportunity operations.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.21.json b/.changes/1.40.21.json new file mode 100644 index 000000000000..e2cc755d0514 --- /dev/null +++ b/.changes/1.40.21.json @@ -0,0 +1,22 @@ +[ + { + "category": "``amp``", + "description": "Add QueryLoggingConfiguration APIs for Amazon Managed Prometheus", + "type": "api-change" + }, + { + "category": "``auditmanager``", + "description": "With this release, the AssessmentControl description field has been deprecated, as of May 19, 2025. Additionally, the UpdateAssessment API can now return a ServiceQuotaExceededException when applicable service quotas are exceeded.", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "Features: support for customer managed encryption keys", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release supports additional ConversionSpec parameter as part of IntegrationPartition Structure in CreateIntegrationTableProperty API. This parameter is referred to apply appropriate column transformation for columns that are used for timestamp based partitioning", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.22.json b/.changes/1.40.22.json new file mode 100644 index 000000000000..d859a35ae5dd --- /dev/null +++ b/.changes/1.40.22.json @@ -0,0 +1,12 @@ +[ + { + "category": "``ec2``", + "description": "This release adds support for the C7i-flex, M7i-flex, I7i, I7ie, I8g, P6-b200, Trn2, C8gd, M8gd and R8gd instances", + "type": "api-change" + }, + { + "category": "``security-ir``", + "description": "Update PrincipalId pattern documentation to reflect what user should receive back from the API call", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.23.json b/.changes/1.40.23.json new file mode 100644 index 000000000000..37aff763aa3b --- /dev/null +++ b/.changes/1.40.23.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ce``", + "description": "This release introduces Cost Comparison feature (GetCostAndUsageComparisons, GetCostComparisonDrivers) allowing you find cost variations across multiple dimensions and identify key drivers of spending changes.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "AWS Deadline Cloud service-managed fleets now support storage profiles. With storage profiles, you can map file paths between a workstation and the worker hosts running the job.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds three features - option to store AWS Site-to-Site VPN pre-shared keys in AWS Secrets Manager, GetActiveVpnTunnelStatus API to check the in-use VPN algorithms, and SampleType option in GetVpnConnectionDeviceSampleConfiguration API to get recommended sample configs for VPN devices.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.24.json b/.changes/1.40.24.json new file mode 100644 index 000000000000..ff34ac7e542e --- /dev/null +++ b/.changes/1.40.24.json @@ -0,0 +1,27 @@ +[ + { + "category": "``cost-optimization-hub``", + "description": "This release allows customers to modify their preferred commitment term and payment options.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Enable the option to automatically delete underlying Amazon EBS snapshots when deregistering Amazon Machine Images (AMIs)", + "type": "api-change" + }, + { + "category": "``events``", + "description": "Allow for more than 2 characters for location codes in EventBridge ARNs", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "You can now use VPC endpoint associations to create multiple firewall endpoints for a single firewall.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Add support to change ephemeral storage. Add a new field \"TestResult\" under CanaryRunStatus.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.25.json b/.changes/1.40.25.json new file mode 100644 index 000000000000..ea27fe4bf9f9 --- /dev/null +++ b/.changes/1.40.25.json @@ -0,0 +1,62 @@ +[ + { + "category": "``amplify``", + "description": "Add support for customizable build instance sizes. CreateApp and UpdateApp operations now accept a new JobConfig parameter composed of BuildComputeType.", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "Add support for \"apple\" CpuManufacturer in ABIS", + "type": "api-change" + }, + { + "category": "``bcm-pricing-calculator``", + "description": "Add AFTER_DISCOUNTS_AND_COMMITMENTS to Workload Estimate Rate Type. Set ListWorkLoadEstimateUsage maxResults range to minimum of 0 and maximum of 300.", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "CloudTrail Feature Release: Support for Enriched Events with Configurable Context for Event Data Store", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect Service Feature: Email Recipient Limit Increase", + "type": "api-change" + }, + { + "category": "``dataexchange``", + "description": "This release adds Tag support for Event Action resource, through which customers can create event actions with Tags and retrieve event actions with Tags.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "AgentArns field is made optional for Object Storage and Azure Blob location create requests. Location credentials are now managed via Secrets Manager, and may be encrypted with service managed or customer managed keys. Authentication is now optional for Azure Blob locations.", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "FSx API changes to support the public launch of new Intelligent Tiering storage class on Amazon FSx for Lustre", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "IVS Real-Time now offers customers the participant replication that allow customers to copy a participant from one stage to another.", + "type": "api-change" + }, + { + "category": "``mwaa``", + "description": "Amazon MWAA now lets you choose a worker replacement strategy when updating an environment. This release adds two worker replacement strategies: FORCED (default), which stops workers immediately, and GRACEFUL, which allows workers to finish current tasks before shutting down.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Adding checksum support for S3 PutBucketOwnershipControls API.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Add maintenance status field to DescribeMlflowTrackingServer API response", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.26.json b/.changes/1.40.26.json new file mode 100644 index 000000000000..7813e5f61bf7 --- /dev/null +++ b/.changes/1.40.26.json @@ -0,0 +1,12 @@ +[ + { + "category": "``emr-serverless``", + "description": "This release adds the capability for users to specify an optional Execution IAM policy in the StartJobRun action. The resulting permissions assumed by the job run is the intersection of the permissions in the Execution Role and the specified Execution IAM Policy.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Release new parameter CapacityReservationConfig in ProductionVariant", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.27.json b/.changes/1.40.27.json new file mode 100644 index 000000000000..0bfa6647b23a --- /dev/null +++ b/.changes/1.40.27.json @@ -0,0 +1,52 @@ +[ + { + "category": "``athena``", + "description": "Add support for the managed query result in the workgroup APIs. The managed query result configuration enables users to store query results to Athena owned storage.", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "You can now subscribe to Amazon SNS notifications and Amazon EventBridge events for backup indexing. You can now receive notifications when a backup index is created, deleted, or fails to create, enhancing your ability to monitor and track your backup operations.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "This release adds the Agent Lifecycle Paused State feature to Amazon Bedrock agents. By using an agent's alias, you can temporarily suspend agent operations during maintenance, updates, or other situations.", + "type": "api-change" + }, + { + "category": "``compute-optimizer``", + "description": "This release enables AWS Compute Optimizer to analyze Amazon Aurora database clusters and generate Aurora I/O-Optimized recommendations.", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "Support recommendations for Aurora instance and Aurora cluster storage.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Updates Amazon ECS documentation to include note for upcoming default log driver mode change.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Add support for filtering ListInsights API calls on MISCONFIGURATION insight category", + "type": "api-change" + }, + { + "category": "``entityresolution``", + "description": "Add support for generating match IDs in near real-time.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Introduces SUSPENDING and SUSPENDED states for clusters, compute node groups, and queues.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Support for Java runtime handler pattern.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.28.json b/.changes/1.40.28.json new file mode 100644 index 000000000000..ca11e2f448da --- /dev/null +++ b/.changes/1.40.28.json @@ -0,0 +1,17 @@ +[ + { + "category": "``apigateway``", + "description": "Adds support to set the routing mode for a custom domain name.", + "type": "api-change" + }, + { + "category": "``apigatewayv2``", + "description": "Adds support to create routing rules and set the routing mode for a custom domain name.", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "AWS EMR Serverless: Adds a new option in the CancelJobRun API in EMR 7.9.0+, to cancel a job with grace period. This feature is enabled by default with a 120-second grace period for streaming jobs and is not enabled by default for batch jobs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.29.json b/.changes/1.40.29.json new file mode 100644 index 000000000000..79867b82f6ef --- /dev/null +++ b/.changes/1.40.29.json @@ -0,0 +1,42 @@ +[ + { + "category": "``amplify``", + "description": "Update documentation for cacheConfig in CreateApp API", + "type": "api-change" + }, + { + "category": "``evs``", + "description": "Amazon Elastic VMware Service (Amazon EVS) allows you to run VMware Cloud Foundation (VCF) directly within your Amazon VPC including simplified self-managed migration experience with guided workflow in AWS console or via AWS CLI, get full access to their VCF deployment and VCF license portability.", + "type": "api-change" + }, + { + "category": "``invoicing``", + "description": "Added new Invoicing ListInvoiceSummaries API Operation", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "This release updates the DescribeFlow API to show peer IP addresses. You can now identify the peer IP addresses of devices connected to your sources and outputs. This helps you to verify and troubleshoot your flow's active connections.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release includes support for embedding and signing C2PA content credentials in MP4 outputs.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "You can now monitor flow and alert log metrics from the Network Firewall console.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added support for p6-b200 instance type in SageMaker Training Jobs and Training Plans.", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "AWS Healthscribe now supports new templates for the clinical note summary: BIRP, SIRP, DAP, BEHAVIORAL_SOAP, and PHYSICAL_SOAP", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.3.json b/.changes/1.40.3.json new file mode 100644 index 000000000000..367e0b4d0641 --- /dev/null +++ b/.changes/1.40.3.json @@ -0,0 +1,27 @@ +[ + { + "category": "``acm``", + "description": "Add support for file-based HTTP domain control validation, available through Amazon CloudFront.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "This release adds native h2 support for the bedrock runtime API, the support is only limited to SDKs that support h2 requests natively.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Add distribution tenant, connection group, and multi-tenant distribution APIs to the CloudFront SDK.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Doc only update for GSI descriptions.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "Add integration with SSM Parameter Store to Image Builder.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.30.json b/.changes/1.40.30.json new file mode 100644 index 000000000000..dbedec310b39 --- /dev/null +++ b/.changes/1.40.30.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bcm-pricing-calculator``", + "description": "Updating the minimum for List APIs to be 1 (instead of 0)", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "Add new warning type 'EXCLUDED_PROPERTIES'", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "AWS KMS announces the support for on-demand rotation of symmetric-encryption KMS keys with imported key material (EXTERNAL origin).", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "AWS WAF adds support for ASN-based traffic filtering and support for ASN-based rate limiting.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.31.json b/.changes/1.40.31.json new file mode 100644 index 000000000000..17bbe416a2a6 --- /dev/null +++ b/.changes/1.40.31.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agent-runtime``", + "description": "This release introduces the `PromptCreationConfigurations` input parameter, which includes fields to control prompt population for `InvokeAgent` or `InvokeInlineAgent` requests.", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "Remove unpopulated KeyMaterialId from Encrypt Response", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Include Global Cluster Identifier in DBCluster if the DBCluster is a Global Cluster Member.", + "type": "api-change" + }, + { + "category": "``rekognition``", + "description": "Adds support for defining an ordered preference list of different Rekognition Face Liveness challenge types when calling CreateFaceLivenessSession.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the Asia Pacific (Taipei) Region (ap-east-2) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "S3 Tables now supports getting details about a table via its table ARN.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.32.json b/.changes/1.40.32.json new file mode 100644 index 000000000000..2d62ce0ab6cf --- /dev/null +++ b/.changes/1.40.32.json @@ -0,0 +1,42 @@ +[ + { + "category": "``appsync``", + "description": "Deprecate `atRestEncryptionEnabled` and `transitEncryptionEnabled` attributes in `CreateApiCache` action. Encryption is always enabled for new caches.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "Support dual-stack endpoints for ce api", + "type": "api-change" + }, + { + "category": "``customer-profiles``", + "description": "This release introduces capability of Profile Explorer, using correct ingestion timestamp & using historical data for computing calculated attributes, and new standard objects for T&H as part of Amazon Connect Customer Profiles service.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Release to support Elastic VMware Service (Amazon EVS) Subnet and Amazon EVS Network Interface Types.", + "type": "api-change" + }, + { + "category": "``efs``", + "description": "Added support for Internet Protocol Version 6 (IPv6) on EFS Service APIs and mount targets.", + "type": "api-change" + }, + { + "category": "``marketplace-catalog``", + "description": "The ListEntities API now supports the EntityID, LastModifiedDate, ProductTitle, and Visibility filters for machine learning products. You can also sort using all of those filters.", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Add ConflictException to UpdateEnvironment API", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "High-level Cloudformation commands such as ``deploy`` and ``package`` will now fallback to SHA256 for checksumming if MD5 isn't present on the host", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.40.33.json b/.changes/1.40.33.json new file mode 100644 index 000000000000..8d09dd929ba7 --- /dev/null +++ b/.changes/1.40.33.json @@ -0,0 +1,7 @@ +[ + { + "category": "``gameliftstreams``", + "description": "Documentation updates for Amazon GameLift Streams to address formatting errors, correct resource ID examples, and update links to other guides", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.34.json b/.changes/1.40.34.json new file mode 100644 index 000000000000..de9a82c031ec --- /dev/null +++ b/.changes/1.40.34.json @@ -0,0 +1,32 @@ +[ + { + "category": "``controlcatalog``", + "description": "Introduced ListControlMappings API that retrieves control mappings. Added control aliases and governed resources fields in GetControl and ListControls APIs. New filtering capability in ListControls API, with implementation identifiers and implementation types.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Release for EKS Pod Identity Cross Account feature and disableSessionTags flag.", + "type": "api-change" + }, + { + "category": "``lexv2-models``", + "description": "Add support for the Assisted NLU feature to improve bot performance", + "type": "api-change" + }, + { + "category": "``networkmanager``", + "description": "Add support for public DNS hostname resolution to private IP addresses across Cloud WAN-managed VPCs. Add support for security group referencing across Cloud WAN-managed VPCs.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation for Amazon RDS for Db2 cross-Region replicas in standby mode.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "WAF now provides two DDoS protection options: resource-level monitoring for Application Load Balancers and the AWSManagedRulesAntiDDoSRuleSet managed rule group for CloudFront distributions.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.35.json b/.changes/1.40.35.json new file mode 100644 index 000000000000..570e3caace1d --- /dev/null +++ b/.changes/1.40.35.json @@ -0,0 +1,42 @@ +[ + { + "category": "``apigateway``", + "description": "Documentation updates for Amazon API Gateway", + "type": "api-change" + }, + { + "category": "``apigatewayv2``", + "description": "Documentation updates for Amazon API Gateway", + "type": "api-change" + }, + { + "category": "``connectcampaignsv2``", + "description": "Added PutInstanceCommunicationLimits and GetInstanceCommunicationLimits APIs", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This Amazon ECS release supports updating the capacityProviderStrategy parameter in update-service.", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "This release adds support for retrieval of the optional executionIamPolicy field in the GetJobRun API response.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "Add new status READY_FOR_CHECKIN used for vehicle synchronisation", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "AWS KMS announces the support of ML-DSA key pairs that creates post-quantum safe digital signatures.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Fixed regex patterns for ARN fields.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.36.json b/.changes/1.40.36.json new file mode 100644 index 000000000000..fca755fc581d --- /dev/null +++ b/.changes/1.40.36.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock``", + "description": "This release of the SDK has the API and documentation for the createcustommodel API. This feature lets you copy a Amazon SageMaker trained Amazon Nova model into Amazon Bedrock for inference.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "The `DescribeImageScanning` API now includes `lastInUseAt` and `InUseCount` fields that can be used to prioritize vulnerability remediation for images that are actively being used.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "You can now create firewalls using a Transit Gateway instead of a VPC, resulting in a TGW attachment.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release 1) adds a new S3DataType Converse for SageMaker training 2)adds C8g R7gd M8g C6in P6 P6e instance type for SageMaker endpoint 3) adds m7i, r7i, c7i instance type for SageMaker Training and Processing.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.37.json b/.changes/1.40.37.json new file mode 100644 index 000000000000..4b3ee87ff45c --- /dev/null +++ b/.changes/1.40.37.json @@ -0,0 +1,67 @@ +[ + { + "category": "``accessanalyzer``", + "description": "We are launching a new analyzer type, internal access analyzer. The new analyzer will generate internal access findings, which help customers understand who within their AWS organization or AWS Account has access to their critical AWS resources.", + "type": "api-change" + }, + { + "category": "``acm``", + "description": "Adds support for Exportable Public Certificates", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "AWS Backup is adding support for integration of its logically air-gapped vaults with the AWS Organizations Multi-party approval capability.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "This release of the SDK has the API and documentation for the createcustommodel API. This feature lets you copy a trained model into Amazon Bedrock for inference.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Add \"Virtual\" field to Data Provider as well as \"S3Path\" and \"S3AccessRoleArn\" fields to DataProvider settings", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Adding support for extended threat detection for EKS Audit Logs and EKS Runtime Monitoring.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Add Code Repository Scanning as part of AWS InspectorV2", + "type": "api-change" + }, + { + "category": "``mpa``", + "description": "This release enables customers to create Multi-party approval teams and approval requests to protect supported operations.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "Release of Active Threat Defense in Network Firewall", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Add support for policy operations on the SECURITYHUB_POLICY policy type.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Adds operations, structures, and exceptions required for public preview release of Security Hub V2.", + "type": "api-change" + }, + { + "category": "``sts``", + "description": "The AWS Security Token Service APIs AssumeRoleWithSAML and AssumeRoleWithWebIdentity can now be invoked without pre-configured AWS credentials in the SDK configuration.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "AWS WAF can now suggest protection packs for you based on the application information you provide when you create a webACL.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.38.json b/.changes/1.40.38.json new file mode 100644 index 000000000000..d6fc9d74fb0c --- /dev/null +++ b/.changes/1.40.38.json @@ -0,0 +1,32 @@ +[ + { + "category": "``aiops``", + "description": "This is the initial SDK release for Amazon AI Operations (AIOps). AIOps is a generative AI-powered assistant that helps you respond to incidents in your system by scanning your system's telemetry and quickly surface suggestions that might be related to your issue.", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "Add IncludeInstances parameter to DescribeAutoScalingGroups API", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "Added paginators for ``imagebuilder``.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Added CloudWatch Logs Transformer support for converting CloudTrail, VPC Flow, EKS Audit, AWS WAF and Route53 Resolver logs to OCSF v1.1 format.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Added support for renaming objects within the same bucket using the new RenameObject API.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Add support for p6-b200 instance type for SageMaker Hyperpod", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.39.json b/.changes/1.40.39.json new file mode 100644 index 000000000000..eed293b0c978 --- /dev/null +++ b/.changes/1.40.39.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock``", + "description": "This release of the SDK has the API and documentation for the createcustommodel API. This feature lets you copy a trained model into Amazon Bedrock for inference.", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "This release adds the capability to enable IAM IdentityCenter Trusted Identity Propagation for users running Interactive Sessions on EMR Serverless Applications.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Support Schema Registry feature for Kafka Event Source Mapping. Customers can now configure a Schema Registry to enable schema validation and filtering for Avro, Protobuf, and JSON-formatted events in Lambda for Kafka Event Source.", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "Additional support for managing HMAC keys that adheres to changes documented in X9.143-2021 and provides better interoperability for key import/export", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Additional support for managing HMAC keys that adheres to changes documented in X9.143-2021 and provides better interoperability for key import/export", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release introduces alternative support for utilizing CFN templates from S3 for SageMaker Projects.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.4.json b/.changes/1.40.4.json new file mode 100644 index 000000000000..5d2da4efd5e1 --- /dev/null +++ b/.changes/1.40.4.json @@ -0,0 +1,47 @@ +[ + { + "category": "``connectcases``", + "description": "Introduces CustomEntity as part of the UserUnion data type. This field is used to indicate the entity who is performing the API action.", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "Amazon KDS now supports tagging and attribute-based access control (ABAC) for enhanced fan-out consumers.", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "AWS End User Messaging has added MONITOR and FILTER functionality to SMS Protect.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Add support for anonymous user access for Q Business applications", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Introduced support for P5en instance types on SageMaker Studio for JupyterLab and CodeEditor applications.", + "type": "api-change" + }, + { + "category": "``sagemaker-metrics``", + "description": "SageMaker Metrics Service now supports FIPS endpoint in all US and Canada Commercial regions.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "This release adds support for just-In-time node access in AWS Systems Manager. Just-in-time node access enables customers to move towards zero standing privileges by requiring operators to request access and obtain approval before remotely connecting to nodes managed by the SSM Agent.", + "type": "api-change" + }, + { + "category": "``ssm-guiconnect``", + "description": "This release adds API support for the connection recording GUI Connect feature of AWS Systems Manager", + "type": "api-change" + }, + { + "category": "bundled-installer", + "description": "Fix installing setup dependencies on newer versions of pip", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.40.40.json b/.changes/1.40.40.json new file mode 100644 index 000000000000..11e1bd1da33a --- /dev/null +++ b/.changes/1.40.40.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock``", + "description": "Add support for tiers in Content Filters and Denied Topics for Amazon Bedrock Guardrails.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Add ECS support for Windows Server 2025", + "type": "api-change" + }, + { + "category": "``geo-places``", + "description": "Geocode, ReverseGeocode, and GetPlace APIs added Intersections and SecondaryAddresses. To use, add to the AdditionalFeatures list in your request. This provides info about nearby intersections and secondary addresses that are associated with a main address. Also added MainAddress and ParsedQuery.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue Data Quality now provides aggregated metrics in evaluation results when publishAggregatedMetrics with row-level results are enabled. These metrics include summary statistics showing total counts of processed, passed, and failed rows and rules in a single view.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds a new SPECIFIED_OPTIMAL option for handling DDS when using DVB-Sub with high resolution video.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.41.json b/.changes/1.40.41.json new file mode 100644 index 000000000000..9394fe7b12aa --- /dev/null +++ b/.changes/1.40.41.json @@ -0,0 +1,17 @@ +[ + { + "category": "``glue``", + "description": "AWS Glue now supports sort and z-order strategy for managed automated compaction for Iceberg tables in addition to binpack.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "S3 Tables now supports sort and z-order compaction strategies for Iceberg tables in addition to binpack.", + "type": "api-change" + }, + { + "category": "``workspaces-instances``", + "description": "Added support for Amazon WorkSpaces Instances API", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.42.json b/.changes/1.40.42.json new file mode 100644 index 000000000000..9a85360b8ab1 --- /dev/null +++ b/.changes/1.40.42.json @@ -0,0 +1,52 @@ +[ + { + "category": "``aiops``", + "description": "Adds support for cross account investigations for CloudWatch investigations AI Operations (AIOps).", + "type": "api-change" + }, + { + "category": "``batch``", + "description": "Add userdataType to LaunchTemplateSpecification and LaunchTemplateSpecificationOverride.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "We are making ListFoundationModelAgreementOffers, DeleteFoundationModelAgreement, CreateFoundationModelAgreement, GetFoundationModelAvailability, PutUseCaseForModelAccess and GetUseCaseForModelAccess APIs public, previously they were console.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release allows you to create and register AMIs while maintaining their underlying EBS snapshots within Local Zones.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "Add Paginator for DescribeAccountLimits, and fix Paginators for DescribeTrustStoreAssociations, DescribeTrustStoreRevocations, and DescribeTrustStores", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Add support for UDP ping beacons to ListLocations API, including new PingBeacon and UDPEndpoint data types within its Locations return value. Use UDP ping beacon endpoints to help measure real-time network latency for multiplayer games.", + "type": "api-change" + }, + { + "category": "``license-manager``", + "description": "AWS License Manager now supports license type conversions for AWS Marketplace products. Customers can provide Marketplace codes in the source license context or destination license context in the CreateLicenseConversionTaskForResource requests.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Adding support for RDS on Dedicated Local Zones, including local backup target, snapshot availability zone and snapshot target", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Add support for iterative DNS queries through the new INBOUND_DELEGATION endpoint. Add delegation support through the Outbound Endpoints with DELEGATE rules.", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "This Feature Adds Support for the \"et-EE\" Locale for Batch Operations", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.43.json b/.changes/1.40.43.json new file mode 100644 index 000000000000..c1a01d24d445 --- /dev/null +++ b/.changes/1.40.43.json @@ -0,0 +1,37 @@ +[ + { + "category": "``ecs``", + "description": "Updates for change to Amazon ECS default log driver mode from blocking to non-blocking", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Add support for the ability to create Amazon S3 Access Points for Amazon FSx for OpenZFS file systems.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Adds support for additional server-side encryption mode and storage class values for accessing Amazon FSx data from Amazon S3 using S3 Access Points", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Add support for the ability to use Amazon S3 Access Points with Amazon FSx for OpenZFS file systems.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "This release adds IPv6 support to the Storage Gateway APIs. APIs that previously only accept or return IPv4 address will now accept or return both IPv4 and IPv6 addresses.", + "type": "api-change" + }, + { + "category": "``textract``", + "description": "Add RotationAngle field to Geometry of WORD blocks for Textract AnalyzeDocument API", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Remove Tags field from Get API responses", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.44.json b/.changes/1.40.44.json new file mode 100644 index 000000000000..c7a21baf810c --- /dev/null +++ b/.changes/1.40.44.json @@ -0,0 +1,42 @@ +[ + { + "category": "``deadline``", + "description": "Added fields to track cumulative task retry attempts for steps and jobs", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for OdbNetworkArn as a target in VPC Route Tables", + "type": "api-change" + }, + { + "category": "``iot-managed-integrations``", + "description": "Adding managed integrations APIs for IoT Device Management to onboard and control devices across different manufacturers, connectivity protocols and third party vendor clouds. APIs include managed thing operations, provisioning profile management, and cloud connector operations.", + "type": "api-change" + }, + { + "category": "``keyspaces``", + "description": "This release provides change data capture (CDC) streams support through updates to the Amazon Keyspaces API.", + "type": "api-change" + }, + { + "category": "``keyspacesstreams``", + "description": "This release adds change data capture (CDC) streams support through the new Amazon Keyspaces Streams API.", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "This release updates AWS CLI examples for KMS APIs.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Added support for App level authentication for QBusiness DataAccessor using AWS IAM Identity center Trusted Token issuer", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Updated modifyStreamingProperties to support PrivateLink VPC endpoints for directories", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.45.json b/.changes/1.40.45.json new file mode 100644 index 000000000000..4aa39dd08a91 --- /dev/null +++ b/.changes/1.40.45.json @@ -0,0 +1,37 @@ +[ + { + "category": "``config``", + "description": "Added important considerations to the PutConformancePack and PutOrganizationConformancPack APIs.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release adds the following value to an InitiateAs enum: COMPLETED", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue now supports schema, partition and sort management of Apache Iceberg tables using Glue SDK", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Update JSON target for Kubernetes workload resource type.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Adding UnauthorizedException to public SDK", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "StartDBCluster and StopDBCluster can now throw InvalidDBShardGroupStateFault.", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Added support for new SES regions", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.5.json b/.changes/1.40.5.json new file mode 100644 index 000000000000..f96a23c5b9c3 --- /dev/null +++ b/.changes/1.40.5.json @@ -0,0 +1,52 @@ +[ + { + "category": "``bedrock``", + "description": "You can now specify a cross region inference profile as a teacher model for the CreateModelCustomizationJob API. Additionally, the GetModelCustomizationJob API has been enhanced to return the sub-task statuses of a customization job within the StatusDetails response field.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Features: Add inline code node to prompt flow", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Support for Custom Orchestration within InlineAgents", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "This release adds support for ProtectedQuery results to be delivered to more than one collaboration member via the new distribute output configuration in StartProtectedQuery.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "Adds support for tag management on workers and tag inheritance from fleets to their associated workers.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Launch of cost distribution feature for IPAM owners to distribute costs to internal teams.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Adds dualstack support for Amazon Elastic Container Registry (Amazon ECR).", + "type": "api-change" + }, + { + "category": "``ecr-public``", + "description": "Adds dualstack support for Amazon Elastic Container Registry Public (Amazon ECR Public).", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "CloudWatch Logs supports \"DELIVERY\" log class. This log class is used only for delivering AWS Lambda logs to Amazon S3 or Amazon Data Firehose.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Introducing new RuleSet rule PublishToSns action, which allows customers to publish email notifications to an Amazon SNS topic. New PublishToSns action enables customers to easily integrate their email workflows via Amazon SNS, allowing them to notify other systems about important email events.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.6.json b/.changes/1.40.6.json new file mode 100644 index 000000000000..b45353b5b226 --- /dev/null +++ b/.changes/1.40.6.json @@ -0,0 +1,22 @@ +[ + { + "category": "``appconfig``", + "description": "Adding waiter support for deployments and environments; documentation updates", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release adds the following fields to DescribeContact: DisconnectReason, AgentInitiatedHoldDuration, AfterContactWorkStartTimestamp, AfterContactWorkEndTimestamp, AfterContactWorkDuration, StateTransitions, Recordings, ContactDetails, ContactEvaluations, Attributes", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Feature - Adding support for Scheduled and Rolling Update Software in Sagemaker Hyperpod.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Amazon Verified Permissions / Features : Adds support for tagging policy stores.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.7.json b/.changes/1.40.7.json new file mode 100644 index 000000000000..84adecb5cdc2 --- /dev/null +++ b/.changes/1.40.7.json @@ -0,0 +1,17 @@ +[ + { + "category": "``bedrock-data-automation``", + "description": "Added support for Custom output and blueprints for AUDIO data types.", + "type": "api-change" + }, + { + "category": "``ds``", + "description": "Doc only update - fixed typos.", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "Marking ResourceARN as required for Amazon Kinesis Data Streams APIs TagResource, UntagResource, and ListTagsForResource.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.8.json b/.changes/1.40.8.json new file mode 100644 index 000000000000..adc3f95f109d --- /dev/null +++ b/.changes/1.40.8.json @@ -0,0 +1,27 @@ +[ + { + "category": "``datazone``", + "description": "This release adds a new authorization policy to control the usage of custom AssetType when creating an Asset. Customer can now add new grant(s) of policyType USE_ASSET_TYPE for custom AssetTypes to apply authorization policy to projects members and domain unit owners.", + "type": "api-change" + }, + { + "category": "``devicefarm``", + "description": "Add an optional parameter to the GetDevicePoolCompatibility API to pass in project information to check device pool compatibility.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This update introduces API operations to manage and create local gateway VIF and VIF groups. It also includes API operations to describe Outpost LAGs and service link VIFs.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Add support to roll back an In_Progress ECS Service Deployment", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds an optional sidecar per-frame video quality metrics report and an ALL_PCM option for audio selectors. It also changes the data type for Probe API response fields related to video and audio bitrate from integer to double.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.40.9.json b/.changes/1.40.9.json new file mode 100644 index 000000000000..934d97825f65 --- /dev/null +++ b/.changes/1.40.9.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ec2``", + "description": "This release adds support for Amazon EBS Provisioned Rate for Volume Initialization, which lets you specify a volume initialization rate to ensure that your EBS volumes are initialized in a predictable amount of time.", + "type": "api-change" + }, + { + "category": "``servicecatalog``", + "description": "ServiceCatalog's APIs (DeleteServiceAction, DisassociateServiceActionFromProvisioningArtifact, AssociateServiceActionWithProvisioningArtifact) now throw InvalidParametersException when IdempotencyToken is invalid.", + "type": "api-change" + }, + { + "category": "``timestream-query``", + "description": "Add dualstack endpoints support and correct us-gov-west-1 FIPS endpoint.", + "type": "api-change" + }, + { + "category": "``timestream-write``", + "description": "Add dualstack endpoints support.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.0.json b/.changes/1.41.0.json new file mode 100644 index 000000000000..0cb38d726471 --- /dev/null +++ b/.changes/1.41.0.json @@ -0,0 +1,107 @@ +[ + { + "category": "``arc-zonal-shift``", + "description": "Added support for on-demand practice runs and balanced capacity checks in ARC autoshift practice.", + "type": "api-change" + }, + { + "category": "``b2bi``", + "description": "Updated APIs to support inbound EDI split capabilities and additional Partnership-level configurations of generated EDI files' contents and format.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Add support for API Keys, Re-Ranker, implicit filter for RAG / KB evaluation for Bedrock APIs.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Add API Key and document citations support for Bedrock Runtime APIs", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "Added support for UNKNOWN drift status.", + "type": "api-change" + }, + { + "category": "``config``", + "description": "Updated ResourceType enum with new resource types onboarded by AWS Config as of June 2025", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release introduces ChatMetrics to the model, providing comprehensive analytics insights for Amazon Connect chat conversations. Users can access these detailed metrics through the AWS Connect API by using the DescribeContact operation with their specific instance and contact IDs", + "type": "api-change" + }, + { + "category": "``dataexchange``", + "description": "This release updates resource Id with alphanumeric constraint, including Asset id, Revision id, Data Set id, Job id, and Event Action id.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This change adds support for witnesses in global tables. It also adds a new table status, REPLICATION_NOT_AUTHORIZED. This status will indicate scenarios where global replicas table can't be utilized for data plane operations.", + "type": "api-change" + }, + { + "category": "``events``", + "description": "Added support for EventBridge Dualstack endpoints in AWS GovCloud (US) regions (us-gov-east-1 and us-gov-west-1). The dualstack endpoints are identical for both FIPS and non-FIPS configurations, following the format: events.{region}.api.aws", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "releasing source processing properties to support source properties for ODB integrations", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Updated IAM ServiceSpecificCredential support to include expiration, API Key output format instead of username and password for services that will support API keys, and the ability to list credentials for all users in the account for a given service configuration.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Increase minimum length of queryId parameter to 1 character.", + "type": "api-change" + }, + { + "category": "``medical-imaging``", + "description": "Added new fields to support the concept of primary image sets within the storage hierarchy.", + "type": "api-change" + }, + { + "category": "``networkflowmonitor``", + "description": "Add ConflictExceptions to UpdateScope and DeleteScope operations for scopes being mutated.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "Make ContactName and ContactPhoneNumber required fields when creating and updating Outpost Site Addresses.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Fixed the validation pattern for an instance profile Amazon Resource Name (ARN) in AWS PCS.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Introduced custom permission capabilities for reporting content. Added menu option in exploration to preserve configuration data when textbox menu option is used. Added support for Athena trusted identity propagation.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Introduces AccessType, a new filter value for the DescribeSessions API.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "Added support for dual-stack (IPv4 and IPv6) endpoints for SFTP public endpoints and VPC-internal endpoints (SFTP, FTPS, FTP, and AS2), enabling customers to configure new servers with IPv4 or dual-stack mode, convert existing servers to dual-stack, and use IPv6 with service APIs.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Add support for retrieving a Bearer token from environment variables to enable bearer authentication with Bedrock services.", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.41.1.json b/.changes/1.41.1.json new file mode 100644 index 000000000000..8acc538111ca --- /dev/null +++ b/.changes/1.41.1.json @@ -0,0 +1,37 @@ +[ + { + "category": "``cleanroomsml``", + "description": "This release introduces support for incremental training and distributed training for custom models in AWS Clean Rooms ML.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Add support for the new optional domain-unit-id parameter in the UpdateProject API.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add Context to GetInstanceTypesFromInstanceRequirements API", + "type": "api-change" + }, + { + "category": "``odb``", + "description": "This release adds API operations for Oracle Database@AWS. You can use the APIs to create Exadata infrastructure, ODB networks, and Exadata and Autonomous VM clusters inside AWS data centers. The infrastructure is managed by OCI. You can integrate these resources with AWS services.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "New ChatResponseConfiguration to Customize Q Business chat responses for specific use cases and communication needs. Updated Boosting capability allowing admins to provide preference on date attributes for recency and/or provide a preferred data source.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Amazon RDS Custom for Oracle now supports multi-AZ database instances.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Updated field validation requirements for InstanceGroups.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.10.json b/.changes/1.41.10.json new file mode 100644 index 000000000000..a523224c8c51 --- /dev/null +++ b/.changes/1.41.10.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cloudfront``", + "description": "Add dualstack endpoint support", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "Add support for VPC resource endpoints in Service Managed Fleets", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for C8gn, F2 and P6e-GB200 Instance types", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds 1/ Support for S3FileSystem in CustomFileSystems 2/ The ability for a customer to select their preferred IpAddressType for use with private Workforces 3/ Support for p4de instance type in SageMaker Training Plans", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "Timestream for InfluxDB adds support for db.influx.24xlarge instance type. This enhancement enables higher compute capacity for demanding workloads through CreateDbInstance, CreateDbCluster, UpdateDbInstance, and UpdateDbCluster APIs.", + "type": "api-change" + }, + { + "category": "cloudfront", + "description": "This release adds automatic pagination to the list-origin-access-controls command. To disable this behavior, please use the --no-paginate flag.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.41.11.json b/.changes/1.41.11.json new file mode 100644 index 000000000000..f7f903a955b4 --- /dev/null +++ b/.changes/1.41.11.json @@ -0,0 +1,27 @@ +[ + { + "category": "``ecr``", + "description": "Add support for Image Tag Mutability Exception feature, allowing repositories to define wildcard-based patterns that override the default image tag mutability settings.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "This release adds new parameter 'ExtendedSupport' in AWS EMR RunJobFlow, ModifyCluster and DescribeCluster API.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "This release migrated the model to Smithy keeping all features unchanged.", + "type": "api-change" + }, + { + "category": "``neptunedata``", + "description": "This release updates the supported regions for Neptune API to include current AWS regions.", + "type": "api-change" + }, + { + "category": "EMR", + "description": "Updated create-cluster and describe-cluster commands to support --extended-support and --no-extended-support arguments", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.41.12.json b/.changes/1.41.12.json new file mode 100644 index 000000000000..55f7a9b99619 --- /dev/null +++ b/.changes/1.41.12.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ec2``", + "description": "Added support for skip-os-shutdown option for the EC2 instance stop and terminate operations. This feature enables customers to bypass the graceful OS shutdown, supporting faster state transitions when instance data preservation isn't critical.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue now supports dynamic session policies for job executions. This feature allows you to specify custom, fine-grained permissions for each job run without creating multiple IAM roles.", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Added the lastUserId parameter to the ListDevices and GetDevice API.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.13.json b/.changes/1.41.13.json new file mode 100644 index 000000000000..3eb50f1be06c --- /dev/null +++ b/.changes/1.41.13.json @@ -0,0 +1,12 @@ +[ + { + "category": "``datazone``", + "description": "This release adds support for 1) highlighting relevant text in returned results for Search and SearchListings APIs and 2) returning aggregated counts of values for specified attributes for SearchListings API.", + "type": "api-change" + }, + { + "category": "``omics``", + "description": "Add Git integration and README support for HealthOmics workflows", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.14.json b/.changes/1.41.14.json new file mode 100644 index 000000000000..dcca7d045c67 --- /dev/null +++ b/.changes/1.41.14.json @@ -0,0 +1,42 @@ +[ + { + "category": "``appintegrations``", + "description": "Amazon AppIntegrations introduces new configuration capabilities to enable customers to manage iframe permissions, control application refresh behavior (per contact or per browser/cross-contact), and run background applications (service).", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Adds IPv6 and PrivateLink support for AWS Budgets in IAD.", + "type": "api-change" + }, + { + "category": "``config``", + "description": "Documentation improvements have been made to the EvaluationModel and DescribeConfigurationRecorders APIs.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Transit Gateway native integration with AWS Network Firewall. Adding new enum value for the new Transit Gateway Attachment type.", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "Doc only update: fixed grammatical errors.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds support for specifying a preferred input for channels using CMAF ingest.", + "type": "api-change" + }, + { + "category": "``socialmessaging``", + "description": "This release introduces new WhatsApp template management APIs that enable customers to programmatically create and submit templates for approval, monitor approval status, and manage the complete template lifecycle", + "type": "api-change" + }, + { + "category": "``sqs``", + "description": "Documentation updates for Amazon SQS fair queues feature.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.15.json b/.changes/1.41.15.json new file mode 100644 index 000000000000..ecb92ad948f7 --- /dev/null +++ b/.changes/1.41.15.json @@ -0,0 +1,17 @@ +[ + { + "category": "``directconnect``", + "description": "Enable MACSec support and features on Interconnects.", + "type": "api-change" + }, + { + "category": "``iotsitewise``", + "description": "Add support for native anomaly detection in IoT SiteWise using new Computation Model APIs", + "type": "api-change" + }, + { + "category": "``osis``", + "description": "Add Pipeline Role Arn as an optional parameter to the create / update pipeline APIs as an alternative to passing in the pipeline configuration body", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.16.json b/.changes/1.41.16.json new file mode 100644 index 000000000000..f391b52db390 --- /dev/null +++ b/.changes/1.41.16.json @@ -0,0 +1,27 @@ +[ + { + "category": "``batch``", + "description": "AWS Batch for SageMaker Training jobs feature support. Includes new APIs for service job submission (e.g., SubmitServiceJob) and managing service environments (e.g., CreateServiceEnvironment) that enable queueing SageMaker Training jobs.", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "This feature provides the ability to update the table reference and allowed columns on an existing configured table.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "Adds support for tag management on monitors.", + "type": "api-change" + }, + { + "category": "``location``", + "description": "This release 1) adds support for multi-polygon geofences with disconnected territories, and 2) enables polygon exclusion zones within geofences for more accurate representation of real-world boundaries.", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "This is to support Granular access control support for SAML with IAMFedraton in AOSS", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.17.json b/.changes/1.41.17.json new file mode 100644 index 000000000000..6013522f4cbe --- /dev/null +++ b/.changes/1.41.17.json @@ -0,0 +1,27 @@ +[ + { + "category": "``cloudfront``", + "description": "This release adds new origin timeout options: 1) ResponseCompletionTimeout and 2) OriginReadTimeout (for S3 origins)", + "type": "api-change" + }, + { + "category": "``docdb``", + "description": "Add support for setting Serverless Scaling Configuration on clusters.", + "type": "api-change" + }, + { + "category": "``ds``", + "description": "This release adds support for AWS Managed Microsoft AD Hybrid Edition, introducing new operations: StartADAssessment, DescribeADAssessment, ListADAssessments, DeleteADAssessment, CreateHybridAD, UpdateHybridAD, and DescribeHybridADUpdate; and updated existing operation: DescribeDirectories.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Release to show the next hop IP address for routes propagated by VPC Route Server into VPC route tables.", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "Added TxPowerIndexMin, TxPowerIndexMax, NbTransMin and NbTransMax params to ServiceProfile.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.2.json b/.changes/1.41.2.json new file mode 100644 index 000000000000..37979a6a03db --- /dev/null +++ b/.changes/1.41.2.json @@ -0,0 +1,22 @@ +[ + { + "category": "``connectcases``", + "description": "This release adds DeleteCase and DeleteRelatedItem APIs, which enable deleting cases and comments, undoing contact association, and removing service level agreements (SLAs) from cases. Contact center admins can use these APIs to delete cases when requested by customers and correct agent errors.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "AWS Site-to-Site VPN now supports IPv6 addresses on outer tunnel IPs, making it easier for customers to build or transition to IPv6-only networks.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Added support for directory bucket creation with tags and bucket ARN retrieval in CreateBucket, ListDirectoryBuckets, and HeadBucket operations", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Added TagResource, UntagResource, and ListTagsForResource support for directory bucket", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.3.json b/.changes/1.41.3.json new file mode 100644 index 000000000000..634041155a82 --- /dev/null +++ b/.changes/1.41.3.json @@ -0,0 +1,32 @@ +[ + { + "category": "``customer-profiles``", + "description": "This release introduces capability of create Segments via importing a CSV file directly. This consumes the CSV file and creates/updates corresponding profiles for the particular domain.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "Added fields for output manifest reporting and task chunking parameters", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds GroupOwnerId as a response member to the DescribeSecurityGroupVpcAssociations API and also adds waiters for SecurityGroupVpcAssociations (SecurityGroupVpcAssociationAssociated and SecurityGroupVpcAssociationDisassociated).", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds support for Microsoft Smooth Streaming (MSS) and allows users to exclude DRM segment Metadata in MediaPackage v2 Origin Endpoints", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the iso-e regions for private DNS Amazon VPCs and cloudwatch healthchecks.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Changes include new StartSession API for SageMaker Studio spaces and CreateHubContentPresignedUrls API for SageMaker JumpStart.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.4.json b/.changes/1.41.4.json new file mode 100644 index 000000000000..bb896f80a95b --- /dev/null +++ b/.changes/1.41.4.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ec2``", + "description": "Adds support to Capacity Blocks for ML for purchasing EC2 P6e-GB200 UltraServers. Customers can now purchase u-p6e-gb200x72 and u-p6e-gb200x36 UltraServers. Adds new DescribeCapacityBlocks andDescribeCapacityBlockStatus APIs. Adds support for CapacityBlockId to DescribeInstanceTopology.", + "type": "api-change" + }, + { + "category": "``freetier``", + "description": "This release introduces four new APIs: GetAccountPlanState and UpgradeAccountPlan for AWS account plan management; ListAccountActivities and GetAccountActivity that provide activity tracking capabilities.", + "type": "api-change" + }, + { + "category": "``opsworkscm``", + "description": "Removing content that refers to an S3 bucket that is no longer in use.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.5.json b/.changes/1.41.5.json new file mode 100644 index 000000000000..1be6416cb9f0 --- /dev/null +++ b/.changes/1.41.5.json @@ -0,0 +1,72 @@ +[ + { + "category": "``bedrock-agent``", + "description": "Add support for S3 Vectors as a vector store.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Removing restriction of environment profile identifier as required field, S3 feature release", + "type": "api-change" + }, + { + "category": "``dynamodbstreams``", + "description": "Added support for optional shard filter parameter in DescribeStream api that allows customers to fetch child shards of a read_only parent shard.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for volume initialization status, which enables you to monitor when the initialization process for an EBS volume is completed. This release also adds IPv6 support to EC2 Instance Connect Endpoints, allowing you to connect to your EC2 Instance via a private IPv6 address.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Amazon ECS supports native blue/green deployments, allowing you to validate new service revisions before directing production traffic to them.", + "type": "api-change" + }, + { + "category": "``events``", + "description": "Add customer-facing logging for the EventBridge Event Bus, enabling customers to better observe their events and extract insights about their EventBridge usage.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "AWS Opensearch adds support for enabling s3 vector engine options. After enabling this option, customers will be able to create indices with s3 vector engine.", + "type": "api-change" + }, + { + "category": "``pricing``", + "description": "This release adds support for new filter types in GetProducts API, including EQUALS, CONTAINS, ANY_OF, and NONE_OF.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Introduced custom instructions for topics.", + "type": "api-change" + }, + { + "category": "``repostspace``", + "description": "This release introduces Channels functionality with CreateChannel, GetChannel, ListChannels, and UpdateChannel operations. Channels provide dedicated collaboration spaces where teams can organize discussions and knowledge by projects, business units, or areas of responsibility.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon S3 Metadata live inventory tables provide a queryable inventory of all the objects in your general purpose bucket so that you can determine the latest state of your data. To help minimize your storage costs, use journal table record expiration to set a retention period for your records.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "Adds table bucket type to ListTableBucket and GetTableBucket API operations", + "type": "api-change" + }, + { + "category": "``s3vectors``", + "description": "Amazon S3 Vectors provides cost-effective, elastic, and durable vector storage for queries based on semantic meaning and similarity.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds support for a new Restricted instance group type to enable a specialized environment for running Nova customization jobs on SageMaker HyperPod clusters. This release also adds support for SageMaker pipeline versioning.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.6.json b/.changes/1.41.6.json new file mode 100644 index 000000000000..13423d9f7f17 --- /dev/null +++ b/.changes/1.41.6.json @@ -0,0 +1,7 @@ +[ + { + "category": "``ecs``", + "description": "This release removes hookDetails for the Amazon ECS native blue/green deployments.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.7.json b/.changes/1.41.7.json new file mode 100644 index 000000000000..f0132438ede9 --- /dev/null +++ b/.changes/1.41.7.json @@ -0,0 +1,67 @@ +[ + { + "category": "``bedrock``", + "description": "This release adds support for on-demand custom model inference through CustomModelDeployment APIs for Amazon Bedrock.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore``", + "description": "Initial release of Amazon Bedrock AgentCore SDK including Runtime, Built-In Tools, Memory, Gateway and Identity.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Initial release of Amazon Bedrock AgentCore SDK including Runtime, Built-In Tools, Memory, Gateway and Identity.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "document update to support on demand custom model.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "AWS DataSync now supports IPv6 address inputs and outputs in create, update, and describe operations for NFS, SMB, and Object Storage locations", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue now supports schema, partition and sort management of Apache Iceberg tables using Glue SDK", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Add expectedBucketOwner parameter to ThreatIntel and IPSet APIs.", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "FuotaTaskId is not a valid IdentifierType for EventConfiguration and is being removed from possible IdentifierType values.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "CloudWatch Logs updates: Added X-Ray tracing for Amazon Bedrock Agent resources. Logs introduced Log Group level resource policies (managed through Put/Delete/Describe Resource Policy APIs). For more information, see CloudWatch Logs API documentation.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds support for CDN Authentication using Static Headers in MediaPackage v2.", + "type": "api-change" + }, + { + "category": "``networkflowmonitor``", + "description": "Introducing 2 new scope status types - DEACTIVATING and DEACTIVATED.", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Expand length of message data field for Mac generation and validation to 8192 characters.", + "type": "api-change" + }, + { + "category": "``stepfunctions``", + "description": "Doc-only update to introduction, and edits to clarify input parameter and the set of control characters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.8.json b/.changes/1.41.8.json new file mode 100644 index 000000000000..ff08da2230a6 --- /dev/null +++ b/.changes/1.41.8.json @@ -0,0 +1,42 @@ +[ + { + "category": "``cleanroomsml``", + "description": "This release introduces Parquet result format support for ML Input Channel models in AWS Clean Rooms ML.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Doc only update for CloudFront that fixes some customer-reported issues", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "AWS Free Tier Version2 Support", + "type": "api-change" + }, + { + "category": "``keyspacesstreams``", + "description": "Doc only update for the Amazon Keyspaces Streams API.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Allow underscores in the local part of the input of the \"Email recipients rewrite\" action in rule sets.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release expands the range of supported audio outputs to include xHE, 192khz FLAC and the deprecation of dual mono for AC3.", + "type": "api-change" + }, + { + "category": "``stepfunctions``", + "description": "Align input with style guidelines.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "This feature allows AWS Synthetics customers to provide code dependencies using lambda layer while creating a canary", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.41.9.json b/.changes/1.41.9.json new file mode 100644 index 000000000000..371ae281c0ec --- /dev/null +++ b/.changes/1.41.9.json @@ -0,0 +1,32 @@ +[ + { + "category": "``auditmanager``", + "description": "Updated error handling for RegisterOrganizationAdminAccount API to properly translate TooManyExceptions to HTTP 429 status code. This enhancement improves error handling consistency and provides clearer feedback when request limits are exceeded.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "CloudWatchLogs launches GetLogObject API with streaming support for efficient log data retrieval. Logs added support for new AccountPolicy type METRIC_EXTRACTION_POLICY. For more information, see CloudWatch Logs API documentation", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds support for TAMS server integration with MediaConvert inputs.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "Add AWS Outposts API to surface customer billing information", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Added IP Visibility support for managed dedicated pools. Enhanced GetDedicatedIp and GetDedicatedIps APIs to return managed IP addresses.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "July 2025 doc-only updates for Systems Manager.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.0.json b/.changes/1.42.0.json new file mode 100644 index 000000000000..c34289fcad9d --- /dev/null +++ b/.changes/1.42.0.json @@ -0,0 +1,67 @@ +[ + { + "category": "``customer-profiles``", + "description": "The release updates standard profile with 2 new fields that supports account-level engagement. Updated APIs include CreateProfile, UpdateProfile, MergeProfiles, SearchProfiles, BatchGetProfile, GetSegmentMembership, CreateSegmentDefinition, CreateSegmentEstimate.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Added support for the force option for the EC2 instance terminate command. This feature enables customers to recover resources associated with an instance stuck in the shutting-down state as a result of rare issues caused by a frozen operating system or an underlying hardware problem.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release enables secondary IP addresses for Network Load Balancers.", + "type": "api-change" + }, + { + "category": "``entityresolution``", + "description": "Add support for creating advanced rule-based matching workflows in AWS Entity Resolution.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Added support for Route node, S3 Iceberg sources/targets, catalog Iceberg sources, DynamoDB ELT connector, AutoDataQuality evaluation, enhanced PII detection with redaction, Kinesis fan-out support, and new R-series worker types.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Extend usage to include agentless hours and add CODE_REPOSITORY to aggregation resource type", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "This release allows AWS IoT Core users to use their own AWS KMS keys for data protection", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "Granular access control support for NEO-SAML with IAMFederation for AOS data source", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Added Impala connector support", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Add Tags field to CreateAccessPoint", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "This release introduces support for Multi-tenant management", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Added ability to log session activity on a portal to an S3 bucket.", + "type": "api-change" + }, + { + "category": "``sts``", + "description": "Updated the default sts service endpoint from ``legacy`` to ``regional``. This behavior can be overridden using the ``sts_regional_endpoints`` setting in the shared AWS config file or the ``AWS_STS_REGIONAL_ENDPOINTS`` environment variable.", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.42.1.json b/.changes/1.42.1.json new file mode 100644 index 000000000000..2f34f201b8de --- /dev/null +++ b/.changes/1.42.1.json @@ -0,0 +1,47 @@ +[ + { + "category": "``acm-pca``", + "description": "Doc-only update to add more information to GetCertificate action.", + "type": "api-change" + }, + { + "category": "``aiops``", + "description": "This release includes fix for InvestigationGroup timestamp conversion issue.", + "type": "api-change" + }, + { + "category": "``arc-region-switch``", + "description": "This is the initial SDK release for Region switch", + "type": "api-change" + }, + { + "category": "``auditmanager``", + "description": "Added a note to Framework APIs (CreateAssessmentFramework, GetAssessmentFramework, UpdateAssessmentFramework) clarifying that the Controls object returns a partial response when called through Framework APIs. Added documentation that the Framework's controlSources parameter is no longer supported.", + "type": "api-change" + }, + { + "category": "``lightsail``", + "description": "This release adds support for the Asia Pacific (Jakarta) (ap-southeast-3) Region.", + "type": "api-change" + }, + { + "category": "``observabilityadmin``", + "description": "CloudWatch Observability Admin adds the ability to enable telemetry on AWS resources such as Amazon VPCs (Flow Logs) in customers AWS Accounts and Organizations. The release introduces new APIs to manage telemetry rules, which define telemetry settings to be applied on AWS resources.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Add support for IPv6 Networking for Clusters.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Release new resource detail type CodeRepository", + "type": "api-change" + }, + { + "category": "``sns``", + "description": "Amazon SNS support for Amazon SQS fair queues", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.10.json b/.changes/1.42.10.json new file mode 100644 index 000000000000..8b952bb6f95f --- /dev/null +++ b/.changes/1.42.10.json @@ -0,0 +1,72 @@ +[ + { + "category": "``arc-region-switch``", + "description": "Endpoint rule test and documentation update.", + "type": "api-change" + }, + { + "category": "``bcm-recommended-actions``", + "description": "Initial SDK release for AWS Billing and Cost Management Recommended Actions.", + "type": "api-change" + }, + { + "category": "``directconnect``", + "description": "Added pagination support for DescribeHostedConnections, DescribeVirtualInterfaces, DescribeConnections, DescribeInterconnects, DescribeLags. Added asnLong support for BGP peer operations which supports a large range.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This release 1/ Adds support for throttled keys mode for CloudWatch Contributor Insights, 2/ Adds throttling reasons to exceptions across dataplane APIs. 3/ Explicitly models ThrottlingException as a class in statically typed languages. Refer to the launch day blog post for more details.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds ModifyInstanceConnectEndpoint API to update configurations on existing EC2 Instance Connect Endpoints and improves IPv6 support through dualstack DNS names for EC2 Instance Connect Endpoints.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Amazon FSx for NetApp ONTAP 2nd generation file systems now support decreasing SSD storage capacity.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue now supports Trusted Identity Propagation.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Added support for entity lists.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "CMAF Ingest output groups in MediaLive can now accept one additional destination url for single pipeline channels and up to two additional destination urls for standard channels.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Updated the regex pattern and description of iamInstanceProfileArn in the CreateComputeNodeGroup and UpdateComputeNodeGroup API actions. Name and path requirements apply to the ARN of the IAM role associated with the instance profile and not the ARN of the instance profile.", + "type": "api-change" + }, + { + "category": "``qapps``", + "description": "Documentation update for Amazon Q Apps API Reference", + "type": "api-change" + }, + { + "category": "``servicediscovery``", + "description": "Added support for cross account through Id parameter overloading with ARN and allow owner account for some APIs instead of ARN", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "New APIs introduced to import WorkSpaces BYOL image using a new process that leveraged EC2 Image Builder. WorkSpaces tests and fixes your image's compatibility issues and supports customized VM images.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.11.json b/.changes/1.42.11.json new file mode 100644 index 000000000000..d07fd433f1c4 --- /dev/null +++ b/.changes/1.42.11.json @@ -0,0 +1,17 @@ +[ + { + "category": "``amp``", + "description": "Add Resource-based Policy APIs for Amazon Prometheus", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "This release adds support for saving Bedrock Flows while node configuration is still in progress, even if the Flow is not yet able to be invoked", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue Zero ETL now supports On-demand snapshot load", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.12.json b/.changes/1.42.12.json new file mode 100644 index 000000000000..2065639b6361 --- /dev/null +++ b/.changes/1.42.12.json @@ -0,0 +1,37 @@ +[ + { + "category": "``batch``", + "description": "Added default_x86_64 and default_arm64 as values to the instanceTypes field.", + "type": "api-change" + }, + { + "category": "``bcm-dashboards``", + "description": "Billing and Cost Management Dashboards enables users to create dashboards that combine multiple visualizations of cost and usage data. Users can create, manage, and share dashboards. Tags are also available for dashboards.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect Service Feature: Add support to enable multi-user in-app, web, and video calling.", + "type": "api-change" + }, + { + "category": "``connectparticipant``", + "description": "Amazon Connect Service Feature: Add support to enable multi-user in-app, web, and video calling.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Adds support for Compute checksum functionality in Amazon S3 Batch Operations. You can now calculate checksums for a list of objects using supported algorithms in Amazon S3, without requiring a restore or download", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Customer managed keys now available for volume encryption of SageMaker HyperPod clusters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.13.json b/.changes/1.42.13.json new file mode 100644 index 000000000000..122c666c7f6b --- /dev/null +++ b/.changes/1.42.13.json @@ -0,0 +1,17 @@ +[ + { + "category": "``cleanrooms``", + "description": "Support error message configuration for analysis templates", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add support for \"warning\" volume status.", + "type": "api-change" + }, + { + "category": "``polly``", + "description": "Added support for new output format - Opus.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.14.json b/.changes/1.42.14.json new file mode 100644 index 000000000000..2a9a6e220508 --- /dev/null +++ b/.changes/1.42.14.json @@ -0,0 +1,62 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Launch CountTokens API to allow token counting", + "type": "api-change" + }, + { + "category": "``billing``", + "description": "Clarify IPv4 and IPv6 endpoints", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "This release adds support for the new Terms APIs which allow displaying Terms of Use and Privacy Policy on the Managed Login user-registration page.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release supports policy grant identifier for cloud formation integration", + "type": "api-change" + }, + { + "category": "``detective``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "EKS Add-ons Custom Namespace Support", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``kinesisanalyticsv2``", + "description": "Adds Key Management Service (KMS) support allowing customer-managed key (CMK) encryption for Flink application data.", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "This change added InternationalSendingEnbaled as part of describe/Update/Request phone number API response, and as part of update/Request phone number API request", + "type": "api-change" + }, + { + "category": "``route53-recovery-control-config``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds 1/ Launch ml.p5.4xlarge instance in Processing jobs, Training jobs and Training Plan 2/ Makes S3Uri to be required for S3FileSystem and S3FileSystemConfig.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.15.json b/.changes/1.42.15.json new file mode 100644 index 000000000000..4e4167ce6a79 --- /dev/null +++ b/.changes/1.42.15.json @@ -0,0 +1,157 @@ +[ + { + "category": "``apigatewaymanagementapi``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``appfabric``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``backup-gateway``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cloudhsm``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cognito-identity``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``comprehend``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ebs``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ecr-public``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only release that adds additional information for the update-service request parameters.", + "type": "api-change" + }, + { + "category": "``elasticbeanstalk``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``es``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``forecastquery``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``gameliftstreams``", + "description": "The default application in a stream group can now be changed at any time using UpdateStreamGroup to update the DefaultApplicationIdentifier.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Added support for preprocessing queries in Data Quality operations through new DataQualityGlueTable structure.", + "type": "api-change" + }, + { + "category": "``greengrassv2``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Remove Pattern trait from email field", + "type": "api-change" + }, + { + "category": "``iotdeviceadvisor``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``iotevents``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``iotevents-data``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``iotthingsgraph``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``kinesis-video-signaling``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``lexv2-runtime``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``lookoutmetrics``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``managedblockchain``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``mediapackage``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``panorama``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``pinpoint-email``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``resource-groups``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``s3outposts``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ssm-contacts``", + "description": "Doc-only updates for Incident Manager Contacts August 2025", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.16.json b/.changes/1.42.16.json new file mode 100644 index 000000000000..2de42147d2e1 --- /dev/null +++ b/.changes/1.42.16.json @@ -0,0 +1,107 @@ +[ + { + "category": "``clouddirectory``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cognito-sync``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``docdb``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``elb``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``healthlake``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``iotanalytics``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``macie2``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``marketplacecommerceanalytics``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive now has a field called \"SubtitleRows\" for controlling subtitle row count for DVB-Sub and Burn-In captions outputs", + "type": "api-change" + }, + { + "category": "``memorydb``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``proton``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Releasing model ID support for UpdateAIPrompt", + "type": "api-change" + }, + { + "category": "``qldb``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updates Amazon RDS documentation for Db2 read-only replicas.", + "type": "api-change" + }, + { + "category": "``route53-recovery-readiness``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Launch SageMaker Notebook Instances support for AL2023 along with P6-B200 instance type and Rootless Docker support for SageMaker Studio.", + "type": "api-change" + }, + { + "category": "``sagemaker-a2i-runtime``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``simspaceweaver``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Added multi browser support for synthetics canaries, Increased ephemeral storage limit from 5GB to 10GB", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "test and verified, safe to release", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.17.json b/.changes/1.42.17.json new file mode 100644 index 000000000000..1219d3cda46c --- /dev/null +++ b/.changes/1.42.17.json @@ -0,0 +1,212 @@ +[ + { + "category": "``appflow``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``b2bi``", + "description": "Updated APIs to support custom validation rules.", + "type": "api-change" + }, + { + "category": "``chime-sdk-media-pipelines``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``chime-sdk-messaging``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cloudsearch``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cloudtrail-data``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``codeartifact``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``codeguru-security``", + "description": "Documentation update to notify users of the discontinuation of Amazon CodeGuru Security.", + "type": "api-change" + }, + { + "category": "``codestar-notifications``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cur``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Releasing the following features - Asset classification that lets users use restricted terms for classifying assets if they have the right permissions. Also adding a new enum value \"Moving\" to project status.", + "type": "api-change" + }, + { + "category": "``dax``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``devops-guru``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Added IPv6 support for AWS Client VPN.", + "type": "api-change" + }, + { + "category": "``emr-containers``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``finspace-data``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``forecast``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``iotfleethub``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``kendra``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``kinesisanalytics``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``kinesis-video-archived-media``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``lex-runtime``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``lookoutequipment``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds support for input rendition selection for HLS input, adds new Share API to enable sharing jobs with AWS Support for support investigations, and adds INCLUDE_AS_TS to iFrameOnlyManifest setting for HLS outputs.", + "type": "api-change" + }, + { + "category": "``mediapackage-vod``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``mediastore``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``personalize-runtime``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "The Amazon Q Business GetDocumentContent operation now supports retrieval of the extracted text content in JSON format.", + "type": "api-change" + }, + { + "category": "``resourcegroupstaggingapi``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``sagemaker-edge``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``sagemaker-featurestore-runtime``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``sagemaker-runtime``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``serverlessrepo``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``shield``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``snowball``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``sqs``", + "description": "Documentation update for Amazon SQS Supports Large Payload Message feature", + "type": "api-change" + }, + { + "category": "``support``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``support-app``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "Add MAINTENANCE status for DbInstance and DbCluster", + "type": "api-change" + }, + { + "category": "``translate``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``wellarchitected``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.18.json b/.changes/1.42.18.json new file mode 100644 index 000000000000..edac15d210d1 --- /dev/null +++ b/.changes/1.42.18.json @@ -0,0 +1,162 @@ +[ + { + "category": "``apprunner``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``arc-zonal-shift``", + "description": "This release adds new API options to enable allowed windows and multiple alarms for practice runs.", + "type": "api-change" + }, + { + "category": "``codecommit``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``codestar-connections``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``comprehendmedical``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``connectparticipant``", + "description": "Amazon Connect Participant Service: Remove unused fields from WebRTCConnection", + "type": "api-change" + }, + { + "category": "``dlm``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add new APIs for viewing how your shared AMIs are used by other accounts, and identify resources in your account that are dependent on particular AMIs", + "type": "api-change" + }, + { + "category": "``elastictranscoder``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``finspace``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``geo-routes``", + "description": "Added RouteFerryNotice PotentialViolatedVehicleRestrictionUsage value for CalculateRoutes. This value indicates when the Route is potentially forbidden for the given vehicle profile.", + "type": "api-change" + }, + { + "category": "``glacier``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``globalaccelerator``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``greengrass``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``identitystore``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``iotsecuretunneling``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``lookoutvision``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``mgh``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``migration-hub-refactor-spaces``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``mq``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``personalize-events``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``pinpoint``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ram``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``rbin``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``route53-recovery-cluster``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``sagemaker-geospatial``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``servicecatalog-appregistry``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``signer``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``waf-regional``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.19.json b/.changes/1.42.19.json new file mode 100644 index 000000000000..650c62a4a90f --- /dev/null +++ b/.changes/1.42.19.json @@ -0,0 +1,177 @@ +[ + { + "category": "``amplifybackend``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``application-insights``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``batch``", + "description": "Added ECS_AL2023_NVIDIA as an option for Ec2Configuration.imageType.", + "type": "api-change" + }, + { + "category": "``chime``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``chime-sdk-identity``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``chime-sdk-meetings``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``chime-sdk-voice``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``codeguruprofiler``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``datapipeline``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``discovery``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ds``", + "description": "Add APIs for CA AutoEnrollment support: DescribeCAEnrollmentPolicy, EnableCAEnrollmentPolicy and DisableCAEnrollmentPolicy.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Add support for on-demand refresh of EKS cluster insights", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``evidently``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``frauddetector``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``inspector``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``kinesisvideo``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``kinesis-video-media``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``lex-models``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``migrationhub-config``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Add StartGraph and StopGraph operations to Neptune Analytics", + "type": "api-change" + }, + { + "category": "``personalize``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``pi``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``qldb-session``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``robomaker``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds support for AutoScaling on SageMaker HyperPod.", + "type": "api-change" + }, + { + "category": "``schemas``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``snow-device-management``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``timestream-write``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``voice-id``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``workdocs``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``workmail``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.2.json b/.changes/1.42.2.json new file mode 100644 index 000000000000..07482e8bc7b0 --- /dev/null +++ b/.changes/1.42.2.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-agentcore``", + "description": "Remove superfluous field from API", + "type": "api-change" + }, + { + "category": "``codeconnections``", + "description": "New integration with Azure DevOps provider type.", + "type": "api-change" + }, + { + "category": "``evs``", + "description": "TagResource API now throws ServiceQuotaExceededException when the number of tags on the Amazon EVS resource exceeds the maximum allowed. TooManyTagsException is deprecated.", + "type": "api-change" + }, + { + "category": "``iotsitewise``", + "description": "Support Interface for IoT SiteWise Asset Modeling", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release adds the ability for customers to attach and detach their EBS volumes to EKS-orchestrated HyperPod cluster nodes.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.20.json b/.changes/1.42.20.json new file mode 100644 index 000000000000..1f0fd4c21ee4 --- /dev/null +++ b/.changes/1.42.20.json @@ -0,0 +1,182 @@ +[ + { + "category": "``applicationcostprofiler``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``apprunner``", + "description": "Doc only updates for APIs and and datatypes related to IPAddressType and Subnets for IPv6 dualstack support.", + "type": "api-change" + }, + { + "category": "``autoscaling-plans``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cloud9``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cloudhsmv2``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``cloudsearchdomain``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``codedeploy``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``codeguru-reviewer``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "AgentStatusDrillDown feature in GetCurrentMetricData API. Adding AGENT_STATUS as filter and grouping in GetCurrentMetricData API", + "type": "api-change" + }, + { + "category": "``databrew``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for copying Amazon EBS snapshot and AMIs to and from Local Zones.", + "type": "api-change" + }, + { + "category": "``ec2-instance-connect``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``fis``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``fms``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``geo-maps``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Adding support to fetch TargetDatabase field during GetDatabases with AttributesToGet", + "type": "api-change" + }, + { + "category": "``healthlake``", + "description": "Add ValidationLevel parameter to StartFHIRImportJob API, allowing users to specify a FHIR validation level for their asynchronous import jobs.", + "type": "api-change" + }, + { + "category": "``machinelearning``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``mediastore-data``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``mturk``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``omics``", + "description": "Adds Amazon ECR pull through cache support to AWS HealthOmics, so you can more easily use container images from external sources.", + "type": "api-change" + }, + { + "category": "``osis``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Added RDS HTTP Endpoint feature support flag to DescribeOrderableDBInstanceOptions API", + "type": "api-change" + }, + { + "category": "``route53domains``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``savingsplans``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``scheduler``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ses``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``ssm-sap``", + "description": "Added support for Configuration Checks on SAP HANA Applications.", + "type": "api-change" + }, + { + "category": "``sso``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``timestream-query``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``waf``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``workmailmessageflow``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + }, + { + "category": "``xray``", + "description": "Remove incorrect endpoint tests", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.21.json b/.changes/1.42.21.json new file mode 100644 index 000000000000..de9136057670 --- /dev/null +++ b/.changes/1.42.21.json @@ -0,0 +1,17 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Fixed stop sequence limit for converse API.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Release shows new route types such as filtered and advertisement.", + "type": "api-change" + }, + { + "category": "``xray``", + "description": "AWS X-Ray Features: Support Sampling Rate Boost On Anomaly", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.22.json b/.changes/1.42.22.json new file mode 100644 index 000000000000..b76fc736a52a --- /dev/null +++ b/.changes/1.42.22.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ec2``", + "description": "MaximumEbsAttachments and AttachmentLimitType fields added to DescribeInstanceTypesResponse. G6f, Gr6f, R8i, R8i-flex and p5.4xlarge instance types added to InstanceTypes enum.", + "type": "api-change" + }, + { + "category": "``neptune``", + "description": "Removed the deprecated marker from publiclyAccessible parameter from DbInstance, CreateDbInstance and ModifyDbInstance and added relevant usage information for the parameter.", + "type": "api-change" + }, + { + "category": "``notifications``", + "description": "Added Org support for notifications: - `ListMemberAccounts` gets member accounts list, `AssociateOrganizationalUnit` links OU to notification configuration, `DisassociateOrganizationalUnit` removes OU from notification configuration, `ListOrganizationalUnits` shows OUs configured for notifications.", + "type": "api-change" + }, + { + "category": "``workmail``", + "description": "Make RoleArn an optional parameter for the PutEmailMonitoringConfiguration API, and add UnsupportedOperationException to RegisterToWorkMail.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.23.json b/.changes/1.42.23.json new file mode 100644 index 000000000000..a3c3e618ef7a --- /dev/null +++ b/.changes/1.42.23.json @@ -0,0 +1,37 @@ +[ + { + "category": "``cleanrooms``", + "description": "Added support for adding new data provider members to an existing collaboration.", + "type": "api-change" + }, + { + "category": "``cleanroomsml``", + "description": "AWS Clean Rooms ML adds log sanitization for privacy-enhanced error summaries, supports new instance types for custom models providing better performance and lower costs, and deprecates P3-series instances.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Adding an optional field IpAddressType in CustomOriginConfig", + "type": "api-change" + }, + { + "category": "``mq``", + "description": "Add CONFIG_MANAGED as a supported AuthenticationStrategy for Amazon MQ for RabbitMQ brokers. Make username and password optional on broker creation for CONFIG_MANAGED brokers.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release adds support for MasterUserAuthenticationType parameter on CreateDBInstance, ModifyDBInstance, CreateDBCluster, and ModifyDBCluster operations.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the Asia Pacific (New Zealand) Region (ap-southeast-6) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.", + "type": "api-change" + }, + { + "category": "``route53domains``", + "description": "Added new ExtraParams AU_ELIGIBILITY_TYPE, AU_POLICY_REASON, and AU_REGISTRANT_NAME", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.24.json b/.changes/1.42.24.json new file mode 100644 index 000000000000..417a57eb5a5f --- /dev/null +++ b/.changes/1.42.24.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cleanrooms``", + "description": "Add support for configurable compute sizes for PySpark jobs.", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "ListHookResults API now supports retrieving invocation results for all CloudFormation Hooks (previously limited to create change set and Cloud Control operations) with new optional parameters for filtering by Hook status and ARN.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add m8i, m8i-flex and i8ge instance types.", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "Add support for Federal Information Processing Standards (FIPS) and Federal Risk and Authorization Management Program (FedRAMP) compliance", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Added new EndpointNetworkType and TargetConnectionNetworkType fields in Proxy APIs to support IPv6", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Amazon Verified Permissions / Features : Adds support for datetime and duration attribute values.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.25.json b/.changes/1.42.25.json new file mode 100644 index 000000000000..e4c10f7feb19 --- /dev/null +++ b/.changes/1.42.25.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ecs``", + "description": "This is a documentation only release that adds additional information for Amazon ECS Availability Zone rebalancing.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Documentation-only update to add AccountingStorageEnforce to SlurmCustomSetting.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Release IPv6 support with dualstack in SageMaker Notebooks, Tiered Storage Checkpointing Support in SageMaker HyperPod and P5.4xlarge instance type for SageMaker Hosting.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.26.json b/.changes/1.42.26.json new file mode 100644 index 000000000000..3d0b20ea26f9 --- /dev/null +++ b/.changes/1.42.26.json @@ -0,0 +1,17 @@ +[ + { + "category": "``iotsitewise``", + "description": "Add ComputationModelVersion support in IoT SiteWise APIs", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "This release includes backward compatibility work on the \"Expires\" parameter.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "This release adds the RESOURCE_NOT_FOUND error code as a possible value in responses to the following operations: BatchGetStandardsControlAssociations, BatchUpdateStandardsControlAssociations, and BatchGetSecurityControls.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.27.json b/.changes/1.42.27.json new file mode 100644 index 000000000000..9bc618b5c408 --- /dev/null +++ b/.changes/1.42.27.json @@ -0,0 +1,37 @@ +[ + { + "category": "``autoscaling``", + "description": "Added WaitForTransitioningInstances parameter to the CancelInstanceRefresh API, allowing the caller to cancel an instance refresh without waiting for on-going launches and terminations.", + "type": "api-change" + }, + { + "category": "``cloudwatch``", + "description": "Added a new API - DescribeAlarmContributors API, to retrieve alarm contributors in ALARM state. Added support in DescribeAlarmHistory API to query alarm contributor history", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "SDK release for user defined predefined attributes.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Adds support for custom blueprints", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "Added CUE tag SCTE output to MediaPackageV2 HLS and LL-HLS manifests.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Documentation updates for AWS Organizations APIs.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Released IPv6 support with dual-stack domain options on SageMaker Studio and introduced support for p6-b200.48xlarge instance type on SageMaker Studio for JupyterLab and CodeEditor applications.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.28.json b/.changes/1.42.28.json new file mode 100644 index 000000000000..94944c5ecac7 --- /dev/null +++ b/.changes/1.42.28.json @@ -0,0 +1,12 @@ +[ + { + "category": "``networkflowmonitor``", + "description": "Added new enum value (AWS::Region) for type field under MonitorLocalResource and MonitorRemoteResource. Workload Insights and Monitor top contributors queries now support a new DestinationCategory (INTER_REGION).", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "AWS Payment Cryptography Service now supports Multi-Region key replication. Customers can choose to automatically distribute keys across AWS Regions.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.29.json b/.changes/1.42.29.json new file mode 100644 index 000000000000..9fdeb7ca147b --- /dev/null +++ b/.changes/1.42.29.json @@ -0,0 +1,47 @@ +[ + { + "category": "``amp``", + "description": "Add Vended Logs APIs for Amazon Prometheus Managed Collector", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "adding IAM principal id to IAM user profile details", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release supports hook details for Amazon ECS lifecycle hooks.", + "type": "api-change" + }, + { + "category": "``emr-containers``", + "description": "Added nodeLabel support in container provider to aid hardware isolation support for virtual cluster and security configuration.", + "type": "api-change" + }, + { + "category": "``evs``", + "description": "CreateEnvironment API now supports parameters (isHcxPublic & hcxNetworkAclId) for HCX migration via public internet, adding flexibility for migration scenarios. New APIs have been added for associating (AssociateEipToVlan) & disassociating (DisassociateEipFromVlan) Elastic IP (EIP) addresses.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Updated Java SDK implementation of entity set status in GuardDuty API.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive adds a new feature in MediaPackage output group that enables MediaPackage V2 users to control HLS-related parameters directly in MediaLive. These parameter settings are then reflected in MediaPackage outputs, providing more streamlined control over HLS configurations.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "This release adds support for Account level custom permissions, additional Dashboard Options, and Null support for Q&A.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Adds support for end-to-end IAM authentication in RDS Proxy for MySQL, MariaDB, and PostgreSQL engines.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.3.json b/.changes/1.42.3.json new file mode 100644 index 000000000000..bfe2186147ac --- /dev/null +++ b/.changes/1.42.3.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock``", + "description": "This release introduces Automated Reasoning checks for Amazon Bedrock Guardrails. The feature adds new APIs for policy building, refinement, version management, and testing. Guardrail APIs now support Automated Reasoning policy configuration and validation output.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "This release adds support for Automated Reasoning checks output models for the Amazon Bedrock Guardrails ApplyGuardrail API.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Add support for deletion protection on EKS clusters", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Adds a new Aurora Serverless v2 attribute to the DBCluster resource to expose the platform version. Also updates the attribute to be part of both the engine version and platform version descriptions.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Add support for SageMaker Hyperpod continuous scaling and custom AMI; Introduce new APIs: ListClusterEvents, DescribeClusterEvent, BatchAddClusterNodes", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.30.json b/.changes/1.42.30.json new file mode 100644 index 000000000000..154209d8e78b --- /dev/null +++ b/.changes/1.42.30.json @@ -0,0 +1,7 @@ +[ + { + "category": "``payment-cryptography``", + "description": "Add support for certificates to be signed by 3rd party certificate authorities. New API GetCertificateSigningRequest API and support for providing certificates at run-time for tr-34 import/export", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.31.json b/.changes/1.42.31.json new file mode 100644 index 000000000000..8ae4f6d9c6bd --- /dev/null +++ b/.changes/1.42.31.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ce``", + "description": "Added endpoint support for eusc-de-east-1 region.", + "type": "api-change" + }, + { + "category": "``medical-imaging``", + "description": "Added support for OpenID Connect (OIDC) custom authorizer", + "type": "api-change" + }, + { + "category": "``observabilityadmin``", + "description": "CloudWatch Observability Admin adds the ability to enable telemetry centralization in customers' Organizations. The release introduces new APIs to manage centralization rules, which define settings to replicate telemetry data to a central destination in the customers' Organization.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Introduce three new encryption filters: EncryptionType (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C, NOT-SSE), KmsKeyArn (for SSE-KMS and DSSE-KMS), and BucketKeyEnabled (for SSE-KMS).", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.32.json b/.changes/1.42.32.json new file mode 100644 index 000000000000..c64e44ac04cf --- /dev/null +++ b/.changes/1.42.32.json @@ -0,0 +1,22 @@ +[ + { + "category": "``budgets``", + "description": "Add support for custom time periods in budget configuration", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "IVS now offers customers the ability to control the positioning of participants in both grid and PiP layouts based on custom attribute values in participant tokens.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Cloudwatch Logs added support for 2 new API parameters in metric and subscription filter APIs to filter log events based on system field values and emit system field values as dimensions and send them to customer destination as additional metadata.", + "type": "api-change" + }, + { + "category": "``osis``", + "description": "Adds support for cross-account ingestion for push-based sources. This includes resource policies for sharing pipelines across accounts and features for managing pipeline endpoints which enable accessing pipelines across different VPCs, including VPCs in other accounts.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.33.json b/.changes/1.42.33.json new file mode 100644 index 000000000000..a4aa51dfc997 --- /dev/null +++ b/.changes/1.42.33.json @@ -0,0 +1,17 @@ +[ + { + "category": "``ec2``", + "description": "Add mac-m4.metal and mac-m4pro.metal instance types.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "Network Firewall now prevents TLS handshakes with the target server until after the Server Name Indication (SNI) has been seen and verified. The monitoring dashboard now provides deeper insights into PrivateLink endpoint candidates and offers filters based on IP addresses and protocol.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Add support for Amazon EC2 Capacity Blocks for ML", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.34.json b/.changes/1.42.34.json new file mode 100644 index 000000000000..65aa9d3356e1 --- /dev/null +++ b/.changes/1.42.34.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock``", + "description": "Release includes an increase to the maximum policy build document size, an update to DeleteAutomatedReasoningPolicyBuildWorkflow to add ResourceInUseException, and corrections to UpdateAutomatedReasoningPolicyTestCaseRequest.", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Added BillingViewHealthStatus Exception which is thrown when a Budget is created or updated with a Billing View that is not in the HEALTHY status", + "type": "api-change" + }, + { + "category": "``chime-sdk-messaging``", + "description": "Amazon Chime SDK Messaging GetMessagingSessionEndpoint API now returns dual-stack WebSocket endpoints supporting IPv4/IPv6.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Allowed AMIs adds support for four new parameters - marketplaceProductCodes, deprecationTimeCondition, creationDateCondition and imageNames", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.35.json b/.changes/1.42.35.json new file mode 100644 index 000000000000..5a448e3bae84 --- /dev/null +++ b/.changes/1.42.35.json @@ -0,0 +1,37 @@ +[ + { + "category": "``bedrock-agentcore-control``", + "description": "Add tagging and VPC support to AgentCore Runtime, Code Interpreter, and Browser resources. Add support for configuring request headers in Runtime. Fix AgentCore Runtime shape names.", + "type": "api-change" + }, + { + "category": "``config``", + "description": "Add UNKNOWN state to RemediationExecutionState and add IN_PROGRESS/EXITED/UNKNOWN states to RemediationExecutionStepState.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release adds a persistent connection field to UserPhoneConfig that maintains agent's softphone media connection for faster call connections.", + "type": "api-change" + }, + { + "category": "``kendra-ranking``", + "description": "Model whitespace change - no client difference", + "type": "api-change" + }, + { + "category": "``license-manager-user-subscriptions``", + "description": "Added support for cross-account Active Directories.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Add MinBitrate for QVBR mode under H264/H265/AV1 output codec. Add GopBReference, GopNumBFrames, SubGopLength fields under H265 output codec.", + "type": "api-change" + }, + { + "category": "``sqs``", + "description": "Update invalid character handling documentation for SQS SendMessage API", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.36.json b/.changes/1.42.36.json new file mode 100644 index 000000000000..04ca217df157 --- /dev/null +++ b/.changes/1.42.36.json @@ -0,0 +1,17 @@ +[ + { + "category": "``batch``", + "description": "Starting in JAN 2026, AWS Batch will change the default AMI for new Amazon ECS compute environments from Amazon Linux 2 to Amazon Linux 2023. We recommend migrating AWS Batch Amazon ECS compute environments to Amazon Linux 2023 to maintain optimal performance and security.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Adds support for RepairConfig overrides and configurations in EKS Managed Node Groups.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "Version ARNs are no longer required for the EC2 Image Builder list-image-build-version, list-component-build-version, and list-workflow-build-version APIs. Calling these APIs without the ARN returns all build versions for the given resource type in the requesting account.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.37.json b/.changes/1.42.37.json new file mode 100644 index 000000000000..3e934785439e --- /dev/null +++ b/.changes/1.42.37.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cleanrooms``", + "description": "Added support for running incremental ID mapping for rule-based workflows.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add Amazon EC2 R8gn instance types", + "type": "api-change" + }, + { + "category": "``entityresolution``", + "description": "Support incremental id mapping workflow for AWS Entity Resolution", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Added Dualstack support to GetDeployablePatchSnapshotForInstance", + "type": "api-change" + }, + { + "category": "``sso-admin``", + "description": "Add support for encryption at rest with Customer Managed KMS Key in AWS IAM Identity Center", + "type": "api-change" + }, + { + "category": "``sso-oidc``", + "description": "This release includes exception definition and documentation updates.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.38.json b/.changes/1.42.38.json new file mode 100644 index 000000000000..f5c82a19d7e4 --- /dev/null +++ b/.changes/1.42.38.json @@ -0,0 +1,32 @@ +[ + { + "category": "``appstream``", + "description": "G6f instance support for AppStream 2.0", + "type": "api-change" + }, + { + "category": "``cloudwatch``", + "description": "Fix default dualstack FIPS endpoints in AWS GovCloud(US) regions", + "type": "api-change" + }, + { + "category": "``dax``", + "description": "This release adds support for IPv6-only, DUAL_STACK DAX instances", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "Documentation only updates for KMS.", + "type": "api-change" + }, + { + "category": "``neptune``", + "description": "Doc-only update to address customer use.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.39.json b/.changes/1.42.39.json new file mode 100644 index 000000000000..84d2ed24de5e --- /dev/null +++ b/.changes/1.42.39.json @@ -0,0 +1,17 @@ +[ + { + "category": "``glue``", + "description": "Update GetConnection(s) API to return KmsKeyArn & Add 63 missing connection types", + "type": "api-change" + }, + { + "category": "``lightsail``", + "description": "Attribute HTTP binding update for Get/Delete operations", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "Network Firewall now introduces Reject and Alert action support for stateful domain list rule groups, providing customers with more granular control over their network traffic.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.4.json b/.changes/1.42.4.json new file mode 100644 index 000000000000..e5d291d9acf3 --- /dev/null +++ b/.changes/1.42.4.json @@ -0,0 +1,27 @@ +[ + { + "category": "``appstream``", + "description": "Added support for G6 instances", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Adds support for billing views. Billing views let you control access to cost and usage data through an AWS resource, streamlining the process of sharing cost and usage data across account boundaries. With this release, you can now create and view budgets based on billing views.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Mark Elastic Inference Accelerators and Elastic Graphics Processor parameters as deprecated on the RunInstances and LaunchTemplate APIs.", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "Features: add Index APIs in OpenSearchServerless to support managed semantic enrichment", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Amazon Q Business now supports the GetDocumentContent() API that enables customers to securely access the source documents through clickable citation links at query time", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.40.json b/.changes/1.42.40.json new file mode 100644 index 000000000000..e58bf2429b21 --- /dev/null +++ b/.changes/1.42.40.json @@ -0,0 +1,47 @@ +[ + { + "category": "``bedrock-agent-runtime``", + "description": "This release enhances the information provided through Flow Traces. New information includes source/next node tracking, execution chains for complex nodes, dependency action (operation) details, and dependency traces.", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Added support for configurable Speaker Labeling and Channel Labeling features for Audio modality.", + "type": "api-change" + }, + { + "category": "``billing``", + "description": "Add ability to combine custom billing views to create new consolidated views.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "Support for payer account dimension and billing view health status.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Adds supports for manual contact picking (WorkList) operations on Routing Profiles, Agent Management and SearchContacts APIs.", + "type": "api-change" + }, + { + "category": "``dynamodbstreams``", + "description": "Added support for IPv6 compatible endpoints for DynamoDB Streams.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release includes documentation updates for Amazon EBS General Purpose SSD (gp3) volumes with larger size and higher IOPS and throughput.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Support tagging and tag propagation to IAM Identity Center for Redshift Idc Applications", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.41.json b/.changes/1.42.41.json new file mode 100644 index 000000000000..f8cdaa39b1a7 --- /dev/null +++ b/.changes/1.42.41.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock``", + "description": "Release for fixing GetFoundationModel API behavior. Imported and custom models have their own exclusive API and GetFM should not accept those ARNS as input", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "New stop reason for Converse and ConverseStream", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "This release introduces several new features and improvements to enhance pipeline management, logging, and resource configuration.", + "type": "api-change" + }, + { + "category": "``vpc-lattice``", + "description": "Adds support for specifying the number of IPv4 addresses in each ENI for the resource gateway for VPC Lattice.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.42.json b/.changes/1.42.42.json new file mode 100644 index 000000000000..5ce75703ac7d --- /dev/null +++ b/.changes/1.42.42.json @@ -0,0 +1,77 @@ +[ + { + "category": "``application-signals``", + "description": "Amazon CloudWatch Application Signals is introducing the Application Map to give users a more comprehensive view of their service health. Users will now be able to group services, track their latest deployments, and view automated audit findings concerning service performance.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Tagging support for AgentCore Gateway", + "type": "api-change" + }, + { + "category": "``chime-sdk-voice``", + "description": "Added support for IPv4-only and dual-stack network configurations for VoiceConnector and CreateVoiceConnector API.", + "type": "api-change" + }, + { + "category": "``connectcases``", + "description": "This release adds support for two new related item types: ConnectCase for linking Amazon Connect cases and Custom for user-defined related items with configurable fields.", + "type": "api-change" + }, + { + "category": "``customer-profiles``", + "description": "This release introduces ListProfileHistoryRecords and GetProfileHistoryRecord APIs for comprehensive profile history tracking with complete audit trails of creation, updates, merges, deletions, and data ingestion events.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "Added support for FIPS VPC endpoints in FIPS-enabled AWS Regions.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release adds support for creation of EMR on EKS Connections in Amazon DataZone.", + "type": "api-change" + }, + { + "category": "``ds``", + "description": "AWS Directory service now supports IPv6-native and dual-stack configurations for AWS Managed Microsoft AD, AD Connector, and Simple AD (dual-stack only). Additionally, AWS Managed Microsoft AD Standard Edition directories can be upgraded to Enterprise Edition directories through a single API call.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This release adds support for Managed Instances on Amazon ECS.", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Add Dual-Stack support for Amazon FSx for NetApp ONTAP and Windows File Server", + "type": "api-change" + }, + { + "category": "``mediatailor``", + "description": "Adding TPS Traffic Shaping to Prefetch Schedules", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "added warnings to a few CLI pages", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Enhanced RDS error handling: Added DBProxyEndpointNotFoundFault, DBShardGroupNotFoundFault, KMSKeyNotAccessibleFault for snapshots/restores/backups, NetworkTypeNotSupported, StorageTypeNotSupportedFault for restores, and granular state validation faults. Changed DBInstanceNotReadyFault to HTTP 400.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "Add support for updating server identity provider type", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Add ``proxy-url`` to ``aws eks update-kubeconfig``.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.42.43.json b/.changes/1.42.43.json new file mode 100644 index 000000000000..2c2672948fe7 --- /dev/null +++ b/.changes/1.42.43.json @@ -0,0 +1,32 @@ +[ + { + "category": "``chime-sdk-meetings``", + "description": "Add support to receive dual stack MediaPlacement URLs in Chime Meetings SDK", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "This release introduces data access budgets to control how many times a table can be used for queries and jobs in a collaboration.", + "type": "api-change" + }, + { + "category": "``cleanroomsml``", + "description": "This release introduces data access budgets to view how many times an input channel can be used for ML jobs in a collaboration.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "This is a doc-only update, revising text for kms-key-arns.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only Amazon ECS release that adds additional information for health checks.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Added the UpdateCluster API action to modify cluster configurations, and Slurm custom settings for queues.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.44.json b/.changes/1.42.44.json new file mode 100644 index 000000000000..9f3931a163a7 --- /dev/null +++ b/.changes/1.42.44.json @@ -0,0 +1,32 @@ +[ + { + "category": "``cloudformation``", + "description": "Add new warning type 'EXCLUDED_RESOURCES'", + "type": "api-change" + }, + { + "category": "``connectcases``", + "description": "New Search All Related Items API enables searching related items across cases", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Add support for dual-stack account endpoint generation", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Updated descriptions for the Location parameter in CreateTrustedEntitySet and CreateThreatEntitySet.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Adds support to configure canaries with pre-configured blueprint code on supported runtime versions. This behavior can be controlled via the new BlueprintTypes property exposed in the CreateCanary and UpdateCanary APIs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.45.json b/.changes/1.42.45.json new file mode 100644 index 000000000000..1801335500fe --- /dev/null +++ b/.changes/1.42.45.json @@ -0,0 +1,22 @@ +[ + { + "category": "``cleanrooms``", + "description": "Added support for reading data sources across regions, and results delivery to allowedlisted regions.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive enables Mediapackage V2 users to configure ID3, KLV, Nielsen ID3, and Segment Length related parameters through the Mediapackage output group.", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Added a new API - translateKeyMaterial; allows keys wrapped by ECDH derived keys to be rewrapped under a static AES keyblock without first importing the key into the service.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Updated Amazon Q in Connect APIs to support Email Contact Recommendations.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.46.json b/.changes/1.42.46.json new file mode 100644 index 000000000000..88c693b32efd --- /dev/null +++ b/.changes/1.42.46.json @@ -0,0 +1,47 @@ +[ + { + "category": "``backup``", + "description": "Adds optional MaxScheduledRunsPreview input to GetBackupPlan API to provide a preview of up to 10 next scheduled backup plan runs in the GetBackupPlan response.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore``", + "description": "Add support for batch memory management, agent card retrieval and session termination", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Add support for VM lifecycle configuration parameters and A2A protocol", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Adds labeling for DataQualityRuleResult for GetDataQualityResult and PublishDataQualityResult APIs", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "Enabling Tag-on-Create for AWS Elemental MediaConnect flow-based resource types", + "type": "api-change" + }, + { + "category": "``memorydb``", + "description": "Support for DescribeMultiRegionParameterGroups and DescribeMultiRegionParameters API.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Documentation improvements for QuickSight API documentation to clarify that delete operation APIs are global.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Documentation updates to the CreateDBClusterMessage$PubliclyAccessible and CreateDBInstanceMessage$PubliclyAccessible properties.", + "type": "api-change" + }, + { + "category": "``resource-explorer-2``", + "description": "Add new AWS Resource Explorer APIs", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.47.json b/.changes/1.42.47.json new file mode 100644 index 000000000000..aeaa3b962034 --- /dev/null +++ b/.changes/1.42.47.json @@ -0,0 +1,7 @@ +[ + { + "category": "``proton``", + "description": "Deprecating APIs in AWS Proton namespace.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.48.json b/.changes/1.42.48.json new file mode 100644 index 000000000000..6a0156654f15 --- /dev/null +++ b/.changes/1.42.48.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agentcore-control``", + "description": "Adding support for authorizer type AWS_IAM to AgentCore Control Gateway.", + "type": "api-change" + }, + { + "category": "``license-manager-user-subscriptions``", + "description": "Released support for IPv6 and dual-stack active directories", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "This release adds the new StartOutpostDecommission API, which starts the decommission process to return Outposts racks or servers.", + "type": "api-change" + }, + { + "category": "``service-quotas``", + "description": "introduces Service Quotas Automatic Management. Users can opt-in to monitoring and managing service quotas, receive notifications when quota usage reaches thresholds, configure notification channels, subscribe to EventBridge events for automation, and view notifications in the AWS Health dashboard.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.49.json b/.changes/1.42.49.json new file mode 100644 index 000000000000..7b8a2d30d6bc --- /dev/null +++ b/.changes/1.42.49.json @@ -0,0 +1,12 @@ +[ + { + "category": "``quicksight``", + "description": "This release adds support for ActionConnector and Flow, which are new resources associated with Amazon Quick Suite. Additional updates include expanded Data Source options, further branding customization, and new capabilities that can be restricted by Admins.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "This release adds the ability to throw WafLimitsExceededException when the maximum number of Application Load Balancer (ALB) associations per AWS WAF v2 WebACL is exceeded.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.5.json b/.changes/1.42.5.json new file mode 100644 index 000000000000..0fd9b1442904 --- /dev/null +++ b/.changes/1.42.5.json @@ -0,0 +1,32 @@ +[ + { + "category": "``batch``", + "description": "This feature allows customers to use AWS Batch with Linux with ARM64 CPU Architecture with Fargate Spot compute support.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Added new viewer security policy, TLSv1.3_2025, for CloudFront.", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports comment-based pull request control.", + "type": "api-change" + }, + { + "category": "``gameliftstreams``", + "description": "Adds Proton 9.0-2 to the list of runtime environment options available when creating an Amazon GameLift Streams application", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "AWS Glue Data Catalog now supports Iceberg Optimization settings at the Catalog level, and supports new options to control the optimization job run rate.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Added support for VPC owner account ID associated with DNS request in the GuardDuty finding.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.50.json b/.changes/1.42.50.json new file mode 100644 index 000000000000..55a72108c4bd --- /dev/null +++ b/.changes/1.42.50.json @@ -0,0 +1,37 @@ +[ + { + "category": "``bedrock-agentcore``", + "description": "Bedrock AgentCore release for Runtime, and Memory.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Bedrock AgentCore release for Gateway, and Memory including Self-Managed Strategies support for Memory.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Added new viewer security policy, TLSv1.2_2025, for CloudFront.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Addition of AuditContext in GetTable/GetTables Request", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Add InvokedViaFunctionUrl context key to limit invocations to only FURL invokes.", + "type": "api-change" + }, + { + "category": "``odb``", + "description": "This release adds APIs that allow you to specify CIDR ranges in your ODB peering connection.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updated the text in the Important section of the ModifyDBClusterParameterGroup page.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.51.json b/.changes/1.42.51.json new file mode 100644 index 000000000000..4687cf101912 --- /dev/null +++ b/.changes/1.42.51.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agentcore``", + "description": "Updated InvokeAgentRuntime API to accept account id optionally and added CompleteResourceTokenAuth API.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Updated http status code in control plane apis of agentcore runtime, tools and identity. Additional included provider types for AgentCore Identity", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Release Amazon EC2 c8i, c8i-flex, m8a, and r8gb", + "type": "api-change" + }, + { + "category": "``observabilityadmin``", + "description": "CloudWatch Observability Admin adds the ability to enable Resource tags for telemetry in a customer account. The release introduces new APIs to enable, disable and describe the status of Resource tags for telemetry feature. This new capability simplifies monitoring AWS resources using tags.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.52.json b/.changes/1.42.52.json new file mode 100644 index 000000000000..86b67660c6f4 --- /dev/null +++ b/.changes/1.42.52.json @@ -0,0 +1,37 @@ +[ + { + "category": "``appstream``", + "description": "This release introduces support for Microsoft license included applications streaming.", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "The AWS Backup job attribute extension enhancement helps customers better understand the plan that initiated each job, and the properties of the resource each job creates.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "SDK release for TaskTemplateInfo in Contact for DescribeContact response.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Support creating scoped and trustedIdentityPropagation enabled connections.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for creating instant, point-in-time copies of EBS volumes within the same Availability Zone", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "Move UntagResource API body member to query parameter", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "SFTP connectors now support routing connections via customers' VPC. This enables connections to remote servers that are only accessible in a customer's VPC environment, and to servers that are accessible over the internet but need connections coming from an IP address in a customer VPC's CIDR range.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.53.json b/.changes/1.42.53.json new file mode 100644 index 000000000000..3b0431f4aa4a --- /dev/null +++ b/.changes/1.42.53.json @@ -0,0 +1,37 @@ +[ + { + "category": "``bedrock``", + "description": "Amazon Bedrock Automated Reasoning Policy now offers enhanced AWS KMS integration. The CreateAutomatedReasoningPolicy API includes a new kmsKeyId field, allowing customers to specify their preferred KMS key for encryption, improving control and compliance with AWS encryption mandates.", + "type": "api-change" + }, + { + "category": "``docdb``", + "description": "Add support for NetworkType field in CreateDbCluster, ModifyDbCluster, RestoreDbClusterFromSnapshot and RestoreDbClusterToPointInTime for DocumentDB.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Introducing EC2 Capacity Manager for monitoring and analyzing capacity usage across On-Demand Instances, Spot Instances, and Capacity Reservations.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release expands Listener Rule Conditions to support RegexValues and adds support for a new Transforms field in Listener Rules.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Added default pagination value for ListMalwareProtectionPlans API and updated UpdateFindingsFeedback API", + "type": "api-change" + }, + { + "category": "``lightsail``", + "description": "Add support for manage Lightsail Bucket CORS configuration", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "This release adds support for creating and managing InfluxDB 3 Core and Enterprise DbClusters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.54.json b/.changes/1.42.54.json new file mode 100644 index 000000000000..27458e554d06 --- /dev/null +++ b/.changes/1.42.54.json @@ -0,0 +1,257 @@ +[ + { + "category": "``acm-pca``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``amplify``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``apigatewaymanagementapi``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``apprunner``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``apptest``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``autoscaling-plans``", + "description": "Updated FIPS endpoints for US GovCloud regions", + "type": "api-change" + }, + { + "category": "``batch``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bcm-data-exports``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``billingconductor``", + "description": "New feature: service flat CLI and first AWS managed pricing plan (BasicPricingPlan)", + "type": "api-change" + }, + { + "category": "``customer-profiles``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``databrew``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``dataexchange``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``dlm``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``freetier``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``geo-routes``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``globalaccelerator``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``grafana``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``identitystore``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ivs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``keyspaces``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lex-models``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lexv2-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lookoutequipment``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``m2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``machinelearning``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``marketplace-entitlement``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``medical-imaging``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``memorydb``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``migrationhub-config``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``networkflowmonitor``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``osis``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``personalize``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``personalize-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``polly``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pricing``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``qldb``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``qldb-session``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``route53-recovery-control-config``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ssm-contacts``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ssm-guiconnect``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``timestream-query``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``voice-id``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.55.json b/.changes/1.42.55.json new file mode 100644 index 000000000000..a8d860a5f111 --- /dev/null +++ b/.changes/1.42.55.json @@ -0,0 +1,257 @@ +[ + { + "category": "``amp``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``amplifybackend``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``appconfigdata``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``appintegrations``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``application-insights``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``arc-zonal-shift``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bcm-recommended-actions``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``chime-sdk-meetings``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudfront-keyvaluestore``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codestar-notifications``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``controlcatalog``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ds``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Documentation updates for Amazon EC2.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``es``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``events``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``evidently``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``finspace``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``finspace-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``gameliftstreams``", + "description": "Updates documentation to clarify valid application binaries for an Amazon GameLift Streams application and provide descriptions of stream session error status reasons", + "type": "api-change" + }, + { + "category": "``geo-maps``", + "description": "Added support for optional style parameters in maps, including Terrain, ContourDensity, Traffic, and TravelModes.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iot-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotdeviceadvisor``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotthingsgraph``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iottwinmaker``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kendra-ranking``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesis-video-media``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``license-manager``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``license-manager-user-subscriptions``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``marketplace-catalog``", + "description": "The ListEntities API now supports two new CAPI filters: DeliveryOptionTypes for SaaS products and CompatibleAWSServices for Container products.", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``migration-hub-refactor-spaces``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``networkmanager``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pi``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``qapps``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``rolesanywhere``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``route53-recovery-readiness``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sagemaker-geospatial``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``signer``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``swf``", + "description": "Releasing minor endpoint updates.", + "type": "api-change" + }, + { + "category": "``timestream-write``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``tnb``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``wellarchitected``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.56.json b/.changes/1.42.56.json new file mode 100644 index 000000000000..ce27b65abd14 --- /dev/null +++ b/.changes/1.42.56.json @@ -0,0 +1,32 @@ +[ + { + "category": "``dynamodb``", + "description": "Add AccountID based endpoint metric to endpoint rules.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Added RECONFIGURING to the InstanceFleetState convenience enum.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds the ability to set resolution for the black video generator and also adds the StartJobsQuery and GetJobsQueryResults APIs which allow asynchronous search of job history using new filters.", + "type": "api-change" + }, + { + "category": "``meteringmarketplace``", + "description": "Added ClientToken parameter to MeterUsage API for specifying idempotent requests.", + "type": "api-change" + }, + { + "category": "timestamps", + "description": "Add ``wire`` as a valid value for ``cli_timestamp_format``.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.42.57.json b/.changes/1.42.57.json new file mode 100644 index 000000000000..64eb65937fba --- /dev/null +++ b/.changes/1.42.57.json @@ -0,0 +1,252 @@ +[ + { + "category": "``appfabric``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``b2bi``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bcm-dashboards``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``chatbot``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudhsm``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudhsmv2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codeguru-reviewer``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cognito-identity``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``comprehendmedical``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release added support for email address alias configuration and outbound campaign preview mode.", + "type": "api-change" + }, + { + "category": "``connectcampaignsv2``", + "description": "Updated Amazon Connect Outbound Campaigns V2 SDK to support Preview Outbound Mode", + "type": "api-change" + }, + { + "category": "``connectparticipant``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``devicefarm``", + "description": "This release adds support for optionally including an app as part of a CreateRemoteAccessSession request", + "type": "api-change" + }, + { + "category": "``directconnect``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ds-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds AvailabilityZoneId support for CreateNetworkInterface and DescribeNetworkInterfaces APIs.", + "type": "api-change" + }, + { + "category": "``ec2-instance-connect``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``forecastquery``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Updated OIDC and SAML apis to reject multiple simultaneous requests to change a unique object.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotanalytics``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotsecuretunneling``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotsitewise``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ivschat``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesisanalyticsv2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lexv2-models``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``marketplace-agreement``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Add 3 API operations for fetching alerts: ListAlerts (Channels), ListClusterAlerts (MediaLive Anywhere), and ListMultiplexAlerts", + "type": "api-change" + }, + { + "category": "``mwaa``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``notificationscontacts``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``oam``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``redshift-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the ISOB West Region for private DNS for Amazon VPCs and cloudwatch healthchecks.", + "type": "api-change" + }, + { + "category": "``route53-recovery-cluster``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``rtbfabric``", + "description": "Update for general availability of AWS RTB Fabric service.", + "type": "api-change" + }, + { + "category": "``sagemaker-a2i-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sns``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ssm-incidents``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``workdocs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``workmail``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.58.json b/.changes/1.42.58.json new file mode 100644 index 000000000000..53296c34b168 --- /dev/null +++ b/.changes/1.42.58.json @@ -0,0 +1,252 @@ +[ + { + "category": "``account``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``application-autoscaling``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore``", + "description": "Fixing the service documentation name", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Fixing the service documentation name", + "type": "api-change" + }, + { + "category": "``chime-sdk-voice``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudtrail-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codestar-connections``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``config``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``connect-contact-lens``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cur``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``discovery``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``docdb-elastic``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``drs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "Add support for resource-based policies for Aurora DSQL clusters. This will enable you to implement Block Public Access (BPA) which will help restrict access to your Aurora DSQL public or VPC endpoints.", + "type": "api-change" + }, + { + "category": "``ebs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ecr-public``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``healthlake``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``internetmonitor``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotevents``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iot-jobs-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesis-video-archived-media``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesis-video-webrtc-storage``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Add NodeJs 24 (nodejs24.x) support to AWS Lambda.", + "type": "api-change" + }, + { + "category": "``macie2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``managedblockchain-query``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``marketplacecommerceanalytics``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mediatailor``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mgh``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mgn``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mpa``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``neptunedata``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``networkmonitor``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``odb``", + "description": "Doc-only update that removes duplicate values from descriptions of ODB peering APIs.", + "type": "api-change" + }, + { + "category": "``omics``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pca-connector-scep``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``personalize-events``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pinpoint-email``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``resiliencehub``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``rum``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sagemaker-edge``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``savingsplans``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``securitylake``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.59.json b/.changes/1.42.59.json new file mode 100644 index 000000000000..256ae28e9bdd --- /dev/null +++ b/.changes/1.42.59.json @@ -0,0 +1,262 @@ +[ + { + "category": "``acm``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``amplifyuibuilder``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``application-signals``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``billing``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``chime-sdk-messaging``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codepipeline``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``datapipeline``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release adds support for MLflow connections Creation in DataZone", + "type": "api-change" + }, + { + "category": "``docdb``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``dynamodbstreams``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``elb``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``evs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``fis``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``gameliftstreams``", + "description": "Add status reasons for TERMINATED stream sessions", + "type": "api-change" + }, + { + "category": "``geo-maps``", + "description": "Added support for optional AdditionalFeatures parameter in the V2 GetTile API.", + "type": "api-change" + }, + { + "category": "``inspector``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iot-managed-integrations``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesisanalytics``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesis-video-signaling``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``location``", + "description": "Added support for mobile app restrictions in Amazon Location API keys.", + "type": "api-change" + }, + { + "category": "``lookoutvision``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mediapackage``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mediastore``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mediastore-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``migrationhubstrategy``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mq``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``panorama``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pca-connector-ad``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``robomaker``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``route53domains``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``rtbfabric``", + "description": "Add support for custom rate limits.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added inference components model data caching feature", + "type": "api-change" + }, + { + "category": "``sagemaker-metrics``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Release 3 layer filter support in GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2,GetResourcesStatisticsV2, AutomationRule V2 APIs. Update filter casing in GetResourcesV2, GetResourcesStatisticsV2 APIs. Add new filters in GetFindingsV2, GetFindingStatisticsV2, AutomationRule V2 APIs.", + "type": "api-change" + }, + { + "category": "``servicediscovery``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``snow-device-management``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sso-oidc``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``supplychain``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``translate``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``vpc-lattice``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``wisdom``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``workspaces-thin-client``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.6.json b/.changes/1.42.6.json new file mode 100644 index 000000000000..aa618891c9e7 --- /dev/null +++ b/.changes/1.42.6.json @@ -0,0 +1,27 @@ +[ + { + "category": "``connect``", + "description": "This release adds a new API GetContactMetrics for Amazon Connect.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Add CVSSV4 to Vulnerability Search API and update enable/disable account id list length to 5", + "type": "api-change" + }, + { + "category": "``iot-data``", + "description": "Adding DeleteConnection API to IoT Data Plane", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adds support for GB200 UltraServers in Amazon SageMaker training jobs, training plans, and HyperPod clusters", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "Update documentation to use key ARN only in OutputEncryptionKMSKeyId request parameter", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.60.json b/.changes/1.42.60.json new file mode 100644 index 000000000000..f5f4c12f7c3c --- /dev/null +++ b/.changes/1.42.60.json @@ -0,0 +1,257 @@ +[ + { + "category": "``accessanalyzer``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``aiops``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``athena``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``backup-gateway``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``braket``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "Updated endpoint for eusc-de-east-1 region.", + "type": "api-change" + }, + { + "category": "``chime-sdk-identity``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``chime-sdk-media-pipelines``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codeartifact``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codeguruprofiler``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``comprehend``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``connectcampaigns``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``controltower``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``dax``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``elasticbeanstalk``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``entityresolution``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``forecast``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``greengrass``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Fixed missing SummaryMap keys in GetAccountSummary response that were being filtered out during deserialization in AWS Java SDK v2", + "type": "api-change" + }, + { + "category": "``invoicing``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "Adds support for record sizes up to 10MiB and introduces new UpdateMaxRecordSize API to modify stream record size limits. Adds record size parameters to existing CreateStream and DescribeStreamSummary APIs for request and response payloads respectively.", + "type": "api-change" + }, + { + "category": "``launch-wizard``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lex-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``managedblockchain``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mturk``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pinpoint``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``rbin``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``rds-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``rekognition``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``repostspace``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``route53profiles``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``s3vectors``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``scheduler``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``secretsmanager``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ses``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``shield``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``simspaceweaver``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``socialmessaging``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ssm-sap``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sso-admin``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``stepfunctions``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``waf-regional``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``workmailmessageflow``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.61.json b/.changes/1.42.61.json new file mode 100644 index 000000000000..0e0ec2e3a841 --- /dev/null +++ b/.changes/1.42.61.json @@ -0,0 +1,247 @@ +[ + { + "category": "``apigatewayv2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``application-signals``", + "description": "Added support for CloudWatch Synthetics Canary resources in ListAuditFindings API. This enhancement allows customers to retrieve audit findings specifically for CloudWatch Synthetics canaries and enables service-canary correlation analysis.", + "type": "api-change" + }, + { + "category": "``backupsearch``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bcm-pricing-calculator``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cleanroomsml``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloud9``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudsearchdomain``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codeconnections``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codeguru-security``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``detective``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This released the DescribeCapacityReservationTopology API.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Amazon ECS supports native linear and canary service deployments, allowing you to shift traffic in increments for more control.", + "type": "api-change" + }, + { + "category": "``efs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``elastictranscoder``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``emr-containers``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``gameliftstreams``", + "description": "Add stream group expiration date and expired status", + "type": "api-change" + }, + { + "category": "``glacier``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``groundstation``", + "description": "Enable use of AzEl ephemerides", + "type": "api-change" + }, + { + "category": "``inspector-scan``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kafkaconnect``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kendra``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesisvideo``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Added SerializedRequestEntityTooLargeException to Lambda Invoke API", + "type": "api-change" + }, + { + "category": "``marketplace-deployment``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mediapackage-vod``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``migrationhuborchestrator``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``notifications``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Added Account State field to the ListDelegatedAdministrators API response.", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``pipes``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ram``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``resource-groups``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Amazon SageMaker now supports deleting training and processing jobs in a terminal status.", + "type": "api-change" + }, + { + "category": "``sagemaker-featurestore-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``security-ir``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``servicecatalog-appregistry``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sqs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``support-app``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``taxsettings``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``trustedadvisor``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added IPv6 address support for WorkSpaces using Dual-Stack subnets", + "type": "api-change" + }, + { + "category": "``workspaces-instances``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``xray``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.62.json b/.changes/1.42.62.json new file mode 100644 index 000000000000..b2b8ff72c969 --- /dev/null +++ b/.changes/1.42.62.json @@ -0,0 +1,7 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Add support for system tool and web citation response.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.63.json b/.changes/1.42.63.json new file mode 100644 index 000000000000..11420c8589f2 --- /dev/null +++ b/.changes/1.42.63.json @@ -0,0 +1,257 @@ +[ + { + "category": "``amp``", + "description": "Add Anomaly Detection APIs for Amazon Managed Prometheus", + "type": "api-change" + }, + { + "category": "``apigateway``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``appconfig``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``appflow``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``applicationcostprofiler``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``appmesh``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``appsync``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``artifact``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``auditmanager``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Web-Bot-Auth support for AgentCore Browser tool to help reduce captcha challenges.", + "type": "api-change" + }, + { + "category": "``chime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "Added support for advanced Spark configurations to optimize SQL performance", + "type": "api-change" + }, + { + "category": "``cloudcontrol``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``clouddirectory``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudsearch``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cloudwatch``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codecatalyst``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codecommit``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``codedeploy``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``cognito-sync``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``compute-optimizer``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``connectcases``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``devops-guru``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``docdb``", + "description": "Adding FailoverState and TagList to GlobalCluster and SynchronizationStatus to GlobalClusterMember.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Amazon ECS Service Connect now supports Envoy access logs, providing deeper observability into request-level traffic patterns and service interactions.", + "type": "api-change" + }, + { + "category": "``eks-auth``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "This release adds the capability to enable User Background Sessions for customers running Trusted Identity Propagation enabled Interactive Sessions on EMR Serverless Applications.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``firehose``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``frauddetector``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``geo-places``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release adds the capability to enable User Background Sessions for customers running Trusted Identity Propagation enabled Interactive Sessions on AWS Glue.", + "type": "api-change" + }, + { + "category": "``greengrassv2``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iotevents-data``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``iot-managed-integrations``", + "description": "Add a new GetManagedThingCertificate API to expose Iot ManagedIntegrations (MI) device certificate, and add \"-\" support for name, properties, actions and events in the CapabilityReportCapability object.", + "type": "api-change" + }, + { + "category": "``keyspacesstreams``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "Add cross account VPC endpoint service connectivity support to CustomKeyStore.", + "type": "api-change" + }, + { + "category": "``license-manager-linux-subscriptions``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``marketplace-reporting``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``neptune``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``rtbfabric``", + "description": "RTB Fabric documentation update.", + "type": "api-change" + }, + { + "category": "``s3outposts``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sagemaker-runtime``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``schemas``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``serverlessrepo``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``servicecatalog``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sso``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sts``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.64.json b/.changes/1.42.64.json new file mode 100644 index 000000000000..5a8e1e8053d1 --- /dev/null +++ b/.changes/1.42.64.json @@ -0,0 +1,112 @@ +[ + { + "category": "``connectcases``", + "description": "Added two new case rule types: Parent Child Field Options (restricts child field options based on parent field value) and Hidden (controls child field visibility based on parent field value). Both enable dynamic field behavior within templates.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon VPC IP Address Manager (IPAM) now supports automated prefix list management, allowing you to create rules that automatically populate customer-managed prefix lists with CIDRs from your IPAM pools or AWS resources based on tags, Regions, or other criteria.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``fms``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``health``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Add Python3.14 (python3.14) and Java 25 (java25) support to AWS Lambda", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``marketplace-catalog``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "Adds SlowPalPitchCorrection to audio pitch correction settings. Enables opacity for VideoOverlays. Adds REMUX_ALL option to enable multi-rendition passthrough to VideoSelector for allow listed accounts.", + "type": "api-change" + }, + { + "category": "``omics``", + "description": "Added WDL_LENIENT engine type that enables implicit typecasting of variable values to its compatible declared types", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "Allow additional characters in the CertificateSubject for GetCertificateSigningRequest API.", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``resourcegroupstaggingapi``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Allow update of platform identifier via UpdateNotebookInstance operation.", + "type": "api-change" + }, + { + "category": "``savingsplans``", + "description": "Add dual-stack endpoint support for Savings Plans", + "type": "api-change" + }, + { + "category": "``snowball``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``ssm-quicksetup``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``textract``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + }, + { + "category": "``waf``", + "description": "Update endpoint ruleset parameters casing", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.65.json b/.changes/1.42.65.json new file mode 100644 index 000000000000..4c2e75a96450 --- /dev/null +++ b/.changes/1.42.65.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-agentcore-control``", + "description": "Adds support for direct code deploy with CreateAgentRuntime and UpdateAgentRuntime", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Fix the AWS Budgets endpoint for the aws-eusc partition.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add Amazon EC2 trn2.3xlarge instance type.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Documentation-only update for LINEAR and CANARY deployment strategies.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "Adds support for MinimumThroughputBillingCommitment with new UpdateAccountSettings API. Adds support to configure warm throughput for on-demand streams in new UpdateStreamWarmThroughput API and existing CreateStream API and UpdateStreamMode API.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.66.json b/.changes/1.42.66.json new file mode 100644 index 000000000000..336e5a46dacd --- /dev/null +++ b/.changes/1.42.66.json @@ -0,0 +1,7 @@ +[ + { + "category": "``pinpoint-sms-voice-v2``", + "description": "This release adds support for the CarrierLookup API, which returns information about a destination phone number including if the number is valid, the carrier, and more.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.67.json b/.changes/1.42.67.json new file mode 100644 index 000000000000..c4e7ddb9d6cd --- /dev/null +++ b/.changes/1.42.67.json @@ -0,0 +1,42 @@ +[ + { + "category": "``cloudfront``", + "description": "This release adds new and updated API operations. You can now use the IpAddressType field to specify either ipv4 or dualstack for your Anycast static IP list. You can also enable cross-account resource sharing to share your VPC origins with other AWS accounts", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Added support for Project Resource Tags", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds AvailabilityZoneId support for DescribeFastSnapshotRestores, DisableFastSnapshotRestores, and EnableFastSnapshotRestores APIs.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Amazon FSx now enables secure management of Active Directory credentials through AWS Secrets Manager integration. Customers can use Secret ARNs instead of direct credentials when joining resources to Active Directory domains.", + "type": "api-change" + }, + { + "category": "``groundstation``", + "description": "Introduce CreateDataflowEndpointGroupV2 action", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Launch IPv6 dual-stack support for S3 Express", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Add new fields in SageMaker Hyperpod DescribeCluster API response: TargetStateCount, SoftwareUpdateStatus and ActiveSoftwareDeploymentConfig to provide AMI update progress visibility .", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.68.json b/.changes/1.42.68.json new file mode 100644 index 000000000000..3de684ed41c5 --- /dev/null +++ b/.changes/1.42.68.json @@ -0,0 +1,57 @@ +[ + { + "category": "``accessanalyzer``", + "description": "New field totalActiveErrors added to getFindingsStatistics response.", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "AWS Backup now supports customer-managed keys (CMK) for logically air-gapped vaults, enabling customers to maintain full control over their encryption key lifecycle. This feature helps organizations meet specific internal governance requirements or external regulatory compliance standards.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Added support for Conditional Questions in Evaluation Forms. Introduced Auto Evaluation capability for Evaluation Forms and Contact Evaluations. Added new API operations: SearchEvaluationForms and SearchContactEvaluations.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add Amazon EC2 R8a instance types", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Amazon GameLift Servers now supports game builds that use the Windows 2022 operating system.", + "type": "api-change" + }, + { + "category": "``identitystore``", + "description": "IdentityStore API: added new KMSExceptionReason fields to the Exception object; added multiple new fields to the User APIs - UserStatus, Birthdate, Website and Photos; added multiple new metadata fields for User, Groups and Membership APIs - CreatedAt, CreatedBy, UpdatedAt and UpdatedBy.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Support for New Data Prep Experience", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "Adds support for tagging APIs for S3 Tables", + "type": "api-change" + }, + { + "category": "``s3vectors``", + "description": "Amazon S3 Vectors provides cost-effective, elastic, and durable vector storage for queries based on semantic meaning and similarity.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added NodeProvisioningMode parameter to UpdateCluster API to determine how instance provisioning is handled during cluster operations; in Continuous mode. Added VpcId field in UpdateDomain request for SageMaker Unified Studio domains with no VPC to add a customer VPC.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Provides NoLongerSupportedException error message", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.69.json b/.changes/1.42.69.json new file mode 100644 index 000000000000..77b2f7d8abe4 --- /dev/null +++ b/.changes/1.42.69.json @@ -0,0 +1,27 @@ +[ + { + "category": "``controltower``", + "description": "Added Parent Identifier support to ListEnabledControls and GetEnabledControl API. Implemented RemediationType support for Landing Zone operations: CreateLandingZone, UpdateLandingZone and GetLandingZone APIs", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds PrivateDnsPreference and PrivateDnsSpecifiedDomains to control private DNS resolution for resource and service network VPC endpoints and IpamScopeExternalAuthorityConfiguration to integrate Amazon VPC IPAM with a third-party IPAM service", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "Added support for new ECC_NIST_EDWARDS25519 AWS KMS key spec", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This release introduces the Default Application feature, allowing users to set, change, or unset a preferred OpenSearch UI application on a per-region basis for a streamlined and consistent user experience.", + "type": "api-change" + }, + { + "category": "``vpc-lattice``", + "description": "Amazon VPC Lattice now supports custom domain name for resource configurations", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.7.json b/.changes/1.42.7.json new file mode 100644 index 000000000000..03981a835666 --- /dev/null +++ b/.changes/1.42.7.json @@ -0,0 +1,47 @@ +[ + { + "category": "``bedrock``", + "description": "This release includes model updates and enhanced SDK documentation for union fields in automated reasoning policy components. Added docs cover policy definitions, mutations (add/update for rules/types/variables), build assets, workflow sources, test results, and tag exception handling.", + "type": "api-change" + }, + { + "category": "``cognito-idp``", + "description": "Remove SigV4 auth requirement for GetTokensFromRefreshToken", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Updating SearchUserHierarchyGroups API", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "Adds support for Wait and Save feature in service-managed fleets", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds AvailabilityZoneId support for CreateVolume, DescribeVolume, LaunchTemplates, RunInstances, DescribeInstances, CreateDefaultSubnet, SpotInstances, and CreateDefaultSubnet APIs.", + "type": "api-change" + }, + { + "category": "``evs``", + "description": "Update for general availability of Amazon Elastic VMware Service (EVS).", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Doc-only update for Lambda that updates the maximum payload size for response streaming invocations to 200 MB.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Add RowAxisDisplayOptions and ColumnAxisDisplayOptions to HeatMapConfiguration, add Actions to PluginVisual, increase limit for CalculatedFields list", + "type": "api-change" + }, + { + "category": "``sso-admin``", + "description": "Added support for managing user background session for applications", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.70.json b/.changes/1.42.70.json new file mode 100644 index 000000000000..8248d163609b --- /dev/null +++ b/.changes/1.42.70.json @@ -0,0 +1,72 @@ +[ + { + "category": "``acm-pca``", + "description": "Private Certificate Authority service now supports ML-DSA key algorithms.", + "type": "api-change" + }, + { + "category": "``appstream``", + "description": "AWS Appstream support for IPv6", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "AWS Backup supports backups of Amazon EKS clusters, including Kubernetes cluster state and persistent storage attached to the EKS cluster via a persistent volume claim (EBS volumes, EFS file systems, and S3 buckets).", + "type": "api-change" + }, + { + "category": "``braket``", + "description": "Adds ExperimentalCapabilities field to CreateQuantumTask request and GetQuantumTask response objects. Enables use of experimental software capabilities when creating quantum tasks.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Remove trackingServerName from DataZone Connection MLflowProperties", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "Cluster endpoint added to CreateCluster and GetCluster API responses", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon EC2 Fleet customers can now filter instance types based on encryption-in-transit support using Attribute-Based Instance Type Selection (ABIS), eliminating the manual effort of identifying and selecting compatible instance types for security-sensitive workloads.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Include tags filed in CreatePublishingDestinationRequest and DescribePublishingDestinationResponse.", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Added CreateDelegationRequest API, which is not available for general use at this time.", + "type": "api-change" + }, + { + "category": "``invoicing``", + "description": "Added new invoicing get-invoice-pdf API Operation", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "Amazon MSK now supports intelligent rebalancing for MSK Express brokers.", + "type": "api-change" + }, + { + "category": "``sts``", + "description": "Added GetDelegatedAccessToken API, which is not available for general use at this time.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Amazon Verified Permissions / Features : Adds support for entity Cedar tags.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "AWS WAF now supports CLOUDWATCH_TELEMETRY_RULE_MANAGED as a LogScope option, enabling automated logging configuration through Amazon CloudWatch Logs for telemetry data collection and analysis.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.71.json b/.changes/1.42.71.json new file mode 100644 index 000000000000..d623bf566244 --- /dev/null +++ b/.changes/1.42.71.json @@ -0,0 +1,37 @@ +[ + { + "category": "``batch``", + "description": "Documentation-only update: update API and doc descriptions per EKS ImageType default value switch from AL2 to AL2023.", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Added support for Language Expansion feature for BDA Audio modality.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "AWS Site-to-Site VPN now supports VPN connections with up to 5 Gbps bandwidth per tunnel, a 4x improvement from existing limit of 1.25 Gbps.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``medical-imaging``", + "description": "Added new fields in existing APIs.", + "type": "api-change" + }, + { + "category": "``rtbfabric``", + "description": "Added LogSettings and LinkAttribute fields to external links", + "type": "api-change" + }, + { + "category": "``security-ir``", + "description": "Added support for configuring communication preferences as well as clearly displaying case comment author identities.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.72.json b/.changes/1.42.72.json new file mode 100644 index 000000000000..1040be338b55 --- /dev/null +++ b/.changes/1.42.72.json @@ -0,0 +1,42 @@ +[ + { + "category": "``amp``", + "description": "Add VPC source configuration support enabling Amazon Managed Service for Prometheus Collector to collect metrics from MSK clusters.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Updated Authentication Profile APIs to add support for automatic logout on user inactivity", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Added support of SQL statements creation, metadata model discovery and selection rules transformation.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release expands ALB Authentication to support JWT verification and adds support for a new JWT validation action in listener rule.", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Added GetIdentityCenterAuthToken API to retrieve encrypted authentication tokens for Identity Center integrated applications. This API enables programmatic access to secure Identity Center tokens with proper error handling and parameter validation across supported SDK languages.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "Adds support for request metrics metrics APIs for S3 Tables", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Add support for trn2.3xlarge instance type for SageMaker Hyperpod", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.73.json b/.changes/1.42.73.json new file mode 100644 index 000000000000..0da130f3c3b6 --- /dev/null +++ b/.changes/1.42.73.json @@ -0,0 +1,57 @@ +[ + { + "category": "``cloudformation``", + "description": "CloudFormation now supports GetHookResult API with annotations to retrieve structured compliance check results and remediation guidance for each evaluated resource, replacing the previous single-message limitation with detailed validation outcomes.", + "type": "api-change" + }, + { + "category": "``controlcatalog``", + "description": "Added support for related control mappings with new RELATED_CONTROL mapping type in ListControlMappings API.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Added support for new accelerator types (\"media\") and accelerator names (\"L4\", \"L40s\", \"GAUDI_HL_205\", \"INFERENTIA2\", \"TRAINIUM\", \"TRAINIUM2\", \"U30\") in Attributes Based Instance Type Selection for launched instance types.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Add Amazon ECR FIPS PrivateLink endpoint support", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "QUIC and TCP_QUIC protocol support for Network Load Balancer (NLB). This capability enables customers to forward QUIC traffic to their targets with ultra-low latency while maintaining session stickiness using QUIC Connection IDs.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "Integration of Device Location with Amazon Sidewalk network for Amazon Sidewalk enabled devices", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "Lowers minimum duration for black video generator. Adds support for embedding and signing C2PA content credentials in DASH and CMAF HLS outputs.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Updated endpoint and service metadata", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added support for minor version upgrades and AWS Identity Center integration for SageMaker Hadron Partner Apps, enabling automated version management and IdC group-based access control.", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Support for managing web content filtering for defining, tracking and regulating type of content accessed with WorkSpaces Secure Browser as part of browser settings.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.74.json b/.changes/1.42.74.json new file mode 100644 index 000000000000..7456fb85d157 --- /dev/null +++ b/.changes/1.42.74.json @@ -0,0 +1,22 @@ +[ + { + "category": "``datazone``", + "description": "Adds support for granting read and write access to Amazon S3 general purpose buckets using CreateSubscriptionRequest and AcceptSubscriptionRequest APIs. Also adds search filters for SSOUser and SSOGroup to ListSubscriptions APIs and deprecates \"sortBy\" parameter for ListSubscriptions APIs.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "EC2 Image Builder now supports invoking Lambda functions and executing Step Functions state machine through image workflows.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Removed all the value constraint (min/max) for the shape definitions (e.g. integerMin0Max3600) on the C2j models to get rid of the need to request an exemption from the SDK team whenever a shape definition (e.g. integerMin0Max3600) is changed.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.75.json b/.changes/1.42.75.json new file mode 100644 index 000000000000..d69fb5a3bb41 --- /dev/null +++ b/.changes/1.42.75.json @@ -0,0 +1,82 @@ +[ + { + "category": "``appstream``", + "description": "Adding support for additional instances and extended storage", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "AWS Backup now supports specifying a logically air-gapped backup vault as a primary backup target in backup plans and on-demand backup jobs.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Automated Reasoning checks in Amazon Bedrock Guardrails now automatically generate Q&A tests for new Automated Reasoning policies. The GetAutomatedReasoningPolicyBuildWorkflowResultAssets API adds GENERATED_TEST_CASES asset type, allowing customers to retrieve tests generated by the build workflow.", + "type": "api-change" + }, + { + "category": "``devicefarm``", + "description": "This release adds support for interacting with devices during a remote access session using the remoteDriverEndpoint interface", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "This release introduces the SAP ASE(Sybase) Data Provider for AWS Data Migration Service (DMS). In addition, DMS Schema Conversion now supports this provider, enabling customers to migrate SAP ASE(Sybase) databases to Amazon RDS for PostgreSQL or Aurora PostgreSQL seamlessly.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Amazon Glue Releasing 2 the new API ListIntegrationResourceProperties and DeleteIntegrationResourceProperty along with minor improvement on existing API(s).", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Add S3 On-Demand Object Scanning", + "type": "api-change" + }, + { + "category": "``lexv2-models``", + "description": "Adds support for LLM as Primary, allowing usage of LLMs as the default NLU system.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Adds configurations for spatial/temporal adaptive quantization in AV1 codec, and conversion to HLG output color space in H265 codec.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "Add support for SCTE messages in Segment file output", + "type": "api-change" + }, + { + "category": "``mwaa-serverless``", + "description": "Amazon MWAA now offers serverless deployment, eliminating operational overhead while optimizing costs. The service supports YAML and Python-based workflows, with 80+ AWS Operators. It provides isolated execution, IAM permissions, and automatic scaling with pay-per-use pricing.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "This release adds index operation APIs to support Automatic Semantic Enrichment feature", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Added support for the managed Slurm REST API endpoint", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Adding DICTIONARY_DGA to dns-threat-protection as a new enum type. Customers can now set rules for dictionary dga protection", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.76.json b/.changes/1.42.76.json new file mode 100644 index 000000000000..8590fd57c651 --- /dev/null +++ b/.changes/1.42.76.json @@ -0,0 +1,62 @@ +[ + { + "category": "``autoscaling``", + "description": "This release adds the new LaunchInstances API, which can launch instances synchronously in an AutoScaling group. The API also returns instances info and launch error back immediately.", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "AWS Backup now supports a low-cost warm storage tier for Amazon S3 backup data.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Amazon Bedrock Runtime Service Tier Support Launch", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "New CloudFormation DescribeEvents API with operation ID tracking and failure filtering capabilities to quickly identify root causes of deployment failures. Also, a DeploymentMode parameter for the CreateChangeSet API that enables creation of drift-aware change sets for safe drift management.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This release added support for ring timer configuration for campaign calls.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises.", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature.", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "Amazon MSK adds three new APIs, ListTopics, DescribeTopic, and DescribeTopicPartitions for viewing Kafka topics in your MSK clusters.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "CloudWatch Logs updates: Added capability to setup a recurring schedule for log insights queries. Logs introduced Scheduled Queries (managed through Create/Update/Get/Delete/List/History Scheduled Query APIs). For more information, see CloudWatch Logs API documentation.", + "type": "api-change" + }, + { + "category": "``resourcegroupstaggingapi``", + "description": "Add support for new ListRequiredTags API used to retrieve the required tags specified in a customer's effective tag policy.", + "type": "api-change" + }, + { + "category": "``storagegateway``", + "description": "Adds support for European Sovereign Cloud ARNs in Storage Gateway API parameters.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "AssociateWebACL, UpdateWebACL and PutLoggingConfiguration will now throw WAFFeatureNotIncludedInPricingPlanException when the request contains a feature that is not included in the CloudFront pricing plan of the WebACL.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.8.json b/.changes/1.42.8.json new file mode 100644 index 000000000000..26ca68db063b --- /dev/null +++ b/.changes/1.42.8.json @@ -0,0 +1,32 @@ +[ + { + "category": "``backupsearch``", + "description": "Using recommended smithy trait to generate regional endpoints for Backup Search", + "type": "api-change" + }, + { + "category": "``codebuild``", + "description": "AWS CodeBuild now supports PullRequestBuildPolicy in webhook object.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Release to allow route table association with a PublicIpv4Pool.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "This release introduces 2 new APIs in Organizations: 1. ListAccountsWithInvalidEffectivePolicy 2. ListEffectivePolicyValidationErrors", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "IAM Identity Center trusted identity propagation is now supported in SageMaker Studio.", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "AWS HealthScribe now supports specifying preferred patient pronouns through the MedicalScribeContext parameter for use in the generated clinical notes.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.42.9.json b/.changes/1.42.9.json new file mode 100644 index 000000000000..ba540b1f8553 --- /dev/null +++ b/.changes/1.42.9.json @@ -0,0 +1,37 @@ +[ + { + "category": "``braket``", + "description": "Add support for Braket program sets.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Adds support for account pools and project profile account decoupling", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Add Dual-Stack support for Amazon FSx for OpenZFS file systems", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Add Tagging Support for Opportunity resources", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "This release introduces compute quota for GPU, Trainium accelerators, vCPU, and vCPU memory utilization across teams in HyperPod clusters", + "type": "api-change" + }, + { + "category": "``security-ir``", + "description": "Added support for Organizational Unit-level Membership configuration and the ability to resume a cancelled membership.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Correct Scan and Scanned Count values when resuming a scan or query with a ``--starting-token``", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.43.0.json b/.changes/1.43.0.json new file mode 100644 index 000000000000..0d70312340d3 --- /dev/null +++ b/.changes/1.43.0.json @@ -0,0 +1,202 @@ +[ + { + "category": "``apigateway``", + "description": "API Gateway now supports response streaming and new security policies for REST APIs and custom domain names.", + "type": "api-change" + }, + { + "category": "``apigatewayv2``", + "description": "Support for API Gateway portals and portal products.", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "Amazon GuardDuty Malware Protection now supports AWS Backup, extending malware detection capabilities to EC2, EBS, and S3 backups.", + "type": "api-change" + }, + { + "category": "``bcm-pricing-calculator``", + "description": "Add GroupSharingPreference, CostCategoryGroupSharingPreferenceArn, and CostCategoryGroupSharingPreferenceEffectiveDate to Bill Estimate. Add GroupSharingPreference and CostCategoryGroupSharingPreferenceArn to Bill Scenario.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "This release includes support for Search Results.", + "type": "api-change" + }, + { + "category": "``billing``", + "description": "Added name filtering support to ListBillingViews API through the new names parameter to efficiently filter billing views by name.", + "type": "api-change" + }, + { + "category": "``billingconductor``", + "description": "This release adds support for Billing Transfers, enabling management of billing transfers with billing groups on AWS Billing Conductor.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "Add support for COST_CATEGORY, TAG, and LINKED_ACCOUNT AWS managed cost anomaly detection monitors", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "AWS CloudTrail now supports Insights for data events, expanding beyond management events to automatically detect unusual activity on data plane operations.", + "type": "api-change" + }, + { + "category": "``connectcampaignsv2``", + "description": "This release added support for ring timer configuration for campaign calls.", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "Release ListEfficiencyMetrics API", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Amazon DataZone now supports business metadata (readme and metadata forms) at the individual attribute (column) level, a new rule type for glossary terms, and the ability to update the owner of the root domain unit.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Extended Global Secondary Index (GSI) composite keys to support up to 8 attributes.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Add support for ECR archival storage class and Inspector org policy for scanning", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Added support for Amazon ECS Managed Instances infrastructure optimization configuration.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Add CloudWatch Logs integration for Spark driver, executor and step logs", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "Adding File Server Resource Manager configuration to FSx Windows", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Add support for scanning and viewing scan results for backup resource types", + "type": "api-change" + }, + { + "category": "``health``", + "description": "Adds actionability and personas properties to Health events exposed through DescribeEvents, DescribeEventsForOrganization, DescribeEventDetails, and DescribeEventTypes APIs. Adds filtering by actionabilities and personas in EventFilter, OrganizationEventFilter, EventTypeFilter.", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "This release introduces BLOCKED_BY_ORGANIZATION_POLICY error code and IMAGE_ARCHIVED scanStatusReason. BLOCKED_BY_ORGANIZATION_POLICY error code is returned when an operation is blocked by an AWS Organizations policy. IMAGE_ARCHIVED scanStatusReason is returned when an Image is archived in ECR.", + "type": "api-change" + }, + { + "category": "``invoicing``", + "description": "Add support for adding Billing transfers in Invoice configuration", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Added support for creating and invoking Tenant Isolated functions in AWS Lambda APIs.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "Adding support for ocsf version 1.5, add optional parameter MappingVersion", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "This release adds support for global routing in AWS Elemental MediaConnect. You can now use router inputs and router outputs to manage global video and audio routing workflows both within the AWS-Cloud and over the public internet.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "MediaLive is adding support for MediaConnect Router by supporting a new input type called MEDIACONNECT_ROUTER. This new input type will provide seamless encrypted transport between MediaConnect Router and your MediaLive channel.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "Partner Managed Rulegroup feature support", + "type": "api-change" + }, + { + "category": "``networkflowmonitor``", + "description": "Added new enum value (AWS::EKS::Cluster) for type field under MonitorLocalResource", + "type": "api-change" + }, + { + "category": "``partnercentral-channel``", + "description": "Initial GA launch of Partner Central Channel", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Add dual-stack endpoint support for Route53", + "type": "api-change" + }, + { + "category": "``rum``", + "description": "CloudWatch RUM now supports mobile application monitoring for Android and iOS platforms", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Adds support for blocking SSE-C writes to general purpose buckets.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added support for enhanced metrics for SageMaker AI Endpoints. This features provides Utilization Metrics at instance and container granularity and also provides easy configuration of metric publish frequency from 10 sec -> 5 mins", + "type": "api-change" + }, + { + "category": "``secretsmanager``", + "description": "Adds support to create, update, retrieve, rotate, and delete managed external secrets.", + "type": "api-change" + }, + { + "category": "``signin``", + "description": "AWS Sign-In manages authentication for AWS services. This service provides secure authentication flows for accessing AWS resources from the console and developer tools. This release adds the CreateOAuth2Token API, which can be used to fetch OAuth2 access tokens and refresh tokens from Sign-In.", + "type": "api-change" + }, + { + "category": "``stepfunctions``", + "description": "Adds support to TestState for mocked results and exceptions, along with additional inspection data.", + "type": "api-change" + }, + { + "category": "``sts``", + "description": "IAM now supports outbound identity federation via the STS GetWebIdentityToken API, enabling AWS workloads to securely authenticate with external services using short-lived JSON Web Tokens.", + "type": "api-change" + }, + { + "category": "credentials", + "description": "Adds support for the login credential provider, allowing users to use AWS Management Console credentials for authentication.", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.43.1.json b/.changes/1.43.1.json new file mode 100644 index 000000000000..350a4274b611 --- /dev/null +++ b/.changes/1.43.1.json @@ -0,0 +1,167 @@ +[ + { + "category": "``application-signals``", + "description": "Amazon CloudWatch Application Signals now supports un-instrumented services discovery, cross-account views, and change history, helping SRE and DevOps teams monitor and troubleshoot their large-scale distributed applications.", + "type": "api-change" + }, + { + "category": "``autoscaling``", + "description": "This release adds support for three new features: 1) Image ID overrides in mixed instances policy, 2) Replace Root Volume - a new strategy for Instance Refresh, and 3) Instance Lifecycle Policy for enhanced instance lifecycle management.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore``", + "description": "Bedrock AgentCore Memory release for redriving memory extraction jobs (StartMemoryExtractionJob and ListMemoryExtractionJob)", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Added support for Synchronous project type and PII Detection and Redaction", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation-runtime``", + "description": "Bedrock Data Automation Runtime Sync API", + "type": "api-change" + }, + { + "category": "``braket``", + "description": "Add support for Braket spending limits.", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Add BillingViewHealthStatusException to DescribeBudgetPerformanceHistory and ServiceQuotaExceededException to UpdateBudget for improved error handling with Billing Views.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "This release adds support for bring your own IP (BYOIP) to CloudFront's CreateAnycastIpList API through an optional IpamCidrConfigs field.", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "AWS launches CloudTrail aggregated events to simplify monitoring of data events at scale. This feature delivers both granular and summarized data events for resources like S3/Lambda, helping security teams identify patterns without custom aggregation logic.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Add optional ability to exclude users from send notification actions for Contact Lens Rules.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "The partition value \"aws-eusc\" is now permitted for ARN (Amazon Resource Name) fields.", + "type": "api-change" + }, + { + "category": "``devicefarm``", + "description": "Add support for environment variables and an IAM execution role.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Added support for customer-managed KMS key (CMK) for encryption for import private key certificate. Additionally added Amazon SageMaker Lakehouse endpoint used for zero-ETL integrations with data warehouses.", + "type": "api-change" + }, + { + "category": "``dsql``", + "description": "Added clusterVpcEndpoint field to GetVpcEndpointServiceName API response, returning the VPC connection endpoint for the cluster", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Launching Amazon ECS Express Mode - a new feature that enables developers to quickly launch highly available, scalable containerized applications with a single command.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release adds the target optimizer feature in ALB, enabling strict concurrency enforcement on targets.", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Add support for configuring S3 destination for step logs on a per-step basis.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Added FunctionType parameter to Glue GetuserDefinedFunctions.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "EC2 Image Builder now enables the distribution of existing AMIs, retry distribution, and define distribution workflows. It also supports automatic versioning for recipes and components, allowing automatic version increments and dynamic referencing in pipelines.", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "Kinesis Data Streams now supports up to 50 Enhance Fan-out consumers for On-demand Advantage Streams. On-demand Standard and Provisioned streams will continue with the existing limit of 20 consumers for Enhanced Fan-out.", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "Added ServiceIntegrations as a request parameter for CreateLakeFormationIdentityCenterConfigurationRequest and UpdateLakeFormationIdentityCenterConfigurationRequest and response parameter for DescribeLakeFormationIdentityCenterConfigurationResponse", + "type": "api-change" + }, + { + "category": "``license-manager``", + "description": "Added cross-account resource aggregation via license asset groups and expiry tracking for Self-Managed Licenses. Extended Org-Wide View to Self-Managed Licenses, added reporting for license asset groups, and removed Athena/Glue dependencies for cross-account resource discovery in commercial regions.", + "type": "api-change" + }, + { + "category": "``networkmanager``", + "description": "This release adds support for Cloud WAN Routing Policy providing customers sophisticated routing controls to better manage their global networks", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Added new APIs for Billing Transfer, new policy type INSPECTOR_POLICY, and allow an account to transfer between organizations", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Introducing comprehensive theme styling controls. New features include border customization (radius, width, color), flexible padding controls, background styling for cards and sheets, centralized typography management, and visual-level override support across layouts.", + "type": "api-change" + }, + { + "category": "``rbin``", + "description": "Add support for EBS volume in Recycle Bin", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Add support for VPC Encryption Controls.", + "type": "api-change" + }, + { + "category": "``redshift-data``", + "description": "Increasing the length limit of Statement Name from 500 to 2048.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Enable / Disable ABAC on a general purpose bucket.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added training plan support for inference endpoints. Added HyperPod task governance with accelerator partition-based quota allocation. Added BatchRebootClusterNodes and BatchReplaceClusterNodes APIs. Updated ListClusterNodes to include privateDnsHostName.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Release Findings and Resources Trends APIs- GetFindingsTrendsV2 and GetResourcesTrendsV2. This supports time-series aggregated counts with composite filtering for 1-year of historical data analysis of Findings and Resources.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.10.json b/.changes/1.43.10.json new file mode 100644 index 000000000000..07b2792af205 --- /dev/null +++ b/.changes/1.43.10.json @@ -0,0 +1,27 @@ +[ + { + "category": "``ecs``", + "description": "Updating stop-task API to encapsulate containers with custom stop signal", + "type": "api-change" + }, + { + "category": "``iam``", + "description": "Adding the ExpirationTime attribute to the delegation request resource.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "This release adds a new ScanStatus called \"Unsupported Code Artifacts\". This ScanStatus will be returned when a Lambda function was not code scanned because it has unsupported code artifacts.", + "type": "api-change" + }, + { + "category": "``partnercentral-account``", + "description": "Adding Verification API's to Partner Central Account SDK.", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Updating the desired url for `PutEmailIdentityDkimSigningAttributes` from v1 to v2", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.11.json b/.changes/1.43.11.json new file mode 100644 index 000000000000..769f8d4b3e0a --- /dev/null +++ b/.changes/1.43.11.json @@ -0,0 +1,42 @@ +[ + { + "category": "``ce``", + "description": "Add support for Cost Category resource associations including filtering by resource type on ListCostCategoryDefinitions and new ListCostCategoryResourceAssociations API.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz.", + "type": "api-change" + }, + { + "category": "``identitystore``", + "description": "Updating AWS Identity Store APIs to support Attribute Extensions capability, with the first release adding Enterprise Attributes. This launch aligns Identity Store APIs with SCIM for enterprise attributes, reducing cases when customers are forced to use SCIM due to lack of SigV4 API support.", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Deal Sizing Service for AI-based deal size estimation with AWS service-level breakdown, supporting Expansion and Migration deals across Technology, and Reseller partner cohorts, including Pricing Calculator AddOn for MAP deals and funding incentives.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Adding support for tagging RDS Instance/Cluster Automated Backups", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Added GetIdentityCenterAuthToken API to retrieve encrypted authentication tokens for Identity Center integrated serverless workgroups. This API enables programmatic access to secure Identity Center tokens with proper error handling and parameter validation across supported SDK languages.", + "type": "api-change" + }, + { + "category": "``rolesanywhere``", + "description": "Increases certificate string length for trust anchor source data to support ML-DSA certificates.", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Update Mail Manager Archive ARN validation", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.12.json b/.changes/1.43.12.json new file mode 100644 index 000000000000..9a3faab20879 --- /dev/null +++ b/.changes/1.43.12.json @@ -0,0 +1,37 @@ +[ + { + "category": "``account``", + "description": "This release adds a new API (GetGovCloudAccountInformation) used to retrieve information about a linked GovCloud account from the standard AWS partition.", + "type": "api-change" + }, + { + "category": "``appsync``", + "description": "Update Event API to require EventConfig parameter in creation and update requests.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Adding support for Ec2LaunchTemplate Version field", + "type": "api-change" + }, + { + "category": "``ivs-realtime``", + "description": "Token Exchange introduces seamless token exchange capabilities for IVS RTX, enabling customers to upgrade or downgrade token capabilities and update token attributes within the IVS client SDK without forcing clients to disconnect and reconnect.", + "type": "api-change" + }, + { + "category": "``mgn``", + "description": "Added parameters encryption, IPv4/IPv6 protocol configuration, and enhanced tagging support for replication operations.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Amazon Route 53 now supports the EU (Germany) Region (eusc-de-east-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.13.json b/.changes/1.43.13.json new file mode 100644 index 000000000000..8b9da489b688 --- /dev/null +++ b/.changes/1.43.13.json @@ -0,0 +1,37 @@ +[ + { + "category": "``bedrock``", + "description": "Automated Reasoning checks in Amazon Bedrock Guardrails is capable of generating policy scenarios to validate policies. The GetAutomatedReasoningPolicyBuildWorkflowResultAssets API now adds POLICY SCENARIO asset type, allowing customers to retrieve scenarios generated by the build workflow.", + "type": "api-change" + }, + { + "category": "``billingconductor``", + "description": "Launch itemized custom line item and service line item filter", + "type": "api-change" + }, + { + "category": "``cloudwatch``", + "description": "This release introduces two additional protocols AWS JSON 1.1 and Smithy RPC v2 CBOR, replacing the currently utilized one, AWSQuery. AWS SDKs will prioritize the protocol that is the most performant for each language.", + "type": "api-change" + }, + { + "category": "``odb``", + "description": "The following APIs now return CloudExadataInfrastructureArn and OdbNetworkArn fields for improved resource identification and AWS service integration - GetCloudVmCluster, ListCloudVmClusters, GetCloudAutonomousVmCluster, and ListCloudAutonomousVmClusters.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "The CreateApplication API now supports an optional kms key arn parameter to allow customers to specify a CMK for application encryption.", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Adds support for the new Project.AwsPartition field on Opportunity and AWS Opportunity Summary. Use this field to specify the AWS partition where the opportunity will be deployed.", + "type": "api-change" + }, + { + "category": "``signer``", + "description": "Adds support for Signer GetRevocationStatus with updated endpoints", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.14.json b/.changes/1.43.14.json new file mode 100644 index 000000000000..0fca97a8f323 --- /dev/null +++ b/.changes/1.43.14.json @@ -0,0 +1,27 @@ +[ + { + "category": "``lambda``", + "description": "Add Dotnet 10 (dotnet10) support to AWS Lambda.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Add support for policy operations on the NETWORK SECURITY DIRECTOR POLICY policy type.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "This release adds new GetIdentityContext API, Dashboard customization options for tables and pivot tables, Visual styling options- borders and decals, map GeocodingPreferences, KeyPairCredentials for DataSourceCredentials. Snapshot APIs now support registered users. Parameters limit increased to 400", + "type": "api-change" + }, + { + "category": "``secretsmanager``", + "description": "Add SortBy parameter to ListSecrets", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Update GetEmailIdentity and CreateEmailIdentity response to include SigningHostedZone in DkimAttributes. Updated PutEmailIdentityDkimSigningAttributes Response to include SigningHostedZone.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.15.json b/.changes/1.43.15.json new file mode 100644 index 000000000000..8b2e9510b706 --- /dev/null +++ b/.changes/1.43.15.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bcm-recommended-actions``", + "description": "Added new freetier action types to RecommendedAction.type.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect now offers automated post-chat surveys triggered when customers end conversations. This captures timely feedback while experience is fresh, using either a no-code form builder or Amazon Lex-powered interactive surveys.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "Adds Enhanced mode support for NFS and SMB locations. SMB credentials are now managed via Secrets Manager, and may be encrypted with service or customer managed keys. Increases AgentArns maximum count to 8 (max 4 per TaskMode). Adds folder counters to DescribeTaskExecution for Enhanced mode tasks.", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Adds support for portal branding customization, enabling administrators to personalize end-user portals with custom assets.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.2.json b/.changes/1.43.2.json new file mode 100644 index 000000000000..7bd76869a4cf --- /dev/null +++ b/.changes/1.43.2.json @@ -0,0 +1,177 @@ +[ + { + "category": "``apigateway``", + "description": "API Gateway supports VPC link V2 for REST APIs.", + "type": "api-change" + }, + { + "category": "``athena``", + "description": "Introduces Spark workgroup features including log persistence, S3/CloudWatch delivery, UI and History Server APIs, and SparkConnect 3.5.6 support. Adds DPU usage limits at workgroup and query levels as well as DPU usage tracking for Capacity Reservation queries to optimize performance and costs.", + "type": "api-change" + }, + { + "category": "``bedrock``", + "description": "Add support to automatically enforce safeguards across accounts within an AWS Organization.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Support for agentcore gateway interceptor configurations and NONE authorizer type", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation-runtime``", + "description": "Adding new fields to GetDataAutomationStatus: jobSubmissionTime, jobCompletionTime, and jobDurationInSeconds", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Add support to automatically enforce safeguards across accounts within an AWS Organization.", + "type": "api-change" + }, + { + "category": "``cloudformation``", + "description": "Adds the DependsOn field to the AutoDeployment configuration parameter for CreateStackSet, UpdateStackSet, and DescribeStackSet APIs, allowing users to set and read auto-deployment dependencies between StackSets", + "type": "api-change" + }, + { + "category": "``compute-optimizer-automation``", + "description": "Initial release of AWS Compute Optimizer Automation. Create automation rules to implement recommended actions on a recurring schedule based on your specified criteria. Supported actions include: snapshot and delete unattached EBS volumes and upgrade volume types to the latest generation.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "New APIs to support aliases and versions for ContactFlowModule. Updated ContactFlowModule APIs to support custom blocks.", + "type": "api-change" + }, + { + "category": "``controltower``", + "description": "The manifest field is now optional for the AWS Control Tower CreateLandingZone and UpdateLandingZone APIs for Landing Zone version 4.0", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Add support for ECR managed signing", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Adds support for controlPlaneScalingConfig on EKS Clusters.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "This release adds the health check log feature in ALB, allowing customers to send detailed target health check log data directly to their designated Amazon S3 bucket.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``invoicing``", + "description": "Added the CreateProcurementPortalPreference, GetProcurementPortalPreference, PutProcurementPortalPreference, UpdateProcurementPortalPreferenceStatus, ListProcurementPortalPreferences and DeleteProcurementPortalPreference APIs for procurement portal preference management.", + "type": "api-change" + }, + { + "category": "``kinesisvideo``", + "description": "This release adds support for Tiered Storage", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "Support for on-demand rotation of AWS KMS Multi-Region keys with imported key material", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Launching Enhanced Error Handling and ESM Grouping capabilities for Kafka ESMs", + "type": "api-change" + }, + { + "category": "``lexv2-models``", + "description": "Adds support for Intent Disambiguation, allowing resolution of ambiguous user inputs when multiple intents match by presenting clarifying questions to users. Also adds Speech Detection Sensitivity configuration for optimizing voice activity detection sensitivity levels in various noise environments.", + "type": "api-change" + }, + { + "category": "``mailmanager``", + "description": "Add support for resources in the aws-eusc partition.", + "type": "api-change" + }, + { + "category": "``marketplace-entitlement``", + "description": "Endpoint update for new region", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "Adds support for excluding session key tags from HLS multivariant playlists", + "type": "api-change" + }, + { + "category": "``meteringmarketplace``", + "description": "Endpoint update for new region", + "type": "api-change" + }, + { + "category": "``odb``", + "description": "Adds AssociateIamRoleToResource and DisassociateIamRoleFromResource APIs for managing IAM roles. Enhances CreateOdbNetwork and UpdateOdbNetwork APIs with KMS, STS, and cross-region S3 parameters. Adds OCI identity domain support to InitializeService API.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Add support for policy operations on the UPGRADE_ROLLOUT_POLICY policy type.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "This release introduces two new messaging channel subtypes: Push, WhatsApp, under MessageTemplate which is a resource in Amazon Q in Connect.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Amazon Quick Suite now supports QuickChat as an embedding type when calling the GenerateEmbedUrlForRegisteredUser API, enabling developers to embed conversational AI agents directly into their applications.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Add support for Upgrade Rollout Order", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Added support for Amazon Redshift Federated Permissions and AWS IAM Identity Center trusted identity propagation.", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Added UpdateLakehouseConfiguration API to manage Amazon Redshift Federated Permissions and AWS IAM Identity Center trusted identity propagation for namespaces.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Enhanced SageMaker HyperPod instance groups with support for MinInstanceCount, CapacityRequirements (Spot/On-Demand), and KubernetesConfig (labels and taints). Also Added speculative decoding and MaxInstanceCount for model optimization jobs.", + "type": "api-change" + }, + { + "category": "``security-ir``", + "description": "Add ListInvestigations and SendFeedback APIs to support SecurityIR AI agents", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Added support for new SES regions - Asia Pacific (Malaysia) and Canada (Calgary)", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "Adds support for creating Webapps accessible from a VPC.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.3.json b/.changes/1.43.3.json new file mode 100644 index 000000000000..355cdc188525 --- /dev/null +++ b/.changes/1.43.3.json @@ -0,0 +1,12 @@ +[ + { + "category": "``cloudfront``", + "description": "Add TrustStore, ConnectionFunction APIs to CloudFront SDK", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "New CloudWatch Logs feature - LogGroup Deletion Protection, a capability that allows customers to safeguard their critical CloudWatch log groups from accidental or unintended deletion.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.4.json b/.changes/1.43.4.json new file mode 100644 index 000000000000..892d08b7faa6 --- /dev/null +++ b/.changes/1.43.4.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ec2``", + "description": "This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "Network Firewall release of the Proxy feature.", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Add support for policy operations on the S3_POLICY and BEDROCK_POLICY policy type.", + "type": "api-change" + }, + { + "category": "``route53``", + "description": "Adds support for new route53 feature: accelerated recovery.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.5.json b/.changes/1.43.5.json new file mode 100644 index 000000000000..bd985307b4fc --- /dev/null +++ b/.changes/1.43.5.json @@ -0,0 +1,17 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Bedrock Runtime Reserved Service Support", + "type": "api-change" + }, + { + "category": "``compute-optimizer``", + "description": "Compute Optimizer now identifies idle NAT Gateway resources for cost optimization based on traffic patterns and backup configuration analysis. Access recommendations via the GetIdleRecommendations API.", + "type": "api-change" + }, + { + "category": "``cost-optimization-hub``", + "description": "This release enables AWS Cost Optimization Hub to show cost optimization recommendations for NAT Gateway.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.6.json b/.changes/1.43.6.json new file mode 100644 index 000000000000..846c3809dd5e --- /dev/null +++ b/.changes/1.43.6.json @@ -0,0 +1,112 @@ +[ + { + "category": "``appintegrations``", + "description": "This release adds support for MCP servers via the ApplicationType field, allowing customers to register their Bedrock AgentCore gateways as third party applications.", + "type": "api-change" + }, + { + "category": "``bedrock-agent``", + "description": "Support audio and video ingestion on Bedrock Knowledge Bases.", + "type": "api-change" + }, + { + "category": "``bedrock-agent-runtime``", + "description": "Support audio and video content retrieval on Bedrock Knowledge Bases.", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "AWS Clean Rooms now supports privacy-enhancing synthetic dataset generation for custom ML training.", + "type": "api-change" + }, + { + "category": "``cleanroomsml``", + "description": "AWS Clean Rooms ML now supports privacy-enhancing synthetic dataset generation for custom ML training.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "This is a combined re:Invent release for Amazon Connect.", + "type": "api-change" + }, + { + "category": "``connectcampaignsv2``", + "description": "This release added support for new WhatsApp channel and Journey type outbound campaign", + "type": "api-change" + }, + { + "category": "``connectparticipant``", + "description": "Amazon Connect now supports message processing that intercepts and processes chat messages before they reach any participant.", + "type": "api-change" + }, + { + "category": "``customer-profiles``", + "description": "This release introduces, CRUD APIs for the DomainObjectType and Recommender resources, APIs to offer statistical insights on Object Type Attributes, Changes to SegmentDefinition APIs to support SQL queries to create Segments, and Changes to Domain APIs to support Data Store.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "This release adds support for EKS Capabilities", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "feature: Glue: Add support for Iceberg materialized view in Glue Data Catalog, including updated CreateTable API to support materialized views and new APIs for managing data refresh for materialized views.\nfeature: Glue: Add support for Iceberg table encryption keys and struct field defaults.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Launching Lambda Managed Instances - a new feature to run Lambda on EC2.", + "type": "api-change" + }, + { + "category": "``lexv2-models``", + "description": "Adds support for speech-to-speech models for human-like, adaptive, and expressive voice interactions. Also adds support for speech model preference, allowing customers to select which speech model they want to use for speech-to-text requests.", + "type": "api-change" + }, + { + "category": "``marketplace-agreement``", + "description": "This release supports 1/multi-product transactions via offer sets. DescribeAgreement and SearchAgreements APIs now return offer set IDs. SearchAgreements also supports filtering by offer set ID and 2/variable payment pricing terms will be returned through GetAgreementTerms.", + "type": "api-change" + }, + { + "category": "``marketplace-catalog``", + "description": "This release introduces offer set entity in AWS Marketplace Catalog API to enable multi-product transaction. Offer set enables sellers to group multiple private offers into a single-click purchase experience, simplifying procurement for customers purchasing multi-product solutions.", + "type": "api-change" + }, + { + "category": "``partnercentral-account``", + "description": "Initial GA launch of Partner Central Account", + "type": "api-change" + }, + { + "category": "``partnercentral-benefits``", + "description": "Initial GA launch of Partner Central Benefits", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "New Features:\nLead Management APIs for capturing and nurturing leads\nLead invitation support for partner collaboration\nLead-to-opportunity conversion operations\nAWS Marketplace OfferSets support for opportunities", + "type": "api-change" + }, + { + "category": "``personalize``", + "description": "This release adds support for includedDatasetColumns and performIncrementalUpdate in solution APIs, and rankingInfluence in campaign and batch inference APIs.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "New AIAgent types: Orchestration for ModelContextProtocol tool integration, CaseSummary for Amazon Connect Case summaries, NoteTaker for Agent Assistance notes. Added ListSpans and Retrieve APIs. Enhanced Q in Connect AssistantAssociationType to support Bring Your Own Bedrock Knowledge Bases.", + "type": "api-change" + }, + { + "category": "``route53globalresolver``", + "description": "Add SDK for Amazon Route 53 Global Resolver, a fully managed DNS resolver service that offers broad DNS-filtering security controls.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.7.json b/.changes/1.43.7.json new file mode 100644 index 000000000000..ef99d6e6d7a9 --- /dev/null +++ b/.changes/1.43.7.json @@ -0,0 +1,117 @@ +[ + { + "category": "``bedrock``", + "description": "Adds the audioDataDeliveryEnabled boolean field to the Model Invocation Logging Configuration.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore``", + "description": "Support for AgentCore Evaluations and Episodic memory strategy for AgentCore Memory.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Supports AgentCore Evaluations, Policy, Episodic Memory Strategy, Resource Based Policy for Runtime and Gateway APIs, API Gateway Rest API Targets and enhances JWT authorizer.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Adds support for Audio Blocks and Streaming Image Output plus new Stop Reasons of malformed_model_output and malformed_tool_use.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "This release updates existing Savings Plans Purchase Analyzer and Recommendations APIs to support Database Savings Plans.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Amazon DataZone now supports exporting Catalog datasets as Amazon S3 tables, and provides automatic business glossary term suggestions for data assets.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``fsx``", + "description": "S3 Access Points support for FSx for NetApp ONTAP", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Adding support for extended threat detection for Amazon EC2 and Amazon ECS. Adding support for wild card suppression rules.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "Launching Lambda durable functions - a new feature to build reliable multi-step applications and AI workflows natively within the Lambda developer experience.", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "CloudWatch Logs adds managed S3 Tables integration to access logs using other analytical tools, as well as facets and field indexing to simplify log analytics in CloudWatch Logs Insights.", + "type": "api-change" + }, + { + "category": "``nova-act``", + "description": "Initial release of Nova Act SDK. The Nova Act service enables customers to build and manage fleets of agents for automating production UI workflows with high reliability, fastest time-to-value, and ease of implementation at scale.", + "type": "api-change" + }, + { + "category": "``observabilityadmin``", + "description": "CloudWatch Observability Admin adds pipelines configuration for third party log ingestion and transformation of all logs ingested, integration of CloudWatch logs with S3 Tables, and AWS account or organization level enablement for 7 AWS services.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "GPU-acceleration helps you build large-scale vector databases faster and more efficiently. You can enable this feature on new OpenSearch domains and OpenSearch Serverless collections. This feature uses GPU-acceleration to reduce the time needed to index data into vector indexes.", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "GPU-acceleration helps you build large-scale vector databases faster and more efficiently. You can enable this feature on new OpenSearch domains and OpenSearch Serverless collections. This feature uses GPU-acceleration to reduce the time needed to index data into vector indexes.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "RDS Oracle and SQL Server: Add support for adding, modifying, and removing additional storage volumes, offering up to 256TiB storage; RDS SQL Server: Support Developer Edition via custom engine versions for development and testing purposes; M7i/R7i instances with Optimize CPU for cost savings.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "New S3 Storage Class FSX_ONTAP", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Add support for S3 Storage Lens Advanced Performance Metrics, Expanded Prefixes metrics report, and export to S3 Tables.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "Add storage class, replication, and table record expiration features to S3 Tables.", + "type": "api-change" + }, + { + "category": "``s3vectors``", + "description": "Amazon S3 Vectors provides cost-effective, elastic, and durable vector storage for queries based on semantic meaning and similarity.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added support for serverless MLflow Apps.\n\nAdded support for new HubContentTypes (DataSet and JsonDoc) in Private Hub for AI model customization assets, enabling tracking and management of training datasets and evaluators (reward functions/prompts) throughout the ML lifecycle.", + "type": "api-change" + }, + { + "category": "``savingsplans``", + "description": "Added support for Amazon Database Savings Plans", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "ITSM enhancements: DRYRUN mode for testing ticket creation, ServiceNow now uses AWS Secrets Manager for credentials, ConnectorRegistrationsV2 renamed to RegisterConnectorV2, added ServiceQuotaExceededException error, and ConnectorStatus visibility in CreateConnectorV2.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.8.json b/.changes/1.43.8.json new file mode 100644 index 000000000000..27fd879645db --- /dev/null +++ b/.changes/1.43.8.json @@ -0,0 +1,12 @@ +[ + { + "category": "``bedrock``", + "description": "Adding support in Amazon Bedrock to customize models with reinforcement fine-tuning (RFT) and support for updating the existing Custom Model Deployments.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Introduces Serverless training: A fully managed compute infrastructure that abstracts away all infrastructure complexity, allowing you to focus purely on model development.\n\nAdded AI model customization assets used to train, refine, and evaluate custom models during the model customization process.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.43.9.json b/.changes/1.43.9.json new file mode 100644 index 000000000000..05ab239ec51c --- /dev/null +++ b/.changes/1.43.9.json @@ -0,0 +1,7 @@ +[ + { + "category": "``lambda``", + "description": "Add DisallowedByVpcEncryptionControl to the LastUpdateStatusReasonCode and StateReasonCode enums to represent failures caused by VPC Encryption Controls.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.0.json b/.changes/1.44.0.json new file mode 100644 index 000000000000..eec0126e789a --- /dev/null +++ b/.changes/1.44.0.json @@ -0,0 +1,67 @@ +[ + { + "category": "``bedrock-agentcore-control``", + "description": "This release updates broken links for AgentCore Policy APIs in the AWS CLI and SDK resources.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect now supports outbound WhatsApp contacts via the Send message block or StartOutboundChatContact API. Send proactive messages for surveys, reminders, and updates. Offer customers the option to switch to WhatsApp while in queue, eliminating hold time.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``entityresolution``", + "description": "Support Customer Profiles Integration for AWS Entity Resolution", + "type": "api-change" + }, + { + "category": "``glacier``", + "description": "Documentation updates for Amazon Glacier's maintenance mode", + "type": "api-change" + }, + { + "category": "``health``", + "description": "Updating Health API endpoint generation for dualstack only regions", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "This release allows you to import your historical CloudTrail Lake data into CloudWatch with a few steps, enabling you to easily consolidate operational, security, and compliance data in one place.", + "type": "api-change" + }, + { + "category": "``mediatailor``", + "description": "Added support for Ad Decision Server Configuration enabling HTTP POST requests with custom bodies, headers, GZIP compression, and dynamic variables. No changes required for existing GET request configurations.", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Adds support for enabling detailed metrics on Route 53 Resolver endpoints using RniEnhancedMetricsEnabled and TargetNameServerMetricsEnabled in the CreateResolverEndpoint and UpdateResolverEndpoint APIs, providing enhanced visibility into Resolver endpoint and target name server performance.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "This release adds support for the new optional field 'LifecycleExpirationDate' in S3 Inventory configurations.", + "type": "api-change" + }, + { + "category": "``service-quotas``", + "description": "Add support for SQ Dashboard Api", + "type": "api-change" + }, + { + "category": "Migration", + "description": "Implement a ``--v2-debug`` flag and ``AWS_CLI_UPGRADE_DEBUG_MODE`` environment variable that detects breaking changes for AWS CLI v2 for entered commands.", + "type": "feature" + } +] \ No newline at end of file diff --git a/.changes/1.44.1.json b/.changes/1.44.1.json new file mode 100644 index 000000000000..07089a522af1 --- /dev/null +++ b/.changes/1.44.1.json @@ -0,0 +1,12 @@ +[ + { + "category": "``iot``", + "description": "Add support for dynamic payloads in IoT Device Management Commands", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "This release adds support for rebooting InfluxDB DbInstances and DbClusters", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.10.json b/.changes/1.44.10.json new file mode 100644 index 000000000000..521f8792a477 --- /dev/null +++ b/.changes/1.44.10.json @@ -0,0 +1,12 @@ +[ + { + "category": "``cleanrooms``", + "description": "Added support for publishing detailed metrics to CloudWatch for operational monitoring of collaborations, including query performance and resource utilization.", + "type": "api-change" + }, + { + "category": "``identitystore``", + "description": "This change introduces \"Roles\" attribute for User entities supported by AWS Identity Store SDK.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.11.json b/.changes/1.44.11.json new file mode 100644 index 000000000000..aaf13139942b --- /dev/null +++ b/.changes/1.44.11.json @@ -0,0 +1,7 @@ +[ + { + "category": "``s3``", + "description": "Reverts addition of ``--case-conflict`` feature which caused a performance regression when copying from S3 to large local directories", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.44.12.json b/.changes/1.44.12.json new file mode 100644 index 000000000000..afce51b75727 --- /dev/null +++ b/.changes/1.44.12.json @@ -0,0 +1,7 @@ +[ + { + "category": "``cleanroomsml``", + "description": "AWS Clean Rooms ML now supports advanced Spark configurations to optimize SQL performance when creating an MLInputChannel or an audience generation job.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.13.json b/.changes/1.44.13.json new file mode 100644 index 000000000000..cd950676433e --- /dev/null +++ b/.changes/1.44.13.json @@ -0,0 +1,12 @@ +[ + { + "category": "``ce``", + "description": "This release updates existing reservation recommendations API to support deployment model.", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "Added support for enabling disk encryption using customer managed AWS KMS keys to CreateApplication, UpdateApplication and StartJobRun APIs.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.14.json b/.changes/1.44.14.json new file mode 100644 index 000000000000..477d788c36c4 --- /dev/null +++ b/.changes/1.44.14.json @@ -0,0 +1,7 @@ +[ + { + "category": "``workspaces``", + "description": "Add StateMessage and ProgressPercentage fields to DescribeCustomWorkspaceImageImport API response.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.15.json b/.changes/1.44.15.json new file mode 100644 index 000000000000..afb6ea93848b --- /dev/null +++ b/.changes/1.44.15.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-agentcore-control``", + "description": "Adds optional field \"view\" to GetMemory API input to give customers control over whether CMK encrypted data such as strategy decryption or override prompts is returned or not.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Added EntityLimitExceeded exception handling to the following API operations AssociateDistributionWebACL, AssociateDistributionTenantWebACL, UpdateDistributionWithStagingConfig", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Adding MaterializedViews task run APIs", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "MediaPackage v2 output groups in MediaLive can now accept one additional destination for single pipeline channels and up to two additional destinations for standard channels. MediaPackage v2 destinations now support sending to cross region MediaPackage channels.", + "type": "api-change" + }, + { + "category": "``transcribe``", + "description": "Adds waiters to Amazon Transcribe.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.16.json b/.changes/1.44.16.json new file mode 100644 index 000000000000..91a9da2b01e4 --- /dev/null +++ b/.changes/1.44.16.json @@ -0,0 +1,22 @@ +[ + { + "category": "``billing``", + "description": "Cost Categories filtering support to BillingView data filter expressions through the new costCategories parameter, enabling users to filter billing views by AWS Cost Categories for more granular cost management and allocation.", + "type": "api-change" + }, + { + "category": "``iot-managed-integrations``", + "description": "This release introduces WiFi Simple Setup (WSS) enabling device provisioning via barcode scanning with automated network discovery, authentication, and credential provisioning. Additionally, it introduces 2P Device Capability Rediscovery for updating hub-managed device capabilities post-onboarding.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Added ultraServerType to the UltraServerInfo structure to support server type identification for SageMaker HyperPod", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Adds new parameter ``--case-conflict`` that configures how case conflicts are handled on case-insensitive filesystems", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.44.17.json b/.changes/1.44.17.json new file mode 100644 index 000000000000..a0a39d65c28a --- /dev/null +++ b/.changes/1.44.17.json @@ -0,0 +1,12 @@ +[ + { + "category": "``bedrock``", + "description": "This change will increase TestCase guardContent input size from 1024 to 2028 characters and PolicyBuildDocumentDescription from 2000 to 4000 characters", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Adds support for IAM role subscriptions to Glue table listings via CreateSubscriptionRequest API. Also adds owningIamPrincipalArn filter to List APIs and subscriptionGrantCreationMode parameter to subscription target APIs for controlling grant creation behavior.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.18.json b/.changes/1.44.18.json new file mode 100644 index 000000000000..0c24fc4e8232 --- /dev/null +++ b/.changes/1.44.18.json @@ -0,0 +1,37 @@ +[ + { + "category": "``ce``", + "description": "Cost Categories added support to BillingView data filter expressions through the new costCategories parameter, enabling users to filter billing views by AWS Cost Categories for more granular cost management and allocation.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect makes it easier to manage contact center operating hours by enabling automated scheduling for recurring events like holidays and maintenance windows. Set up recurring patterns (weekly, monthly, etc.) or link to another hours of operation to inherit overrides.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Added support for BOTTLEROCKET NVIDIA FIPS AMIs to AMI types in US regions.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "no feature changes. model migrated to Smithy", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "Adds support for enabling extra compute resources for automatic optimization during create and modify operations in Amazon Redshift clusters.", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "Adds support for enabling extra compute resources for automatic optimization during create and update operations in Amazon Redshift Serverless workgroups.", + "type": "api-change" + }, + { + "category": "``socialmessaging``", + "description": "This release clarifies WhatsApp template operations as a resource-authenticated operation via the parent WhatsApp Business Account. It also introduces new parameters for parameter format, CTA URL link tracking, and template body examples, and increases the phone number ID length.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.19.json b/.changes/1.44.19.json new file mode 100644 index 000000000000..f00d5a749af6 --- /dev/null +++ b/.changes/1.44.19.json @@ -0,0 +1,42 @@ +[ + { + "category": "``cleanrooms``", + "description": "This release adds support for parameters in PySpark analysis templates.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "AWS Deadline Cloud now supports tagging Budget resources with ABAC for permissions management and selecting up to 16 filter values in the monitor and Search API.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release includes documentation updates to support up to four Elastic Volume modifications per Amazon EBS volume within a rolling 24-hour period.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Adds support for configuring FIPS in AWS GovCloud (US) Regions via a new ECS Capacity Provider field fipsEnabled. When enabled, instances launched by the capacity provider will use a FIPS-140 enabled AMI. Instances will use FIPS-140 compliant cryptographic modules and AWS FIPS endpoints.", + "type": "api-change" + }, + { + "category": "``evs``", + "description": "A new GetVersions API has been added to retrieve VCF, ESX versions, and EC2 instances provided by Amazon EVS. The CreateEnvironment API now allows you to select a VCF version and the CreateEnvironmentHost API introduces a optional esxVersion parameter.", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "API Changes for GTCForLocation feature. Includes a new API, GetTemporaryDataLocationCredentials and updates to the APIs RegisterResource and UpdateResource", + "type": "api-change" + }, + { + "category": "``opensearchserverless``", + "description": "Collection groups in Amazon OpenSearch Serverless enables to organize multiple collections and enable compute resource sharing across collections with different KMS keys. This shared compute model reduces costs by eliminating the need for separate OpenSearch Compute Units (OCUs) for each KMS key.", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Fix inference configuration shapes for the CreateAIPrompt and UpdateAIPrompt APIs, Modify Text Length Limit for SendMessage API", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.2.json b/.changes/1.44.2.json new file mode 100644 index 000000000000..fb901ac31a53 --- /dev/null +++ b/.changes/1.44.2.json @@ -0,0 +1,47 @@ +[ + { + "category": "``gameliftstreams``", + "description": "Added new stream group operation parameters for scale-on-demand capacity with automatic prewarming. Added new Gen6 stream classes based on the EC2 G6 instance family. Added new StartStreamSession parameter for exposure of real-time performance stats to clients.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Add support for dbiResourceId in finding.", + "type": "api-change" + }, + { + "category": "``inspector-scan``", + "description": "Adds an additional OutputFormat", + "type": "api-change" + }, + { + "category": "``kafkaconnect``", + "description": "Support dual-stack network connectivity for connectors via NetworkType field.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "Adds support for tile encoding in HEVC and audio for video overlays.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "This release adds support for SPEKE V2 content key encryption in MediaPackage v2 Origin Endpoints.", + "type": "api-change" + }, + { + "category": "``payment-cryptography``", + "description": "Support for AS2805 standard. Modifications to import-key and export-key to support AS2805 variants.", + "type": "api-change" + }, + { + "category": "``payment-cryptography-data``", + "description": "Support for AS2805 standard. New API GenerateAs2805KekValidation and changes to translate pin, GenerateMac and VerifyMac to support AS2805 key variants.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adding the newly launched p6-b300.48xlarge ec2 instance support in Sagemaker(Hyperpod,Training and Sceptor)", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.20.json b/.changes/1.44.20.json new file mode 100644 index 000000000000..5a49d0ff6aa8 --- /dev/null +++ b/.changes/1.44.20.json @@ -0,0 +1,32 @@ +[ + { + "category": "``connect``", + "description": "Adds support to allow customers to create form with Dispute configuration", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "This release adds support for numeric filtering and complex free-text searches cases for the Search and SearchListings APIs.", + "type": "api-change" + }, + { + "category": "``glacier``", + "description": "Documentation updates for Amazon Glacier's maintenance mode", + "type": "api-change" + }, + { + "category": "``launch-wizard``", + "description": "Added UpdateDeployment, ListDeploymentPatternVersions and GetDeploymentPatternVersion APIs for Launch Wizard", + "type": "api-change" + }, + { + "category": "``resource-explorer-2``", + "description": "Added ViewName to View-related responses and ServiceViewName to GetServiceView response.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adding security consideration comments for lcc accessing execution role under root access", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.21.json b/.changes/1.44.21.json new file mode 100644 index 000000000000..b41e36db9cfb --- /dev/null +++ b/.changes/1.44.21.json @@ -0,0 +1,32 @@ +[ + { + "category": "``autoscaling``", + "description": "This release adds support for three new filters when describing scaling activities, StartTimeLowerBound, StartTimeUpperBound, and Status.", + "type": "api-change" + }, + { + "category": "``bedrock-runtime``", + "description": "Added support for extended prompt caching with one hour TTL.", + "type": "api-change" + }, + { + "category": "``keyspaces``", + "description": "Adds support for managing table pre-warming in Amazon Keyspaces (for Apache Cassandra)", + "type": "api-change" + }, + { + "category": "``odb``", + "description": "Adds support for associating and disassociating IAM roles with Autonomous VM cluster resources through the AssociateIamRoleToResource and DisassociateIamRoleFromResource APIs. The GetCloudAutonomousVmCluster and ListCloudAutonomousVmClusters API responses now include the iamRoles field.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Amazon Verified Permissions now supports encryption of resources by a customer managed KMS key. Customers can now create new encrypted policy stores by passing in their customer managed key during policy store creation.", + "type": "api-change" + }, + { + "category": "``workspaces-instances``", + "description": "Added billing configuration support for WorkSpaces Instances with monthly and hourly billing modes, including new filtering capabilities for instance type searches.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.22.json b/.changes/1.44.22.json new file mode 100644 index 000000000000..03da75c8dc13 --- /dev/null +++ b/.changes/1.44.22.json @@ -0,0 +1,22 @@ +[ + { + "category": "``bedrock-agentcore``", + "description": "Supports custom browser extensions for AgentCore Browser and increased message payloads up to 100KB per message in an Event for AgentCore Memory", + "type": "api-change" + }, + { + "category": "``config``", + "description": "AWS Config Conformance Packs now support tag-on-create through PutConformancePack API.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Added support of multiple EBS cards. New EbsCardIndex parameter enables attaching volumes to specific EBS cards on supported instance types for improved storage performance.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Added documentation and model for sheet layout groups - allows sheet elements to be grouped, Added documentation and the feature enables admins to have granular control over connectors under actions, Updated API documentation for PDF Export in Snapshot Export APIs", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.23.json b/.changes/1.44.23.json new file mode 100644 index 000000000000..57b24f6f8738 --- /dev/null +++ b/.changes/1.44.23.json @@ -0,0 +1,52 @@ +[ + { + "category": "``autoscaling``", + "description": "This release adds support for Amazon EC2 Auto Scaling group deletion protection", + "type": "api-change" + }, + { + "category": "``budgets``", + "description": "Add Budget FilterExpression and Metrics fields to DescribeBudgetPerformanceHistory to support more granular filtering options.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "Adds additional waiters to Amazon DynamoDB.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add better support for fractional GPU instances in DescribeInstanceTypes API. The new fields, logicalGpuCount, gpuPartitionSize, and workload array enable better GPU resource selection and filtering for both full and fractional GPU instance types.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Amazon GameLift Servers Realtime now supports Node.js 24.x runtime on the Amazon Linux 2023 operating system.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Adding new enum value for ScanStatusReason", + "type": "api-change" + }, + { + "category": "``health``", + "description": "Updates the lower range for the maxResults request property for DescribeAffectedEntities, DescribeAffectedEntitiesForOrganization, DescribeEvents, and DescribeEventsForOrganization API request properties.", + "type": "api-change" + }, + { + "category": "``meteringmarketplace``", + "description": "Customer Identifier parameter deprecation date has been removed. For new implementations, we recommend using the CustomerAWSAccountID. Your current integration will continue to work. When updating your implementation, consider migrating to CustomerAWSAccountID for improved integration.", + "type": "api-change" + }, + { + "category": "``verifiedpermissions``", + "description": "Adding documentation to user guide and API documentation for how customers can create new encrypted policy stores by passing in their customer managed key during policy store creation.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.24.json b/.changes/1.44.24.json new file mode 100644 index 000000000000..98e0da7143b5 --- /dev/null +++ b/.changes/1.44.24.json @@ -0,0 +1,17 @@ +[ + { + "category": "``connect``", + "description": "Amazon Connect now offers public APIs to programmatically configure and run automated tests for contact center experiences. Integrate testing into CICD pipelines, run multiple tests at scale, and retrieve results via API to automate validation of voice interactions and workflows.", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Added api for deleting data export configuration for a domain", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Fixes incorrect types in the UpdateAssistantAIAgent API request, adds MESSAGE to TargetType enum, and other minor changes.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.25.json b/.changes/1.44.25.json new file mode 100644 index 000000000000..884205a917f0 --- /dev/null +++ b/.changes/1.44.25.json @@ -0,0 +1,27 @@ +[ + { + "category": "``connectcases``", + "description": "Amazon Connect now enables you to use tag-based access controls to define who can access specific cases. You can associate tags with case templates and configure security profiles to determine which users can access cases with those tags.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "DescribeInstanceTypes API response now includes an additionalFlexibleNetworkInterfaces field, the number of interfaces attachable to an instance when using flexible Elastic Network Adapter (ENA) queues in addition to the base number specified by maximumNetworkInterfaces.", + "type": "api-change" + }, + { + "category": "``evidently``", + "description": "Deprecate all Evidently API for AWS CloudWatch Evidently deprecation", + "type": "api-change" + }, + { + "category": "``groundstation``", + "description": "Adds support for AWS Ground Station Telemetry.", + "type": "api-change" + }, + { + "category": "documentation", + "description": "Fixed shorthand example generation in documentation.", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.44.26.json b/.changes/1.44.26.json new file mode 100644 index 000000000000..639e0a92a31b --- /dev/null +++ b/.changes/1.44.26.json @@ -0,0 +1,32 @@ +[ + { + "category": "``connect``", + "description": "Added support for task attachments. The StartTaskContact API now accepts file attachments, enabling customers to include files (.csv, .doc, .docx, .heic, .jfif, .jpeg, .jpg, .mov, .mp4, .pdf, .png, .ppt, .pptx, .rtf, .txt, etc.) when creating Task contacts. Supports up to 5 attachments per task.", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "AWS Deadline Cloud now supports editing job names and descriptions after submission.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Releasing new EC2 instances. C8gb and M8gb with highest EBS performance, M8gn with 600 Gbps network bandwidth, X8aedz and M8azn with 5GHz AMD processors, X8i with Intel Xeon 6 processors and up to 6TB memory, and Mac-m4max with Apple M4 Max chip for 25 percent faster builds.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive released two new features that allows customers 1) to set Output Timecode for AV1 encoder, 2) to set a Custom Epoch for CMAF Ingest and MediaPackage V2 output groups when using Pipeline Locking or Disabled Locking modes.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Idle resource sharing enables teams to borrow unused compute resources in your SageMaker HyperPod cluster. This capability maximizes resource utilization by allowing teams to borrow idle compute capacity beyond their allocated compute quotas.", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Add ``--tags`` parameter to ``upload-build`` command.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.44.27.json b/.changes/1.44.27.json new file mode 100644 index 000000000000..d62c503c1cae --- /dev/null +++ b/.changes/1.44.27.json @@ -0,0 +1,42 @@ +[ + { + "category": "``cognito-idp``", + "description": "This release adds support for a new lambda trigger to transform federated user attributes during the authentication with external identity providers on Cognito Managed Login.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Adds support for filtering search results based on tags assigned to contacts.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "SearchTransitGatewayRoutes API response now includes a NextToken field, enabling pagination when retrieving large sets of transit gateway routes. Pass the returned NextToken value in subsequent requests to retrieve the next page of results.", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "We are launching ESM Metrics and logging for Kafka ESM to allow customers to monitor Kafka event processing using CloudWatch Metrics and Logs.", + "type": "api-change" + }, + { + "category": "``mediaconnect``", + "description": "This release adds support for NDI flow sources in AWS Elemental MediaConnect. You can now send content to your MediaConnect transport streams directly from your NDI environment using the new NDI source type. Also adds support for LARGE 4X flow size, which can be used when creating CDI JPEG-XS flows.", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "This release adds a follow source mode for audio output channel count, an AES audio frame wrapping option for MXF outputs, and an option to signal DolbyVision compatibility using the SUPPLEMENTAL-CODECS tag in HLS manifests.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets.", + "type": "api-change" + }, + { + "category": "``s3control``", + "description": "Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.28.json b/.changes/1.44.28.json new file mode 100644 index 000000000000..d2335bd1ed10 --- /dev/null +++ b/.changes/1.44.28.json @@ -0,0 +1,12 @@ +[ + { + "category": "``ec2``", + "description": "G7e instances feature up to 8 NVIDIA RTX PRO 6000 Blackwell Server Edition GPUs with 768 GB of memory and 5th generation Intel Xeon Scalable processors. Supporting up to 192 vCPUs, 1600 Gbps networking bandwidth with EFA, up to 2 TiB of system memory, and up to 15.2 TB of local NVMe SSD storage.", + "type": "api-change" + }, + { + "category": "``gamelift``", + "description": "Amazon GameLift Servers now supports automatic scaling to and from zero instances based on game session activity. Fleets scale down to zero following a defined period of no game session activity and scale up from zero when game sessions are requested, providing an option for cost optimization.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.29.json b/.changes/1.44.29.json new file mode 100644 index 000000000000..9ff166f44e32 --- /dev/null +++ b/.changes/1.44.29.json @@ -0,0 +1,12 @@ +[ + { + "category": "``connect``", + "description": "This release adds Estimated Wait Time support to the GetContactMetrics API for Amazon Connect.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Improve SessionTag usage guidelines in the GenerateEmbedURLForAnonymousUser API documentation. Update the GetIdentityContext document with the region support context.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.3.json b/.changes/1.44.3.json new file mode 100644 index 000000000000..937cb88b03f0 --- /dev/null +++ b/.changes/1.44.3.json @@ -0,0 +1,77 @@ +[ + { + "category": "``appstream``", + "description": "Added support for new operating systems (1) Ubuntu 24.04 Pro LTS on Elastic fleets, and (2) Microsoft Server 2025 on Always-On and On-Demand fleets", + "type": "api-change" + }, + { + "category": "``arc-region-switch``", + "description": "New API to list Route 53 health checks created by ARC region switch for a plan in a specific AWS Region using the Region switch Regional data plane.", + "type": "api-change" + }, + { + "category": "``artifact``", + "description": "Add support for ListReportVersions API for the calling AWS account.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Feature to support header exchanges between Bedrock AgentCore Gateway Targets and client, along with propagating query parameter to the configured targets.", + "type": "api-change" + }, + { + "category": "``bedrock-data-automation``", + "description": "Blueprint Optimization (BPO) is a new Amazon Bedrock Data Automation (BDA) capability that improves blueprint inference accuracy using example content assets and ground truth data. BPO works by generating better instructions for fields in the Blueprint using provided data.", + "type": "api-change" + }, + { + "category": "``cleanrooms``", + "description": "Adding support for collaboration change requests requiring an approval workflow. Adding support for change requests that grant or revoke results receiver ability and modifying auto approved change types in an existing collaboration.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds AvailabilityZoneId support for CreateFleet, ModifyFleet, DescribeFleets, RequestSpotFleet, ModifySpotFleetRequests and DescribeSpotFleetRequests APIs.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Adds support for ECR Create On Push", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Adding support for Event Windows via a new ECS account setting \"fargateEventWindows\". When enabled, ECS Fargate will use the configured event window for patching tasks. Introducing \"CapacityOptionType\" for CreateCapacityProvider API, allowing support for Spot capacity for ECS Managed Instances.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "This release adds message batching for the IoT Rules Engine HTTP action.", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "Amazon OpenSearch Service adds support for warm nodes, enabling new multi-tier architecture.", + "type": "api-change" + }, + { + "category": "``sesv2``", + "description": "Amazon SES introduces Email Validation feature which checks email addresses for syntax errors, domain validity, and risky addresses to help maintain deliverability and protect sender reputation. SES also adds resource tagging and ABAC support for EmailTemplates and CustomVerificationEmailTemplates.", + "type": "api-change" + }, + { + "category": "``ssm-sap``", + "description": "Added \"Stopping\" for the HANA Database Status.", + "type": "api-change" + }, + { + "category": "cloudtrail", + "description": "Fixed performance issue in cloudtrail validate-logs command by scoping S3 digest file listing to the trail's region instead of processing digest files from all regions.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.44.30.json b/.changes/1.44.30.json new file mode 100644 index 000000000000..84d6f765f3c0 --- /dev/null +++ b/.changes/1.44.30.json @@ -0,0 +1,17 @@ +[ + { + "category": "``bedrock-agentcore-control``", + "description": "Adds tagging support for AgentCore Evaluations (evaluator and online evaluation config)", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "Add OriginMTLS support to CloudFront Distribution APIs", + "type": "api-change" + }, + { + "category": "``mpa``", + "description": "Updates to multi-party approval (MPA) service to add support for multi-factor authentication (MFA) for voting operations.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.31.json b/.changes/1.44.31.json new file mode 100644 index 000000000000..8dc9267c2984 --- /dev/null +++ b/.changes/1.44.31.json @@ -0,0 +1,42 @@ +[ + { + "category": "``batch``", + "description": "AWS Batch Array Job Visibility feature support. Includes new statusSummaryLastUpdatedAt for array job parent DescribeJobs responses for the last time the statusSummary was updated. Includes both statusSummary and statusSummaryLastUpdatedAt in ListJobs responses for array job parents.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This change supports the creation of multi-account global tables. It adds two new arguments to CreateTable, GlobalTableSourceArn and GlobalTableSettingsReplicationMode. DescribeTable is also updated to include information about GlobalTableSettingsReplicationMode.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``geo-maps``", + "description": "Added support for optional style parameters in maps, including 3D terrain and 3D Buildings", + "type": "api-change" + }, + { + "category": "``kinesis``", + "description": "Adds StreamId parameter to AWS Kinesis Data Streams APIs that is reserved for future use.", + "type": "api-change" + }, + { + "category": "``marketplace-catalog``", + "description": "Adds support for Catalog API us-east-1 dualstack endpoint catalog-marketplace.us-east-1.api.aws", + "type": "api-change" + }, + { + "category": "``organizations``", + "description": "Updated the CloseAccount description.", + "type": "api-change" + }, + { + "category": "``sso-admin``", + "description": "Added new Region management APIs to support multi-Region replication in IAM Identity Center.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.32.json b/.changes/1.44.32.json new file mode 100644 index 000000000000..55d02cc1290a --- /dev/null +++ b/.changes/1.44.32.json @@ -0,0 +1,32 @@ +[ + { + "category": "``bedrock-runtime``", + "description": "Added support for structured outputs to Converse and ConverseStream APIs.", + "type": "api-change" + }, + { + "category": "``connectcases``", + "description": "Amazon Connect Cases now supports larger, multi-line text fields with up to 4,100 characters. Administrators can use the Admin UI to select the appropriate configuration (single-line or multi-line) on a per-field basis, improving case documentation capabilities.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Update delete cluster description", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive now supports SRT listener mode for inputs and outputs, in addition to the existing SRT caller mode.", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "We have increased the maximum duration for a deferred maintenance window from 45 days to 60 days for Amazon Redshift provisioned clusters. This enhancement provides customers with greater flexibility in scheduling patching and maintenance activities while also maintaining security compliance.", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Support for configuring and managing custom domain names for WorkSpaces Secure Browser portals.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.33.json b/.changes/1.44.33.json new file mode 100644 index 000000000000..27a4fbb27f9d --- /dev/null +++ b/.changes/1.44.33.json @@ -0,0 +1,52 @@ +[ + { + "category": "``arc-region-switch``", + "description": "Updates documentation for ARC Region switch and provides stronger validation for Amazon Aurora Global Database execution block parameters.", + "type": "api-change" + }, + { + "category": "``athena``", + "description": "Reduces the minimum TargetDpus to create or update capacity reservations from 24 to 4.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore``", + "description": "Support Browser profile persistence (cookies and local storage) across sessions for AgentCore Browser.", + "type": "api-change" + }, + { + "category": "``bedrock-agentcore-control``", + "description": "Support Browser profile persistence (cookies and local storage) across sessions for AgentCore Browser.", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "This release adds the capability to easily create custom AWS Glue connections to data sources with REST APIs.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "Outputs using the AV1 codec in CMAF Ingest output groups in MediaLive now have the ability to specify a target bit depth of 8 or 10.", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Minor neptune-graph documentation changes", + "type": "api-change" + }, + { + "category": "``ram``", + "description": "Added ListSourceAssociations API. Allows RAM resource share owners to list source associations that determine which sources can access resources through service principal associations. Supports filtering by resource share ARN, source ID, source type, or status, with pagination.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "Adds support for the customer to send custom HTTP headers and configure an AS2 Connector to receive Asynchronous MDNs from their trading partner", + "type": "api-change" + }, + { + "category": "``workspaces``", + "description": "Added support for 12 new graphics-optimized compute types - Graphics.g6 (xlarge, 2xlarge, 4xlarge, 8xlarge, 16xlarge), Graphics.gr6 (4xlarge, 8xlarge), Graphics.g6f (large, xlarge, 2xlarge, 4xlarge), and Graphics.gr6f (4xlarge).", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.34.json b/.changes/1.44.34.json new file mode 100644 index 000000000000..5afe5ece1546 --- /dev/null +++ b/.changes/1.44.34.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-data-automation-runtime``", + "description": "Add OutputConfiguration to InvokeDataAutomation input and output to support S3 output", + "type": "api-change" + }, + { + "category": "``deadline``", + "description": "Adds support for tagging jobs during job creation", + "type": "api-change" + }, + { + "category": "``iot-managed-integrations``", + "description": "Adding support for Custom(General) Authorization in managed integrations for AWS IoT Device Management cloud connectors.", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Releasing AWS Opportunity Snapshots for SDK release.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Adding g7e instance support in Sagemaker Training", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.35.json b/.changes/1.44.35.json new file mode 100644 index 000000000000..54bdfcae0b1e --- /dev/null +++ b/.changes/1.44.35.json @@ -0,0 +1,42 @@ +[ + { + "category": "``connectcampaignsv2``", + "description": "Add the missing event type for WhatsApp", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Amazon Secondary Networks is a networking feature that provides high-performance, low-latency connectivity for specialized workloads.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Amazon EKS adds a new DescribeUpdate update type, VendedLogsUpdate, to support an integration between EKS Auto Mode and Amazon CloudWatch Vended Logs.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "EC2 Image Builder now supports wildcard patterns in lifecycle policies with recipes and enhances the experience of tag-scoped policies.", + "type": "api-change" + }, + { + "category": "``lakeformation``", + "description": "Allow cross account v5 in put data lake settings", + "type": "api-change" + }, + { + "category": "``neptunedata``", + "description": "Added edgeOnlyLoad boolean parameter to Neptune bulk load request. When TRUE, files are loaded in order without scanning. When FALSE (default), the loader scans files first, then loads vertex files before edge files automatically.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Introduces RESUMING state for clusters, compute node groups, and queues.", + "type": "api-change" + }, + { + "category": "``transfer``", + "description": "This release adds a documentation update for MdnResponse of type \"ASYNC\"", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.36.json b/.changes/1.44.36.json new file mode 100644 index 000000000000..ff1635958c10 --- /dev/null +++ b/.changes/1.44.36.json @@ -0,0 +1,27 @@ +[ + { + "category": "``bedrock-agentcore``", + "description": "Added AgentCore browser proxy configuration support, allowing routing of browser traffic through HTTP and HTTPS proxy servers with authentication and bypass rules.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Amazon Connect now supports per-channel auto-accept and After Contact Work (ACW) timeouts. Configure agents with auto-accept and ACW timeout settings for chat, tasks, emails, and callbacks. Use the new UpdateUserConfig API to manage these settings.", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "Introducing an optional policy field, an IAM policy applied to pod identity associations in addition to IAM role policies. When specified, pod permissions are the intersection of IAM role policies and the policy field, ensuring the principle of least privilege.", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "Amazon MSK adds three new APIs, CreateTopic, UpdateTopic, and DeleteTopic for managing Kafka topics in your MSK clusters.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "This release adds backup configuration for RDS and Aurora restores, letting customers set backup retention period and preferred backup window during restore. It also enables viewing backup settings when describing snapshots or automated backups for instances and clusters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.37.json b/.changes/1.44.37.json new file mode 100644 index 000000000000..7296c30a4dc3 --- /dev/null +++ b/.changes/1.44.37.json @@ -0,0 +1,32 @@ +[ + { + "category": "``batch``", + "description": "Add support for listing jobs by share identifier and getting snapshots of active capacity utilization by job queue and share.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "R8i instances powered by custom Intel Xeon 6 processors available only on AWS with sustained all-core 3.9 GHz turbo frequency", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "This release adds support for Windows Server 2025 in Amazon EKS Managed Node Groups.", + "type": "api-change" + }, + { + "category": "``kafkaconnect``", + "description": "Support configurable upper limits on task count during autoscaling operations via maxAutoscalingTaskCount parameter.", + "type": "api-change" + }, + { + "category": "``s3tables``", + "description": "S3 Tables now supports setting partition specifications and sort orders on tables. Partition specs allow users to define how data is organized using transform functions. Sort order configurations enable users to specify sort directions and null ordering preferences for optimized data layout.", + "type": "api-change" + }, + { + "category": "cloudtrail", + "description": "Added support for validating backfill digest files in ``validate-logs`` command", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.44.38.json b/.changes/1.44.38.json new file mode 100644 index 000000000000..940b3a95cfcd --- /dev/null +++ b/.changes/1.44.38.json @@ -0,0 +1,12 @@ +[ + { + "category": "``ec2``", + "description": "Launching nested virtualization. This feature allows you to run nested VMs inside virtual (non-bare metal) EC2 instances.", + "type": "api-change" + }, + { + "category": "cli-history", + "description": "Create local history files with specific permissions", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.44.39.json b/.changes/1.44.39.json new file mode 100644 index 000000000000..d3f02e2f89bb --- /dev/null +++ b/.changes/1.44.39.json @@ -0,0 +1,27 @@ +[ + { + "category": "``cloudwatch``", + "description": "Adding new evaluation states that provides information about the alarm evaluation process. Evaluation error Indicates configuration errors in alarm setup that require review and correction. Evaluation failure Indicates temporary CloudWatch issues.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "API release for headerr notifications in the admin website. APIs allow customers to publish brief messages (including URLs) to a specified audience, and a new header icon will indicate when unread messages are available.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds geography information to EC2 region and availability zone APIs. DescribeRegions now includes a Geography field, while DescribeAvailabilityZones includes both Geography and SubGeography fields, enabling better geographic classification for AWS regions and zones.", + "type": "api-change" + }, + { + "category": "``inspector2``", + "description": "Added .Net 10 (dotnet10) and Node 24.x (node24.x) runtime support for lambda package scanning", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "Enable g7e instance type support for SageMaker Processing, and enable single file configuration provisioning for HyperPod Slurm, where customers have the option to use HyperPod API to provide the provisioning parameters.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.4.json b/.changes/1.44.4.json new file mode 100644 index 000000000000..48388ebf9413 --- /dev/null +++ b/.changes/1.44.4.json @@ -0,0 +1,42 @@ +[ + { + "category": "``arc-region-switch``", + "description": "Automatic Plan Execution Reports allow customers to maintain a concise record of their Region switch Plan executions. This enables customer SREs and leadership to have a clear view of their recovery posture based on the generated reports for their Plan executions.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Adding support for Custom Metrics and Pre-Defined Attributes to GetCurrentMetricData API.", + "type": "api-change" + }, + { + "category": "``emr-serverless``", + "description": "Added JobLevelCostAllocationConfiguration field to enable cost allocation reporting at the job level, providing more granular visibility into EMR Serverless charges", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "This release adds event-based logging feature that enables granular event logging controls for AWS IoT logs.", + "type": "api-change" + }, + { + "category": "``qbusiness``", + "description": "It is a internal bug fix for region expansion", + "type": "api-change" + }, + { + "category": "``wickr``", + "description": "AWS Wickr now provides a suite of admin APIs to allow you to programmatically manage secure communication for Wickr networks at scale. These APIs enable you to automate administrative workflows including user lifecycle management, network configuration, and security group administration.", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Add support for WebAuthn under user settings.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.40.json b/.changes/1.44.40.json new file mode 100644 index 000000000000..5b015a68d596 --- /dev/null +++ b/.changes/1.44.40.json @@ -0,0 +1,32 @@ +[ + { + "category": "``arc-region-switch``", + "description": "Clarify documentation on ARC Region Switch start-plan-execution operation", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Documentation updates for EC2 Secondary Networks", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Adds support for enabling blob mounting, and removes support for Clair based image scanning", + "type": "api-change" + }, + { + "category": "``kafka``", + "description": "Amazon MSK now supports dual-stack connectivity (IPv4 and IPv6) for existing MSK clusters. You can enable dual-stack on existing clusters by specifying the NetworkType parameter in updateConnectivity API.", + "type": "api-change" + }, + { + "category": "``kms``", + "description": "Added support for Decrypt and ReEncrypt API's to use dry run feature without ciphertext for authorization validation", + "type": "api-change" + }, + { + "category": "``qconnect``", + "description": "Update MessageType enum to include missing types.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.41.json b/.changes/1.44.41.json new file mode 100644 index 000000000000..c0a579f6bb87 --- /dev/null +++ b/.changes/1.44.41.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ec2``", + "description": "Add Operator field to CreatePlacementGroup and DescribePlacementGroup APIs.", + "type": "api-change" + }, + { + "category": "``grafana``", + "description": "This release updates Amazon Managed Grafana's APIs to support customer managed KMS keys.", + "type": "api-change" + }, + { + "category": "``rds``", + "description": "Adds support for the StorageEncryptionType field to specify encryption type for DB clusters, DB instances, snapshots, automated backups, and global clusters.", + "type": "api-change" + }, + { + "category": "``workspaces-web``", + "description": "Adds support for branding customization without requiring a custom wallpaper.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.42.json b/.changes/1.44.42.json new file mode 100644 index 000000000000..4441fc9cd9c7 --- /dev/null +++ b/.changes/1.44.42.json @@ -0,0 +1,12 @@ +[ + { + "category": "``cleanrooms``", + "description": "This release adds support for federated catalogs in Athena-sourced configured tables.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Correcting in-app notifications API documentation.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.43.json b/.changes/1.44.43.json new file mode 100644 index 000000000000..c7e16bb648e3 --- /dev/null +++ b/.changes/1.44.43.json @@ -0,0 +1,17 @@ +[ + { + "category": "``bcm-dashboards``", + "description": "The Billing and Cost Management GetDashboard API now returns identifier for each widget, enabling users to uniquely identify widgets within their dashboards.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Adds multiple artifact types filter support in ListImageReferrers API.", + "type": "api-change" + }, + { + "category": "``pca-connector-scep``", + "description": "AWS Private CA Connector for SCEP now supports AWS PrivateLink, allowing your clients to request certificates from within your Amazon Virtual Private Cloud (VPC) without traversing the public internet. With this launch, you can create VPC endpoints to connect to your SCEP connector privately.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.44.json b/.changes/1.44.44.json new file mode 100644 index 000000000000..6f5139991d7b --- /dev/null +++ b/.changes/1.44.44.json @@ -0,0 +1,42 @@ +[ + { + "category": "``appstream``", + "description": "Adding new attribute to disable IMDS v1 APIs for fleet, Image Builder and AppBlockBuilder instances.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Migrated to Smithy. No functional changes", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``sagemaker-runtime``", + "description": "Added support for S3OutputPathExtension and Filename parameters to the InvokeEndpointAsync API to allow users to customize the S3 output path and file name for async inference response payloads.", + "type": "api-change" + }, + { + "category": "``signer-data``", + "description": "This release introduces AWS Signer Data Plane SDK client supporting GetRevocationStatus API. The new client enables AWS PrivateLink connectivity with both private DNS and VPC endpoint URLs.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "Add support for AssociationDispatchAssumeRole in AWS SSM State Manager.", + "type": "api-change" + }, + { + "category": "``trustedadvisor``", + "description": "Adding a new enum attribute(statusReason) to TrustedAdvisorAPI response. This attribute explains reasoning behind check status for certain specific scenarios.", + "type": "api-change" + }, + { + "category": "cloudtrail", + "description": "Fixed edge case in validate-logs where digest validation could fail with \"public key not found\" when the end time lands near a key rotation boundary", + "type": "bugfix" + } +] \ No newline at end of file diff --git a/.changes/1.44.45.json b/.changes/1.44.45.json new file mode 100644 index 000000000000..e9386eec0f55 --- /dev/null +++ b/.changes/1.44.45.json @@ -0,0 +1,47 @@ +[ + { + "category": "``bedrock``", + "description": "Automated Reasoning checks in Amazon Bedrock Guardrails now support fidelity report generation. The new workflow type assesses policy coverage and accuracy against customer documents. The GetAutomatedReasoningPolicyBuildWorkflowResultAssets API adds support for the three new asset types.", + "type": "api-change" + }, + { + "category": "``connectcases``", + "description": "SearchCases API can now accept 25 fields in the request and response as opposed to the previous limit of 10. DeleteField's hard limit of 100 fields per domain has been lifted.", + "type": "api-change" + }, + { + "category": "``controlcatalog``", + "description": "Updated ExemptedPrincipalArns parameter documentation for improved accuracy", + "type": "api-change" + }, + { + "category": "``datazone``", + "description": "Add workflow properties support to connections APIs", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This change supports the creation of multi-account global tables. It adds one new arguments to UpdateTable, GlobalTableSettingsReplicationMode.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``mediatailor``", + "description": "Updated endpoint rule set for dualstack endpoints. Added a new opt-in option to log raw ad decision server requests for Playback Configurations.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "Adds support for SEMISTRUCT to InputColumn Type", + "type": "api-change" + }, + { + "category": "``wickr``", + "description": "AWS Wickr now provides APIs to manage your Wickr OpenTDF integration. These APIs enable you to test and save your OpenTDF configuration allowing you to manage rooms based on Trusted Data Format attributes.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.46.json b/.changes/1.44.46.json new file mode 100644 index 000000000000..02944e004ef6 --- /dev/null +++ b/.changes/1.44.46.json @@ -0,0 +1,47 @@ +[ + { + "category": "``cloudwatch``", + "description": "This release adds the APIs (PutAlarmMuteRule, ListAlarmMuteRules, GetAlarmMuteRule and DeleteAlarmMuteRule) to manage a new Cloudwatch resource, AlarmMuteRules. AlarmMuteRules allow customers to temporarily mute alarm notifications during expected downtime periods.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds httpTokensEnforced property to ModifyInstanceMetadataDefaults API. Set per account or manage organization-wide using declarative policies to prevent IMDSv1-enabled instance launch and block attempts to enable IMDSv1 on existing IMDSv2-only instances.", + "type": "api-change" + }, + { + "category": "``elementalinference``", + "description": "Initial GA launch for AWS Elemental Inference including capabilities of Smart Crop and Live Event Clipping", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``es``", + "description": "Fixed HTTP binding for DescribeDomainAutoTunes API to correctly pass request parameters as query parameters in the HTTP request.", + "type": "api-change" + }, + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive - Added support for Elemental Inference for Smart Cropping and Clipping features for MediaLive.", + "type": "api-change" + }, + { + "category": "``observabilityadmin``", + "description": "Adding a new field in the CreateCentralizationRuleForOrganization, UpdateCentralizationRuleForOrganization API and updating the GetCentralizationRuleForOrganization API response to include the new field", + "type": "api-change" + }, + { + "category": "``opensearch``", + "description": "Fixed HTTP binding for DescribeDomainAutoTunes API to correctly pass request parameters as query parameters in the HTTP request.", + "type": "api-change" + }, + { + "category": "``partnercentral-selling``", + "description": "Added support for filtering opportunities by target close date in the ListOpportunities API. You can now filter results to return opportunities with a target close date before or after a specified date, enabling more precise opportunity searches based on expected closure timelines.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.47.json b/.changes/1.44.47.json new file mode 100644 index 000000000000..b47003674ad2 --- /dev/null +++ b/.changes/1.44.47.json @@ -0,0 +1,27 @@ +[ + { + "category": "``batch``", + "description": "AWS Batch documentation update for service job capacity units.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add support for EC2 Capacity Blocks in Local Zones.", + "type": "api-change" + }, + { + "category": "``ecr``", + "description": "Update repository name regex to comply with OCI Distribution Specification", + "type": "api-change" + }, + { + "category": "``neptune``", + "description": "Neptune global clusters now supports tags", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "AWS WAF now supports GetTopPathStatisticsByTraffic that provides aggregated statistics on the top URI paths accessed by bot traffic. Use this operation to see which paths receive the most bot traffic, identify the specific bots accessing them, and filter by category, organization, or bot name.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.48.json b/.changes/1.44.48.json new file mode 100644 index 000000000000..e0556e994d25 --- /dev/null +++ b/.changes/1.44.48.json @@ -0,0 +1,32 @@ +[ + { + "category": "``backup-gateway``", + "description": "This release updates GetGateway API to include deprecationDate and softwareVersion in the response, enabling customers to track gateway software versions and upcoming deprecation dates.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Add c8id, m8id and hpc8a instance types.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "Adding support for Capacity Reservations for ECS Managed Instances by introducing a new \"capacityOptionType\" value of \"RESERVED\" and new field \"capacityReservations\" for CreateCapacityProvider and UpdateCapacityProvider APIs.", + "type": "api-change" + }, + { + "category": "``marketplace-entitlement``", + "description": "Added License Arn as a new optional filter for GetEntitlements and LicenseArn field in each entitlement in the response.", + "type": "api-change" + }, + { + "category": "``meteringmarketplace``", + "description": "Added LicenseArn to ResolveCustomer response and BatchMeterUsage usage records. BatchMeterUsage now accepts LicenseArn in each UsageRecord to report usage at the license level. Added InvalidLicenseException error response for invalid license parameters.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "Security Hub added EXTENDED PLAN integration type to DescribeProductsV2 and added metadata.product.vendor name GroupBy support to GetFindingStatisticsV2", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.5.json b/.changes/1.44.5.json new file mode 100644 index 000000000000..51f982438043 --- /dev/null +++ b/.changes/1.44.5.json @@ -0,0 +1,22 @@ +[ + { + "category": "``config``", + "description": "Added supported resourceTypes for Config from July to November 2025", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Adds support for linkedGroupId on the CreatePlacementGroup and DescribePlacementGroups APIs. The linkedGroupId parameter is reserved for future use.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "Make accountIds a required field in GetRemainingFreeTrialDays API to reflect service behavior.", + "type": "api-change" + }, + { + "category": "``pcs``", + "description": "Change API Reference Documentation for default Mode in Accounting and SlurmRest", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.6.json b/.changes/1.44.6.json new file mode 100644 index 000000000000..a6560ba4e721 --- /dev/null +++ b/.changes/1.44.6.json @@ -0,0 +1,27 @@ +[ + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``geo-places``", + "description": "Adds support for InferredSecondaryAddress place type, Designator in SecondaryAddressComponent and Heading in ReverseGeocode.", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "This release adds support for the Registration Reviewer feature, which provides generative AI feedback on a phone number or sender ID registration to ensure completeness before sending to downstream (carrier) review.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Add additional validation to Outpost bucket names.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "Adds new parameter ``--case-conflict`` that configures how case conflicts are handled on case-insensitive filesystems", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/1.44.7.json b/.changes/1.44.7.json new file mode 100644 index 000000000000..27f7a7737ace --- /dev/null +++ b/.changes/1.44.7.json @@ -0,0 +1,7 @@ +[ + { + "category": "``medialive``", + "description": "AWS Elemental MediaLive now supports Pipeline Locking using Video Alignment as well as linked single pipeline channels to enable cross-channel and cross-region Pipeline Locking workflows.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.8.json b/.changes/1.44.8.json new file mode 100644 index 000000000000..067c9269447e --- /dev/null +++ b/.changes/1.44.8.json @@ -0,0 +1,12 @@ +[ + { + "category": "``connect``", + "description": "Changes for Contact for Global Search", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "This release adds support for quick users to be able to perform role upgrades on their own. Additionally it allows admins to make this feature admin or auto approval along with new self upgrade capability that can be restricted by Admins.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/1.44.9.json b/.changes/1.44.9.json new file mode 100644 index 000000000000..9935bc791afc --- /dev/null +++ b/.changes/1.44.9.json @@ -0,0 +1,17 @@ +[ + { + "category": "``connect``", + "description": "Adds support for searching global contacts using the ActiveRegions filter, and pagination support for ListSecurityProfileFlowModules and ListEntitySecurityProfiles.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules command to latest version", + "type": "api-change" + }, + { + "category": "``kafkaconnect``", + "description": "This change sets the KafkaConnect GovCloud FIPS and FIPS DualStack endpoints to use kafkaconnect instead of kafkaconnect-fips as the service name. This is done to match the Kafka endpoints.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 6a1235a7db26..3d1162d17c2e 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -12,6 +12,14 @@ body: description: What is the problem? A clear and concise description of the bug. validations: required: true + - type: checkboxes + id: regression + attributes: + label: Regression Issue + description: What is a regression? If it worked in a previous version but doesn't in the latest version, it's considered a regression. In this case, please provide specific version number in the report. + options: + - label: Select this option if this issue appears to be a regression. + required: false - type: textarea id: expected attributes: diff --git a/.github/ISSUE_TEMPLATE/migration-tool.yml b/.github/ISSUE_TEMPLATE/migration-tool.yml new file mode 100644 index 000000000000..35220e426102 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/migration-tool.yml @@ -0,0 +1,38 @@ +--- +name: "AWS CLI v1-to-v2 Migration Tool Issue" +description: Report an issue or get support with the AWS CLI v1-to-v2 Migration Tool. +title: "(short issue description)" +labels: [v1-to-v2-migration-tool, needs-triage] +assignees: [] +body: + - type: markdown + attributes: + value: | + Please see the [documentation](https://github.com/aws/aws-cli/tree/v1v2-migration-tool?tab=readme-ov-file#usage) before creating an issue. + - type: textarea + id: description + attributes: + label: Describe the issue + description: What is the problem? A clear and concise description of the issue. + validations: + required: true + - type: textarea + id: context + attributes: + label: Additional Information/Context + description: | + All of the commands, arguments and their outputs used when trying to use the migration tool. Include snippets from the input script being linted if applicable. Anything else that might be relevant for troubleshooting this issue. Enter "N/A" if non-applicable. + validations: + required: true + - type: input + id: migration-tool-version + attributes: + label: Migration tool version used + validations: + required: true + - type: input + id: environment + attributes: + label: Environment details (OS name and version, etc.) + validations: + required: true diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 22e8ed7b57d5..6945426981e5 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,6 +10,16 @@ updates: - dependency-name: "*" update-types: ["version-update:semver-patch"] + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + day: "sunday" + target-branch: "gh-pages" + ignore: + - dependency-name: "*" + update-types: ["version-update:semver-patch"] + - package-ecosystem: "pip" directory: "/" open-pull-requests-limit: 10 @@ -51,3 +61,21 @@ updates: - dependency-name: "pyyaml" - dependency-name: "wheel" - dependency-name: "rsa" + + - package-ecosystem: "pip" + directory: "/" + open-pull-requests-limit: 10 + schedule: + interval: "weekly" + day: "sunday" + target-branch: "gh-pages" + labels: + - "dependencies" + - "gh-pages" + allow: + - dependency-name: "Sphinx" + - dependency-name: "furo" + - dependency-name: "myst-parser" + - dependency-name: "sphinx-lint" + - dependency-name: "sphinx-copybutton" + - dependency-name: "sphinx-inline-tabs" diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index af1387b06cba..3beaa59a3717 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -41,17 +41,20 @@ on: link. required: true +permissions: + contents: write + jobs: add-changelog: runs-on: Ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.1 with: ref: ${{ github.event.inputs.ref }} - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: "3.11" - name: Create changelog diff --git a/.github/workflows/closed-issue-message.yml b/.github/workflows/closed-issue-message.yml deleted file mode 100644 index 895153ce2567..000000000000 --- a/.github/workflows/closed-issue-message.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Closed Issue Message -on: - issues: - types: [closed] -jobs: - auto_comment: - runs-on: ubuntu-latest - steps: - - uses: aws-actions/closed-issue-message@v1 - with: - # These inputs are both required - repo-token: "${{ secrets.GITHUB_TOKEN }}" - message: | - This issue is now closed. Comments on closed issues are hard for our team to see. - If you need more assistance, please open a new issue that references this one. diff --git a/.github/workflows/closed-issue-update.yml b/.github/workflows/closed-issue-update.yml new file mode 100644 index 000000000000..d282858932b0 --- /dev/null +++ b/.github/workflows/closed-issue-update.yml @@ -0,0 +1,32 @@ +name: Closed Issue Update + +on: + issues: + types: [closed] +permissions: + issues: write + +jobs: + unlabel: + runs-on: ubuntu-latest + if: contains(toJson(github.event.issue.labels), 'needs-triage') + steps: + - uses: actions/github-script@v8 + with: + script: | + github.rest.issues.removeLabel({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + name: 'needs-triage' + }) + auto_comment: + runs-on: ubuntu-latest + steps: + - uses: aws-actions/closed-issue-message@v2 + with: + # These inputs are both required + repo-token: "${{ secrets.GITHUB_TOKEN }}" + message: | + This issue is now closed. Comments on closed issues are hard for our team to see. + If you need more assistance, please open a new issue that references this one. diff --git a/.github/workflows/doc-pr-cherry-pick.yml b/.github/workflows/doc-pr-cherry-pick.yml new file mode 100644 index 000000000000..6093bd994eea --- /dev/null +++ b/.github/workflows/doc-pr-cherry-pick.yml @@ -0,0 +1,75 @@ +name: Cherry-Pick PR to v2 + +on: + workflow_dispatch: + inputs: + pr_number: + description: 'PR number to cherry-pick' + type: string + required: true + +permissions: + contents: write + pull-requests: write + +jobs: + cherry_pick_and_create_pr: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # 4.2.2 + with: + fetch-depth: 0 + + - name: Configure Git + run: | + git config user.name "aws-sdk-python-automation" + git config user.email "github-aws-sdk-python-automation@amazon.com" + + - name: Get PR commits + id: get_commits + run: | + gh pr checkout $PR_NUMBER + PR_COMMITS=$(gh pr view $PR_NUMBER --json commits --jq '.commits[].oid') + echo "PR_COMMITS<> "$GITHUB_OUTPUT" + echo "$PR_COMMITS" >> "$GITHUB_OUTPUT" + echo "EOF" >> "$GITHUB_OUTPUT" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_NUMBER: ${{ github.event.inputs.pr_number }} + + - name: Create new branch and cherry-pick commits + id: create_branch + run: | + git fetch origin v2 + NEW_BRANCH="v2-sync-pr-$PR_NUMBER" + git checkout -b $NEW_BRANCH origin/v2 + for commit in $PR_COMMITS; do + git cherry-pick $commit + done + git push origin $NEW_BRANCH + echo "NEW_BRANCH=$NEW_BRANCH" >> $GITHUB_OUTPUT + env: + PR_NUMBER: ${{ github.event.inputs.pr_number }} + PR_COMMITS: ${{ steps.get_commits.outputs.PR_COMMITS}} + + - name: Create new PR + run: | + PR_TITLE=$(gh pr view $PR_NUMBER --json title --jq '.title') + PR_BODY=$(cat << EOF + This PR cherry-picks the commits from #$PR_NUMBER to the v2 branch. + + Please complete the following checklist before merging: + + - [ ] Verify that the original PR (#$PR_NUMBER) is approved + - [ ] Verify that this merge to v2 is appropriate + + By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice. + + EOF + ) + gh pr create --title "[V2] $PR_TITLE" --body "$PR_BODY" --base v2 --head $NEW_BRANCH + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_NUMBER: ${{ github.event.inputs.pr_number }} + NEW_BRANCH: ${{ steps.create_branch.outputs.NEW_BRANCH}} diff --git a/.github/workflows/fail-master-prs.yml b/.github/workflows/fail-master-prs.yml index 671b81edb066..e6ca087aab00 100644 --- a/.github/workflows/fail-master-prs.yml +++ b/.github/workflows/fail-master-prs.yml @@ -4,6 +4,9 @@ on: pull_request: branches: [ master ] +permissions: + contents: read + jobs: fail: runs-on: ubuntu-latest diff --git a/.github/workflows/handle-stale-discussions.yml b/.github/workflows/handle-stale-discussions.yml index f89938e11b48..c842e1174a83 100644 --- a/.github/workflows/handle-stale-discussions.yml +++ b/.github/workflows/handle-stale-discussions.yml @@ -7,6 +7,7 @@ on: jobs: handle-stale-discussions: + if: ${{ github.event.repository.fork == false || github.event_name != 'schedule' }} name: Handle stale discussions runs-on: ubuntu-latest permissions: diff --git a/.github/workflows/issue-regression-labeler.yml b/.github/workflows/issue-regression-labeler.yml new file mode 100644 index 000000000000..fc66cb86afb6 --- /dev/null +++ b/.github/workflows/issue-regression-labeler.yml @@ -0,0 +1,33 @@ +# Apply potential regression label on issues +name: issue-regression-label +on: + issues: + types: [opened, edited] +permissions: read-all +jobs: + add-regression-label: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Fetch template body + id: check_regression + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TEMPLATE_BODY: ${{ github.event.issue.body }} + with: + script: | + const regressionPattern = /\[x\] Select this option if this issue appears to be a regression\./i; + const template = `${process.env.TEMPLATE_BODY}` + const match = regressionPattern.test(template); + core.setOutput('is_regression', match); + - name: Manage regression label + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if [ "${{ steps.check_regression.outputs.is_regression }}" == "true" ]; then + gh issue edit ${{ github.event.issue.number }} --add-label "potential-regression" -R ${{ github.repository }} + else + gh issue edit ${{ github.event.issue.number }} --remove-label "potential-regression" -R ${{ github.repository }} + fi diff --git a/.github/workflows/run-bundle-test.yml b/.github/workflows/run-bundle-test.yml new file mode 100644 index 000000000000..4cf47408ade8 --- /dev/null +++ b/.github/workflows/run-bundle-test.yml @@ -0,0 +1,33 @@ +name: Run bundle test + +on: + push: + branches-ignore: + - develop # the daily release reaches GitHub before PyPI, and these fail in that window + - master + pull_request: + branches-ignore: [ master ] + +permissions: + contents: read + +jobs: + test-bundle: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + os: [ubuntu-latest, macOS-latest] + steps: + - uses: actions/checkout@v6.0.1 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: python scripts/ci/install + - name: Install additional dependencies + run: pip install virtualenv==16.3.0 setuptools-scm==3.3.3 # same as internal generate-bundle.ts + - name: Test the bundle + run: python scripts/ci/test-bundle diff --git a/.github/workflows/run-dep-tests.yml b/.github/workflows/run-dep-tests.yml index 3ef275a63fe9..54a1b6c0d156 100644 --- a/.github/workflows/run-dep-tests.yml +++ b/.github/workflows/run-dep-tests.yml @@ -5,6 +5,9 @@ on: pull_request: branches-ignore: [ master ] +permissions: + contents: read + jobs: build: @@ -12,13 +15,13 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] os: [ubuntu-latest, macOS-latest, windows-latest] steps: - - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c + uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c with: python-version: ${{ matrix.python-version }} - name: Install dependencies diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 234878a73b0d..44bebe6e5783 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -5,6 +5,9 @@ on: pull_request: branches-ignore: [ master ] +permissions: + contents: read + jobs: build: @@ -12,22 +15,13 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] os: [ubuntu-latest, macOS-latest, windows-latest] - # Python 3.8 and 3.9 do not run on m1 hardware which is now standard for - # macOS-latest. - # https://github.com/actions/setup-python/issues/696#issuecomment-1637587760 - exclude: - - { python-version: "3.8", os: "macos-latest" } - - { python-version: "3.9", os: "macos-latest" } - include: - - { python-version: "3.8", os: "macos-13" } - - { python-version: "3.9", os: "macos-13" } steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.1 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -39,6 +33,6 @@ jobs: - name: Run checks run: python scripts/ci/run-check - name: codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: directory: tests diff --git a/.github/workflows/stale_community_prs.yml b/.github/workflows/stale_community_prs.yml index 95db22970161..6ffeb62a29d6 100644 --- a/.github/workflows/stale_community_prs.yml +++ b/.github/workflows/stale_community_prs.yml @@ -1,11 +1,14 @@ name: 'Check stale community PRs.' on: workflow_dispatch +permissions: + pull-requests: write + jobs: stale-implementation-stage: runs-on: ubuntu-latest steps: - - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e + - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f with: debug-only: true repo-token: ${{ secrets.GITHUB_TOKEN }} @@ -25,7 +28,7 @@ jobs: stale-review-stage: runs-on: ubuntu-latest steps: - - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e + - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f with: debug-only: true repo-token: ${{ secrets.GITHUB_TOKEN }} @@ -43,7 +46,7 @@ jobs: labels-to-add-when-unstale: responded exempt-pr-labels: responded,maintainers # Forces PRs to be skipped if these are not removed by maintainers. close-pr-label: DONTUSE - - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e + - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f with: debug-only: true repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/stale_issue.yml b/.github/workflows/stale_issue.yml index 8e523b47b432..f4df9766a0aa 100644 --- a/.github/workflows/stale_issue.yml +++ b/.github/workflows/stale_issue.yml @@ -7,6 +7,7 @@ on: jobs: cleanup: + if: github.event.repository.fork == false permissions: issues: write contents: read diff --git a/.github/workflows/update-lockfiles.yml b/.github/workflows/update-lockfiles.yml index 1f80debfd943..337f753ffab4 100644 --- a/.github/workflows/update-lockfiles.yml +++ b/.github/workflows/update-lockfiles.yml @@ -20,6 +20,9 @@ on: the generated files. +permissions: + contents: write + jobs: update-lockfiles: @@ -31,11 +34,11 @@ jobs: os: [macOS-latest, windows-latest] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.1 with: ref: ${{ github.event.inputs.ref }} - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} diff --git a/.gitignore b/.gitignore index 8bb22129f381..7d2bbe6e1b8f 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,14 @@ nosetests.xml .idea* src/ + +# Virtualenvs +.venv +venv +env +env2 +env3 + # CLI docs generation doc/source/aws_man_pages.json doc/source/reference diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000000..09390283b367 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,26 @@ +exclude: "\ + ^(\ + .github|\ + .changes|\ + docs/|\ + awscli/examples|\ + CHANGELOG.rst\ + )" +repos: + - repo: 'https://github.com/pre-commit/pre-commit-hooks' + rev: v4.5.0 + hooks: + - id: check-yaml + - id: end-of-file-fixer + - id: trailing-whitespace + - repo: 'https://github.com/PyCQA/isort' + rev: 5.12.0 + hooks: + - id: isort + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.4.8 + hooks: + - id: ruff + args: [ --fix ] + - id: ruff-format + diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7506fa3cdfd7..53ef0afae4bb 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,5436 @@ CHANGELOG ========= +1.44.48 +======= + +* api-change:``backup-gateway``: This release updates GetGateway API to include deprecationDate and softwareVersion in the response, enabling customers to track gateway software versions and upcoming deprecation dates. +* api-change:``ec2``: Add c8id, m8id and hpc8a instance types. +* api-change:``ecs``: Adding support for Capacity Reservations for ECS Managed Instances by introducing a new "capacityOptionType" value of "RESERVED" and new field "capacityReservations" for CreateCapacityProvider and UpdateCapacityProvider APIs. +* api-change:``marketplace-entitlement``: Added License Arn as a new optional filter for GetEntitlements and LicenseArn field in each entitlement in the response. +* api-change:``meteringmarketplace``: Added LicenseArn to ResolveCustomer response and BatchMeterUsage usage records. BatchMeterUsage now accepts LicenseArn in each UsageRecord to report usage at the license level. Added InvalidLicenseException error response for invalid license parameters. +* api-change:``securityhub``: Security Hub added EXTENDED PLAN integration type to DescribeProductsV2 and added metadata.product.vendor name GroupBy support to GetFindingStatisticsV2 + + +1.44.47 +======= + +* api-change:``batch``: AWS Batch documentation update for service job capacity units. +* api-change:``ec2``: Add support for EC2 Capacity Blocks in Local Zones. +* api-change:``ecr``: Update repository name regex to comply with OCI Distribution Specification +* api-change:``neptune``: Neptune global clusters now supports tags +* api-change:``wafv2``: AWS WAF now supports GetTopPathStatisticsByTraffic that provides aggregated statistics on the top URI paths accessed by bot traffic. Use this operation to see which paths receive the most bot traffic, identify the specific bots accessing them, and filter by category, organization, or bot name. + + +1.44.46 +======= + +* api-change:``cloudwatch``: This release adds the APIs (PutAlarmMuteRule, ListAlarmMuteRules, GetAlarmMuteRule and DeleteAlarmMuteRule) to manage a new Cloudwatch resource, AlarmMuteRules. AlarmMuteRules allow customers to temporarily mute alarm notifications during expected downtime periods. +* api-change:``ec2``: Adds httpTokensEnforced property to ModifyInstanceMetadataDefaults API. Set per account or manage organization-wide using declarative policies to prevent IMDSv1-enabled instance launch and block attempts to enable IMDSv1 on existing IMDSv2-only instances. +* api-change:``elementalinference``: Initial GA launch for AWS Elemental Inference including capabilities of Smart Crop and Live Event Clipping +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``es``: Fixed HTTP binding for DescribeDomainAutoTunes API to correctly pass request parameters as query parameters in the HTTP request. +* api-change:``medialive``: AWS Elemental MediaLive - Added support for Elemental Inference for Smart Cropping and Clipping features for MediaLive. +* api-change:``observabilityadmin``: Adding a new field in the CreateCentralizationRuleForOrganization, UpdateCentralizationRuleForOrganization API and updating the GetCentralizationRuleForOrganization API response to include the new field +* api-change:``opensearch``: Fixed HTTP binding for DescribeDomainAutoTunes API to correctly pass request parameters as query parameters in the HTTP request. +* api-change:``partnercentral-selling``: Added support for filtering opportunities by target close date in the ListOpportunities API. You can now filter results to return opportunities with a target close date before or after a specified date, enabling more precise opportunity searches based on expected closure timelines. + + +1.44.45 +======= + +* api-change:``bedrock``: Automated Reasoning checks in Amazon Bedrock Guardrails now support fidelity report generation. The new workflow type assesses policy coverage and accuracy against customer documents. The GetAutomatedReasoningPolicyBuildWorkflowResultAssets API adds support for the three new asset types. +* api-change:``connectcases``: SearchCases API can now accept 25 fields in the request and response as opposed to the previous limit of 10. DeleteField's hard limit of 100 fields per domain has been lifted. +* api-change:``controlcatalog``: Updated ExemptedPrincipalArns parameter documentation for improved accuracy +* api-change:``datazone``: Add workflow properties support to connections APIs +* api-change:``dynamodb``: This change supports the creation of multi-account global tables. It adds one new arguments to UpdateTable, GlobalTableSettingsReplicationMode. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``mediatailor``: Updated endpoint rule set for dualstack endpoints. Added a new opt-in option to log raw ad decision server requests for Playback Configurations. +* api-change:``quicksight``: Adds support for SEMISTRUCT to InputColumn Type +* api-change:``wickr``: AWS Wickr now provides APIs to manage your Wickr OpenTDF integration. These APIs enable you to test and save your OpenTDF configuration allowing you to manage rooms based on Trusted Data Format attributes. + + +1.44.44 +======= + +* api-change:``appstream``: Adding new attribute to disable IMDS v1 APIs for fleet, Image Builder and AppBlockBuilder instances. +* api-change:``ecs``: Migrated to Smithy. No functional changes +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``sagemaker-runtime``: Added support for S3OutputPathExtension and Filename parameters to the InvokeEndpointAsync API to allow users to customize the S3 output path and file name for async inference response payloads. +* api-change:``signer-data``: This release introduces AWS Signer Data Plane SDK client supporting GetRevocationStatus API. The new client enables AWS PrivateLink connectivity with both private DNS and VPC endpoint URLs. +* api-change:``ssm``: Add support for AssociationDispatchAssumeRole in AWS SSM State Manager. +* api-change:``trustedadvisor``: Adding a new enum attribute(statusReason) to TrustedAdvisorAPI response. This attribute explains reasoning behind check status for certain specific scenarios. +* bugfix:cloudtrail: Fixed edge case in validate-logs where digest validation could fail with "public key not found" when the end time lands near a key rotation boundary + + +1.44.43 +======= + +* api-change:``bcm-dashboards``: The Billing and Cost Management GetDashboard API now returns identifier for each widget, enabling users to uniquely identify widgets within their dashboards. +* api-change:``ecr``: Adds multiple artifact types filter support in ListImageReferrers API. +* api-change:``pca-connector-scep``: AWS Private CA Connector for SCEP now supports AWS PrivateLink, allowing your clients to request certificates from within your Amazon Virtual Private Cloud (VPC) without traversing the public internet. With this launch, you can create VPC endpoints to connect to your SCEP connector privately. + + +1.44.42 +======= + +* api-change:``cleanrooms``: This release adds support for federated catalogs in Athena-sourced configured tables. +* api-change:``connect``: Correcting in-app notifications API documentation. + + +1.44.41 +======= + +* api-change:``ec2``: Add Operator field to CreatePlacementGroup and DescribePlacementGroup APIs. +* api-change:``grafana``: This release updates Amazon Managed Grafana's APIs to support customer managed KMS keys. +* api-change:``rds``: Adds support for the StorageEncryptionType field to specify encryption type for DB clusters, DB instances, snapshots, automated backups, and global clusters. +* api-change:``workspaces-web``: Adds support for branding customization without requiring a custom wallpaper. + + +1.44.40 +======= + +* api-change:``arc-region-switch``: Clarify documentation on ARC Region Switch start-plan-execution operation +* api-change:``ec2``: Documentation updates for EC2 Secondary Networks +* api-change:``ecr``: Adds support for enabling blob mounting, and removes support for Clair based image scanning +* api-change:``kafka``: Amazon MSK now supports dual-stack connectivity (IPv4 and IPv6) for existing MSK clusters. You can enable dual-stack on existing clusters by specifying the NetworkType parameter in updateConnectivity API. +* api-change:``kms``: Added support for Decrypt and ReEncrypt API's to use dry run feature without ciphertext for authorization validation +* api-change:``qconnect``: Update MessageType enum to include missing types. + + +1.44.39 +======= + +* api-change:``cloudwatch``: Adding new evaluation states that provides information about the alarm evaluation process. Evaluation error Indicates configuration errors in alarm setup that require review and correction. Evaluation failure Indicates temporary CloudWatch issues. +* api-change:``connect``: API release for headerr notifications in the admin website. APIs allow customers to publish brief messages (including URLs) to a specified audience, and a new header icon will indicate when unread messages are available. +* api-change:``ec2``: This release adds geography information to EC2 region and availability zone APIs. DescribeRegions now includes a Geography field, while DescribeAvailabilityZones includes both Geography and SubGeography fields, enabling better geographic classification for AWS regions and zones. +* api-change:``inspector2``: Added .Net 10 (dotnet10) and Node 24.x (node24.x) runtime support for lambda package scanning +* api-change:``sagemaker``: Enable g7e instance type support for SageMaker Processing, and enable single file configuration provisioning for HyperPod Slurm, where customers have the option to use HyperPod API to provide the provisioning parameters. + + +1.44.38 +======= + +* api-change:``ec2``: Launching nested virtualization. This feature allows you to run nested VMs inside virtual (non-bare metal) EC2 instances. +* enhancement:cli-history: Create local history files with specific permissions + + +1.44.37 +======= + +* api-change:``batch``: Add support for listing jobs by share identifier and getting snapshots of active capacity utilization by job queue and share. +* api-change:``ec2``: R8i instances powered by custom Intel Xeon 6 processors available only on AWS with sustained all-core 3.9 GHz turbo frequency +* api-change:``eks``: This release adds support for Windows Server 2025 in Amazon EKS Managed Node Groups. +* api-change:``kafkaconnect``: Support configurable upper limits on task count during autoscaling operations via maxAutoscalingTaskCount parameter. +* api-change:``s3tables``: S3 Tables now supports setting partition specifications and sort orders on tables. Partition specs allow users to define how data is organized using transform functions. Sort order configurations enable users to specify sort directions and null ordering preferences for optimized data layout. +* enhancement:cloudtrail: Added support for validating backfill digest files in ``validate-logs`` command + + +1.44.36 +======= + +* api-change:``bedrock-agentcore``: Added AgentCore browser proxy configuration support, allowing routing of browser traffic through HTTP and HTTPS proxy servers with authentication and bypass rules. +* api-change:``connect``: Amazon Connect now supports per-channel auto-accept and After Contact Work (ACW) timeouts. Configure agents with auto-accept and ACW timeout settings for chat, tasks, emails, and callbacks. Use the new UpdateUserConfig API to manage these settings. +* api-change:``eks``: Introducing an optional policy field, an IAM policy applied to pod identity associations in addition to IAM role policies. When specified, pod permissions are the intersection of IAM role policies and the policy field, ensuring the principle of least privilege. +* api-change:``kafka``: Amazon MSK adds three new APIs, CreateTopic, UpdateTopic, and DeleteTopic for managing Kafka topics in your MSK clusters. +* api-change:``rds``: This release adds backup configuration for RDS and Aurora restores, letting customers set backup retention period and preferred backup window during restore. It also enables viewing backup settings when describing snapshots or automated backups for instances and clusters. + + +1.44.35 +======= + +* api-change:``connectcampaignsv2``: Add the missing event type for WhatsApp +* api-change:``ec2``: Amazon Secondary Networks is a networking feature that provides high-performance, low-latency connectivity for specialized workloads. +* api-change:``eks``: Amazon EKS adds a new DescribeUpdate update type, VendedLogsUpdate, to support an integration between EKS Auto Mode and Amazon CloudWatch Vended Logs. +* api-change:``imagebuilder``: EC2 Image Builder now supports wildcard patterns in lifecycle policies with recipes and enhances the experience of tag-scoped policies. +* api-change:``lakeformation``: Allow cross account v5 in put data lake settings +* api-change:``neptunedata``: Added edgeOnlyLoad boolean parameter to Neptune bulk load request. When TRUE, files are loaded in order without scanning. When FALSE (default), the loader scans files first, then loads vertex files before edge files automatically. +* api-change:``pcs``: Introduces RESUMING state for clusters, compute node groups, and queues. +* api-change:``transfer``: This release adds a documentation update for MdnResponse of type "ASYNC" + + +1.44.34 +======= + +* api-change:``bedrock-data-automation-runtime``: Add OutputConfiguration to InvokeDataAutomation input and output to support S3 output +* api-change:``deadline``: Adds support for tagging jobs during job creation +* api-change:``iot-managed-integrations``: Adding support for Custom(General) Authorization in managed integrations for AWS IoT Device Management cloud connectors. +* api-change:``partnercentral-selling``: Releasing AWS Opportunity Snapshots for SDK release. +* api-change:``sagemaker``: Adding g7e instance support in Sagemaker Training + + +1.44.33 +======= + +* api-change:``arc-region-switch``: Updates documentation for ARC Region switch and provides stronger validation for Amazon Aurora Global Database execution block parameters. +* api-change:``athena``: Reduces the minimum TargetDpus to create or update capacity reservations from 24 to 4. +* api-change:``bedrock-agentcore``: Support Browser profile persistence (cookies and local storage) across sessions for AgentCore Browser. +* api-change:``bedrock-agentcore-control``: Support Browser profile persistence (cookies and local storage) across sessions for AgentCore Browser. +* api-change:``glue``: This release adds the capability to easily create custom AWS Glue connections to data sources with REST APIs. +* api-change:``medialive``: Outputs using the AV1 codec in CMAF Ingest output groups in MediaLive now have the ability to specify a target bit depth of 8 or 10. +* api-change:``neptune-graph``: Minor neptune-graph documentation changes +* api-change:``ram``: Added ListSourceAssociations API. Allows RAM resource share owners to list source associations that determine which sources can access resources through service principal associations. Supports filtering by resource share ARN, source ID, source type, or status, with pagination. +* api-change:``transfer``: Adds support for the customer to send custom HTTP headers and configure an AS2 Connector to receive Asynchronous MDNs from their trading partner +* api-change:``workspaces``: Added support for 12 new graphics-optimized compute types - Graphics.g6 (xlarge, 2xlarge, 4xlarge, 8xlarge, 16xlarge), Graphics.gr6 (4xlarge, 8xlarge), Graphics.g6f (large, xlarge, 2xlarge, 4xlarge), and Graphics.gr6f (4xlarge). + + +1.44.32 +======= + +* api-change:``bedrock-runtime``: Added support for structured outputs to Converse and ConverseStream APIs. +* api-change:``connectcases``: Amazon Connect Cases now supports larger, multi-line text fields with up to 4,100 characters. Administrators can use the Admin UI to select the appropriate configuration (single-line or multi-line) on a per-field basis, improving case documentation capabilities. +* api-change:``eks``: Update delete cluster description +* api-change:``medialive``: AWS Elemental MediaLive now supports SRT listener mode for inputs and outputs, in addition to the existing SRT caller mode. +* api-change:``redshift``: We have increased the maximum duration for a deferred maintenance window from 45 days to 60 days for Amazon Redshift provisioned clusters. This enhancement provides customers with greater flexibility in scheduling patching and maintenance activities while also maintaining security compliance. +* api-change:``workspaces-web``: Support for configuring and managing custom domain names for WorkSpaces Secure Browser portals. + + +1.44.31 +======= + +* api-change:``batch``: AWS Batch Array Job Visibility feature support. Includes new statusSummaryLastUpdatedAt for array job parent DescribeJobs responses for the last time the statusSummary was updated. Includes both statusSummary and statusSummaryLastUpdatedAt in ListJobs responses for array job parents. +* api-change:``dynamodb``: This change supports the creation of multi-account global tables. It adds two new arguments to CreateTable, GlobalTableSourceArn and GlobalTableSettingsReplicationMode. DescribeTable is also updated to include information about GlobalTableSettingsReplicationMode. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``geo-maps``: Added support for optional style parameters in maps, including 3D terrain and 3D Buildings +* api-change:``kinesis``: Adds StreamId parameter to AWS Kinesis Data Streams APIs that is reserved for future use. +* api-change:``marketplace-catalog``: Adds support for Catalog API us-east-1 dualstack endpoint catalog-marketplace.us-east-1.api.aws +* api-change:``organizations``: Updated the CloseAccount description. +* api-change:``sso-admin``: Added new Region management APIs to support multi-Region replication in IAM Identity Center. + + +1.44.30 +======= + +* api-change:``bedrock-agentcore-control``: Adds tagging support for AgentCore Evaluations (evaluator and online evaluation config) +* api-change:``cloudfront``: Add OriginMTLS support to CloudFront Distribution APIs +* api-change:``mpa``: Updates to multi-party approval (MPA) service to add support for multi-factor authentication (MFA) for voting operations. + + +1.44.29 +======= + +* api-change:``connect``: This release adds Estimated Wait Time support to the GetContactMetrics API for Amazon Connect. +* api-change:``quicksight``: Improve SessionTag usage guidelines in the GenerateEmbedURLForAnonymousUser API documentation. Update the GetIdentityContext document with the region support context. + + +1.44.28 +======= + +* api-change:``ec2``: G7e instances feature up to 8 NVIDIA RTX PRO 6000 Blackwell Server Edition GPUs with 768 GB of memory and 5th generation Intel Xeon Scalable processors. Supporting up to 192 vCPUs, 1600 Gbps networking bandwidth with EFA, up to 2 TiB of system memory, and up to 15.2 TB of local NVMe SSD storage. +* api-change:``gamelift``: Amazon GameLift Servers now supports automatic scaling to and from zero instances based on game session activity. Fleets scale down to zero following a defined period of no game session activity and scale up from zero when game sessions are requested, providing an option for cost optimization. + + +1.44.27 +======= + +* api-change:``cognito-idp``: This release adds support for a new lambda trigger to transform federated user attributes during the authentication with external identity providers on Cognito Managed Login. +* api-change:``connect``: Adds support for filtering search results based on tags assigned to contacts. +* api-change:``ec2``: SearchTransitGatewayRoutes API response now includes a NextToken field, enabling pagination when retrieving large sets of transit gateway routes. Pass the returned NextToken value in subsequent requests to retrieve the next page of results. +* api-change:``lambda``: We are launching ESM Metrics and logging for Kafka ESM to allow customers to monitor Kafka event processing using CloudWatch Metrics and Logs. +* api-change:``mediaconnect``: This release adds support for NDI flow sources in AWS Elemental MediaConnect. You can now send content to your MediaConnect transport streams directly from your NDI environment using the new NDI source type. Also adds support for LARGE 4X flow size, which can be used when creating CDI JPEG-XS flows. +* api-change:``mediaconvert``: This release adds a follow source mode for audio output channel count, an AES audio frame wrapping option for MXF outputs, and an option to signal DolbyVision compatibility using the SUPPLEMENTAL-CODECS tag in HLS manifests. +* api-change:``s3``: Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets. +* api-change:``s3control``: Adds support for the UpdateObjectEncryption API to change the server-side encryption type of objects in general purpose buckets. + + +1.44.26 +======= + +* api-change:``connect``: Added support for task attachments. The StartTaskContact API now accepts file attachments, enabling customers to include files (.csv, .doc, .docx, .heic, .jfif, .jpeg, .jpg, .mov, .mp4, .pdf, .png, .ppt, .pptx, .rtf, .txt, etc.) when creating Task contacts. Supports up to 5 attachments per task. +* api-change:``deadline``: AWS Deadline Cloud now supports editing job names and descriptions after submission. +* api-change:``ec2``: Releasing new EC2 instances. C8gb and M8gb with highest EBS performance, M8gn with 600 Gbps network bandwidth, X8aedz and M8azn with 5GHz AMD processors, X8i with Intel Xeon 6 processors and up to 6TB memory, and Mac-m4max with Apple M4 Max chip for 25 percent faster builds. +* api-change:``medialive``: AWS Elemental MediaLive released two new features that allows customers 1) to set Output Timecode for AV1 encoder, 2) to set a Custom Epoch for CMAF Ingest and MediaPackage V2 output groups when using Pipeline Locking or Disabled Locking modes. +* api-change:``sagemaker``: Idle resource sharing enables teams to borrow unused compute resources in your SageMaker HyperPod cluster. This capability maximizes resource utilization by allowing teams to borrow idle compute capacity beyond their allocated compute quotas. +* enhancement:``gamelift``: Add ``--tags`` parameter to ``upload-build`` command. + + +1.44.25 +======= + +* api-change:``connectcases``: Amazon Connect now enables you to use tag-based access controls to define who can access specific cases. You can associate tags with case templates and configure security profiles to determine which users can access cases with those tags. +* api-change:``ec2``: DescribeInstanceTypes API response now includes an additionalFlexibleNetworkInterfaces field, the number of interfaces attachable to an instance when using flexible Elastic Network Adapter (ENA) queues in addition to the base number specified by maximumNetworkInterfaces. +* api-change:``evidently``: Deprecate all Evidently API for AWS CloudWatch Evidently deprecation +* api-change:``groundstation``: Adds support for AWS Ground Station Telemetry. +* bugfix:documentation: Fixed shorthand example generation in documentation. + + +1.44.24 +======= + +* api-change:``connect``: Amazon Connect now offers public APIs to programmatically configure and run automated tests for contact center experiences. Integrate testing into CICD pipelines, run multiple tests at scale, and retrieve results via API to automate validation of voice interactions and workflows. +* api-change:``datazone``: Added api for deleting data export configuration for a domain +* api-change:``qconnect``: Fixes incorrect types in the UpdateAssistantAIAgent API request, adds MESSAGE to TargetType enum, and other minor changes. + + +1.44.23 +======= + +* api-change:``autoscaling``: This release adds support for Amazon EC2 Auto Scaling group deletion protection +* api-change:``budgets``: Add Budget FilterExpression and Metrics fields to DescribeBudgetPerformanceHistory to support more granular filtering options. +* api-change:``dynamodb``: Adds additional waiters to Amazon DynamoDB. +* api-change:``ec2``: Add better support for fractional GPU instances in DescribeInstanceTypes API. The new fields, logicalGpuCount, gpuPartitionSize, and workload array enable better GPU resource selection and filtering for both full and fractional GPU instance types. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``gamelift``: Amazon GameLift Servers Realtime now supports Node.js 24.x runtime on the Amazon Linux 2023 operating system. +* api-change:``guardduty``: Adding new enum value for ScanStatusReason +* api-change:``health``: Updates the lower range for the maxResults request property for DescribeAffectedEntities, DescribeAffectedEntitiesForOrganization, DescribeEvents, and DescribeEventsForOrganization API request properties. +* api-change:``meteringmarketplace``: Customer Identifier parameter deprecation date has been removed. For new implementations, we recommend using the CustomerAWSAccountID. Your current integration will continue to work. When updating your implementation, consider migrating to CustomerAWSAccountID for improved integration. +* api-change:``verifiedpermissions``: Adding documentation to user guide and API documentation for how customers can create new encrypted policy stores by passing in their customer managed key during policy store creation. + + +1.44.22 +======= + +* api-change:``bedrock-agentcore``: Supports custom browser extensions for AgentCore Browser and increased message payloads up to 100KB per message in an Event for AgentCore Memory +* api-change:``config``: AWS Config Conformance Packs now support tag-on-create through PutConformancePack API. +* api-change:``ec2``: Added support of multiple EBS cards. New EbsCardIndex parameter enables attaching volumes to specific EBS cards on supported instance types for improved storage performance. +* api-change:``quicksight``: Added documentation and model for sheet layout groups - allows sheet elements to be grouped, Added documentation and the feature enables admins to have granular control over connectors under actions, Updated API documentation for PDF Export in Snapshot Export APIs + + +1.44.21 +======= + +* api-change:``autoscaling``: This release adds support for three new filters when describing scaling activities, StartTimeLowerBound, StartTimeUpperBound, and Status. +* api-change:``bedrock-runtime``: Added support for extended prompt caching with one hour TTL. +* api-change:``keyspaces``: Adds support for managing table pre-warming in Amazon Keyspaces (for Apache Cassandra) +* api-change:``odb``: Adds support for associating and disassociating IAM roles with Autonomous VM cluster resources through the AssociateIamRoleToResource and DisassociateIamRoleFromResource APIs. The GetCloudAutonomousVmCluster and ListCloudAutonomousVmClusters API responses now include the iamRoles field. +* api-change:``verifiedpermissions``: Amazon Verified Permissions now supports encryption of resources by a customer managed KMS key. Customers can now create new encrypted policy stores by passing in their customer managed key during policy store creation. +* api-change:``workspaces-instances``: Added billing configuration support for WorkSpaces Instances with monthly and hourly billing modes, including new filtering capabilities for instance type searches. + + +1.44.20 +======= + +* api-change:``connect``: Adds support to allow customers to create form with Dispute configuration +* api-change:``datazone``: This release adds support for numeric filtering and complex free-text searches cases for the Search and SearchListings APIs. +* api-change:``glacier``: Documentation updates for Amazon Glacier's maintenance mode +* api-change:``launch-wizard``: Added UpdateDeployment, ListDeploymentPatternVersions and GetDeploymentPatternVersion APIs for Launch Wizard +* api-change:``resource-explorer-2``: Added ViewName to View-related responses and ServiceViewName to GetServiceView response. +* api-change:``sagemaker``: Adding security consideration comments for lcc accessing execution role under root access + + +1.44.19 +======= + +* api-change:``cleanrooms``: This release adds support for parameters in PySpark analysis templates. +* api-change:``deadline``: AWS Deadline Cloud now supports tagging Budget resources with ABAC for permissions management and selecting up to 16 filter values in the monitor and Search API. +* api-change:``ec2``: This release includes documentation updates to support up to four Elastic Volume modifications per Amazon EBS volume within a rolling 24-hour period. +* api-change:``ecs``: Adds support for configuring FIPS in AWS GovCloud (US) Regions via a new ECS Capacity Provider field fipsEnabled. When enabled, instances launched by the capacity provider will use a FIPS-140 enabled AMI. Instances will use FIPS-140 compliant cryptographic modules and AWS FIPS endpoints. +* api-change:``evs``: A new GetVersions API has been added to retrieve VCF, ESX versions, and EC2 instances provided by Amazon EVS. The CreateEnvironment API now allows you to select a VCF version and the CreateEnvironmentHost API introduces a optional esxVersion parameter. +* api-change:``lakeformation``: API Changes for GTCForLocation feature. Includes a new API, GetTemporaryDataLocationCredentials and updates to the APIs RegisterResource and UpdateResource +* api-change:``opensearchserverless``: Collection groups in Amazon OpenSearch Serverless enables to organize multiple collections and enable compute resource sharing across collections with different KMS keys. This shared compute model reduces costs by eliminating the need for separate OpenSearch Compute Units (OCUs) for each KMS key. +* api-change:``qconnect``: Fix inference configuration shapes for the CreateAIPrompt and UpdateAIPrompt APIs, Modify Text Length Limit for SendMessage API + + +1.44.18 +======= + +* api-change:``ce``: Cost Categories added support to BillingView data filter expressions through the new costCategories parameter, enabling users to filter billing views by AWS Cost Categories for more granular cost management and allocation. +* api-change:``connect``: Amazon Connect makes it easier to manage contact center operating hours by enabling automated scheduling for recurring events like holidays and maintenance windows. Set up recurring patterns (weekly, monthly, etc.) or link to another hours of operation to inherit overrides. +* api-change:``eks``: Added support for BOTTLEROCKET NVIDIA FIPS AMIs to AMI types in US regions. +* api-change:``rds``: no feature changes. model migrated to Smithy +* api-change:``redshift``: Adds support for enabling extra compute resources for automatic optimization during create and modify operations in Amazon Redshift clusters. +* api-change:``redshift-serverless``: Adds support for enabling extra compute resources for automatic optimization during create and update operations in Amazon Redshift Serverless workgroups. +* api-change:``socialmessaging``: This release clarifies WhatsApp template operations as a resource-authenticated operation via the parent WhatsApp Business Account. It also introduces new parameters for parameter format, CTA URL link tracking, and template body examples, and increases the phone number ID length. + + +1.44.17 +======= + +* api-change:``bedrock``: This change will increase TestCase guardContent input size from 1024 to 2028 characters and PolicyBuildDocumentDescription from 2000 to 4000 characters +* api-change:``datazone``: Adds support for IAM role subscriptions to Glue table listings via CreateSubscriptionRequest API. Also adds owningIamPrincipalArn filter to List APIs and subscriptionGrantCreationMode parameter to subscription target APIs for controlling grant creation behavior. + + +1.44.16 +======= + +* api-change:``billing``: Cost Categories filtering support to BillingView data filter expressions through the new costCategories parameter, enabling users to filter billing views by AWS Cost Categories for more granular cost management and allocation. +* api-change:``iot-managed-integrations``: This release introduces WiFi Simple Setup (WSS) enabling device provisioning via barcode scanning with automated network discovery, authentication, and credential provisioning. Additionally, it introduces 2P Device Capability Rediscovery for updating hub-managed device capabilities post-onboarding. +* api-change:``sagemaker``: Added ultraServerType to the UltraServerInfo structure to support server type identification for SageMaker HyperPod +* enhancement:``s3``: Adds new parameter ``--case-conflict`` that configures how case conflicts are handled on case-insensitive filesystems + + +1.44.15 +======= + +* api-change:``bedrock-agentcore-control``: Adds optional field "view" to GetMemory API input to give customers control over whether CMK encrypted data such as strategy decryption or override prompts is returned or not. +* api-change:``cloudfront``: Added EntityLimitExceeded exception handling to the following API operations AssociateDistributionWebACL, AssociateDistributionTenantWebACL, UpdateDistributionWithStagingConfig +* api-change:``glue``: Adding MaterializedViews task run APIs +* api-change:``medialive``: MediaPackage v2 output groups in MediaLive can now accept one additional destination for single pipeline channels and up to two additional destinations for standard channels. MediaPackage v2 destinations now support sending to cross region MediaPackage channels. +* api-change:``transcribe``: Adds waiters to Amazon Transcribe. + + +1.44.14 +======= + +* api-change:``workspaces``: Add StateMessage and ProgressPercentage fields to DescribeCustomWorkspaceImageImport API response. + + +1.44.13 +======= + +* api-change:``ce``: This release updates existing reservation recommendations API to support deployment model. +* api-change:``emr-serverless``: Added support for enabling disk encryption using customer managed AWS KMS keys to CreateApplication, UpdateApplication and StartJobRun APIs. + + +1.44.12 +======= + +* api-change:``cleanroomsml``: AWS Clean Rooms ML now supports advanced Spark configurations to optimize SQL performance when creating an MLInputChannel or an audience generation job. + + +1.44.11 +======= + +* bugfix:``s3``: Reverts addition of ``--case-conflict`` feature which caused a performance regression when copying from S3 to large local directories + + +1.44.10 +======= + +* api-change:``cleanrooms``: Added support for publishing detailed metrics to CloudWatch for operational monitoring of collaborations, including query performance and resource utilization. +* api-change:``identitystore``: This change introduces "Roles" attribute for User entities supported by AWS Identity Store SDK. + + +1.44.9 +====== + +* api-change:``connect``: Adds support for searching global contacts using the ActiveRegions filter, and pagination support for ListSecurityProfileFlowModules and ListEntitySecurityProfiles. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``kafkaconnect``: This change sets the KafkaConnect GovCloud FIPS and FIPS DualStack endpoints to use kafkaconnect instead of kafkaconnect-fips as the service name. This is done to match the Kafka endpoints. + + +1.44.8 +====== + +* api-change:``connect``: Changes for Contact for Global Search +* api-change:``quicksight``: This release adds support for quick users to be able to perform role upgrades on their own. Additionally it allows admins to make this feature admin or auto approval along with new self upgrade capability that can be restricted by Admins. + + +1.44.7 +====== + +* api-change:``medialive``: AWS Elemental MediaLive now supports Pipeline Locking using Video Alignment as well as linked single pipeline channels to enable cross-channel and cross-region Pipeline Locking workflows. + + +1.44.6 +====== + +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``geo-places``: Adds support for InferredSecondaryAddress place type, Designator in SecondaryAddressComponent and Heading in ReverseGeocode. +* api-change:``pinpoint-sms-voice-v2``: This release adds support for the Registration Reviewer feature, which provides generative AI feedback on a phone number or sender ID registration to ensure completeness before sending to downstream (carrier) review. +* api-change:``s3``: Add additional validation to Outpost bucket names. +* enhancement:``s3``: Adds new parameter ``--case-conflict`` that configures how case conflicts are handled on case-insensitive filesystems + + +1.44.5 +====== + +* api-change:``config``: Added supported resourceTypes for Config from July to November 2025 +* api-change:``ec2``: Adds support for linkedGroupId on the CreatePlacementGroup and DescribePlacementGroups APIs. The linkedGroupId parameter is reserved for future use. +* api-change:``guardduty``: Make accountIds a required field in GetRemainingFreeTrialDays API to reflect service behavior. +* api-change:``pcs``: Change API Reference Documentation for default Mode in Accounting and SlurmRest + + +1.44.4 +====== + +* api-change:``arc-region-switch``: Automatic Plan Execution Reports allow customers to maintain a concise record of their Region switch Plan executions. This enables customer SREs and leadership to have a clear view of their recovery posture based on the generated reports for their Plan executions. +* api-change:``connect``: Adding support for Custom Metrics and Pre-Defined Attributes to GetCurrentMetricData API. +* api-change:``emr-serverless``: Added JobLevelCostAllocationConfiguration field to enable cost allocation reporting at the job level, providing more granular visibility into EMR Serverless charges +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``iot``: This release adds event-based logging feature that enables granular event logging controls for AWS IoT logs. +* api-change:``qbusiness``: It is a internal bug fix for region expansion +* api-change:``wickr``: AWS Wickr now provides a suite of admin APIs to allow you to programmatically manage secure communication for Wickr networks at scale. These APIs enable you to automate administrative workflows including user lifecycle management, network configuration, and security group administration. +* api-change:``workspaces-web``: Add support for WebAuthn under user settings. + + +1.44.3 +====== + +* api-change:``appstream``: Added support for new operating systems (1) Ubuntu 24.04 Pro LTS on Elastic fleets, and (2) Microsoft Server 2025 on Always-On and On-Demand fleets +* api-change:``arc-region-switch``: New API to list Route 53 health checks created by ARC region switch for a plan in a specific AWS Region using the Region switch Regional data plane. +* api-change:``artifact``: Add support for ListReportVersions API for the calling AWS account. +* api-change:``bedrock-agentcore-control``: Feature to support header exchanges between Bedrock AgentCore Gateway Targets and client, along with propagating query parameter to the configured targets. +* api-change:``bedrock-data-automation``: Blueprint Optimization (BPO) is a new Amazon Bedrock Data Automation (BDA) capability that improves blueprint inference accuracy using example content assets and ground truth data. BPO works by generating better instructions for fields in the Blueprint using provided data. +* api-change:``cleanrooms``: Adding support for collaboration change requests requiring an approval workflow. Adding support for change requests that grant or revoke results receiver ability and modifying auto approved change types in an existing collaboration. +* api-change:``ec2``: This release adds AvailabilityZoneId support for CreateFleet, ModifyFleet, DescribeFleets, RequestSpotFleet, ModifySpotFleetRequests and DescribeSpotFleetRequests APIs. +* api-change:``ecr``: Adds support for ECR Create On Push +* api-change:``ecs``: Adding support for Event Windows via a new ECS account setting "fargateEventWindows". When enabled, ECS Fargate will use the configured event window for patching tasks. Introducing "CapacityOptionType" for CreateCapacityProvider API, allowing support for Spot capacity for ECS Managed Instances. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``iot``: This release adds message batching for the IoT Rules Engine HTTP action. +* api-change:``opensearch``: Amazon OpenSearch Service adds support for warm nodes, enabling new multi-tier architecture. +* api-change:``sesv2``: Amazon SES introduces Email Validation feature which checks email addresses for syntax errors, domain validity, and risky addresses to help maintain deliverability and protect sender reputation. SES also adds resource tagging and ABAC support for EmailTemplates and CustomVerificationEmailTemplates. +* api-change:``ssm-sap``: Added "Stopping" for the HANA Database Status. +* enhancement:cloudtrail: Fixed performance issue in cloudtrail validate-logs command by scoping S3 digest file listing to the trail's region instead of processing digest files from all regions. + + +1.44.2 +====== + +* api-change:``gameliftstreams``: Added new stream group operation parameters for scale-on-demand capacity with automatic prewarming. Added new Gen6 stream classes based on the EC2 G6 instance family. Added new StartStreamSession parameter for exposure of real-time performance stats to clients. +* api-change:``guardduty``: Add support for dbiResourceId in finding. +* api-change:``inspector-scan``: Adds an additional OutputFormat +* api-change:``kafkaconnect``: Support dual-stack network connectivity for connectors via NetworkType field. +* api-change:``mediaconvert``: Adds support for tile encoding in HEVC and audio for video overlays. +* api-change:``mediapackagev2``: This release adds support for SPEKE V2 content key encryption in MediaPackage v2 Origin Endpoints. +* api-change:``payment-cryptography``: Support for AS2805 standard. Modifications to import-key and export-key to support AS2805 variants. +* api-change:``payment-cryptography-data``: Support for AS2805 standard. New API GenerateAs2805KekValidation and changes to translate pin, GenerateMac and VerifyMac to support AS2805 key variants. +* api-change:``sagemaker``: Adding the newly launched p6-b300.48xlarge ec2 instance support in Sagemaker(Hyperpod,Training and Sceptor) + + +1.44.1 +====== + +* api-change:``iot``: Add support for dynamic payloads in IoT Device Management Commands +* api-change:``timestream-influxdb``: This release adds support for rebooting InfluxDB DbInstances and DbClusters + + +1.44.0 +====== + +* api-change:``bedrock-agentcore-control``: This release updates broken links for AgentCore Policy APIs in the AWS CLI and SDK resources. +* api-change:``connect``: Amazon Connect now supports outbound WhatsApp contacts via the Send message block or StartOutboundChatContact API. Send proactive messages for surveys, reminders, and updates. Offer customers the option to switch to WhatsApp while in queue, eliminating hold time. +* api-change:``ec2``: EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``entityresolution``: Support Customer Profiles Integration for AWS Entity Resolution +* api-change:``glacier``: Documentation updates for Amazon Glacier's maintenance mode +* api-change:``health``: Updating Health API endpoint generation for dualstack only regions +* api-change:``logs``: This release allows you to import your historical CloudTrail Lake data into CloudWatch with a few steps, enabling you to easily consolidate operational, security, and compliance data in one place. +* api-change:``mediatailor``: Added support for Ad Decision Server Configuration enabling HTTP POST requests with custom bodies, headers, GZIP compression, and dynamic variables. No changes required for existing GET request configurations. +* api-change:``route53resolver``: Adds support for enabling detailed metrics on Route 53 Resolver endpoints using RniEnhancedMetricsEnabled and TargetNameServerMetricsEnabled in the CreateResolverEndpoint and UpdateResolverEndpoint APIs, providing enhanced visibility into Resolver endpoint and target name server performance. +* api-change:``s3``: This release adds support for the new optional field 'LifecycleExpirationDate' in S3 Inventory configurations. +* api-change:``service-quotas``: Add support for SQ Dashboard Api +* feature:Migration: Implement a ``--v2-debug`` flag and ``AWS_CLI_UPGRADE_DEBUG_MODE`` environment variable that detects breaking changes for AWS CLI v2 for entered commands. + + +1.43.15 +======= + +* api-change:``bcm-recommended-actions``: Added new freetier action types to RecommendedAction.type. +* api-change:``connect``: Amazon Connect now offers automated post-chat surveys triggered when customers end conversations. This captures timely feedback while experience is fresh, using either a no-code form builder or Amazon Lex-powered interactive surveys. +* api-change:``datasync``: Adds Enhanced mode support for NFS and SMB locations. SMB credentials are now managed via Secrets Manager, and may be encrypted with service or customer managed keys. Increases AgentArns maximum count to 8 (max 4 per TaskMode). Adds folder counters to DescribeTaskExecution for Enhanced mode tasks. +* api-change:``workspaces-web``: Adds support for portal branding customization, enabling administrators to personalize end-user portals with custom assets. + + +1.43.14 +======= + +* api-change:``lambda``: Add Dotnet 10 (dotnet10) support to AWS Lambda. +* api-change:``organizations``: Add support for policy operations on the NETWORK SECURITY DIRECTOR POLICY policy type. +* api-change:``quicksight``: This release adds new GetIdentityContext API, Dashboard customization options for tables and pivot tables, Visual styling options- borders and decals, map GeocodingPreferences, KeyPairCredentials for DataSourceCredentials. Snapshot APIs now support registered users. Parameters limit increased to 400 +* api-change:``secretsmanager``: Add SortBy parameter to ListSecrets +* api-change:``sesv2``: Update GetEmailIdentity and CreateEmailIdentity response to include SigningHostedZone in DkimAttributes. Updated PutEmailIdentityDkimSigningAttributes Response to include SigningHostedZone. + + +1.43.13 +======= + +* api-change:``bedrock``: Automated Reasoning checks in Amazon Bedrock Guardrails is capable of generating policy scenarios to validate policies. The GetAutomatedReasoningPolicyBuildWorkflowResultAssets API now adds POLICY SCENARIO asset type, allowing customers to retrieve scenarios generated by the build workflow. +* api-change:``billingconductor``: Launch itemized custom line item and service line item filter +* api-change:``cloudwatch``: This release introduces two additional protocols AWS JSON 1.1 and Smithy RPC v2 CBOR, replacing the currently utilized one, AWSQuery. AWS SDKs will prioritize the protocol that is the most performant for each language. +* api-change:``odb``: The following APIs now return CloudExadataInfrastructureArn and OdbNetworkArn fields for improved resource identification and AWS service integration - GetCloudVmCluster, ListCloudVmClusters, GetCloudAutonomousVmCluster, and ListCloudAutonomousVmClusters. +* api-change:``opensearch``: The CreateApplication API now supports an optional kms key arn parameter to allow customers to specify a CMK for application encryption. +* api-change:``partnercentral-selling``: Adds support for the new Project.AwsPartition field on Opportunity and AWS Opportunity Summary. Use this field to specify the AWS partition where the opportunity will be deployed. +* api-change:``signer``: Adds support for Signer GetRevocationStatus with updated endpoints + + +1.43.12 +======= + +* api-change:``account``: This release adds a new API (GetGovCloudAccountInformation) used to retrieve information about a linked GovCloud account from the standard AWS partition. +* api-change:``appsync``: Update Event API to require EventConfig parameter in creation and update requests. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``guardduty``: Adding support for Ec2LaunchTemplate Version field +* api-change:``ivs-realtime``: Token Exchange introduces seamless token exchange capabilities for IVS RTX, enabling customers to upgrade or downgrade token capabilities and update token attributes within the IVS client SDK without forcing clients to disconnect and reconnect. +* api-change:``mgn``: Added parameters encryption, IPv4/IPv6 protocol configuration, and enhanced tagging support for replication operations. +* api-change:``route53``: Amazon Route 53 now supports the EU (Germany) Region (eusc-de-east-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region + + +1.43.11 +======= + +* api-change:``ce``: Add support for Cost Category resource associations including filtering by resource type on ListCostCategoryDefinitions and new ListCostCategoryResourceAssociations API. +* api-change:``ec2``: Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz. +* api-change:``identitystore``: Updating AWS Identity Store APIs to support Attribute Extensions capability, with the first release adding Enterprise Attributes. This launch aligns Identity Store APIs with SCIM for enterprise attributes, reducing cases when customers are forced to use SCIM due to lack of SigV4 API support. +* api-change:``partnercentral-selling``: Deal Sizing Service for AI-based deal size estimation with AWS service-level breakdown, supporting Expansion and Migration deals across Technology, and Reseller partner cohorts, including Pricing Calculator AddOn for MAP deals and funding incentives. +* api-change:``rds``: Adding support for tagging RDS Instance/Cluster Automated Backups +* api-change:``redshift-serverless``: Added GetIdentityCenterAuthToken API to retrieve encrypted authentication tokens for Identity Center integrated serverless workgroups. This API enables programmatic access to secure Identity Center tokens with proper error handling and parameter validation across supported SDK languages. +* api-change:``rolesanywhere``: Increases certificate string length for trust anchor source data to support ML-DSA certificates. +* api-change:``sesv2``: Update Mail Manager Archive ARN validation + + +1.43.10 +======= + +* api-change:``ecs``: Updating stop-task API to encapsulate containers with custom stop signal +* api-change:``iam``: Adding the ExpirationTime attribute to the delegation request resource. +* api-change:``inspector2``: This release adds a new ScanStatus called "Unsupported Code Artifacts". This ScanStatus will be returned when a Lambda function was not code scanned because it has unsupported code artifacts. +* api-change:``partnercentral-account``: Adding Verification API's to Partner Central Account SDK. +* api-change:``sesv2``: Updating the desired url for `PutEmailIdentityDkimSigningAttributes` from v1 to v2 + + +1.43.9 +====== + +* api-change:``lambda``: Add DisallowedByVpcEncryptionControl to the LastUpdateStatusReasonCode and StateReasonCode enums to represent failures caused by VPC Encryption Controls. + + +1.43.8 +====== + +* api-change:``bedrock``: Adding support in Amazon Bedrock to customize models with reinforcement fine-tuning (RFT) and support for updating the existing Custom Model Deployments. +* api-change:``sagemaker``: Introduces Serverless training: A fully managed compute infrastructure that abstracts away all infrastructure complexity, allowing you to focus purely on model development. + +Added AI model customization assets used to train, refine, and evaluate custom models during the model customization process. + + +1.43.7 +====== + +* api-change:``bedrock``: Adds the audioDataDeliveryEnabled boolean field to the Model Invocation Logging Configuration. +* api-change:``bedrock-agentcore``: Support for AgentCore Evaluations and Episodic memory strategy for AgentCore Memory. +* api-change:``bedrock-agentcore-control``: Supports AgentCore Evaluations, Policy, Episodic Memory Strategy, Resource Based Policy for Runtime and Gateway APIs, API Gateway Rest API Targets and enhances JWT authorizer. +* api-change:``bedrock-runtime``: Adds support for Audio Blocks and Streaming Image Output plus new Stop Reasons of malformed_model_output and malformed_tool_use. +* api-change:``ce``: This release updates existing Savings Plans Purchase Analyzer and Recommendations APIs to support Database Savings Plans. +* api-change:``datazone``: Amazon DataZone now supports exporting Catalog datasets as Amazon S3 tables, and provides automatic business glossary term suggestions for data assets. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``fsx``: S3 Access Points support for FSx for NetApp ONTAP +* api-change:``guardduty``: Adding support for extended threat detection for Amazon EC2 and Amazon ECS. Adding support for wild card suppression rules. +* api-change:``lambda``: Launching Lambda durable functions - a new feature to build reliable multi-step applications and AI workflows natively within the Lambda developer experience. +* api-change:``logs``: CloudWatch Logs adds managed S3 Tables integration to access logs using other analytical tools, as well as facets and field indexing to simplify log analytics in CloudWatch Logs Insights. +* api-change:``nova-act``: Initial release of Nova Act SDK. The Nova Act service enables customers to build and manage fleets of agents for automating production UI workflows with high reliability, fastest time-to-value, and ease of implementation at scale. +* api-change:``observabilityadmin``: CloudWatch Observability Admin adds pipelines configuration for third party log ingestion and transformation of all logs ingested, integration of CloudWatch logs with S3 Tables, and AWS account or organization level enablement for 7 AWS services. +* api-change:``opensearch``: GPU-acceleration helps you build large-scale vector databases faster and more efficiently. You can enable this feature on new OpenSearch domains and OpenSearch Serverless collections. This feature uses GPU-acceleration to reduce the time needed to index data into vector indexes. +* api-change:``opensearchserverless``: GPU-acceleration helps you build large-scale vector databases faster and more efficiently. You can enable this feature on new OpenSearch domains and OpenSearch Serverless collections. This feature uses GPU-acceleration to reduce the time needed to index data into vector indexes. +* api-change:``rds``: RDS Oracle and SQL Server: Add support for adding, modifying, and removing additional storage volumes, offering up to 256TiB storage; RDS SQL Server: Support Developer Edition via custom engine versions for development and testing purposes; M7i/R7i instances with Optimize CPU for cost savings. +* api-change:``s3``: New S3 Storage Class FSX_ONTAP +* api-change:``s3control``: Add support for S3 Storage Lens Advanced Performance Metrics, Expanded Prefixes metrics report, and export to S3 Tables. +* api-change:``s3tables``: Add storage class, replication, and table record expiration features to S3 Tables. +* api-change:``s3vectors``: Amazon S3 Vectors provides cost-effective, elastic, and durable vector storage for queries based on semantic meaning and similarity. +* api-change:``sagemaker``: Added support for serverless MLflow Apps. + +Added support for new HubContentTypes (DataSet and JsonDoc) in Private Hub for AI model customization assets, enabling tracking and management of training datasets and evaluators (reward functions/prompts) throughout the ML lifecycle. +* api-change:``savingsplans``: Added support for Amazon Database Savings Plans +* api-change:``securityhub``: ITSM enhancements: DRYRUN mode for testing ticket creation, ServiceNow now uses AWS Secrets Manager for credentials, ConnectorRegistrationsV2 renamed to RegisterConnectorV2, added ServiceQuotaExceededException error, and ConnectorStatus visibility in CreateConnectorV2. + + +1.43.6 +====== + +* api-change:``appintegrations``: This release adds support for MCP servers via the ApplicationType field, allowing customers to register their Bedrock AgentCore gateways as third party applications. +* api-change:``bedrock-agent``: Support audio and video ingestion on Bedrock Knowledge Bases. +* api-change:``bedrock-agent-runtime``: Support audio and video content retrieval on Bedrock Knowledge Bases. +* api-change:``cleanrooms``: AWS Clean Rooms now supports privacy-enhancing synthetic dataset generation for custom ML training. +* api-change:``cleanroomsml``: AWS Clean Rooms ML now supports privacy-enhancing synthetic dataset generation for custom ML training. +* api-change:``connect``: This is a combined re:Invent release for Amazon Connect. +* api-change:``connectcampaignsv2``: This release added support for new WhatsApp channel and Journey type outbound campaign +* api-change:``connectparticipant``: Amazon Connect now supports message processing that intercepts and processes chat messages before they reach any participant. +* api-change:``customer-profiles``: This release introduces, CRUD APIs for the DomainObjectType and Recommender resources, APIs to offer statistical insights on Object Type Attributes, Changes to SegmentDefinition APIs to support SQL queries to create Segments, and Changes to Domain APIs to support Data Store. +* api-change:``eks``: This release adds support for EKS Capabilities +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``glue``: feature: Glue: Add support for Iceberg materialized view in Glue Data Catalog, including updated CreateTable API to support materialized views and new APIs for managing data refresh for materialized views. +feature: Glue: Add support for Iceberg table encryption keys and struct field defaults. +* api-change:``lambda``: Launching Lambda Managed Instances - a new feature to run Lambda on EC2. +* api-change:``lexv2-models``: Adds support for speech-to-speech models for human-like, adaptive, and expressive voice interactions. Also adds support for speech model preference, allowing customers to select which speech model they want to use for speech-to-text requests. +* api-change:``marketplace-agreement``: This release supports 1/multi-product transactions via offer sets. DescribeAgreement and SearchAgreements APIs now return offer set IDs. SearchAgreements also supports filtering by offer set ID and 2/variable payment pricing terms will be returned through GetAgreementTerms. +* api-change:``marketplace-catalog``: This release introduces offer set entity in AWS Marketplace Catalog API to enable multi-product transaction. Offer set enables sellers to group multiple private offers into a single-click purchase experience, simplifying procurement for customers purchasing multi-product solutions. +* api-change:``partnercentral-account``: Initial GA launch of Partner Central Account +* api-change:``partnercentral-benefits``: Initial GA launch of Partner Central Benefits +* api-change:``partnercentral-selling``: New Features: +Lead Management APIs for capturing and nurturing leads +Lead invitation support for partner collaboration +Lead-to-opportunity conversion operations +AWS Marketplace OfferSets support for opportunities +* api-change:``personalize``: This release adds support for includedDatasetColumns and performIncrementalUpdate in solution APIs, and rankingInfluence in campaign and batch inference APIs. +* api-change:``qconnect``: New AIAgent types: Orchestration for ModelContextProtocol tool integration, CaseSummary for Amazon Connect Case summaries, NoteTaker for Agent Assistance notes. Added ListSpans and Retrieve APIs. Enhanced Q in Connect AssistantAssociationType to support Bring Your Own Bedrock Knowledge Bases. +* api-change:``route53globalresolver``: Add SDK for Amazon Route 53 Global Resolver, a fully managed DNS resolver service that offers broad DNS-filtering security controls. + + +1.43.5 +====== + +* api-change:``bedrock-runtime``: Bedrock Runtime Reserved Service Support +* api-change:``compute-optimizer``: Compute Optimizer now identifies idle NAT Gateway resources for cost optimization based on traffic patterns and backup configuration analysis. Access recommendations via the GetIdleRecommendations API. +* api-change:``cost-optimization-hub``: This release enables AWS Cost Optimization Hub to show cost optimization recommendations for NAT Gateway. + + +1.43.4 +====== + +* api-change:``ec2``: This release adds support to view Network firewall proxy appliances attached to an existing NAT Gateway via DescribeNatGateways API NatGatewayAttachedAppliance structure. +* api-change:``network-firewall``: Network Firewall release of the Proxy feature. +* api-change:``organizations``: Add support for policy operations on the S3_POLICY and BEDROCK_POLICY policy type. +* api-change:``route53``: Adds support for new route53 feature: accelerated recovery. + + +1.43.3 +====== + +* api-change:``cloudfront``: Add TrustStore, ConnectionFunction APIs to CloudFront SDK +* api-change:``logs``: New CloudWatch Logs feature - LogGroup Deletion Protection, a capability that allows customers to safeguard their critical CloudWatch log groups from accidental or unintended deletion. + + +1.43.2 +====== + +* api-change:``apigateway``: API Gateway supports VPC link V2 for REST APIs. +* api-change:``athena``: Introduces Spark workgroup features including log persistence, S3/CloudWatch delivery, UI and History Server APIs, and SparkConnect 3.5.6 support. Adds DPU usage limits at workgroup and query levels as well as DPU usage tracking for Capacity Reservation queries to optimize performance and costs. +* api-change:``bedrock``: Add support to automatically enforce safeguards across accounts within an AWS Organization. +* api-change:``bedrock-agentcore-control``: Support for agentcore gateway interceptor configurations and NONE authorizer type +* api-change:``bedrock-data-automation-runtime``: Adding new fields to GetDataAutomationStatus: jobSubmissionTime, jobCompletionTime, and jobDurationInSeconds +* api-change:``bedrock-runtime``: Add support to automatically enforce safeguards across accounts within an AWS Organization. +* api-change:``cloudformation``: Adds the DependsOn field to the AutoDeployment configuration parameter for CreateStackSet, UpdateStackSet, and DescribeStackSet APIs, allowing users to set and read auto-deployment dependencies between StackSets +* api-change:``compute-optimizer-automation``: Initial release of AWS Compute Optimizer Automation. Create automation rules to implement recommended actions on a recurring schedule based on your specified criteria. Supported actions include: snapshot and delete unattached EBS volumes and upgrade volume types to the latest generation. +* api-change:``connect``: New APIs to support aliases and versions for ContactFlowModule. Updated ContactFlowModule APIs to support custom blocks. +* api-change:``controltower``: The manifest field is now optional for the AWS Control Tower CreateLandingZone and UpdateLandingZone APIs for Landing Zone version 4.0 +* api-change:``ec2``: This release adds a new capability to create and manage interruptible EC2 Capacity Reservations. +* api-change:``ecr``: Add support for ECR managed signing +* api-change:``eks``: Adds support for controlPlaneScalingConfig on EKS Clusters. +* api-change:``elbv2``: This release adds the health check log feature in ALB, allowing customers to send detailed target health check log data directly to their designated Amazon S3 bucket. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``invoicing``: Added the CreateProcurementPortalPreference, GetProcurementPortalPreference, PutProcurementPortalPreference, UpdateProcurementPortalPreferenceStatus, ListProcurementPortalPreferences and DeleteProcurementPortalPreference APIs for procurement portal preference management. +* api-change:``kinesisvideo``: This release adds support for Tiered Storage +* api-change:``kms``: Support for on-demand rotation of AWS KMS Multi-Region keys with imported key material +* api-change:``lambda``: Launching Enhanced Error Handling and ESM Grouping capabilities for Kafka ESMs +* api-change:``lexv2-models``: Adds support for Intent Disambiguation, allowing resolution of ambiguous user inputs when multiple intents match by presenting clarifying questions to users. Also adds Speech Detection Sensitivity configuration for optimizing voice activity detection sensitivity levels in various noise environments. +* api-change:``mailmanager``: Add support for resources in the aws-eusc partition. +* api-change:``marketplace-entitlement``: Endpoint update for new region +* api-change:``mediapackagev2``: Adds support for excluding session key tags from HLS multivariant playlists +* api-change:``meteringmarketplace``: Endpoint update for new region +* api-change:``odb``: Adds AssociateIamRoleToResource and DisassociateIamRoleFromResource APIs for managing IAM roles. Enhances CreateOdbNetwork and UpdateOdbNetwork APIs with KMS, STS, and cross-region S3 parameters. Adds OCI identity domain support to InitializeService API. +* api-change:``organizations``: Add support for policy operations on the UPGRADE_ROLLOUT_POLICY policy type. +* api-change:``qconnect``: This release introduces two new messaging channel subtypes: Push, WhatsApp, under MessageTemplate which is a resource in Amazon Q in Connect. +* api-change:``quicksight``: Amazon Quick Suite now supports QuickChat as an embedding type when calling the GenerateEmbedUrlForRegisteredUser API, enabling developers to embed conversational AI agents directly into their applications. +* api-change:``rds``: Add support for Upgrade Rollout Order +* api-change:``redshift``: Added support for Amazon Redshift Federated Permissions and AWS IAM Identity Center trusted identity propagation. +* api-change:``redshift-serverless``: Added UpdateLakehouseConfiguration API to manage Amazon Redshift Federated Permissions and AWS IAM Identity Center trusted identity propagation for namespaces. +* api-change:``sagemaker``: Enhanced SageMaker HyperPod instance groups with support for MinInstanceCount, CapacityRequirements (Spot/On-Demand), and KubernetesConfig (labels and taints). Also Added speculative decoding and MaxInstanceCount for model optimization jobs. +* api-change:``security-ir``: Add ListInvestigations and SendFeedback APIs to support SecurityIR AI agents +* api-change:``sesv2``: Added support for new SES regions - Asia Pacific (Malaysia) and Canada (Calgary) +* api-change:``transfer``: Adds support for creating Webapps accessible from a VPC. + + +1.43.1 +====== + +* api-change:``application-signals``: Amazon CloudWatch Application Signals now supports un-instrumented services discovery, cross-account views, and change history, helping SRE and DevOps teams monitor and troubleshoot their large-scale distributed applications. +* api-change:``autoscaling``: This release adds support for three new features: 1) Image ID overrides in mixed instances policy, 2) Replace Root Volume - a new strategy for Instance Refresh, and 3) Instance Lifecycle Policy for enhanced instance lifecycle management. +* api-change:``bedrock-agentcore``: Bedrock AgentCore Memory release for redriving memory extraction jobs (StartMemoryExtractionJob and ListMemoryExtractionJob) +* api-change:``bedrock-data-automation``: Added support for Synchronous project type and PII Detection and Redaction +* api-change:``bedrock-data-automation-runtime``: Bedrock Data Automation Runtime Sync API +* api-change:``braket``: Add support for Braket spending limits. +* api-change:``budgets``: Add BillingViewHealthStatusException to DescribeBudgetPerformanceHistory and ServiceQuotaExceededException to UpdateBudget for improved error handling with Billing Views. +* api-change:``cloudfront``: This release adds support for bring your own IP (BYOIP) to CloudFront's CreateAnycastIpList API through an optional IpamCidrConfigs field. +* api-change:``cloudtrail``: AWS launches CloudTrail aggregated events to simplify monitoring of data events at scale. This feature delivers both granular and summarized data events for resources like S3/Lambda, helping security teams identify patterns without custom aggregation logic. +* api-change:``connect``: Add optional ability to exclude users from send notification actions for Contact Lens Rules. +* api-change:``datasync``: The partition value "aws-eusc" is now permitted for ARN (Amazon Resource Name) fields. +* api-change:``devicefarm``: Add support for environment variables and an IAM execution role. +* api-change:``dms``: Added support for customer-managed KMS key (CMK) for encryption for import private key certificate. Additionally added Amazon SageMaker Lakehouse endpoint used for zero-ETL integrations with data warehouses. +* api-change:``dsql``: Added clusterVpcEndpoint field to GetVpcEndpointServiceName API response, returning the VPC connection endpoint for the cluster +* api-change:``ec2``: This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin +* api-change:``ecs``: Launching Amazon ECS Express Mode - a new feature that enables developers to quickly launch highly available, scalable containerized applications with a single command. +* api-change:``elbv2``: This release adds the target optimizer feature in ALB, enabling strict concurrency enforcement on targets. +* api-change:``emr``: Add support for configuring S3 destination for step logs on a per-step basis. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``glue``: Added FunctionType parameter to Glue GetuserDefinedFunctions. +* api-change:``imagebuilder``: EC2 Image Builder now enables the distribution of existing AMIs, retry distribution, and define distribution workflows. It also supports automatic versioning for recipes and components, allowing automatic version increments and dynamic referencing in pipelines. +* api-change:``kinesis``: Kinesis Data Streams now supports up to 50 Enhance Fan-out consumers for On-demand Advantage Streams. On-demand Standard and Provisioned streams will continue with the existing limit of 20 consumers for Enhanced Fan-out. +* api-change:``lakeformation``: Added ServiceIntegrations as a request parameter for CreateLakeFormationIdentityCenterConfigurationRequest and UpdateLakeFormationIdentityCenterConfigurationRequest and response parameter for DescribeLakeFormationIdentityCenterConfigurationResponse +* api-change:``license-manager``: Added cross-account resource aggregation via license asset groups and expiry tracking for Self-Managed Licenses. Extended Org-Wide View to Self-Managed Licenses, added reporting for license asset groups, and removed Athena/Glue dependencies for cross-account resource discovery in commercial regions. +* api-change:``networkmanager``: This release adds support for Cloud WAN Routing Policy providing customers sophisticated routing controls to better manage their global networks +* api-change:``organizations``: Added new APIs for Billing Transfer, new policy type INSPECTOR_POLICY, and allow an account to transfer between organizations +* api-change:``quicksight``: Introducing comprehensive theme styling controls. New features include border customization (radius, width, color), flexible padding controls, background styling for cards and sheets, centralized typography management, and visual-level override support across layouts. +* api-change:``rbin``: Add support for EBS volume in Recycle Bin +* api-change:``rds``: Add support for VPC Encryption Controls. +* api-change:``redshift-data``: Increasing the length limit of Statement Name from 500 to 2048. +* api-change:``s3``: Enable / Disable ABAC on a general purpose bucket. +* api-change:``sagemaker``: Added training plan support for inference endpoints. Added HyperPod task governance with accelerator partition-based quota allocation. Added BatchRebootClusterNodes and BatchReplaceClusterNodes APIs. Updated ListClusterNodes to include privateDnsHostName. +* api-change:``securityhub``: Release Findings and Resources Trends APIs- GetFindingsTrendsV2 and GetResourcesTrendsV2. This supports time-series aggregated counts with composite filtering for 1-year of historical data analysis of Findings and Resources. + + +1.43.0 +====== + +* api-change:``apigateway``: API Gateway now supports response streaming and new security policies for REST APIs and custom domain names. +* api-change:``apigatewayv2``: Support for API Gateway portals and portal products. +* api-change:``backup``: Amazon GuardDuty Malware Protection now supports AWS Backup, extending malware detection capabilities to EC2, EBS, and S3 backups. +* api-change:``bcm-pricing-calculator``: Add GroupSharingPreference, CostCategoryGroupSharingPreferenceArn, and CostCategoryGroupSharingPreferenceEffectiveDate to Bill Estimate. Add GroupSharingPreference and CostCategoryGroupSharingPreferenceArn to Bill Scenario. +* api-change:``bedrock-runtime``: This release includes support for Search Results. +* api-change:``billing``: Added name filtering support to ListBillingViews API through the new names parameter to efficiently filter billing views by name. +* api-change:``billingconductor``: This release adds support for Billing Transfers, enabling management of billing transfers with billing groups on AWS Billing Conductor. +* api-change:``ce``: Add support for COST_CATEGORY, TAG, and LINKED_ACCOUNT AWS managed cost anomaly detection monitors +* api-change:``cloudtrail``: AWS CloudTrail now supports Insights for data events, expanding beyond management events to automatically detect unusual activity on data plane operations. +* api-change:``connectcampaignsv2``: This release added support for ring timer configuration for campaign calls. +* api-change:``cost-optimization-hub``: Release ListEfficiencyMetrics API +* api-change:``datazone``: Amazon DataZone now supports business metadata (readme and metadata forms) at the individual attribute (column) level, a new rule type for glossary terms, and the ability to update the owner of the root domain unit. +* api-change:``dynamodb``: Extended Global Secondary Index (GSI) composite keys to support up to 8 attributes. +* api-change:``ec2``: This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability. +* api-change:``ecr``: Add support for ECR archival storage class and Inspector org policy for scanning +* api-change:``ecs``: Added support for Amazon ECS Managed Instances infrastructure optimization configuration. +* api-change:``emr``: Add CloudWatch Logs integration for Spark driver, executor and step logs +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``fsx``: Adding File Server Resource Manager configuration to FSx Windows +* api-change:``guardduty``: Add support for scanning and viewing scan results for backup resource types +* api-change:``health``: Adds actionability and personas properties to Health events exposed through DescribeEvents, DescribeEventsForOrganization, DescribeEventDetails, and DescribeEventTypes APIs. Adds filtering by actionabilities and personas in EventFilter, OrganizationEventFilter, EventTypeFilter. +* api-change:``iam``: Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature. +* api-change:``inspector2``: This release introduces BLOCKED_BY_ORGANIZATION_POLICY error code and IMAGE_ARCHIVED scanStatusReason. BLOCKED_BY_ORGANIZATION_POLICY error code is returned when an operation is blocked by an AWS Organizations policy. IMAGE_ARCHIVED scanStatusReason is returned when an Image is archived in ECR. +* api-change:``invoicing``: Add support for adding Billing transfers in Invoice configuration +* api-change:``lambda``: Added support for creating and invoking Tenant Isolated functions in AWS Lambda APIs. +* api-change:``logs``: Adding support for ocsf version 1.5, add optional parameter MappingVersion +* api-change:``mediaconnect``: This release adds support for global routing in AWS Elemental MediaConnect. You can now use router inputs and router outputs to manage global video and audio routing workflows both within the AWS-Cloud and over the public internet. +* api-change:``medialive``: MediaLive is adding support for MediaConnect Router by supporting a new input type called MEDIACONNECT_ROUTER. This new input type will provide seamless encrypted transport between MediaConnect Router and your MediaLive channel. +* api-change:``network-firewall``: Partner Managed Rulegroup feature support +* api-change:``networkflowmonitor``: Added new enum value (AWS::EKS::Cluster) for type field under MonitorLocalResource +* api-change:``partnercentral-channel``: Initial GA launch of Partner Central Channel +* api-change:``route53``: Add dual-stack endpoint support for Route53 +* api-change:``rum``: CloudWatch RUM now supports mobile application monitoring for Android and iOS platforms +* api-change:``s3``: Adds support for blocking SSE-C writes to general purpose buckets. +* api-change:``sagemaker``: Added support for enhanced metrics for SageMaker AI Endpoints. This features provides Utilization Metrics at instance and container granularity and also provides easy configuration of metric publish frequency from 10 sec -> 5 mins +* api-change:``secretsmanager``: Adds support to create, update, retrieve, rotate, and delete managed external secrets. +* api-change:``signin``: AWS Sign-In manages authentication for AWS services. This service provides secure authentication flows for accessing AWS resources from the console and developer tools. This release adds the CreateOAuth2Token API, which can be used to fetch OAuth2 access tokens and refresh tokens from Sign-In. +* api-change:``stepfunctions``: Adds support to TestState for mocked results and exceptions, along with additional inspection data. +* api-change:``sts``: IAM now supports outbound identity federation via the STS GetWebIdentityToken API, enabling AWS workloads to securely authenticate with external services using short-lived JSON Web Tokens. +* feature:credentials: Adds support for the login credential provider, allowing users to use AWS Management Console credentials for authentication. + + +1.42.76 +======= + +* api-change:``autoscaling``: This release adds the new LaunchInstances API, which can launch instances synchronously in an AutoScaling group. The API also returns instances info and launch error back immediately. +* api-change:``backup``: AWS Backup now supports a low-cost warm storage tier for Amazon S3 backup data. +* api-change:``bedrock-runtime``: Amazon Bedrock Runtime Service Tier Support Launch +* api-change:``cloudformation``: New CloudFormation DescribeEvents API with operation ID tracking and failure filtering capabilities to quickly identify root causes of deployment failures. Also, a DeploymentMode parameter for the CreateChangeSet API that enables creation of drift-aware change sets for safe drift management. +* api-change:``connect``: This release added support for ring timer configuration for campaign calls. +* api-change:``ec2``: AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises. +* api-change:``iam``: Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature. +* api-change:``kafka``: Amazon MSK adds three new APIs, ListTopics, DescribeTopic, and DescribeTopicPartitions for viewing Kafka topics in your MSK clusters. +* api-change:``logs``: CloudWatch Logs updates: Added capability to setup a recurring schedule for log insights queries. Logs introduced Scheduled Queries (managed through Create/Update/Get/Delete/List/History Scheduled Query APIs). For more information, see CloudWatch Logs API documentation. +* api-change:``resourcegroupstaggingapi``: Add support for new ListRequiredTags API used to retrieve the required tags specified in a customer's effective tag policy. +* api-change:``storagegateway``: Adds support for European Sovereign Cloud ARNs in Storage Gateway API parameters. +* api-change:``wafv2``: AssociateWebACL, UpdateWebACL and PutLoggingConfiguration will now throw WAFFeatureNotIncludedInPricingPlanException when the request contains a feature that is not included in the CloudFront pricing plan of the WebACL. + + +1.42.75 +======= + +* api-change:``appstream``: Adding support for additional instances and extended storage +* api-change:``backup``: AWS Backup now supports specifying a logically air-gapped backup vault as a primary backup target in backup plans and on-demand backup jobs. +* api-change:``bedrock``: Automated Reasoning checks in Amazon Bedrock Guardrails now automatically generate Q&A tests for new Automated Reasoning policies. The GetAutomatedReasoningPolicyBuildWorkflowResultAssets API adds GENERATED_TEST_CASES asset type, allowing customers to retrieve tests generated by the build workflow. +* api-change:``devicefarm``: This release adds support for interacting with devices during a remote access session using the remoteDriverEndpoint interface +* api-change:``dms``: This release introduces the SAP ASE(Sybase) Data Provider for AWS Data Migration Service (DMS). In addition, DMS Schema Conversion now supports this provider, enabling customers to migrate SAP ASE(Sybase) databases to Amazon RDS for PostgreSQL or Aurora PostgreSQL seamlessly. +* api-change:``ec2``: This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``glue``: Amazon Glue Releasing 2 the new API ListIntegrationResourceProperties and DeleteIntegrationResourceProperty along with minor improvement on existing API(s). +* api-change:``guardduty``: Add S3 On-Demand Object Scanning +* api-change:``lexv2-models``: Adds support for LLM as Primary, allowing usage of LLMs as the default NLU system. +* api-change:``medialive``: Adds configurations for spatial/temporal adaptive quantization in AV1 codec, and conversion to HLG output color space in H265 codec. +* api-change:``mediapackagev2``: Add support for SCTE messages in Segment file output +* api-change:``mwaa-serverless``: Amazon MWAA now offers serverless deployment, eliminating operational overhead while optimizing costs. The service supports YAML and Python-based workflows, with 80+ AWS Operators. It provides isolated execution, IAM permissions, and automatic scaling with pay-per-use pricing. +* api-change:``opensearch``: This release adds index operation APIs to support Automatic Semantic Enrichment feature +* api-change:``pcs``: Added support for the managed Slurm REST API endpoint +* api-change:``route53resolver``: Adding DICTIONARY_DGA to dns-threat-protection as a new enum type. Customers can now set rules for dictionary dga protection + + +1.42.74 +======= + +* api-change:``datazone``: Adds support for granting read and write access to Amazon S3 general purpose buckets using CreateSubscriptionRequest and AcceptSubscriptionRequest APIs. Also adds search filters for SSOUser and SSOGroup to ListSubscriptions APIs and deprecates "sortBy" parameter for ListSubscriptions APIs. +* api-change:``ec2``: This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs. +* api-change:``imagebuilder``: EC2 Image Builder now supports invoking Lambda functions and executing Step Functions state machine through image workflows. +* api-change:``medialive``: Removed all the value constraint (min/max) for the shape definitions (e.g. integerMin0Max3600) on the C2j models to get rid of the need to request an exemption from the SDK team whenever a shape definition (e.g. integerMin0Max3600) is changed. + + +1.42.73 +======= + +* api-change:``cloudformation``: CloudFormation now supports GetHookResult API with annotations to retrieve structured compliance check results and remediation guidance for each evaluated resource, replacing the previous single-message limitation with detailed validation outcomes. +* api-change:``controlcatalog``: Added support for related control mappings with new RELATED_CONTROL mapping type in ListControlMappings API. +* api-change:``ec2``: Added support for new accelerator types ("media") and accelerator names ("L4", "L40s", "GAUDI_HL_205", "INFERENTIA2", "TRAINIUM", "TRAINIUM2", "U30") in Attributes Based Instance Type Selection for launched instance types. +* api-change:``ecr``: Add Amazon ECR FIPS PrivateLink endpoint support +* api-change:``elbv2``: QUIC and TCP_QUIC protocol support for Network Load Balancer (NLB). This capability enables customers to forward QUIC traffic to their targets with ultra-low latency while maintaining session stickiness using QUIC Connection IDs. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``iotwireless``: Integration of Device Location with Amazon Sidewalk network for Amazon Sidewalk enabled devices +* api-change:``mediaconvert``: Lowers minimum duration for black video generator. Adds support for embedding and signing C2PA content credentials in DASH and CMAF HLS outputs. +* api-change:``rds``: Updated endpoint and service metadata +* api-change:``sagemaker``: Added support for minor version upgrades and AWS Identity Center integration for SageMaker Hadron Partner Apps, enabling automated version management and IdC group-based access control. +* api-change:``workspaces-web``: Support for managing web content filtering for defining, tracking and regulating type of content accessed with WorkSpaces Secure Browser as part of browser settings. + + +1.42.72 +======= + +* api-change:``amp``: Add VPC source configuration support enabling Amazon Managed Service for Prometheus Collector to collect metrics from MSK clusters. +* api-change:``connect``: Updated Authentication Profile APIs to add support for automatic logout on user inactivity +* api-change:``dms``: Added support of SQL statements creation, metadata model discovery and selection rules transformation. +* api-change:``ec2``: Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI +* api-change:``elbv2``: This release expands ALB Authentication to support JWT verification and adds support for a new JWT validation action in listener rule. +* api-change:``redshift``: Added GetIdentityCenterAuthToken API to retrieve encrypted authentication tokens for Identity Center integrated applications. This API enables programmatic access to secure Identity Center tokens with proper error handling and parameter validation across supported SDK languages. +* api-change:``s3tables``: Adds support for request metrics metrics APIs for S3 Tables +* api-change:``sagemaker``: Add support for trn2.3xlarge instance type for SageMaker Hyperpod + + +1.42.71 +======= + +* api-change:``batch``: Documentation-only update: update API and doc descriptions per EKS ImageType default value switch from AL2 to AL2023. +* api-change:``bedrock-data-automation``: Added support for Language Expansion feature for BDA Audio modality. +* api-change:``ec2``: AWS Site-to-Site VPN now supports VPN connections with up to 5 Gbps bandwidth per tunnel, a 4x improvement from existing limit of 1.25 Gbps. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``medical-imaging``: Added new fields in existing APIs. +* api-change:``rtbfabric``: Added LogSettings and LinkAttribute fields to external links +* api-change:``security-ir``: Added support for configuring communication preferences as well as clearly displaying case comment author identities. + + +1.42.70 +======= + +* api-change:``acm-pca``: Private Certificate Authority service now supports ML-DSA key algorithms. +* api-change:``appstream``: AWS Appstream support for IPv6 +* api-change:``backup``: AWS Backup supports backups of Amazon EKS clusters, including Kubernetes cluster state and persistent storage attached to the EKS cluster via a persistent volume claim (EBS volumes, EFS file systems, and S3 buckets). +* api-change:``braket``: Adds ExperimentalCapabilities field to CreateQuantumTask request and GetQuantumTask response objects. Enables use of experimental software capabilities when creating quantum tasks. +* api-change:``datazone``: Remove trackingServerName from DataZone Connection MLflowProperties +* api-change:``dsql``: Cluster endpoint added to CreateCluster and GetCluster API responses +* api-change:``ec2``: Amazon EC2 Fleet customers can now filter instance types based on encryption-in-transit support using Attribute-Based Instance Type Selection (ABIS), eliminating the manual effort of identifying and selecting compatible instance types for security-sensitive workloads. +* api-change:``guardduty``: Include tags filed in CreatePublishingDestinationRequest and DescribePublishingDestinationResponse. +* api-change:``iam``: Added CreateDelegationRequest API, which is not available for general use at this time. +* api-change:``invoicing``: Added new invoicing get-invoice-pdf API Operation +* api-change:``kafka``: Amazon MSK now supports intelligent rebalancing for MSK Express brokers. +* api-change:``sts``: Added GetDelegatedAccessToken API, which is not available for general use at this time. +* api-change:``verifiedpermissions``: Amazon Verified Permissions / Features : Adds support for entity Cedar tags. +* api-change:``wafv2``: AWS WAF now supports CLOUDWATCH_TELEMETRY_RULE_MANAGED as a LogScope option, enabling automated logging configuration through Amazon CloudWatch Logs for telemetry data collection and analysis. + + +1.42.69 +======= + +* api-change:``controltower``: Added Parent Identifier support to ListEnabledControls and GetEnabledControl API. Implemented RemediationType support for Landing Zone operations: CreateLandingZone, UpdateLandingZone and GetLandingZone APIs +* api-change:``ec2``: Adds PrivateDnsPreference and PrivateDnsSpecifiedDomains to control private DNS resolution for resource and service network VPC endpoints and IpamScopeExternalAuthorityConfiguration to integrate Amazon VPC IPAM with a third-party IPAM service +* api-change:``kms``: Added support for new ECC_NIST_EDWARDS25519 AWS KMS key spec +* api-change:``opensearch``: This release introduces the Default Application feature, allowing users to set, change, or unset a preferred OpenSearch UI application on a per-region basis for a streamlined and consistent user experience. +* api-change:``vpc-lattice``: Amazon VPC Lattice now supports custom domain name for resource configurations + + +1.42.68 +======= + +* api-change:``accessanalyzer``: New field totalActiveErrors added to getFindingsStatistics response. +* api-change:``backup``: AWS Backup now supports customer-managed keys (CMK) for logically air-gapped vaults, enabling customers to maintain full control over their encryption key lifecycle. This feature helps organizations meet specific internal governance requirements or external regulatory compliance standards. +* api-change:``connect``: Added support for Conditional Questions in Evaluation Forms. Introduced Auto Evaluation capability for Evaluation Forms and Contact Evaluations. Added new API operations: SearchEvaluationForms and SearchContactEvaluations. +* api-change:``ec2``: Add Amazon EC2 R8a instance types +* api-change:``gamelift``: Amazon GameLift Servers now supports game builds that use the Windows 2022 operating system. +* api-change:``identitystore``: IdentityStore API: added new KMSExceptionReason fields to the Exception object; added multiple new fields to the User APIs - UserStatus, Birthdate, Website and Photos; added multiple new metadata fields for User, Groups and Membership APIs - CreatedAt, CreatedBy, UpdatedAt and UpdatedBy. +* api-change:``quicksight``: Support for New Data Prep Experience +* api-change:``s3tables``: Adds support for tagging APIs for S3 Tables +* api-change:``s3vectors``: Amazon S3 Vectors provides cost-effective, elastic, and durable vector storage for queries based on semantic meaning and similarity. +* api-change:``sagemaker``: Added NodeProvisioningMode parameter to UpdateCluster API to determine how instance provisioning is handled during cluster operations; in Continuous mode. Added VpcId field in UpdateDomain request for SageMaker Unified Studio domains with no VPC to add a customer VPC. +* api-change:``ssm``: Provides NoLongerSupportedException error message + + +1.42.67 +======= + +* api-change:``cloudfront``: This release adds new and updated API operations. You can now use the IpAddressType field to specify either ipv4 or dualstack for your Anycast static IP list. You can also enable cross-account resource sharing to share your VPC origins with other AWS accounts +* api-change:``datazone``: Added support for Project Resource Tags +* api-change:``ec2``: This release adds AvailabilityZoneId support for DescribeFastSnapshotRestores, DisableFastSnapshotRestores, and EnableFastSnapshotRestores APIs. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``fsx``: Amazon FSx now enables secure management of Active Directory credentials through AWS Secrets Manager integration. Customers can use Secret ARNs instead of direct credentials when joining resources to Active Directory domains. +* api-change:``groundstation``: Introduce CreateDataflowEndpointGroupV2 action +* api-change:``s3``: Launch IPv6 dual-stack support for S3 Express +* api-change:``sagemaker``: Add new fields in SageMaker Hyperpod DescribeCluster API response: TargetStateCount, SoftwareUpdateStatus and ActiveSoftwareDeploymentConfig to provide AMI update progress visibility . + + +1.42.66 +======= + +* api-change:``pinpoint-sms-voice-v2``: This release adds support for the CarrierLookup API, which returns information about a destination phone number including if the number is valid, the carrier, and more. + + +1.42.65 +======= + +* api-change:``bedrock-agentcore-control``: Adds support for direct code deploy with CreateAgentRuntime and UpdateAgentRuntime +* api-change:``budgets``: Fix the AWS Budgets endpoint for the aws-eusc partition. +* api-change:``ec2``: Add Amazon EC2 trn2.3xlarge instance type. +* api-change:``ecs``: Documentation-only update for LINEAR and CANARY deployment strategies. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``kinesis``: Adds support for MinimumThroughputBillingCommitment with new UpdateAccountSettings API. Adds support to configure warm throughput for on-demand streams in new UpdateStreamWarmThroughput API and existing CreateStream API and UpdateStreamMode API. + + +1.42.64 +======= + +* api-change:``connectcases``: Added two new case rule types: Parent Child Field Options (restricts child field options based on parent field value) and Hidden (controls child field visibility based on parent field value). Both enable dynamic field behavior within templates. +* api-change:``ec2``: Amazon VPC IP Address Manager (IPAM) now supports automated prefix list management, allowing you to create rules that automatically populate customer-managed prefix lists with CIDRs from your IPAM pools or AWS resources based on tags, Regions, or other criteria. +* api-change:``emr``: Update endpoint ruleset parameters casing +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``fms``: Update endpoint ruleset parameters casing +* api-change:``fsx``: Update endpoint ruleset parameters casing +* api-change:``health``: Update endpoint ruleset parameters casing +* api-change:``kinesis``: Update endpoint ruleset parameters casing +* api-change:``lambda``: Add Python3.14 (python3.14) and Java 25 (java25) support to AWS Lambda +* api-change:``logs``: Update endpoint ruleset parameters casing +* api-change:``marketplace-catalog``: Update endpoint ruleset parameters casing +* api-change:``mediaconvert``: Adds SlowPalPitchCorrection to audio pitch correction settings. Enables opacity for VideoOverlays. Adds REMUX_ALL option to enable multi-rendition passthrough to VideoSelector for allow listed accounts. +* api-change:``omics``: Added WDL_LENIENT engine type that enables implicit typecasting of variable values to its compatible declared types +* api-change:``payment-cryptography``: Allow additional characters in the CertificateSubject for GetCertificateSigningRequest API. +* api-change:``redshift``: Update endpoint ruleset parameters casing +* api-change:``resourcegroupstaggingapi``: Update endpoint ruleset parameters casing +* api-change:``sagemaker``: Allow update of platform identifier via UpdateNotebookInstance operation. +* api-change:``savingsplans``: Add dual-stack endpoint support for Savings Plans +* api-change:``snowball``: Update endpoint ruleset parameters casing +* api-change:``ssm-quicksetup``: Update endpoint ruleset parameters casing +* api-change:``textract``: Update endpoint ruleset parameters casing +* api-change:``waf``: Update endpoint ruleset parameters casing + + +1.42.63 +======= + +* api-change:``amp``: Add Anomaly Detection APIs for Amazon Managed Prometheus +* api-change:``apigateway``: Update endpoint ruleset parameters casing +* api-change:``appconfig``: Update endpoint ruleset parameters casing +* api-change:``appflow``: Update endpoint ruleset parameters casing +* api-change:``applicationcostprofiler``: Update endpoint ruleset parameters casing +* api-change:``appmesh``: Update endpoint ruleset parameters casing +* api-change:``appsync``: Update endpoint ruleset parameters casing +* api-change:``artifact``: Update endpoint ruleset parameters casing +* api-change:``auditmanager``: Update endpoint ruleset parameters casing +* api-change:``bedrock-agent``: Update endpoint ruleset parameters casing +* api-change:``bedrock-agentcore-control``: Web-Bot-Auth support for AgentCore Browser tool to help reduce captcha challenges. +* api-change:``chime``: Update endpoint ruleset parameters casing +* api-change:``cleanrooms``: Added support for advanced Spark configurations to optimize SQL performance +* api-change:``cloudcontrol``: Update endpoint ruleset parameters casing +* api-change:``clouddirectory``: Update endpoint ruleset parameters casing +* api-change:``cloudsearch``: Update endpoint ruleset parameters casing +* api-change:``cloudwatch``: Update endpoint ruleset parameters casing +* api-change:``codecatalyst``: Update endpoint ruleset parameters casing +* api-change:``codecommit``: Update endpoint ruleset parameters casing +* api-change:``codedeploy``: Update endpoint ruleset parameters casing +* api-change:``cognito-sync``: Update endpoint ruleset parameters casing +* api-change:``compute-optimizer``: Update endpoint ruleset parameters casing +* api-change:``connectcases``: Update endpoint ruleset parameters casing +* api-change:``deadline``: Update endpoint ruleset parameters casing +* api-change:``devops-guru``: Update endpoint ruleset parameters casing +* api-change:``docdb``: Adding FailoverState and TagList to GlobalCluster and SynchronizationStatus to GlobalClusterMember. +* api-change:``ecs``: Amazon ECS Service Connect now supports Envoy access logs, providing deeper observability into request-level traffic patterns and service interactions. +* api-change:``eks-auth``: Update endpoint ruleset parameters casing +* api-change:``elasticache``: Update endpoint ruleset parameters casing +* api-change:``emr-serverless``: This release adds the capability to enable User Background Sessions for customers running Trusted Identity Propagation enabled Interactive Sessions on EMR Serverless Applications. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``firehose``: Update endpoint ruleset parameters casing +* api-change:``frauddetector``: Update endpoint ruleset parameters casing +* api-change:``geo-places``: Update endpoint ruleset parameters casing +* api-change:``glue``: This release adds the capability to enable User Background Sessions for customers running Trusted Identity Propagation enabled Interactive Sessions on AWS Glue. +* api-change:``greengrassv2``: Update endpoint ruleset parameters casing +* api-change:``iotevents-data``: Update endpoint ruleset parameters casing +* api-change:``iot-managed-integrations``: Add a new GetManagedThingCertificate API to expose Iot ManagedIntegrations (MI) device certificate, and add "-" support for name, properties, actions and events in the CapabilityReportCapability object. +* api-change:``keyspacesstreams``: Update endpoint ruleset parameters casing +* api-change:``kms``: Add cross account VPC endpoint service connectivity support to CustomKeyStore. +* api-change:``license-manager-linux-subscriptions``: Update endpoint ruleset parameters casing +* api-change:``marketplace-reporting``: Update endpoint ruleset parameters casing +* api-change:``neptune``: Update endpoint ruleset parameters casing +* api-change:``rtbfabric``: RTB Fabric documentation update. +* api-change:``s3outposts``: Update endpoint ruleset parameters casing +* api-change:``sagemaker-runtime``: Update endpoint ruleset parameters casing +* api-change:``schemas``: Update endpoint ruleset parameters casing +* api-change:``serverlessrepo``: Update endpoint ruleset parameters casing +* api-change:``servicecatalog``: Update endpoint ruleset parameters casing +* api-change:``sso``: Update endpoint ruleset parameters casing +* api-change:``sts``: Update endpoint ruleset parameters casing + + +1.42.62 +======= + +* api-change:``bedrock-runtime``: Add support for system tool and web citation response. + + +1.42.61 +======= + +* api-change:``apigatewayv2``: Update endpoint ruleset parameters casing +* api-change:``application-signals``: Added support for CloudWatch Synthetics Canary resources in ListAuditFindings API. This enhancement allows customers to retrieve audit findings specifically for CloudWatch Synthetics canaries and enables service-canary correlation analysis. +* api-change:``backupsearch``: Update endpoint ruleset parameters casing +* api-change:``bcm-pricing-calculator``: Update endpoint ruleset parameters casing +* api-change:``bedrock-agent-runtime``: Update endpoint ruleset parameters casing +* api-change:``bedrock-runtime``: Update endpoint ruleset parameters casing +* api-change:``cleanroomsml``: Update endpoint ruleset parameters casing +* api-change:``cloud9``: Update endpoint ruleset parameters casing +* api-change:``cloudsearchdomain``: Update endpoint ruleset parameters casing +* api-change:``codeconnections``: Update endpoint ruleset parameters casing +* api-change:``codeguru-security``: Update endpoint ruleset parameters casing +* api-change:``detective``: Update endpoint ruleset parameters casing +* api-change:``ec2``: This released the DescribeCapacityReservationTopology API. +* api-change:``ecs``: Amazon ECS supports native linear and canary service deployments, allowing you to shift traffic in increments for more control. +* api-change:``efs``: Update endpoint ruleset parameters casing +* api-change:``elastictranscoder``: Update endpoint ruleset parameters casing +* api-change:``emr-containers``: Update endpoint ruleset parameters casing +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``gameliftstreams``: Add stream group expiration date and expired status +* api-change:``glacier``: Update endpoint ruleset parameters casing +* api-change:``groundstation``: Enable use of AzEl ephemerides +* api-change:``inspector-scan``: Update endpoint ruleset parameters casing +* api-change:``kafkaconnect``: Update endpoint ruleset parameters casing +* api-change:``kendra``: Update endpoint ruleset parameters casing +* api-change:``kinesisvideo``: Update endpoint ruleset parameters casing +* api-change:``lambda``: Added SerializedRequestEntityTooLargeException to Lambda Invoke API +* api-change:``marketplace-deployment``: Update endpoint ruleset parameters casing +* api-change:``mediapackage-vod``: Update endpoint ruleset parameters casing +* api-change:``migrationhuborchestrator``: Update endpoint ruleset parameters casing +* api-change:``notifications``: Update endpoint ruleset parameters casing +* api-change:``opensearch``: Update endpoint ruleset parameters casing +* api-change:``organizations``: Added Account State field to the ListDelegatedAdministrators API response. +* api-change:``partnercentral-selling``: Update endpoint ruleset parameters casing +* api-change:``pipes``: Update endpoint ruleset parameters casing +* api-change:``ram``: Update endpoint ruleset parameters casing +* api-change:``resource-groups``: Update endpoint ruleset parameters casing +* api-change:``s3``: Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications. +* api-change:``s3control``: Update endpoint ruleset parameters casing +* api-change:``sagemaker``: Amazon SageMaker now supports deleting training and processing jobs in a terminal status. +* api-change:``sagemaker-featurestore-runtime``: Update endpoint ruleset parameters casing +* api-change:``security-ir``: Update endpoint ruleset parameters casing +* api-change:``servicecatalog-appregistry``: Update endpoint ruleset parameters casing +* api-change:``sqs``: Update endpoint ruleset parameters casing +* api-change:``support-app``: Update endpoint ruleset parameters casing +* api-change:``taxsettings``: Update endpoint ruleset parameters casing +* api-change:``trustedadvisor``: Update endpoint ruleset parameters casing +* api-change:``workspaces``: Added IPv6 address support for WorkSpaces using Dual-Stack subnets +* api-change:``workspaces-instances``: Update endpoint ruleset parameters casing +* api-change:``xray``: Update endpoint ruleset parameters casing + + +1.42.60 +======= + +* api-change:``accessanalyzer``: Update endpoint ruleset parameters casing +* api-change:``aiops``: Update endpoint ruleset parameters casing +* api-change:``athena``: Update endpoint ruleset parameters casing +* api-change:``backup-gateway``: Update endpoint ruleset parameters casing +* api-change:``bedrock-data-automation``: Update endpoint ruleset parameters casing +* api-change:``braket``: Update endpoint ruleset parameters casing +* api-change:``ce``: Updated endpoint for eusc-de-east-1 region. +* api-change:``chime-sdk-identity``: Update endpoint ruleset parameters casing +* api-change:``chime-sdk-media-pipelines``: Update endpoint ruleset parameters casing +* api-change:``codeartifact``: Update endpoint ruleset parameters casing +* api-change:``codeguruprofiler``: Update endpoint ruleset parameters casing +* api-change:``cognito-idp``: Update endpoint ruleset parameters casing +* api-change:``comprehend``: Update endpoint ruleset parameters casing +* api-change:``connectcampaigns``: Update endpoint ruleset parameters casing +* api-change:``controltower``: Update endpoint ruleset parameters casing +* api-change:``cost-optimization-hub``: Update endpoint ruleset parameters casing +* api-change:``dax``: Update endpoint ruleset parameters casing +* api-change:``elasticbeanstalk``: Update endpoint ruleset parameters casing +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``entityresolution``: Update endpoint ruleset parameters casing +* api-change:``forecast``: Update endpoint ruleset parameters casing +* api-change:``greengrass``: Update endpoint ruleset parameters casing +* api-change:``iam``: Fixed missing SummaryMap keys in GetAccountSummary response that were being filtered out during deserialization in AWS Java SDK v2 +* api-change:``invoicing``: Update endpoint ruleset parameters casing +* api-change:``kinesis``: Adds support for record sizes up to 10MiB and introduces new UpdateMaxRecordSize API to modify stream record size limits. Adds record size parameters to existing CreateStream and DescribeStreamSummary APIs for request and response payloads respectively. +* api-change:``launch-wizard``: Update endpoint ruleset parameters casing +* api-change:``lex-runtime``: Update endpoint ruleset parameters casing +* api-change:``managedblockchain``: Update endpoint ruleset parameters casing +* api-change:``mturk``: Update endpoint ruleset parameters casing +* api-change:``neptune-graph``: Update endpoint ruleset parameters casing +* api-change:``outposts``: Update endpoint ruleset parameters casing +* api-change:``pinpoint``: Update endpoint ruleset parameters casing +* api-change:``rbin``: Update endpoint ruleset parameters casing +* api-change:``rds-data``: Update endpoint ruleset parameters casing +* api-change:``redshift-serverless``: Update endpoint ruleset parameters casing +* api-change:``rekognition``: Update endpoint ruleset parameters casing +* api-change:``repostspace``: Update endpoint ruleset parameters casing +* api-change:``route53profiles``: Update endpoint ruleset parameters casing +* api-change:``route53resolver``: Update endpoint ruleset parameters casing +* api-change:``s3vectors``: Update endpoint ruleset parameters casing +* api-change:``scheduler``: Update endpoint ruleset parameters casing +* api-change:``secretsmanager``: Update endpoint ruleset parameters casing +* api-change:``ses``: Update endpoint ruleset parameters casing +* api-change:``shield``: Update endpoint ruleset parameters casing +* api-change:``simspaceweaver``: Update endpoint ruleset parameters casing +* api-change:``socialmessaging``: Update endpoint ruleset parameters casing +* api-change:``ssm-sap``: Update endpoint ruleset parameters casing +* api-change:``sso-admin``: Update endpoint ruleset parameters casing +* api-change:``stepfunctions``: Update endpoint ruleset parameters casing +* api-change:``waf-regional``: Update endpoint ruleset parameters casing +* api-change:``workmailmessageflow``: Update endpoint ruleset parameters casing + + +1.42.59 +======= + +* api-change:``acm``: Update endpoint ruleset parameters casing +* api-change:``amplifyuibuilder``: Update endpoint ruleset parameters casing +* api-change:``application-signals``: Update endpoint ruleset parameters casing +* api-change:``billing``: Update endpoint ruleset parameters casing +* api-change:``budgets``: Update endpoint ruleset parameters casing +* api-change:``chime-sdk-messaging``: Update endpoint ruleset parameters casing +* api-change:``cloudtrail``: Update endpoint ruleset parameters casing +* api-change:``codepipeline``: Update endpoint ruleset parameters casing +* api-change:``datapipeline``: Update endpoint ruleset parameters casing +* api-change:``datazone``: This release adds support for MLflow connections Creation in DataZone +* api-change:``docdb``: Update endpoint ruleset parameters casing +* api-change:``dynamodbstreams``: Update endpoint ruleset parameters casing +* api-change:``eks``: Update endpoint ruleset parameters casing +* api-change:``elb``: Update endpoint ruleset parameters casing +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``evs``: Update endpoint ruleset parameters casing +* api-change:``fis``: Update endpoint ruleset parameters casing +* api-change:``gameliftstreams``: Add status reasons for TERMINATED stream sessions +* api-change:``geo-maps``: Added support for optional AdditionalFeatures parameter in the V2 GetTile API. +* api-change:``inspector``: Update endpoint ruleset parameters casing +* api-change:``iot-managed-integrations``: Update endpoint ruleset parameters casing +* api-change:``iotwireless``: Update endpoint ruleset parameters casing +* api-change:``kinesisanalytics``: Update endpoint ruleset parameters casing +* api-change:``kinesis-video-signaling``: Update endpoint ruleset parameters casing +* api-change:``location``: Added support for mobile app restrictions in Amazon Location API keys. +* api-change:``lookoutvision``: Update endpoint ruleset parameters casing +* api-change:``mediapackage``: Update endpoint ruleset parameters casing +* api-change:``mediastore``: Update endpoint ruleset parameters casing +* api-change:``mediastore-data``: Update endpoint ruleset parameters casing +* api-change:``migrationhubstrategy``: Update endpoint ruleset parameters casing +* api-change:``mq``: Update endpoint ruleset parameters casing +* api-change:``panorama``: Update endpoint ruleset parameters casing +* api-change:``payment-cryptography``: Update endpoint ruleset parameters casing +* api-change:``payment-cryptography-data``: Update endpoint ruleset parameters casing +* api-change:``pca-connector-ad``: Update endpoint ruleset parameters casing +* api-change:``qbusiness``: Update endpoint ruleset parameters casing +* api-change:``robomaker``: Update endpoint ruleset parameters casing +* api-change:``route53domains``: Update endpoint ruleset parameters casing +* api-change:``rtbfabric``: Add support for custom rate limits. +* api-change:``s3tables``: Update endpoint ruleset parameters casing +* api-change:``sagemaker``: Added inference components model data caching feature +* api-change:``sagemaker-metrics``: Update endpoint ruleset parameters casing +* api-change:``securityhub``: Release 3 layer filter support in GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2,GetResourcesStatisticsV2, AutomationRule V2 APIs. Update filter casing in GetResourcesV2, GetResourcesStatisticsV2 APIs. Add new filters in GetFindingsV2, GetFindingStatisticsV2, AutomationRule V2 APIs. +* api-change:``servicediscovery``: Update endpoint ruleset parameters casing +* api-change:``snow-device-management``: Update endpoint ruleset parameters casing +* api-change:``sso-oidc``: Update endpoint ruleset parameters casing +* api-change:``supplychain``: Update endpoint ruleset parameters casing +* api-change:``translate``: Update endpoint ruleset parameters casing +* api-change:``verifiedpermissions``: Update endpoint ruleset parameters casing +* api-change:``vpc-lattice``: Update endpoint ruleset parameters casing +* api-change:``wisdom``: Update endpoint ruleset parameters casing +* api-change:``workspaces-thin-client``: Update endpoint ruleset parameters casing + + +1.42.58 +======= + +* api-change:``account``: Update endpoint ruleset parameters casing +* api-change:``application-autoscaling``: Update endpoint ruleset parameters casing +* api-change:``bedrock-agentcore``: Fixing the service documentation name +* api-change:``bedrock-agentcore-control``: Fixing the service documentation name +* api-change:``chime-sdk-voice``: Update endpoint ruleset parameters casing +* api-change:``cloudtrail-data``: Update endpoint ruleset parameters casing +* api-change:``codebuild``: Update endpoint ruleset parameters casing +* api-change:``codestar-connections``: Update endpoint ruleset parameters casing +* api-change:``config``: Update endpoint ruleset parameters casing +* api-change:``connect-contact-lens``: Update endpoint ruleset parameters casing +* api-change:``cur``: Update endpoint ruleset parameters casing +* api-change:``discovery``: Update endpoint ruleset parameters casing +* api-change:``dms``: Update endpoint ruleset parameters casing +* api-change:``docdb-elastic``: Update endpoint ruleset parameters casing +* api-change:``drs``: Update endpoint ruleset parameters casing +* api-change:``dsql``: Add support for resource-based policies for Aurora DSQL clusters. This will enable you to implement Block Public Access (BPA) which will help restrict access to your Aurora DSQL public or VPC endpoints. +* api-change:``ebs``: Update endpoint ruleset parameters casing +* api-change:``ecr``: Update endpoint ruleset parameters casing +* api-change:``ecr-public``: Update endpoint ruleset parameters casing +* api-change:``healthlake``: Update endpoint ruleset parameters casing +* api-change:``internetmonitor``: Update endpoint ruleset parameters casing +* api-change:``iotevents``: Update endpoint ruleset parameters casing +* api-change:``iot-jobs-data``: Update endpoint ruleset parameters casing +* api-change:``kinesis-video-archived-media``: Update endpoint ruleset parameters casing +* api-change:``kinesis-video-webrtc-storage``: Update endpoint ruleset parameters casing +* api-change:``lambda``: Add NodeJs 24 (nodejs24.x) support to AWS Lambda. +* api-change:``macie2``: Update endpoint ruleset parameters casing +* api-change:``managedblockchain-query``: Update endpoint ruleset parameters casing +* api-change:``marketplacecommerceanalytics``: Update endpoint ruleset parameters casing +* api-change:``mediatailor``: Update endpoint ruleset parameters casing +* api-change:``mgh``: Update endpoint ruleset parameters casing +* api-change:``mgn``: Update endpoint ruleset parameters casing +* api-change:``mpa``: Update endpoint ruleset parameters casing +* api-change:``neptunedata``: Update endpoint ruleset parameters casing +* api-change:``networkmonitor``: Update endpoint ruleset parameters casing +* api-change:``odb``: Doc-only update that removes duplicate values from descriptions of ODB peering APIs. +* api-change:``omics``: Update endpoint ruleset parameters casing +* api-change:``opensearchserverless``: Update endpoint ruleset parameters casing +* api-change:``pca-connector-scep``: Update endpoint ruleset parameters casing +* api-change:``personalize-events``: Update endpoint ruleset parameters casing +* api-change:``pinpoint-email``: Update endpoint ruleset parameters casing +* api-change:``resiliencehub``: Update endpoint ruleset parameters casing +* api-change:``rum``: Update endpoint ruleset parameters casing +* api-change:``sagemaker``: Update endpoint ruleset parameters casing +* api-change:``sagemaker-edge``: Update endpoint ruleset parameters casing +* api-change:``savingsplans``: Update endpoint ruleset parameters casing +* api-change:``securitylake``: Update endpoint ruleset parameters casing +* api-change:``sesv2``: Update endpoint ruleset parameters casing +* api-change:``storagegateway``: Update endpoint ruleset parameters casing +* api-change:``synthetics``: Update endpoint ruleset parameters casing + + +1.42.57 +======= + +* api-change:``appfabric``: Update endpoint ruleset parameters casing +* api-change:``autoscaling``: Update endpoint ruleset parameters casing +* api-change:``b2bi``: Update endpoint ruleset parameters casing +* api-change:``bcm-dashboards``: Update endpoint ruleset parameters casing +* api-change:``ce``: Update endpoint ruleset parameters casing +* api-change:``chatbot``: Update endpoint ruleset parameters casing +* api-change:``cloudformation``: Update endpoint ruleset parameters casing +* api-change:``cloudhsm``: Update endpoint ruleset parameters casing +* api-change:``cloudhsmv2``: Update endpoint ruleset parameters casing +* api-change:``codeguru-reviewer``: Update endpoint ruleset parameters casing +* api-change:``cognito-identity``: Update endpoint ruleset parameters casing +* api-change:``comprehendmedical``: Update endpoint ruleset parameters casing +* api-change:``connect``: This release added support for email address alias configuration and outbound campaign preview mode. +* api-change:``connectcampaignsv2``: Updated Amazon Connect Outbound Campaigns V2 SDK to support Preview Outbound Mode +* api-change:``connectparticipant``: Update endpoint ruleset parameters casing +* api-change:``devicefarm``: This release adds support for optionally including an app as part of a CreateRemoteAccessSession request +* api-change:``directconnect``: Update endpoint ruleset parameters casing +* api-change:``ds-data``: Update endpoint ruleset parameters casing +* api-change:``ec2``: This release adds AvailabilityZoneId support for CreateNetworkInterface and DescribeNetworkInterfaces APIs. +* api-change:``ec2-instance-connect``: Update endpoint ruleset parameters casing +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``forecastquery``: Update endpoint ruleset parameters casing +* api-change:``iam``: Updated OIDC and SAML apis to reject multiple simultaneous requests to change a unique object. +* api-change:``inspector2``: Update endpoint ruleset parameters casing +* api-change:``iot``: Update endpoint ruleset parameters casing +* api-change:``iotanalytics``: Update endpoint ruleset parameters casing +* api-change:``iotfleetwise``: Update endpoint ruleset parameters casing +* api-change:``iotsecuretunneling``: Update endpoint ruleset parameters casing +* api-change:``iotsitewise``: Update endpoint ruleset parameters casing +* api-change:``ivschat``: Update endpoint ruleset parameters casing +* api-change:``kinesisanalyticsv2``: Update endpoint ruleset parameters casing +* api-change:``lexv2-models``: Update endpoint ruleset parameters casing +* api-change:``mailmanager``: Update endpoint ruleset parameters casing +* api-change:``marketplace-agreement``: Update endpoint ruleset parameters casing +* api-change:``medialive``: Add 3 API operations for fetching alerts: ListAlerts (Channels), ListClusterAlerts (MediaLive Anywhere), and ListMultiplexAlerts +* api-change:``mwaa``: Update endpoint ruleset parameters casing +* api-change:``notificationscontacts``: Update endpoint ruleset parameters casing +* api-change:``oam``: Update endpoint ruleset parameters casing +* api-change:``pcs``: Update endpoint ruleset parameters casing +* api-change:``pinpoint-sms-voice-v2``: Update endpoint ruleset parameters casing +* api-change:``redshift-data``: Update endpoint ruleset parameters casing +* api-change:``route53``: Amazon Route 53 now supports the ISOB West Region for private DNS for Amazon VPCs and cloudwatch healthchecks. +* api-change:``route53-recovery-cluster``: Update endpoint ruleset parameters casing +* api-change:``rtbfabric``: Update for general availability of AWS RTB Fabric service. +* api-change:``sagemaker-a2i-runtime``: Update endpoint ruleset parameters casing +* api-change:``sns``: Update endpoint ruleset parameters casing +* api-change:``ssm-incidents``: Update endpoint ruleset parameters casing +* api-change:``workdocs``: Update endpoint ruleset parameters casing +* api-change:``workmail``: Update endpoint ruleset parameters casing +* api-change:``workspaces``: Update endpoint ruleset parameters casing + + +1.42.56 +======= + +* api-change:``dynamodb``: Add AccountID based endpoint metric to endpoint rules. +* api-change:``emr``: Added RECONFIGURING to the InstanceFleetState convenience enum. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``mediaconvert``: This release adds the ability to set resolution for the black video generator and also adds the StartJobsQuery and GetJobsQueryResults APIs which allow asynchronous search of job history using new filters. +* api-change:``meteringmarketplace``: Added ClientToken parameter to MeterUsage API for specifying idempotent requests. +* enhancement:timestamps: Add ``wire`` as a valid value for ``cli_timestamp_format``. + + +1.42.55 +======= + +* api-change:``amp``: Update endpoint ruleset parameters casing +* api-change:``amplifybackend``: Update endpoint ruleset parameters casing +* api-change:``appconfigdata``: Update endpoint ruleset parameters casing +* api-change:``appintegrations``: Update endpoint ruleset parameters casing +* api-change:``application-insights``: Update endpoint ruleset parameters casing +* api-change:``arc-zonal-shift``: Update endpoint ruleset parameters casing +* api-change:``bcm-recommended-actions``: Update endpoint ruleset parameters casing +* api-change:``bedrock-data-automation-runtime``: Update endpoint ruleset parameters casing +* api-change:``chime-sdk-meetings``: Update endpoint ruleset parameters casing +* api-change:``cloudfront``: Update endpoint ruleset parameters casing +* api-change:``cloudfront-keyvaluestore``: Update endpoint ruleset parameters casing +* api-change:``codestar-notifications``: Update endpoint ruleset parameters casing +* api-change:``controlcatalog``: Update endpoint ruleset parameters casing +* api-change:``datasync``: Update endpoint ruleset parameters casing +* api-change:``ds``: Update endpoint ruleset parameters casing +* api-change:``dsql``: Update endpoint ruleset parameters casing +* api-change:``ec2``: Documentation updates for Amazon EC2. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``es``: Update endpoint ruleset parameters casing +* api-change:``events``: Update endpoint ruleset parameters casing +* api-change:``evidently``: Update endpoint ruleset parameters casing +* api-change:``finspace``: Update endpoint ruleset parameters casing +* api-change:``finspace-data``: Update endpoint ruleset parameters casing +* api-change:``gameliftstreams``: Updates documentation to clarify valid application binaries for an Amazon GameLift Streams application and provide descriptions of stream session error status reasons +* api-change:``geo-maps``: Added support for optional style parameters in maps, including Terrain, ContourDensity, Traffic, and TravelModes. +* api-change:``imagebuilder``: Update endpoint ruleset parameters casing +* api-change:``iot-data``: Update endpoint ruleset parameters casing +* api-change:``iotdeviceadvisor``: Update endpoint ruleset parameters casing +* api-change:``iotthingsgraph``: Update endpoint ruleset parameters casing +* api-change:``iottwinmaker``: Update endpoint ruleset parameters casing +* api-change:``kendra-ranking``: Update endpoint ruleset parameters casing +* api-change:``kinesis-video-media``: Update endpoint ruleset parameters casing +* api-change:``lakeformation``: Update endpoint ruleset parameters casing +* api-change:``license-manager``: Update endpoint ruleset parameters casing +* api-change:``license-manager-user-subscriptions``: Update endpoint ruleset parameters casing +* api-change:``marketplace-catalog``: The ListEntities API now supports two new CAPI filters: DeliveryOptionTypes for SaaS products and CompatibleAWSServices for Container products. +* api-change:``mediaconnect``: Update endpoint ruleset parameters casing +* api-change:``migration-hub-refactor-spaces``: Update endpoint ruleset parameters casing +* api-change:``network-firewall``: Update endpoint ruleset parameters casing +* api-change:``networkmanager``: Update endpoint ruleset parameters casing +* api-change:``organizations``: Update endpoint ruleset parameters casing +* api-change:``pi``: Update endpoint ruleset parameters casing +* api-change:``qapps``: Update endpoint ruleset parameters casing +* api-change:``rolesanywhere``: Update endpoint ruleset parameters casing +* api-change:``route53-recovery-readiness``: Update endpoint ruleset parameters casing +* api-change:``sagemaker-geospatial``: Update endpoint ruleset parameters casing +* api-change:``signer``: Update endpoint ruleset parameters casing +* api-change:``swf``: Releasing minor endpoint updates. +* api-change:``timestream-write``: Update endpoint ruleset parameters casing +* api-change:``tnb``: Update endpoint ruleset parameters casing +* api-change:``wellarchitected``: Update endpoint ruleset parameters casing + + +1.42.54 +======= + +* api-change:``acm-pca``: Update endpoint ruleset parameters casing +* api-change:``amplify``: Update endpoint ruleset parameters casing +* api-change:``apigatewaymanagementapi``: Update endpoint ruleset parameters casing +* api-change:``apprunner``: Update endpoint ruleset parameters casing +* api-change:``apptest``: Update endpoint ruleset parameters casing +* api-change:``autoscaling-plans``: Updated FIPS endpoints for US GovCloud regions +* api-change:``batch``: Update endpoint ruleset parameters casing +* api-change:``bcm-data-exports``: Update endpoint ruleset parameters casing +* api-change:``billingconductor``: New feature: service flat CLI and first AWS managed pricing plan (BasicPricingPlan) +* api-change:``customer-profiles``: Update endpoint ruleset parameters casing +* api-change:``databrew``: Update endpoint ruleset parameters casing +* api-change:``dataexchange``: Update endpoint ruleset parameters casing +* api-change:``dlm``: Update endpoint ruleset parameters casing +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``freetier``: Update endpoint ruleset parameters casing +* api-change:``gamelift``: Update endpoint ruleset parameters casing +* api-change:``geo-routes``: Update endpoint ruleset parameters casing +* api-change:``globalaccelerator``: Update endpoint ruleset parameters casing +* api-change:``grafana``: Update endpoint ruleset parameters casing +* api-change:``identitystore``: Update endpoint ruleset parameters casing +* api-change:``ivs``: Update endpoint ruleset parameters casing +* api-change:``ivs-realtime``: Update endpoint ruleset parameters casing +* api-change:``kafka``: Update endpoint ruleset parameters casing +* api-change:``keyspaces``: Update endpoint ruleset parameters casing +* api-change:``kms``: Update endpoint ruleset parameters casing +* api-change:``lex-models``: Update endpoint ruleset parameters casing +* api-change:``lexv2-runtime``: Update endpoint ruleset parameters casing +* api-change:``lookoutequipment``: Update endpoint ruleset parameters casing +* api-change:``m2``: Update endpoint ruleset parameters casing +* api-change:``machinelearning``: Update endpoint ruleset parameters casing +* api-change:``marketplace-entitlement``: Update endpoint ruleset parameters casing +* api-change:``mediapackagev2``: Update endpoint ruleset parameters casing +* api-change:``medical-imaging``: Update endpoint ruleset parameters casing +* api-change:``memorydb``: Update endpoint ruleset parameters casing +* api-change:``migrationhub-config``: Update endpoint ruleset parameters casing +* api-change:``networkflowmonitor``: Update endpoint ruleset parameters casing +* api-change:``osis``: Update endpoint ruleset parameters casing +* api-change:``personalize``: Update endpoint ruleset parameters casing +* api-change:``personalize-runtime``: Update endpoint ruleset parameters casing +* api-change:``pinpoint-sms-voice``: Update endpoint ruleset parameters casing +* api-change:``polly``: Update endpoint ruleset parameters casing +* api-change:``pricing``: Update endpoint ruleset parameters casing +* api-change:``qldb``: Update endpoint ruleset parameters casing +* api-change:``qldb-session``: Update endpoint ruleset parameters casing +* api-change:``route53-recovery-control-config``: Update endpoint ruleset parameters casing +* api-change:``ssm``: Update endpoint ruleset parameters casing +* api-change:``ssm-contacts``: Update endpoint ruleset parameters casing +* api-change:``ssm-guiconnect``: Update endpoint ruleset parameters casing +* api-change:``timestream-query``: Update endpoint ruleset parameters casing +* api-change:``voice-id``: Update endpoint ruleset parameters casing +* api-change:``workspaces-web``: Update endpoint ruleset parameters casing + + +1.42.53 +======= + +* api-change:``bedrock``: Amazon Bedrock Automated Reasoning Policy now offers enhanced AWS KMS integration. The CreateAutomatedReasoningPolicy API includes a new kmsKeyId field, allowing customers to specify their preferred KMS key for encryption, improving control and compliance with AWS encryption mandates. +* api-change:``docdb``: Add support for NetworkType field in CreateDbCluster, ModifyDbCluster, RestoreDbClusterFromSnapshot and RestoreDbClusterToPointInTime for DocumentDB. +* api-change:``ec2``: Introducing EC2 Capacity Manager for monitoring and analyzing capacity usage across On-Demand Instances, Spot Instances, and Capacity Reservations. +* api-change:``elbv2``: This release expands Listener Rule Conditions to support RegexValues and adds support for a new Transforms field in Listener Rules. +* api-change:``guardduty``: Added default pagination value for ListMalwareProtectionPlans API and updated UpdateFindingsFeedback API +* api-change:``lightsail``: Add support for manage Lightsail Bucket CORS configuration +* api-change:``timestream-influxdb``: This release adds support for creating and managing InfluxDB 3 Core and Enterprise DbClusters. + + +1.42.52 +======= + +* api-change:``appstream``: This release introduces support for Microsoft license included applications streaming. +* api-change:``backup``: The AWS Backup job attribute extension enhancement helps customers better understand the plan that initiated each job, and the properties of the resource each job creates. +* api-change:``connect``: SDK release for TaskTemplateInfo in Contact for DescribeContact response. +* api-change:``datazone``: Support creating scoped and trustedIdentityPropagation enabled connections. +* api-change:``ec2``: This release adds support for creating instant, point-in-time copies of EBS volumes within the same Availability Zone +* api-change:``transcribe``: Move UntagResource API body member to query parameter +* api-change:``transfer``: SFTP connectors now support routing connections via customers' VPC. This enables connections to remote servers that are only accessible in a customer's VPC environment, and to servers that are accessible over the internet but need connections coming from an IP address in a customer VPC's CIDR range. + + +1.42.51 +======= + +* api-change:``bedrock-agentcore``: Updated InvokeAgentRuntime API to accept account id optionally and added CompleteResourceTokenAuth API. +* api-change:``bedrock-agentcore-control``: Updated http status code in control plane apis of agentcore runtime, tools and identity. Additional included provider types for AgentCore Identity +* api-change:``ec2``: Release Amazon EC2 c8i, c8i-flex, m8a, and r8gb +* api-change:``observabilityadmin``: CloudWatch Observability Admin adds the ability to enable Resource tags for telemetry in a customer account. The release introduces new APIs to enable, disable and describe the status of Resource tags for telemetry feature. This new capability simplifies monitoring AWS resources using tags. + + +1.42.50 +======= + +* api-change:``bedrock-agentcore``: Bedrock AgentCore release for Runtime, and Memory. +* api-change:``bedrock-agentcore-control``: Bedrock AgentCore release for Gateway, and Memory including Self-Managed Strategies support for Memory. +* api-change:``cloudfront``: Added new viewer security policy, TLSv1.2_2025, for CloudFront. +* api-change:``glue``: Addition of AuditContext in GetTable/GetTables Request +* api-change:``lambda``: Add InvokedViaFunctionUrl context key to limit invocations to only FURL invokes. +* api-change:``odb``: This release adds APIs that allow you to specify CIDR ranges in your ODB peering connection. +* api-change:``rds``: Updated the text in the Important section of the ModifyDBClusterParameterGroup page. + + +1.42.49 +======= + +* api-change:``quicksight``: This release adds support for ActionConnector and Flow, which are new resources associated with Amazon Quick Suite. Additional updates include expanded Data Source options, further branding customization, and new capabilities that can be restricted by Admins. +* api-change:``wafv2``: This release adds the ability to throw WafLimitsExceededException when the maximum number of Application Load Balancer (ALB) associations per AWS WAF v2 WebACL is exceeded. + + +1.42.48 +======= + +* api-change:``bedrock-agentcore-control``: Adding support for authorizer type AWS_IAM to AgentCore Control Gateway. +* api-change:``license-manager-user-subscriptions``: Released support for IPv6 and dual-stack active directories +* api-change:``outposts``: This release adds the new StartOutpostDecommission API, which starts the decommission process to return Outposts racks or servers. +* api-change:``service-quotas``: introduces Service Quotas Automatic Management. Users can opt-in to monitoring and managing service quotas, receive notifications when quota usage reaches thresholds, configure notification channels, subscribe to EventBridge events for automation, and view notifications in the AWS Health dashboard. + + +1.42.47 +======= + +* api-change:``proton``: Deprecating APIs in AWS Proton namespace. + + +1.42.46 +======= + +* api-change:``backup``: Adds optional MaxScheduledRunsPreview input to GetBackupPlan API to provide a preview of up to 10 next scheduled backup plan runs in the GetBackupPlan response. +* api-change:``bedrock-agentcore``: Add support for batch memory management, agent card retrieval and session termination +* api-change:``bedrock-agentcore-control``: Add support for VM lifecycle configuration parameters and A2A protocol +* api-change:``glue``: Adds labeling for DataQualityRuleResult for GetDataQualityResult and PublishDataQualityResult APIs +* api-change:``mediaconnect``: Enabling Tag-on-Create for AWS Elemental MediaConnect flow-based resource types +* api-change:``memorydb``: Support for DescribeMultiRegionParameterGroups and DescribeMultiRegionParameters API. +* api-change:``quicksight``: Documentation improvements for QuickSight API documentation to clarify that delete operation APIs are global. +* api-change:``rds``: Documentation updates to the CreateDBClusterMessage$PubliclyAccessible and CreateDBInstanceMessage$PubliclyAccessible properties. +* api-change:``resource-explorer-2``: Add new AWS Resource Explorer APIs + + +1.42.45 +======= + +* api-change:``cleanrooms``: Added support for reading data sources across regions, and results delivery to allowedlisted regions. +* api-change:``medialive``: AWS Elemental MediaLive enables Mediapackage V2 users to configure ID3, KLV, Nielsen ID3, and Segment Length related parameters through the Mediapackage output group. +* api-change:``payment-cryptography-data``: Added a new API - translateKeyMaterial; allows keys wrapped by ECDH derived keys to be rewrapped under a static AES keyblock without first importing the key into the service. +* api-change:``qconnect``: Updated Amazon Q in Connect APIs to support Email Contact Recommendations. + + +1.42.44 +======= + +* api-change:``cloudformation``: Add new warning type 'EXCLUDED_RESOURCES' +* api-change:``connectcases``: New Search All Related Items API enables searching related items across cases +* api-change:``dynamodb``: Add support for dual-stack account endpoint generation +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``guardduty``: Updated descriptions for the Location parameter in CreateTrustedEntitySet and CreateThreatEntitySet. +* api-change:``synthetics``: Adds support to configure canaries with pre-configured blueprint code on supported runtime versions. This behavior can be controlled via the new BlueprintTypes property exposed in the CreateCanary and UpdateCanary APIs. + + +1.42.43 +======= + +* api-change:``chime-sdk-meetings``: Add support to receive dual stack MediaPlacement URLs in Chime Meetings SDK +* api-change:``cleanrooms``: This release introduces data access budgets to control how many times a table can be used for queries and jobs in a collaboration. +* api-change:``cleanroomsml``: This release introduces data access budgets to view how many times an input channel can be used for ML jobs in a collaboration. +* api-change:``dms``: This is a doc-only update, revising text for kms-key-arns. +* api-change:``ecs``: This is a documentation only Amazon ECS release that adds additional information for health checks. +* api-change:``pcs``: Added the UpdateCluster API action to modify cluster configurations, and Slurm custom settings for queues. + + +1.42.42 +======= + +* api-change:``application-signals``: Amazon CloudWatch Application Signals is introducing the Application Map to give users a more comprehensive view of their service health. Users will now be able to group services, track their latest deployments, and view automated audit findings concerning service performance. +* api-change:``bedrock-agentcore-control``: Tagging support for AgentCore Gateway +* api-change:``chime-sdk-voice``: Added support for IPv4-only and dual-stack network configurations for VoiceConnector and CreateVoiceConnector API. +* api-change:``connectcases``: This release adds support for two new related item types: ConnectCase for linking Amazon Connect cases and Custom for user-defined related items with configurable fields. +* api-change:``customer-profiles``: This release introduces ListProfileHistoryRecords and GetProfileHistoryRecord APIs for comprehensive profile history tracking with complete audit trails of creation, updates, merges, deletions, and data ingestion events. +* api-change:``datasync``: Added support for FIPS VPC endpoints in FIPS-enabled AWS Regions. +* api-change:``datazone``: This release adds support for creation of EMR on EKS Connections in Amazon DataZone. +* api-change:``ds``: AWS Directory service now supports IPv6-native and dual-stack configurations for AWS Managed Microsoft AD, AD Connector, and Simple AD (dual-stack only). Additionally, AWS Managed Microsoft AD Standard Edition directories can be upgraded to Enterprise Edition directories through a single API call. +* api-change:``ecs``: This release adds support for Managed Instances on Amazon ECS. +* api-change:``fsx``: Add Dual-Stack support for Amazon FSx for NetApp ONTAP and Windows File Server +* api-change:``mediatailor``: Adding TPS Traffic Shaping to Prefetch Schedules +* api-change:``quicksight``: added warnings to a few CLI pages +* api-change:``rds``: Enhanced RDS error handling: Added DBProxyEndpointNotFoundFault, DBShardGroupNotFoundFault, KMSKeyNotAccessibleFault for snapshots/restores/backups, NetworkTypeNotSupported, StorageTypeNotSupportedFault for restores, and granular state validation faults. Changed DBInstanceNotReadyFault to HTTP 400. +* api-change:``transfer``: Add support for updating server identity provider type +* enhancement:``eks``: Add ``proxy-url`` to ``aws eks update-kubeconfig``. + + +1.42.41 +======= + +* api-change:``bedrock``: Release for fixing GetFoundationModel API behavior. Imported and custom models have their own exclusive API and GetFM should not accept those ARNS as input +* api-change:``bedrock-runtime``: New stop reason for Converse and ConverseStream +* api-change:``imagebuilder``: This release introduces several new features and improvements to enhance pipeline management, logging, and resource configuration. +* api-change:``vpc-lattice``: Adds support for specifying the number of IPv4 addresses in each ENI for the resource gateway for VPC Lattice. + + +1.42.40 +======= + +* api-change:``bedrock-agent-runtime``: This release enhances the information provided through Flow Traces. New information includes source/next node tracking, execution chains for complex nodes, dependency action (operation) details, and dependency traces. +* api-change:``bedrock-data-automation``: Added support for configurable Speaker Labeling and Channel Labeling features for Audio modality. +* api-change:``billing``: Add ability to combine custom billing views to create new consolidated views. +* api-change:``ce``: Support for payer account dimension and billing view health status. +* api-change:``connect``: Adds supports for manual contact picking (WorkList) operations on Routing Profiles, Agent Management and SearchContacts APIs. +* api-change:``dynamodbstreams``: Added support for IPv6 compatible endpoints for DynamoDB Streams. +* api-change:``ec2``: This release includes documentation updates for Amazon EBS General Purpose SSD (gp3) volumes with larger size and higher IOPS and throughput. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``redshift``: Support tagging and tag propagation to IAM Identity Center for Redshift Idc Applications + + +1.42.39 +======= + +* api-change:``glue``: Update GetConnection(s) API to return KmsKeyArn & Add 63 missing connection types +* api-change:``lightsail``: Attribute HTTP binding update for Get/Delete operations +* api-change:``network-firewall``: Network Firewall now introduces Reject and Alert action support for stateful domain list rule groups, providing customers with more granular control over their network traffic. + + +1.42.38 +======= + +* api-change:``appstream``: G6f instance support for AppStream 2.0 +* api-change:``cloudwatch``: Fix default dualstack FIPS endpoints in AWS GovCloud(US) regions +* api-change:``dax``: This release adds support for IPv6-only, DUAL_STACK DAX instances +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``kms``: Documentation only updates for KMS. +* api-change:``neptune``: Doc-only update to address customer use. + + +1.42.37 +======= + +* api-change:``cleanrooms``: Added support for running incremental ID mapping for rule-based workflows. +* api-change:``ec2``: Add Amazon EC2 R8gn instance types +* api-change:``entityresolution``: Support incremental id mapping workflow for AWS Entity Resolution +* api-change:``ssm``: Added Dualstack support to GetDeployablePatchSnapshotForInstance +* api-change:``sso-admin``: Add support for encryption at rest with Customer Managed KMS Key in AWS IAM Identity Center +* api-change:``sso-oidc``: This release includes exception definition and documentation updates. + + +1.42.36 +======= + +* api-change:``batch``: Starting in JAN 2026, AWS Batch will change the default AMI for new Amazon ECS compute environments from Amazon Linux 2 to Amazon Linux 2023. We recommend migrating AWS Batch Amazon ECS compute environments to Amazon Linux 2023 to maintain optimal performance and security. +* api-change:``eks``: Adds support for RepairConfig overrides and configurations in EKS Managed Node Groups. +* api-change:``imagebuilder``: Version ARNs are no longer required for the EC2 Image Builder list-image-build-version, list-component-build-version, and list-workflow-build-version APIs. Calling these APIs without the ARN returns all build versions for the given resource type in the requesting account. + + +1.42.35 +======= + +* api-change:``bedrock-agentcore-control``: Add tagging and VPC support to AgentCore Runtime, Code Interpreter, and Browser resources. Add support for configuring request headers in Runtime. Fix AgentCore Runtime shape names. +* api-change:``config``: Add UNKNOWN state to RemediationExecutionState and add IN_PROGRESS/EXITED/UNKNOWN states to RemediationExecutionStepState. +* api-change:``connect``: This release adds a persistent connection field to UserPhoneConfig that maintains agent's softphone media connection for faster call connections. +* api-change:``kendra-ranking``: Model whitespace change - no client difference +* api-change:``license-manager-user-subscriptions``: Added support for cross-account Active Directories. +* api-change:``medialive``: Add MinBitrate for QVBR mode under H264/H265/AV1 output codec. Add GopBReference, GopNumBFrames, SubGopLength fields under H265 output codec. +* api-change:``sqs``: Update invalid character handling documentation for SQS SendMessage API + + +1.42.34 +======= + +* api-change:``bedrock``: Release includes an increase to the maximum policy build document size, an update to DeleteAutomatedReasoningPolicyBuildWorkflow to add ResourceInUseException, and corrections to UpdateAutomatedReasoningPolicyTestCaseRequest. +* api-change:``budgets``: Added BillingViewHealthStatus Exception which is thrown when a Budget is created or updated with a Billing View that is not in the HEALTHY status +* api-change:``chime-sdk-messaging``: Amazon Chime SDK Messaging GetMessagingSessionEndpoint API now returns dual-stack WebSocket endpoints supporting IPv4/IPv6. +* api-change:``ec2``: Allowed AMIs adds support for four new parameters - marketplaceProductCodes, deprecationTimeCondition, creationDateCondition and imageNames + + +1.42.33 +======= + +* api-change:``ec2``: Add mac-m4.metal and mac-m4pro.metal instance types. +* api-change:``network-firewall``: Network Firewall now prevents TLS handshakes with the target server until after the Server Name Indication (SNI) has been seen and verified. The monitoring dashboard now provides deeper insights into PrivateLink endpoint candidates and offers filters based on IP addresses and protocol. +* api-change:``pcs``: Add support for Amazon EC2 Capacity Blocks for ML + + +1.42.32 +======= + +* api-change:``budgets``: Add support for custom time periods in budget configuration +* api-change:``ivs-realtime``: IVS now offers customers the ability to control the positioning of participants in both grid and PiP layouts based on custom attribute values in participant tokens. +* api-change:``logs``: Cloudwatch Logs added support for 2 new API parameters in metric and subscription filter APIs to filter log events based on system field values and emit system field values as dimensions and send them to customer destination as additional metadata. +* api-change:``osis``: Adds support for cross-account ingestion for push-based sources. This includes resource policies for sharing pipelines across accounts and features for managing pipeline endpoints which enable accessing pipelines across different VPCs, including VPCs in other accounts. + + +1.42.31 +======= + +* api-change:``ce``: Added endpoint support for eusc-de-east-1 region. +* api-change:``medical-imaging``: Added support for OpenID Connect (OIDC) custom authorizer +* api-change:``observabilityadmin``: CloudWatch Observability Admin adds the ability to enable telemetry centralization in customers' Organizations. The release introduces new APIs to manage centralization rules, which define settings to replicate telemetry data to a central destination in the customers' Organization. +* api-change:``s3control``: Introduce three new encryption filters: EncryptionType (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C, NOT-SSE), KmsKeyArn (for SSE-KMS and DSSE-KMS), and BucketKeyEnabled (for SSE-KMS). + + +1.42.30 +======= + +* api-change:``payment-cryptography``: Add support for certificates to be signed by 3rd party certificate authorities. New API GetCertificateSigningRequest API and support for providing certificates at run-time for tr-34 import/export + + +1.42.29 +======= + +* api-change:``amp``: Add Vended Logs APIs for Amazon Prometheus Managed Collector +* api-change:``datazone``: adding IAM principal id to IAM user profile details +* api-change:``ecs``: This release supports hook details for Amazon ECS lifecycle hooks. +* api-change:``emr-containers``: Added nodeLabel support in container provider to aid hardware isolation support for virtual cluster and security configuration. +* api-change:``evs``: CreateEnvironment API now supports parameters (isHcxPublic & hcxNetworkAclId) for HCX migration via public internet, adding flexibility for migration scenarios. New APIs have been added for associating (AssociateEipToVlan) & disassociating (DisassociateEipFromVlan) Elastic IP (EIP) addresses. +* api-change:``guardduty``: Updated Java SDK implementation of entity set status in GuardDuty API. +* api-change:``medialive``: AWS Elemental MediaLive adds a new feature in MediaPackage output group that enables MediaPackage V2 users to control HLS-related parameters directly in MediaLive. These parameter settings are then reflected in MediaPackage outputs, providing more streamlined control over HLS configurations. +* api-change:``quicksight``: This release adds support for Account level custom permissions, additional Dashboard Options, and Null support for Q&A. +* api-change:``rds``: Adds support for end-to-end IAM authentication in RDS Proxy for MySQL, MariaDB, and PostgreSQL engines. + + +1.42.28 +======= + +* api-change:``networkflowmonitor``: Added new enum value (AWS::Region) for type field under MonitorLocalResource and MonitorRemoteResource. Workload Insights and Monitor top contributors queries now support a new DestinationCategory (INTER_REGION). +* api-change:``payment-cryptography``: AWS Payment Cryptography Service now supports Multi-Region key replication. Customers can choose to automatically distribute keys across AWS Regions. + + +1.42.27 +======= + +* api-change:``autoscaling``: Added WaitForTransitioningInstances parameter to the CancelInstanceRefresh API, allowing the caller to cancel an instance refresh without waiting for on-going launches and terminations. +* api-change:``cloudwatch``: Added a new API - DescribeAlarmContributors API, to retrieve alarm contributors in ALARM state. Added support in DescribeAlarmHistory API to query alarm contributor history +* api-change:``connect``: SDK release for user defined predefined attributes. +* api-change:``datazone``: Adds support for custom blueprints +* api-change:``mediapackagev2``: Added CUE tag SCTE output to MediaPackageV2 HLS and LL-HLS manifests. +* api-change:``organizations``: Documentation updates for AWS Organizations APIs. +* api-change:``sagemaker``: Released IPv6 support with dual-stack domain options on SageMaker Studio and introduced support for p6-b200.48xlarge instance type on SageMaker Studio for JupyterLab and CodeEditor applications. + + +1.42.26 +======= + +* api-change:``iotsitewise``: Add ComputationModelVersion support in IoT SiteWise APIs +* api-change:``s3``: This release includes backward compatibility work on the "Expires" parameter. +* api-change:``securityhub``: This release adds the RESOURCE_NOT_FOUND error code as a possible value in responses to the following operations: BatchGetStandardsControlAssociations, BatchUpdateStandardsControlAssociations, and BatchGetSecurityControls. + + +1.42.25 +======= + +* api-change:``ecs``: This is a documentation only release that adds additional information for Amazon ECS Availability Zone rebalancing. +* api-change:``pcs``: Documentation-only update to add AccountingStorageEnforce to SlurmCustomSetting. +* api-change:``sagemaker``: Release IPv6 support with dualstack in SageMaker Notebooks, Tiered Storage Checkpointing Support in SageMaker HyperPod and P5.4xlarge instance type for SageMaker Hosting. + + +1.42.24 +======= + +* api-change:``cleanrooms``: Add support for configurable compute sizes for PySpark jobs. +* api-change:``cloudformation``: ListHookResults API now supports retrieving invocation results for all CloudFormation Hooks (previously limited to create change set and Cloud Control operations) with new optional parameters for filtering by Hook status and ARN. +* api-change:``ec2``: Add m8i, m8i-flex and i8ge instance types. +* api-change:``opensearchserverless``: Add support for Federal Information Processing Standards (FIPS) and Federal Risk and Authorization Management Program (FedRAMP) compliance +* api-change:``rds``: Added new EndpointNetworkType and TargetConnectionNetworkType fields in Proxy APIs to support IPv6 +* api-change:``verifiedpermissions``: Amazon Verified Permissions / Features : Adds support for datetime and duration attribute values. + + +1.42.23 +======= + +* api-change:``cleanrooms``: Added support for adding new data provider members to an existing collaboration. +* api-change:``cleanroomsml``: AWS Clean Rooms ML adds log sanitization for privacy-enhanced error summaries, supports new instance types for custom models providing better performance and lower costs, and deprecates P3-series instances. +* api-change:``cloudfront``: Adding an optional field IpAddressType in CustomOriginConfig +* api-change:``mq``: Add CONFIG_MANAGED as a supported AuthenticationStrategy for Amazon MQ for RabbitMQ brokers. Make username and password optional on broker creation for CONFIG_MANAGED brokers. +* api-change:``rds``: This release adds support for MasterUserAuthenticationType parameter on CreateDBInstance, ModifyDBInstance, CreateDBCluster, and ModifyDBCluster operations. +* api-change:``route53``: Amazon Route 53 now supports the Asia Pacific (New Zealand) Region (ap-southeast-6) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. +* api-change:``route53domains``: Added new ExtraParams AU_ELIGIBILITY_TYPE, AU_POLICY_REASON, and AU_REGISTRANT_NAME + + +1.42.22 +======= + +* api-change:``ec2``: MaximumEbsAttachments and AttachmentLimitType fields added to DescribeInstanceTypesResponse. G6f, Gr6f, R8i, R8i-flex and p5.4xlarge instance types added to InstanceTypes enum. +* api-change:``neptune``: Removed the deprecated marker from publiclyAccessible parameter from DbInstance, CreateDbInstance and ModifyDbInstance and added relevant usage information for the parameter. +* api-change:``notifications``: Added Org support for notifications: - `ListMemberAccounts` gets member accounts list, `AssociateOrganizationalUnit` links OU to notification configuration, `DisassociateOrganizationalUnit` removes OU from notification configuration, `ListOrganizationalUnits` shows OUs configured for notifications. +* api-change:``workmail``: Make RoleArn an optional parameter for the PutEmailMonitoringConfiguration API, and add UnsupportedOperationException to RegisterToWorkMail. + + +1.42.21 +======= + +* api-change:``bedrock-runtime``: Fixed stop sequence limit for converse API. +* api-change:``ec2``: Release shows new route types such as filtered and advertisement. +* api-change:``xray``: AWS X-Ray Features: Support Sampling Rate Boost On Anomaly + + +1.42.20 +======= + +* api-change:``applicationcostprofiler``: Remove incorrect endpoint tests +* api-change:``apprunner``: Doc only updates for APIs and and datatypes related to IPAddressType and Subnets for IPv6 dualstack support. +* api-change:``autoscaling-plans``: Remove incorrect endpoint tests +* api-change:``cloud9``: Remove incorrect endpoint tests +* api-change:``cloudhsmv2``: Remove incorrect endpoint tests +* api-change:``cloudsearchdomain``: Remove incorrect endpoint tests +* api-change:``codedeploy``: Remove incorrect endpoint tests +* api-change:``codeguru-reviewer``: Remove incorrect endpoint tests +* api-change:``connect``: AgentStatusDrillDown feature in GetCurrentMetricData API. Adding AGENT_STATUS as filter and grouping in GetCurrentMetricData API +* api-change:``databrew``: Remove incorrect endpoint tests +* api-change:``dynamodb``: Remove incorrect endpoint tests +* api-change:``ec2``: This release adds support for copying Amazon EBS snapshot and AMIs to and from Local Zones. +* api-change:``ec2-instance-connect``: Remove incorrect endpoint tests +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``fis``: Remove incorrect endpoint tests +* api-change:``fms``: Remove incorrect endpoint tests +* api-change:``geo-maps``: Remove incorrect endpoint tests +* api-change:``glue``: Adding support to fetch TargetDatabase field during GetDatabases with AttributesToGet +* api-change:``healthlake``: Add ValidationLevel parameter to StartFHIRImportJob API, allowing users to specify a FHIR validation level for their asynchronous import jobs. +* api-change:``machinelearning``: Remove incorrect endpoint tests +* api-change:``mediastore-data``: Remove incorrect endpoint tests +* api-change:``mturk``: Remove incorrect endpoint tests +* api-change:``omics``: Adds Amazon ECR pull through cache support to AWS HealthOmics, so you can more easily use container images from external sources. +* api-change:``osis``: Remove incorrect endpoint tests +* api-change:``pinpoint-sms-voice``: Remove incorrect endpoint tests +* api-change:``rds``: Added RDS HTTP Endpoint feature support flag to DescribeOrderableDBInstanceOptions API +* api-change:``route53domains``: Remove incorrect endpoint tests +* api-change:``savingsplans``: Remove incorrect endpoint tests +* api-change:``scheduler``: Remove incorrect endpoint tests +* api-change:``ses``: Remove incorrect endpoint tests +* api-change:``ssm-sap``: Added support for Configuration Checks on SAP HANA Applications. +* api-change:``sso``: Remove incorrect endpoint tests +* api-change:``timestream-query``: Remove incorrect endpoint tests +* api-change:``waf``: Remove incorrect endpoint tests +* api-change:``workmailmessageflow``: Remove incorrect endpoint tests +* api-change:``xray``: Remove incorrect endpoint tests + + +1.42.19 +======= + +* api-change:``amplifybackend``: Remove incorrect endpoint tests +* api-change:``application-insights``: Remove incorrect endpoint tests +* api-change:``batch``: Added ECS_AL2023_NVIDIA as an option for Ec2Configuration.imageType. +* api-change:``chime``: Remove incorrect endpoint tests +* api-change:``chime-sdk-identity``: Remove incorrect endpoint tests +* api-change:``chime-sdk-meetings``: Remove incorrect endpoint tests +* api-change:``chime-sdk-voice``: Remove incorrect endpoint tests +* api-change:``codeguruprofiler``: Remove incorrect endpoint tests +* api-change:``datapipeline``: Remove incorrect endpoint tests +* api-change:``discovery``: Remove incorrect endpoint tests +* api-change:``ds``: Add APIs for CA AutoEnrollment support: DescribeCAEnrollmentPolicy, EnableCAEnrollmentPolicy and DisableCAEnrollmentPolicy. +* api-change:``eks``: Add support for on-demand refresh of EKS cluster insights +* api-change:``elasticache``: Remove incorrect endpoint tests +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``evidently``: Remove incorrect endpoint tests +* api-change:``frauddetector``: Remove incorrect endpoint tests +* api-change:``inspector``: Remove incorrect endpoint tests +* api-change:``kinesisvideo``: Remove incorrect endpoint tests +* api-change:``kinesis-video-media``: Remove incorrect endpoint tests +* api-change:``lakeformation``: Remove incorrect endpoint tests +* api-change:``lex-models``: Remove incorrect endpoint tests +* api-change:``migrationhub-config``: Remove incorrect endpoint tests +* api-change:``neptune-graph``: Add StartGraph and StopGraph operations to Neptune Analytics +* api-change:``personalize``: Remove incorrect endpoint tests +* api-change:``pi``: Remove incorrect endpoint tests +* api-change:``qldb-session``: Remove incorrect endpoint tests +* api-change:``redshift``: Remove incorrect endpoint tests +* api-change:``robomaker``: Remove incorrect endpoint tests +* api-change:``sagemaker``: This release adds support for AutoScaling on SageMaker HyperPod. +* api-change:``schemas``: Remove incorrect endpoint tests +* api-change:``snow-device-management``: Remove incorrect endpoint tests +* api-change:``timestream-write``: Remove incorrect endpoint tests +* api-change:``voice-id``: Remove incorrect endpoint tests +* api-change:``workdocs``: Remove incorrect endpoint tests +* api-change:``workmail``: Remove incorrect endpoint tests + + +1.42.18 +======= + +* api-change:``apprunner``: Remove incorrect endpoint tests +* api-change:``arc-zonal-shift``: This release adds new API options to enable allowed windows and multiple alarms for practice runs. +* api-change:``codecommit``: Remove incorrect endpoint tests +* api-change:``codestar-connections``: Remove incorrect endpoint tests +* api-change:``comprehendmedical``: Remove incorrect endpoint tests +* api-change:``connectparticipant``: Amazon Connect Participant Service: Remove unused fields from WebRTCConnection +* api-change:``dlm``: Remove incorrect endpoint tests +* api-change:``ec2``: Add new APIs for viewing how your shared AMIs are used by other accounts, and identify resources in your account that are dependent on particular AMIs +* api-change:``elastictranscoder``: Remove incorrect endpoint tests +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``finspace``: Remove incorrect endpoint tests +* api-change:``geo-routes``: Added RouteFerryNotice PotentialViolatedVehicleRestrictionUsage value for CalculateRoutes. This value indicates when the Route is potentially forbidden for the given vehicle profile. +* api-change:``glacier``: Remove incorrect endpoint tests +* api-change:``globalaccelerator``: Remove incorrect endpoint tests +* api-change:``greengrass``: Remove incorrect endpoint tests +* api-change:``identitystore``: Remove incorrect endpoint tests +* api-change:``imagebuilder``: Remove incorrect endpoint tests +* api-change:``iotsecuretunneling``: Remove incorrect endpoint tests +* api-change:``kafka``: Remove incorrect endpoint tests +* api-change:``lookoutvision``: Remove incorrect endpoint tests +* api-change:``mgh``: Remove incorrect endpoint tests +* api-change:``migration-hub-refactor-spaces``: Remove incorrect endpoint tests +* api-change:``mq``: Remove incorrect endpoint tests +* api-change:``personalize-events``: Remove incorrect endpoint tests +* api-change:``pinpoint``: Remove incorrect endpoint tests +* api-change:``ram``: Remove incorrect endpoint tests +* api-change:``rbin``: Remove incorrect endpoint tests +* api-change:``route53-recovery-cluster``: Remove incorrect endpoint tests +* api-change:``sagemaker-geospatial``: Remove incorrect endpoint tests +* api-change:``servicecatalog-appregistry``: Remove incorrect endpoint tests +* api-change:``signer``: Remove incorrect endpoint tests +* api-change:``waf-regional``: Remove incorrect endpoint tests + + +1.42.17 +======= + +* api-change:``appflow``: Remove incorrect endpoint tests +* api-change:``b2bi``: Updated APIs to support custom validation rules. +* api-change:``chime-sdk-media-pipelines``: Remove incorrect endpoint tests +* api-change:``chime-sdk-messaging``: Remove incorrect endpoint tests +* api-change:``cloudsearch``: Remove incorrect endpoint tests +* api-change:``cloudtrail-data``: Remove incorrect endpoint tests +* api-change:``codeartifact``: Remove incorrect endpoint tests +* api-change:``codeguru-security``: Documentation update to notify users of the discontinuation of Amazon CodeGuru Security. +* api-change:``codestar-notifications``: Remove incorrect endpoint tests +* api-change:``cur``: Remove incorrect endpoint tests +* api-change:``datazone``: Releasing the following features - Asset classification that lets users use restricted terms for classifying assets if they have the right permissions. Also adding a new enum value "Moving" to project status. +* api-change:``dax``: Remove incorrect endpoint tests +* api-change:``devops-guru``: Remove incorrect endpoint tests +* api-change:``ec2``: Added IPv6 support for AWS Client VPN. +* api-change:``emr-containers``: Remove incorrect endpoint tests +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``finspace-data``: Remove incorrect endpoint tests +* api-change:``forecast``: Remove incorrect endpoint tests +* api-change:``iotfleethub``: Remove incorrect endpoint tests +* api-change:``kendra``: Remove incorrect endpoint tests +* api-change:``kinesisanalytics``: Remove incorrect endpoint tests +* api-change:``kinesis-video-archived-media``: Remove incorrect endpoint tests +* api-change:``lex-runtime``: Remove incorrect endpoint tests +* api-change:``lookoutequipment``: Remove incorrect endpoint tests +* api-change:``mediaconvert``: This release adds support for input rendition selection for HLS input, adds new Share API to enable sharing jobs with AWS Support for support investigations, and adds INCLUDE_AS_TS to iFrameOnlyManifest setting for HLS outputs. +* api-change:``mediapackage-vod``: Remove incorrect endpoint tests +* api-change:``mediastore``: Remove incorrect endpoint tests +* api-change:``personalize-runtime``: Remove incorrect endpoint tests +* api-change:``qbusiness``: The Amazon Q Business GetDocumentContent operation now supports retrieval of the extracted text content in JSON format. +* api-change:``resourcegroupstaggingapi``: Remove incorrect endpoint tests +* api-change:``sagemaker-edge``: Remove incorrect endpoint tests +* api-change:``sagemaker-featurestore-runtime``: Remove incorrect endpoint tests +* api-change:``sagemaker-runtime``: Remove incorrect endpoint tests +* api-change:``serverlessrepo``: Remove incorrect endpoint tests +* api-change:``shield``: Remove incorrect endpoint tests +* api-change:``snowball``: Remove incorrect endpoint tests +* api-change:``sqs``: Documentation update for Amazon SQS Supports Large Payload Message feature +* api-change:``support``: Remove incorrect endpoint tests +* api-change:``support-app``: Remove incorrect endpoint tests +* api-change:``timestream-influxdb``: Add MAINTENANCE status for DbInstance and DbCluster +* api-change:``translate``: Remove incorrect endpoint tests +* api-change:``wellarchitected``: Remove incorrect endpoint tests + + +1.42.16 +======= + +* api-change:``clouddirectory``: Remove incorrect endpoint tests +* api-change:``cognito-sync``: Remove incorrect endpoint tests +* api-change:``docdb``: Remove incorrect endpoint tests +* api-change:``elb``: Remove incorrect endpoint tests +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``healthlake``: Remove incorrect endpoint tests +* api-change:``iotanalytics``: Remove incorrect endpoint tests +* api-change:``macie2``: Remove incorrect endpoint tests +* api-change:``marketplacecommerceanalytics``: Remove incorrect endpoint tests +* api-change:``medialive``: AWS Elemental MediaLive now has a field called "SubtitleRows" for controlling subtitle row count for DVB-Sub and Burn-In captions outputs +* api-change:``memorydb``: Remove incorrect endpoint tests +* api-change:``proton``: Remove incorrect endpoint tests +* api-change:``qconnect``: Releasing model ID support for UpdateAIPrompt +* api-change:``qldb``: Remove incorrect endpoint tests +* api-change:``rds``: Updates Amazon RDS documentation for Db2 read-only replicas. +* api-change:``route53-recovery-readiness``: Remove incorrect endpoint tests +* api-change:``sagemaker``: Launch SageMaker Notebook Instances support for AL2023 along with P6-B200 instance type and Rootless Docker support for SageMaker Studio. +* api-change:``sagemaker-a2i-runtime``: Remove incorrect endpoint tests +* api-change:``simspaceweaver``: Remove incorrect endpoint tests +* api-change:``synthetics``: Added multi browser support for synthetics canaries, Increased ephemeral storage limit from 5GB to 10GB +* api-change:``wafv2``: test and verified, safe to release + + +1.42.15 +======= + +* api-change:``apigatewaymanagementapi``: Remove incorrect endpoint tests +* api-change:``appfabric``: Remove incorrect endpoint tests +* api-change:``backup-gateway``: Remove incorrect endpoint tests +* api-change:``cloudhsm``: Remove incorrect endpoint tests +* api-change:``cognito-identity``: Remove incorrect endpoint tests +* api-change:``comprehend``: Remove incorrect endpoint tests +* api-change:``ebs``: Remove incorrect endpoint tests +* api-change:``ecr-public``: Remove incorrect endpoint tests +* api-change:``ecs``: This is a documentation only release that adds additional information for the update-service request parameters. +* api-change:``elasticbeanstalk``: Remove incorrect endpoint tests +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``es``: Remove incorrect endpoint tests +* api-change:``forecastquery``: Remove incorrect endpoint tests +* api-change:``gameliftstreams``: The default application in a stream group can now be changed at any time using UpdateStreamGroup to update the DefaultApplicationIdentifier. +* api-change:``glue``: Added support for preprocessing queries in Data Quality operations through new DataQualityGlueTable structure. +* api-change:``greengrassv2``: Remove incorrect endpoint tests +* api-change:``guardduty``: Remove Pattern trait from email field +* api-change:``iotdeviceadvisor``: Remove incorrect endpoint tests +* api-change:``iotevents``: Remove incorrect endpoint tests +* api-change:``iotevents-data``: Remove incorrect endpoint tests +* api-change:``iotthingsgraph``: Remove incorrect endpoint tests +* api-change:``kinesis-video-signaling``: Remove incorrect endpoint tests +* api-change:``lexv2-runtime``: Remove incorrect endpoint tests +* api-change:``lookoutmetrics``: Remove incorrect endpoint tests +* api-change:``managedblockchain``: Remove incorrect endpoint tests +* api-change:``mediapackage``: Remove incorrect endpoint tests +* api-change:``panorama``: Remove incorrect endpoint tests +* api-change:``pinpoint-email``: Remove incorrect endpoint tests +* api-change:``resource-groups``: Remove incorrect endpoint tests +* api-change:``s3outposts``: Remove incorrect endpoint tests +* api-change:``ssm-contacts``: Doc-only updates for Incident Manager Contacts August 2025 + + +1.42.14 +======= + +* api-change:``bedrock-runtime``: Launch CountTokens API to allow token counting +* api-change:``billing``: Clarify IPv4 and IPv6 endpoints +* api-change:``cognito-idp``: This release adds support for the new Terms APIs which allow displaying Terms of Use and Privacy Policy on the Managed Login user-registration page. +* api-change:``datazone``: This release supports policy grant identifier for cloud formation integration +* api-change:``detective``: Remove incorrect endpoint tests +* api-change:``dynamodb``: Remove incorrect endpoint tests +* api-change:``eks``: EKS Add-ons Custom Namespace Support +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``kinesisanalyticsv2``: Adds Key Management Service (KMS) support allowing customer-managed key (CMK) encryption for Flink application data. +* api-change:``pinpoint-sms-voice-v2``: This change added InternationalSendingEnbaled as part of describe/Update/Request phone number API response, and as part of update/Request phone number API request +* api-change:``route53-recovery-control-config``: Remove incorrect endpoint tests +* api-change:``sagemaker``: This release adds 1/ Launch ml.p5.4xlarge instance in Processing jobs, Training jobs and Training Plan 2/ Makes S3Uri to be required for S3FileSystem and S3FileSystemConfig. + + +1.42.13 +======= + +* api-change:``cleanrooms``: Support error message configuration for analysis templates +* api-change:``ec2``: Add support for "warning" volume status. +* api-change:``polly``: Added support for new output format - Opus. + + +1.42.12 +======= + +* api-change:``batch``: Added default_x86_64 and default_arm64 as values to the instanceTypes field. +* api-change:``bcm-dashboards``: Billing and Cost Management Dashboards enables users to create dashboards that combine multiple visualizations of cost and usage data. Users can create, manage, and share dashboards. Tags are also available for dashboards. +* api-change:``connect``: Amazon Connect Service Feature: Add support to enable multi-user in-app, web, and video calling. +* api-change:``connectparticipant``: Amazon Connect Service Feature: Add support to enable multi-user in-app, web, and video calling. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``s3control``: Adds support for Compute checksum functionality in Amazon S3 Batch Operations. You can now calculate checksums for a list of objects using supported algorithms in Amazon S3, without requiring a restore or download +* api-change:``sagemaker``: Customer managed keys now available for volume encryption of SageMaker HyperPod clusters. + + +1.42.11 +======= + +* api-change:``amp``: Add Resource-based Policy APIs for Amazon Prometheus +* api-change:``bedrock-agent``: This release adds support for saving Bedrock Flows while node configuration is still in progress, even if the Flow is not yet able to be invoked +* api-change:``glue``: AWS Glue Zero ETL now supports On-demand snapshot load + + +1.42.10 +======= + +* api-change:``arc-region-switch``: Endpoint rule test and documentation update. +* api-change:``bcm-recommended-actions``: Initial SDK release for AWS Billing and Cost Management Recommended Actions. +* api-change:``directconnect``: Added pagination support for DescribeHostedConnections, DescribeVirtualInterfaces, DescribeConnections, DescribeInterconnects, DescribeLags. Added asnLong support for BGP peer operations which supports a large range. +* api-change:``dynamodb``: This release 1/ Adds support for throttled keys mode for CloudWatch Contributor Insights, 2/ Adds throttling reasons to exceptions across dataplane APIs. 3/ Explicitly models ThrottlingException as a class in statically typed languages. Refer to the launch day blog post for more details. +* api-change:``ec2``: This release adds ModifyInstanceConnectEndpoint API to update configurations on existing EC2 Instance Connect Endpoints and improves IPv6 support through dualstack DNS names for EC2 Instance Connect Endpoints. +* api-change:``endpoint-rules``: Update endpoint-rules command to latest version +* api-change:``fsx``: Amazon FSx for NetApp ONTAP 2nd generation file systems now support decreasing SSD storage capacity. +* api-change:``glue``: AWS Glue now supports Trusted Identity Propagation. +* api-change:``guardduty``: Added support for entity lists. +* api-change:``medialive``: CMAF Ingest output groups in MediaLive can now accept one additional destination url for single pipeline channels and up to two additional destination urls for standard channels. +* api-change:``pcs``: Updated the regex pattern and description of iamInstanceProfileArn in the CreateComputeNodeGroup and UpdateComputeNodeGroup API actions. Name and path requirements apply to the ARN of the IAM role associated with the instance profile and not the ARN of the instance profile. +* api-change:``qapps``: Documentation update for Amazon Q Apps API Reference +* api-change:``servicediscovery``: Added support for cross account through Id parameter overloading with ARN and allow owner account for some APIs instead of ARN +* api-change:``workspaces``: New APIs introduced to import WorkSpaces BYOL image using a new process that leveraged EC2 Image Builder. WorkSpaces tests and fixes your image's compatibility issues and supports customized VM images. + + +1.42.9 +====== + +* api-change:``braket``: Add support for Braket program sets. +* api-change:``datazone``: Adds support for account pools and project profile account decoupling +* api-change:``fsx``: Add Dual-Stack support for Amazon FSx for OpenZFS file systems +* api-change:``partnercentral-selling``: Add Tagging Support for Opportunity resources +* api-change:``sagemaker``: This release introduces compute quota for GPU, Trainium accelerators, vCPU, and vCPU memory utilization across teams in HyperPod clusters +* api-change:``security-ir``: Added support for Organizational Unit-level Membership configuration and the ability to resume a cancelled membership. +* bugfix:``dynamodb``: Correct Scan and Scanned Count values when resuming a scan or query with a ``--starting-token`` + + +1.42.8 +====== + +* api-change:``backupsearch``: Using recommended smithy trait to generate regional endpoints for Backup Search +* api-change:``codebuild``: AWS CodeBuild now supports PullRequestBuildPolicy in webhook object. +* api-change:``ec2``: Release to allow route table association with a PublicIpv4Pool. +* api-change:``organizations``: This release introduces 2 new APIs in Organizations: 1. ListAccountsWithInvalidEffectivePolicy 2. ListEffectivePolicyValidationErrors +* api-change:``sagemaker``: IAM Identity Center trusted identity propagation is now supported in SageMaker Studio. +* api-change:``transcribe``: AWS HealthScribe now supports specifying preferred patient pronouns through the MedicalScribeContext parameter for use in the generated clinical notes. + + +1.42.7 +====== + +* api-change:``bedrock``: This release includes model updates and enhanced SDK documentation for union fields in automated reasoning policy components. Added docs cover policy definitions, mutations (add/update for rules/types/variables), build assets, workflow sources, test results, and tag exception handling. +* api-change:``cognito-idp``: Remove SigV4 auth requirement for GetTokensFromRefreshToken +* api-change:``connect``: Updating SearchUserHierarchyGroups API +* api-change:``deadline``: Adds support for Wait and Save feature in service-managed fleets +* api-change:``ec2``: This release adds AvailabilityZoneId support for CreateVolume, DescribeVolume, LaunchTemplates, RunInstances, DescribeInstances, CreateDefaultSubnet, SpotInstances, and CreateDefaultSubnet APIs. +* api-change:``evs``: Update for general availability of Amazon Elastic VMware Service (EVS). +* api-change:``lambda``: Doc-only update for Lambda that updates the maximum payload size for response streaming invocations to 200 MB. +* api-change:``quicksight``: Add RowAxisDisplayOptions and ColumnAxisDisplayOptions to HeatMapConfiguration, add Actions to PluginVisual, increase limit for CalculatedFields list +* api-change:``sso-admin``: Added support for managing user background session for applications + + +1.42.6 +====== + +* api-change:``connect``: This release adds a new API GetContactMetrics for Amazon Connect. +* api-change:``inspector2``: Add CVSSV4 to Vulnerability Search API and update enable/disable account id list length to 5 +* api-change:``iot-data``: Adding DeleteConnection API to IoT Data Plane +* api-change:``sagemaker``: Adds support for GB200 UltraServers in Amazon SageMaker training jobs, training plans, and HyperPod clusters +* api-change:``transcribe``: Update documentation to use key ARN only in OutputEncryptionKMSKeyId request parameter + + +1.42.5 +====== + +* api-change:``batch``: This feature allows customers to use AWS Batch with Linux with ARM64 CPU Architecture with Fargate Spot compute support. +* api-change:``cloudfront``: Added new viewer security policy, TLSv1.3_2025, for CloudFront. +* api-change:``codebuild``: AWS CodeBuild now supports comment-based pull request control. +* api-change:``gameliftstreams``: Adds Proton 9.0-2 to the list of runtime environment options available when creating an Amazon GameLift Streams application +* api-change:``glue``: AWS Glue Data Catalog now supports Iceberg Optimization settings at the Catalog level, and supports new options to control the optimization job run rate. +* api-change:``guardduty``: Added support for VPC owner account ID associated with DNS request in the GuardDuty finding. + + +1.42.4 +====== + +* api-change:``appstream``: Added support for G6 instances +* api-change:``budgets``: Adds support for billing views. Billing views let you control access to cost and usage data through an AWS resource, streamlining the process of sharing cost and usage data across account boundaries. With this release, you can now create and view budgets based on billing views. +* api-change:``ec2``: Mark Elastic Inference Accelerators and Elastic Graphics Processor parameters as deprecated on the RunInstances and LaunchTemplate APIs. +* api-change:``opensearchserverless``: Features: add Index APIs in OpenSearchServerless to support managed semantic enrichment +* api-change:``qbusiness``: Amazon Q Business now supports the GetDocumentContent() API that enables customers to securely access the source documents through clickable citation links at query time + + +1.42.3 +====== + +* api-change:``bedrock``: This release introduces Automated Reasoning checks for Amazon Bedrock Guardrails. The feature adds new APIs for policy building, refinement, version management, and testing. Guardrail APIs now support Automated Reasoning policy configuration and validation output. +* api-change:``bedrock-runtime``: This release adds support for Automated Reasoning checks output models for the Amazon Bedrock Guardrails ApplyGuardrail API. +* api-change:``eks``: Add support for deletion protection on EKS clusters +* api-change:``rds``: Adds a new Aurora Serverless v2 attribute to the DBCluster resource to expose the platform version. Also updates the attribute to be part of both the engine version and platform version descriptions. +* api-change:``sagemaker``: Add support for SageMaker Hyperpod continuous scaling and custom AMI; Introduce new APIs: ListClusterEvents, DescribeClusterEvent, BatchAddClusterNodes + + +1.42.2 +====== + +* api-change:``bedrock-agentcore``: Remove superfluous field from API +* api-change:``codeconnections``: New integration with Azure DevOps provider type. +* api-change:``evs``: TagResource API now throws ServiceQuotaExceededException when the number of tags on the Amazon EVS resource exceeds the maximum allowed. TooManyTagsException is deprecated. +* api-change:``iotsitewise``: Support Interface for IoT SiteWise Asset Modeling +* api-change:``sagemaker``: This release adds the ability for customers to attach and detach their EBS volumes to EKS-orchestrated HyperPod cluster nodes. + + +1.42.1 +====== + +* api-change:``acm-pca``: Doc-only update to add more information to GetCertificate action. +* api-change:``aiops``: This release includes fix for InvestigationGroup timestamp conversion issue. +* api-change:``arc-region-switch``: This is the initial SDK release for Region switch +* api-change:``auditmanager``: Added a note to Framework APIs (CreateAssessmentFramework, GetAssessmentFramework, UpdateAssessmentFramework) clarifying that the Controls object returns a partial response when called through Framework APIs. Added documentation that the Framework's controlSources parameter is no longer supported. +* api-change:``lightsail``: This release adds support for the Asia Pacific (Jakarta) (ap-southeast-3) Region. +* api-change:``observabilityadmin``: CloudWatch Observability Admin adds the ability to enable telemetry on AWS resources such as Amazon VPCs (Flow Logs) in customers AWS Accounts and Organizations. The release introduces new APIs to manage telemetry rules, which define telemetry settings to be applied on AWS resources. +* api-change:``pcs``: Add support for IPv6 Networking for Clusters. +* api-change:``securityhub``: Release new resource detail type CodeRepository +* api-change:``sns``: Amazon SNS support for Amazon SQS fair queues + + +1.42.0 +====== + +* api-change:``customer-profiles``: The release updates standard profile with 2 new fields that supports account-level engagement. Updated APIs include CreateProfile, UpdateProfile, MergeProfiles, SearchProfiles, BatchGetProfile, GetSegmentMembership, CreateSegmentDefinition, CreateSegmentEstimate. +* api-change:``ec2``: Added support for the force option for the EC2 instance terminate command. This feature enables customers to recover resources associated with an instance stuck in the shutting-down state as a result of rare issues caused by a frozen operating system or an underlying hardware problem. +* api-change:``elbv2``: This release enables secondary IP addresses for Network Load Balancers. +* api-change:``entityresolution``: Add support for creating advanced rule-based matching workflows in AWS Entity Resolution. +* api-change:``glue``: Added support for Route node, S3 Iceberg sources/targets, catalog Iceberg sources, DynamoDB ELT connector, AutoDataQuality evaluation, enhanced PII detection with redaction, Kinesis fan-out support, and new R-series worker types. +* api-change:``inspector2``: Extend usage to include agentless hours and add CODE_REPOSITORY to aggregation resource type +* api-change:``iot``: This release allows AWS IoT Core users to use their own AWS KMS keys for data protection +* api-change:``opensearch``: Granular access control support for NEO-SAML with IAMFederation for AOS data source +* api-change:``quicksight``: Added Impala connector support +* api-change:``s3control``: Add Tags field to CreateAccessPoint +* api-change:``sesv2``: This release introduces support for Multi-tenant management +* api-change:``workspaces-web``: Added ability to log session activity on a portal to an S3 bucket. +* feature:``sts``: Updated the default sts service endpoint from ``legacy`` to ``regional``. This behavior can be overridden using the ``sts_regional_endpoints`` setting in the shared AWS config file or the ``AWS_STS_REGIONAL_ENDPOINTS`` environment variable. + + +1.41.17 +======= + +* api-change:``cloudfront``: This release adds new origin timeout options: 1) ResponseCompletionTimeout and 2) OriginReadTimeout (for S3 origins) +* api-change:``docdb``: Add support for setting Serverless Scaling Configuration on clusters. +* api-change:``ds``: This release adds support for AWS Managed Microsoft AD Hybrid Edition, introducing new operations: StartADAssessment, DescribeADAssessment, ListADAssessments, DeleteADAssessment, CreateHybridAD, UpdateHybridAD, and DescribeHybridADUpdate; and updated existing operation: DescribeDirectories. +* api-change:``ec2``: Release to show the next hop IP address for routes propagated by VPC Route Server into VPC route tables. +* api-change:``iotwireless``: Added TxPowerIndexMin, TxPowerIndexMax, NbTransMin and NbTransMax params to ServiceProfile. + + +1.41.16 +======= + +* api-change:``batch``: AWS Batch for SageMaker Training jobs feature support. Includes new APIs for service job submission (e.g., SubmitServiceJob) and managing service environments (e.g., CreateServiceEnvironment) that enable queueing SageMaker Training jobs. +* api-change:``cleanrooms``: This feature provides the ability to update the table reference and allowed columns on an existing configured table. +* api-change:``deadline``: Adds support for tag management on monitors. +* api-change:``location``: This release 1) adds support for multi-polygon geofences with disconnected territories, and 2) enables polygon exclusion zones within geofences for more accurate representation of real-world boundaries. +* api-change:``opensearchserverless``: This is to support Granular access control support for SAML with IAMFedraton in AOSS + + +1.41.15 +======= + +* api-change:``directconnect``: Enable MACSec support and features on Interconnects. +* api-change:``iotsitewise``: Add support for native anomaly detection in IoT SiteWise using new Computation Model APIs +* api-change:``osis``: Add Pipeline Role Arn as an optional parameter to the create / update pipeline APIs as an alternative to passing in the pipeline configuration body + + +1.41.14 +======= + +* api-change:``appintegrations``: Amazon AppIntegrations introduces new configuration capabilities to enable customers to manage iframe permissions, control application refresh behavior (per contact or per browser/cross-contact), and run background applications (service). +* api-change:``budgets``: Adds IPv6 and PrivateLink support for AWS Budgets in IAD. +* api-change:``config``: Documentation improvements have been made to the EvaluationModel and DescribeConfigurationRecorders APIs. +* api-change:``ec2``: Transit Gateway native integration with AWS Network Firewall. Adding new enum value for the new Transit Gateway Attachment type. +* api-change:``kms``: Doc only update: fixed grammatical errors. +* api-change:``mediapackagev2``: This release adds support for specifying a preferred input for channels using CMAF ingest. +* api-change:``socialmessaging``: This release introduces new WhatsApp template management APIs that enable customers to programmatically create and submit templates for approval, monitor approval status, and manage the complete template lifecycle +* api-change:``sqs``: Documentation updates for Amazon SQS fair queues feature. + + +1.41.13 +======= + +* api-change:``datazone``: This release adds support for 1) highlighting relevant text in returned results for Search and SearchListings APIs and 2) returning aggregated counts of values for specified attributes for SearchListings API. +* api-change:``omics``: Add Git integration and README support for HealthOmics workflows + + +1.41.12 +======= + +* api-change:``ec2``: Added support for skip-os-shutdown option for the EC2 instance stop and terminate operations. This feature enables customers to bypass the graceful OS shutdown, supporting faster state transitions when instance data preservation isn't critical. +* api-change:``glue``: AWS Glue now supports dynamic session policies for job executions. This feature allows you to specify custom, fine-grained permissions for each job run without creating multiple IAM roles. +* api-change:``workspaces-thin-client``: Added the lastUserId parameter to the ListDevices and GetDevice API. + + +1.41.11 +======= + +* api-change:``ecr``: Add support for Image Tag Mutability Exception feature, allowing repositories to define wildcard-based patterns that override the default image tag mutability settings. +* api-change:``emr``: This release adds new parameter 'ExtendedSupport' in AWS EMR RunJobFlow, ModifyCluster and DescribeCluster API. +* api-change:``lambda``: This release migrated the model to Smithy keeping all features unchanged. +* api-change:``neptunedata``: This release updates the supported regions for Neptune API to include current AWS regions. +* enhancement:EMR: Updated create-cluster and describe-cluster commands to support --extended-support and --no-extended-support arguments + + +1.41.10 +======= + +* api-change:``cloudfront``: Add dualstack endpoint support +* api-change:``deadline``: Add support for VPC resource endpoints in Service Managed Fleets +* api-change:``ec2``: This release adds support for C8gn, F2 and P6e-GB200 Instance types +* api-change:``sagemaker``: This release adds 1/ Support for S3FileSystem in CustomFileSystems 2/ The ability for a customer to select their preferred IpAddressType for use with private Workforces 3/ Support for p4de instance type in SageMaker Training Plans +* api-change:``timestream-influxdb``: Timestream for InfluxDB adds support for db.influx.24xlarge instance type. This enhancement enables higher compute capacity for demanding workloads through CreateDbInstance, CreateDbCluster, UpdateDbInstance, and UpdateDbCluster APIs. +* enhancement:cloudfront: This release adds automatic pagination to the list-origin-access-controls command. To disable this behavior, please use the --no-paginate flag. + + +1.41.9 +====== + +* api-change:``auditmanager``: Updated error handling for RegisterOrganizationAdminAccount API to properly translate TooManyExceptions to HTTP 429 status code. This enhancement improves error handling consistency and provides clearer feedback when request limits are exceeded. +* api-change:``logs``: CloudWatchLogs launches GetLogObject API with streaming support for efficient log data retrieval. Logs added support for new AccountPolicy type METRIC_EXTRACTION_POLICY. For more information, see CloudWatch Logs API documentation +* api-change:``mediaconvert``: This release adds support for TAMS server integration with MediaConvert inputs. +* api-change:``outposts``: Add AWS Outposts API to surface customer billing information +* api-change:``sesv2``: Added IP Visibility support for managed dedicated pools. Enhanced GetDedicatedIp and GetDedicatedIps APIs to return managed IP addresses. +* api-change:``ssm``: July 2025 doc-only updates for Systems Manager. + + +1.41.8 +====== + +* api-change:``cleanroomsml``: This release introduces Parquet result format support for ML Input Channel models in AWS Clean Rooms ML. +* api-change:``cloudfront``: Doc only update for CloudFront that fixes some customer-reported issues +* api-change:``ec2``: AWS Free Tier Version2 Support +* api-change:``keyspacesstreams``: Doc only update for the Amazon Keyspaces Streams API. +* api-change:``mailmanager``: Allow underscores in the local part of the input of the "Email recipients rewrite" action in rule sets. +* api-change:``mediaconvert``: This release expands the range of supported audio outputs to include xHE, 192khz FLAC and the deprecation of dual mono for AC3. +* api-change:``stepfunctions``: Align input with style guidelines. +* api-change:``synthetics``: This feature allows AWS Synthetics customers to provide code dependencies using lambda layer while creating a canary + + +1.41.7 +====== + +* api-change:``bedrock``: This release adds support for on-demand custom model inference through CustomModelDeployment APIs for Amazon Bedrock. +* api-change:``bedrock-agentcore``: Initial release of Amazon Bedrock AgentCore SDK including Runtime, Built-In Tools, Memory, Gateway and Identity. +* api-change:``bedrock-agentcore-control``: Initial release of Amazon Bedrock AgentCore SDK including Runtime, Built-In Tools, Memory, Gateway and Identity. +* api-change:``bedrock-runtime``: document update to support on demand custom model. +* api-change:``datasync``: AWS DataSync now supports IPv6 address inputs and outputs in create, update, and describe operations for NFS, SMB, and Object Storage locations +* api-change:``glue``: AWS Glue now supports schema, partition and sort management of Apache Iceberg tables using Glue SDK +* api-change:``guardduty``: Add expectedBucketOwner parameter to ThreatIntel and IPSet APIs. +* api-change:``iotwireless``: FuotaTaskId is not a valid IdentifierType for EventConfiguration and is being removed from possible IdentifierType values. +* api-change:``logs``: CloudWatch Logs updates: Added X-Ray tracing for Amazon Bedrock Agent resources. Logs introduced Log Group level resource policies (managed through Put/Delete/Describe Resource Policy APIs). For more information, see CloudWatch Logs API documentation. +* api-change:``mediapackagev2``: This release adds support for CDN Authentication using Static Headers in MediaPackage v2. +* api-change:``networkflowmonitor``: Introducing 2 new scope status types - DEACTIVATING and DEACTIVATED. +* api-change:``payment-cryptography-data``: Expand length of message data field for Mac generation and validation to 8192 characters. +* api-change:``stepfunctions``: Doc-only update to introduction, and edits to clarify input parameter and the set of control characters. + + +1.41.6 +====== + +* api-change:``ecs``: This release removes hookDetails for the Amazon ECS native blue/green deployments. + + +1.41.5 +====== + +* api-change:``bedrock-agent``: Add support for S3 Vectors as a vector store. +* api-change:``datazone``: Removing restriction of environment profile identifier as required field, S3 feature release +* api-change:``dynamodbstreams``: Added support for optional shard filter parameter in DescribeStream api that allows customers to fetch child shards of a read_only parent shard. +* api-change:``ec2``: This release adds support for volume initialization status, which enables you to monitor when the initialization process for an EBS volume is completed. This release also adds IPv6 support to EC2 Instance Connect Endpoints, allowing you to connect to your EC2 Instance via a private IPv6 address. +* api-change:``ecs``: Amazon ECS supports native blue/green deployments, allowing you to validate new service revisions before directing production traffic to them. +* api-change:``events``: Add customer-facing logging for the EventBridge Event Bus, enabling customers to better observe their events and extract insights about their EventBridge usage. +* api-change:``opensearch``: AWS Opensearch adds support for enabling s3 vector engine options. After enabling this option, customers will be able to create indices with s3 vector engine. +* api-change:``pricing``: This release adds support for new filter types in GetProducts API, including EQUALS, CONTAINS, ANY_OF, and NONE_OF. +* api-change:``quicksight``: Introduced custom instructions for topics. +* api-change:``repostspace``: This release introduces Channels functionality with CreateChannel, GetChannel, ListChannels, and UpdateChannel operations. Channels provide dedicated collaboration spaces where teams can organize discussions and knowledge by projects, business units, or areas of responsibility. +* api-change:``s3``: Amazon S3 Metadata live inventory tables provide a queryable inventory of all the objects in your general purpose bucket so that you can determine the latest state of your data. To help minimize your storage costs, use journal table record expiration to set a retention period for your records. +* api-change:``s3tables``: Adds table bucket type to ListTableBucket and GetTableBucket API operations +* api-change:``s3vectors``: Amazon S3 Vectors provides cost-effective, elastic, and durable vector storage for queries based on semantic meaning and similarity. +* api-change:``sagemaker``: This release adds support for a new Restricted instance group type to enable a specialized environment for running Nova customization jobs on SageMaker HyperPod clusters. This release also adds support for SageMaker pipeline versioning. + + +1.41.4 +====== + +* api-change:``ec2``: Adds support to Capacity Blocks for ML for purchasing EC2 P6e-GB200 UltraServers. Customers can now purchase u-p6e-gb200x72 and u-p6e-gb200x36 UltraServers. Adds new DescribeCapacityBlocks andDescribeCapacityBlockStatus APIs. Adds support for CapacityBlockId to DescribeInstanceTopology. +* api-change:``freetier``: This release introduces four new APIs: GetAccountPlanState and UpgradeAccountPlan for AWS account plan management; ListAccountActivities and GetAccountActivity that provide activity tracking capabilities. +* api-change:``opsworkscm``: Removing content that refers to an S3 bucket that is no longer in use. + + +1.41.3 +====== + +* api-change:``customer-profiles``: This release introduces capability of create Segments via importing a CSV file directly. This consumes the CSV file and creates/updates corresponding profiles for the particular domain. +* api-change:``deadline``: Added fields for output manifest reporting and task chunking parameters +* api-change:``ec2``: This release adds GroupOwnerId as a response member to the DescribeSecurityGroupVpcAssociations API and also adds waiters for SecurityGroupVpcAssociations (SecurityGroupVpcAssociationAssociated and SecurityGroupVpcAssociationDisassociated). +* api-change:``mediapackagev2``: This release adds support for Microsoft Smooth Streaming (MSS) and allows users to exclude DRM segment Metadata in MediaPackage v2 Origin Endpoints +* api-change:``route53``: Amazon Route 53 now supports the iso-e regions for private DNS Amazon VPCs and cloudwatch healthchecks. +* api-change:``sagemaker``: Changes include new StartSession API for SageMaker Studio spaces and CreateHubContentPresignedUrls API for SageMaker JumpStart. + + +1.41.2 +====== + +* api-change:``connectcases``: This release adds DeleteCase and DeleteRelatedItem APIs, which enable deleting cases and comments, undoing contact association, and removing service level agreements (SLAs) from cases. Contact center admins can use these APIs to delete cases when requested by customers and correct agent errors. +* api-change:``ec2``: AWS Site-to-Site VPN now supports IPv6 addresses on outer tunnel IPs, making it easier for customers to build or transition to IPv6-only networks. +* api-change:``s3``: Added support for directory bucket creation with tags and bucket ARN retrieval in CreateBucket, ListDirectoryBuckets, and HeadBucket operations +* api-change:``s3control``: Added TagResource, UntagResource, and ListTagsForResource support for directory bucket + + +1.41.1 +====== + +* api-change:``cleanroomsml``: This release introduces support for incremental training and distributed training for custom models in AWS Clean Rooms ML. +* api-change:``datazone``: Add support for the new optional domain-unit-id parameter in the UpdateProject API. +* api-change:``ec2``: Add Context to GetInstanceTypesFromInstanceRequirements API +* api-change:``odb``: This release adds API operations for Oracle Database@AWS. You can use the APIs to create Exadata infrastructure, ODB networks, and Exadata and Autonomous VM clusters inside AWS data centers. The infrastructure is managed by OCI. You can integrate these resources with AWS services. +* api-change:``qbusiness``: New ChatResponseConfiguration to Customize Q Business chat responses for specific use cases and communication needs. Updated Boosting capability allowing admins to provide preference on date attributes for recency and/or provide a preferred data source. +* api-change:``rds``: Amazon RDS Custom for Oracle now supports multi-AZ database instances. +* api-change:``sagemaker``: Updated field validation requirements for InstanceGroups. + + +1.41.0 +====== + +* api-change:``arc-zonal-shift``: Added support for on-demand practice runs and balanced capacity checks in ARC autoshift practice. +* api-change:``b2bi``: Updated APIs to support inbound EDI split capabilities and additional Partnership-level configurations of generated EDI files' contents and format. +* api-change:``bedrock``: Add support for API Keys, Re-Ranker, implicit filter for RAG / KB evaluation for Bedrock APIs. +* api-change:``bedrock-runtime``: Add API Key and document citations support for Bedrock Runtime APIs +* api-change:``cloudformation``: Added support for UNKNOWN drift status. +* api-change:``config``: Updated ResourceType enum with new resource types onboarded by AWS Config as of June 2025 +* api-change:``connect``: This release introduces ChatMetrics to the model, providing comprehensive analytics insights for Amazon Connect chat conversations. Users can access these detailed metrics through the AWS Connect API by using the DescribeContact operation with their specific instance and contact IDs +* api-change:``dataexchange``: This release updates resource Id with alphanumeric constraint, including Asset id, Revision id, Data Set id, Job id, and Event Action id. +* api-change:``dynamodb``: This change adds support for witnesses in global tables. It also adds a new table status, REPLICATION_NOT_AUTHORIZED. This status will indicate scenarios where global replicas table can't be utilized for data plane operations. +* api-change:``events``: Added support for EventBridge Dualstack endpoints in AWS GovCloud (US) regions (us-gov-east-1 and us-gov-west-1). The dualstack endpoints are identical for both FIPS and non-FIPS configurations, following the format: events.{region}.api.aws +* api-change:``glue``: releasing source processing properties to support source properties for ODB integrations +* api-change:``iam``: Updated IAM ServiceSpecificCredential support to include expiration, API Key output format instead of username and password for services that will support API keys, and the ability to list credentials for all users in the account for a given service configuration. +* api-change:``logs``: Increase minimum length of queryId parameter to 1 character. +* api-change:``medical-imaging``: Added new fields to support the concept of primary image sets within the storage hierarchy. +* api-change:``networkflowmonitor``: Add ConflictExceptions to UpdateScope and DeleteScope operations for scopes being mutated. +* api-change:``outposts``: Make ContactName and ContactPhoneNumber required fields when creating and updating Outpost Site Addresses. +* api-change:``pcs``: Fixed the validation pattern for an instance profile Amazon Resource Name (ARN) in AWS PCS. +* api-change:``quicksight``: Introduced custom permission capabilities for reporting content. Added menu option in exploration to preserve configuration data when textbox menu option is used. Added support for Athena trusted identity propagation. +* api-change:``ssm``: Introduces AccessType, a new filter value for the DescribeSessions API. +* api-change:``transfer``: Added support for dual-stack (IPv4 and IPv6) endpoints for SFTP public endpoints and VPC-internal endpoints (SFTP, FTPS, FTP, and AS2), enabling customers to configure new servers with IPv4 or dual-stack mode, convert existing servers to dual-stack, and use IPv6 with service APIs. +* feature:``bedrock``: Add support for retrieving a Bearer token from environment variables to enable bearer authentication with Bedrock services. + + +1.40.45 +======= + +* api-change:``config``: Added important considerations to the PutConformancePack and PutOrganizationConformancPack APIs. +* api-change:``connect``: This release adds the following value to an InitiateAs enum: COMPLETED +* api-change:``glue``: AWS Glue now supports schema, partition and sort management of Apache Iceberg tables using Glue SDK +* api-change:``guardduty``: Update JSON target for Kubernetes workload resource type. +* api-change:``qconnect``: Adding UnauthorizedException to public SDK +* api-change:``rds``: StartDBCluster and StopDBCluster can now throw InvalidDBShardGroupStateFault. +* api-change:``sesv2``: Added support for new SES regions + + +1.40.44 +======= + +* api-change:``deadline``: Added fields to track cumulative task retry attempts for steps and jobs +* api-change:``ec2``: This release adds support for OdbNetworkArn as a target in VPC Route Tables +* api-change:``iot-managed-integrations``: Adding managed integrations APIs for IoT Device Management to onboard and control devices across different manufacturers, connectivity protocols and third party vendor clouds. APIs include managed thing operations, provisioning profile management, and cloud connector operations. +* api-change:``keyspaces``: This release provides change data capture (CDC) streams support through updates to the Amazon Keyspaces API. +* api-change:``keyspacesstreams``: This release adds change data capture (CDC) streams support through the new Amazon Keyspaces Streams API. +* api-change:``kms``: This release updates AWS CLI examples for KMS APIs. +* api-change:``qbusiness``: Added support for App level authentication for QBusiness DataAccessor using AWS IAM Identity center Trusted Token issuer +* api-change:``workspaces``: Updated modifyStreamingProperties to support PrivateLink VPC endpoints for directories + + +1.40.43 +======= + +* api-change:``ecs``: Updates for change to Amazon ECS default log driver mode from blocking to non-blocking +* api-change:``fsx``: Add support for the ability to create Amazon S3 Access Points for Amazon FSx for OpenZFS file systems. +* api-change:``s3``: Adds support for additional server-side encryption mode and storage class values for accessing Amazon FSx data from Amazon S3 using S3 Access Points +* api-change:``s3control``: Add support for the ability to use Amazon S3 Access Points with Amazon FSx for OpenZFS file systems. +* api-change:``storagegateway``: This release adds IPv6 support to the Storage Gateway APIs. APIs that previously only accept or return IPv4 address will now accept or return both IPv4 and IPv6 addresses. +* api-change:``textract``: Add RotationAngle field to Geometry of WORD blocks for Textract AnalyzeDocument API +* api-change:``workspaces-thin-client``: Remove Tags field from Get API responses + + +1.40.42 +======= + +* api-change:``aiops``: Adds support for cross account investigations for CloudWatch investigations AI Operations (AIOps). +* api-change:``batch``: Add userdataType to LaunchTemplateSpecification and LaunchTemplateSpecificationOverride. +* api-change:``bedrock``: We are making ListFoundationModelAgreementOffers, DeleteFoundationModelAgreement, CreateFoundationModelAgreement, GetFoundationModelAvailability, PutUseCaseForModelAccess and GetUseCaseForModelAccess APIs public, previously they were console. +* api-change:``ec2``: This release allows you to create and register AMIs while maintaining their underlying EBS snapshots within Local Zones. +* api-change:``elbv2``: Add Paginator for DescribeAccountLimits, and fix Paginators for DescribeTrustStoreAssociations, DescribeTrustStoreRevocations, and DescribeTrustStores +* api-change:``gamelift``: Add support for UDP ping beacons to ListLocations API, including new PingBeacon and UDPEndpoint data types within its Locations return value. Use UDP ping beacon endpoints to help measure real-time network latency for multiplayer games. +* api-change:``license-manager``: AWS License Manager now supports license type conversions for AWS Marketplace products. Customers can provide Marketplace codes in the source license context or destination license context in the CreateLicenseConversionTaskForResource requests. +* api-change:``rds``: Adding support for RDS on Dedicated Local Zones, including local backup target, snapshot availability zone and snapshot target +* api-change:``route53resolver``: Add support for iterative DNS queries through the new INBOUND_DELEGATION endpoint. Add delegation support through the Outbound Endpoints with DELEGATE rules. +* api-change:``transcribe``: This Feature Adds Support for the "et-EE" Locale for Batch Operations + + +1.40.41 +======= + +* api-change:``glue``: AWS Glue now supports sort and z-order strategy for managed automated compaction for Iceberg tables in addition to binpack. +* api-change:``s3tables``: S3 Tables now supports sort and z-order compaction strategies for Iceberg tables in addition to binpack. +* api-change:``workspaces-instances``: Added support for Amazon WorkSpaces Instances API + + +1.40.40 +======= + +* api-change:``bedrock``: Add support for tiers in Content Filters and Denied Topics for Amazon Bedrock Guardrails. +* api-change:``ecs``: Add ECS support for Windows Server 2025 +* api-change:``geo-places``: Geocode, ReverseGeocode, and GetPlace APIs added Intersections and SecondaryAddresses. To use, add to the AdditionalFeatures list in your request. This provides info about nearby intersections and secondary addresses that are associated with a main address. Also added MainAddress and ParsedQuery. +* api-change:``glue``: AWS Glue Data Quality now provides aggregated metrics in evaluation results when publishAggregatedMetrics with row-level results are enabled. These metrics include summary statistics showing total counts of processed, passed, and failed rows and rules in a single view. +* api-change:``mediaconvert``: This release adds a new SPECIFIED_OPTIMAL option for handling DDS when using DVB-Sub with high resolution video. + + +1.40.39 +======= + +* api-change:``bedrock``: This release of the SDK has the API and documentation for the createcustommodel API. This feature lets you copy a trained model into Amazon Bedrock for inference. +* api-change:``emr-serverless``: This release adds the capability to enable IAM IdentityCenter Trusted Identity Propagation for users running Interactive Sessions on EMR Serverless Applications. +* api-change:``lambda``: Support Schema Registry feature for Kafka Event Source Mapping. Customers can now configure a Schema Registry to enable schema validation and filtering for Avro, Protobuf, and JSON-formatted events in Lambda for Kafka Event Source. +* api-change:``payment-cryptography``: Additional support for managing HMAC keys that adheres to changes documented in X9.143-2021 and provides better interoperability for key import/export +* api-change:``payment-cryptography-data``: Additional support for managing HMAC keys that adheres to changes documented in X9.143-2021 and provides better interoperability for key import/export +* api-change:``sagemaker``: This release introduces alternative support for utilizing CFN templates from S3 for SageMaker Projects. + + +1.40.38 +======= + +* api-change:``aiops``: This is the initial SDK release for Amazon AI Operations (AIOps). AIOps is a generative AI-powered assistant that helps you respond to incidents in your system by scanning your system's telemetry and quickly surface suggestions that might be related to your issue. +* api-change:``autoscaling``: Add IncludeInstances parameter to DescribeAutoScalingGroups API +* api-change:``imagebuilder``: Added paginators for ``imagebuilder``. +* api-change:``logs``: Added CloudWatch Logs Transformer support for converting CloudTrail, VPC Flow, EKS Audit, AWS WAF and Route53 Resolver logs to OCSF v1.1 format. +* api-change:``s3``: Added support for renaming objects within the same bucket using the new RenameObject API. +* api-change:``sagemaker``: Add support for p6-b200 instance type for SageMaker Hyperpod + + +1.40.37 +======= + +* api-change:``accessanalyzer``: We are launching a new analyzer type, internal access analyzer. The new analyzer will generate internal access findings, which help customers understand who within their AWS organization or AWS Account has access to their critical AWS resources. +* api-change:``acm``: Adds support for Exportable Public Certificates +* api-change:``backup``: AWS Backup is adding support for integration of its logically air-gapped vaults with the AWS Organizations Multi-party approval capability. +* api-change:``bedrock``: This release of the SDK has the API and documentation for the createcustommodel API. This feature lets you copy a trained model into Amazon Bedrock for inference. +* api-change:``dms``: Add "Virtual" field to Data Provider as well as "S3Path" and "S3AccessRoleArn" fields to DataProvider settings +* api-change:``guardduty``: Adding support for extended threat detection for EKS Audit Logs and EKS Runtime Monitoring. +* api-change:``inspector2``: Add Code Repository Scanning as part of AWS InspectorV2 +* api-change:``mpa``: This release enables customers to create Multi-party approval teams and approval requests to protect supported operations. +* api-change:``network-firewall``: Release of Active Threat Defense in Network Firewall +* api-change:``organizations``: Add support for policy operations on the SECURITYHUB_POLICY policy type. +* api-change:``securityhub``: Adds operations, structures, and exceptions required for public preview release of Security Hub V2. +* api-change:``sts``: The AWS Security Token Service APIs AssumeRoleWithSAML and AssumeRoleWithWebIdentity can now be invoked without pre-configured AWS credentials in the SDK configuration. +* api-change:``wafv2``: AWS WAF can now suggest protection packs for you based on the application information you provide when you create a webACL. + + +1.40.36 +======= + +* api-change:``bedrock``: This release of the SDK has the API and documentation for the createcustommodel API. This feature lets you copy a Amazon SageMaker trained Amazon Nova model into Amazon Bedrock for inference. +* api-change:``ecr``: The `DescribeImageScanning` API now includes `lastInUseAt` and `InUseCount` fields that can be used to prioritize vulnerability remediation for images that are actively being used. +* api-change:``network-firewall``: You can now create firewalls using a Transit Gateway instead of a VPC, resulting in a TGW attachment. +* api-change:``sagemaker``: This release 1) adds a new S3DataType Converse for SageMaker training 2)adds C8g R7gd M8g C6in P6 P6e instance type for SageMaker endpoint 3) adds m7i, r7i, c7i instance type for SageMaker Training and Processing. + + +1.40.35 +======= + +* api-change:``apigateway``: Documentation updates for Amazon API Gateway +* api-change:``apigatewayv2``: Documentation updates for Amazon API Gateway +* api-change:``connectcampaignsv2``: Added PutInstanceCommunicationLimits and GetInstanceCommunicationLimits APIs +* api-change:``ecs``: This Amazon ECS release supports updating the capacityProviderStrategy parameter in update-service. +* api-change:``emr-serverless``: This release adds support for retrieval of the optional executionIamPolicy field in the GetJobRun API response. +* api-change:``iotfleetwise``: Add new status READY_FOR_CHECKIN used for vehicle synchronisation +* api-change:``kms``: AWS KMS announces the support of ML-DSA key pairs that creates post-quantum safe digital signatures. +* api-change:``pcs``: Fixed regex patterns for ARN fields. + + +1.40.34 +======= + +* api-change:``controlcatalog``: Introduced ListControlMappings API that retrieves control mappings. Added control aliases and governed resources fields in GetControl and ListControls APIs. New filtering capability in ListControls API, with implementation identifiers and implementation types. +* api-change:``eks``: Release for EKS Pod Identity Cross Account feature and disableSessionTags flag. +* api-change:``lexv2-models``: Add support for the Assisted NLU feature to improve bot performance +* api-change:``networkmanager``: Add support for public DNS hostname resolution to private IP addresses across Cloud WAN-managed VPCs. Add support for security group referencing across Cloud WAN-managed VPCs. +* api-change:``rds``: Updates Amazon RDS documentation for Amazon RDS for Db2 cross-Region replicas in standby mode. +* api-change:``wafv2``: WAF now provides two DDoS protection options: resource-level monitoring for Application Load Balancers and the AWSManagedRulesAntiDDoSRuleSet managed rule group for CloudFront distributions. + + +1.40.33 +======= + +* api-change:``gameliftstreams``: Documentation updates for Amazon GameLift Streams to address formatting errors, correct resource ID examples, and update links to other guides + + +1.40.32 +======= + +* api-change:``appsync``: Deprecate `atRestEncryptionEnabled` and `transitEncryptionEnabled` attributes in `CreateApiCache` action. Encryption is always enabled for new caches. +* api-change:``ce``: Support dual-stack endpoints for ce api +* api-change:``customer-profiles``: This release introduces capability of Profile Explorer, using correct ingestion timestamp & using historical data for computing calculated attributes, and new standard objects for T&H as part of Amazon Connect Customer Profiles service. +* api-change:``ec2``: Release to support Elastic VMware Service (Amazon EVS) Subnet and Amazon EVS Network Interface Types. +* api-change:``efs``: Added support for Internet Protocol Version 6 (IPv6) on EFS Service APIs and mount targets. +* api-change:``marketplace-catalog``: The ListEntities API now supports the EntityID, LastModifiedDate, ProductTitle, and Visibility filters for machine learning products. You can also sort using all of those filters. +* api-change:``workspaces-thin-client``: Add ConflictException to UpdateEnvironment API +* enhancement:``cloudformation``: High-level Cloudformation commands such as ``deploy`` and ``package`` will now fallback to SHA256 for checksumming if MD5 isn't present on the host + + +1.40.31 +======= + +* api-change:``bedrock-agent-runtime``: This release introduces the `PromptCreationConfigurations` input parameter, which includes fields to control prompt population for `InvokeAgent` or `InvokeInlineAgent` requests. +* api-change:``kms``: Remove unpopulated KeyMaterialId from Encrypt Response +* api-change:``rds``: Include Global Cluster Identifier in DBCluster if the DBCluster is a Global Cluster Member. +* api-change:``rekognition``: Adds support for defining an ordered preference list of different Rekognition Face Liveness challenge types when calling CreateFaceLivenessSession. +* api-change:``route53``: Amazon Route 53 now supports the Asia Pacific (Taipei) Region (ap-east-2) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. +* api-change:``s3tables``: S3 Tables now supports getting details about a table via its table ARN. + + +1.40.30 +======= + +* api-change:``bcm-pricing-calculator``: Updating the minimum for List APIs to be 1 (instead of 0) +* api-change:``cloudformation``: Add new warning type 'EXCLUDED_PROPERTIES' +* api-change:``kms``: AWS KMS announces the support for on-demand rotation of symmetric-encryption KMS keys with imported key material (EXTERNAL origin). +* api-change:``wafv2``: AWS WAF adds support for ASN-based traffic filtering and support for ASN-based rate limiting. + + +1.40.29 +======= + +* api-change:``amplify``: Update documentation for cacheConfig in CreateApp API +* api-change:``evs``: Amazon Elastic VMware Service (Amazon EVS) allows you to run VMware Cloud Foundation (VCF) directly within your Amazon VPC including simplified self-managed migration experience with guided workflow in AWS console or via AWS CLI, get full access to their VCF deployment and VCF license portability. +* api-change:``invoicing``: Added new Invoicing ListInvoiceSummaries API Operation +* api-change:``mediaconnect``: This release updates the DescribeFlow API to show peer IP addresses. You can now identify the peer IP addresses of devices connected to your sources and outputs. This helps you to verify and troubleshoot your flow's active connections. +* api-change:``mediaconvert``: This release includes support for embedding and signing C2PA content credentials in MP4 outputs. +* api-change:``network-firewall``: You can now monitor flow and alert log metrics from the Network Firewall console. +* api-change:``sagemaker``: Added support for p6-b200 instance type in SageMaker Training Jobs and Training Plans. +* api-change:``transcribe``: AWS Healthscribe now supports new templates for the clinical note summary: BIRP, SIRP, DAP, BEHAVIORAL_SOAP, and PHYSICAL_SOAP + + +1.40.28 +======= + +* api-change:``apigateway``: Adds support to set the routing mode for a custom domain name. +* api-change:``apigatewayv2``: Adds support to create routing rules and set the routing mode for a custom domain name. +* api-change:``emr-serverless``: AWS EMR Serverless: Adds a new option in the CancelJobRun API in EMR 7.9.0+, to cancel a job with grace period. This feature is enabled by default with a 120-second grace period for streaming jobs and is not enabled by default for batch jobs. + + +1.40.27 +======= + +* api-change:``athena``: Add support for the managed query result in the workgroup APIs. The managed query result configuration enables users to store query results to Athena owned storage. +* api-change:``backup``: You can now subscribe to Amazon SNS notifications and Amazon EventBridge events for backup indexing. You can now receive notifications when a backup index is created, deleted, or fails to create, enhancing your ability to monitor and track your backup operations. +* api-change:``bedrock-agent``: This release adds the Agent Lifecycle Paused State feature to Amazon Bedrock agents. By using an agent's alias, you can temporarily suspend agent operations during maintenance, updates, or other situations. +* api-change:``compute-optimizer``: This release enables AWS Compute Optimizer to analyze Amazon Aurora database clusters and generate Aurora I/O-Optimized recommendations. +* api-change:``cost-optimization-hub``: Support recommendations for Aurora instance and Aurora cluster storage. +* api-change:``ecs``: Updates Amazon ECS documentation to include note for upcoming default log driver mode change. +* api-change:``eks``: Add support for filtering ListInsights API calls on MISCONFIGURATION insight category +* api-change:``entityresolution``: Add support for generating match IDs in near real-time. +* api-change:``pcs``: Introduces SUSPENDING and SUSPENDED states for clusters, compute node groups, and queues. +* api-change:``synthetics``: Support for Java runtime handler pattern. + + +1.40.26 +======= + +* api-change:``emr-serverless``: This release adds the capability for users to specify an optional Execution IAM policy in the StartJobRun action. The resulting permissions assumed by the job run is the intersection of the permissions in the Execution Role and the specified Execution IAM Policy. +* api-change:``sagemaker``: Release new parameter CapacityReservationConfig in ProductionVariant + + +1.40.25 +======= + +* api-change:``amplify``: Add support for customizable build instance sizes. CreateApp and UpdateApp operations now accept a new JobConfig parameter composed of BuildComputeType. +* api-change:``autoscaling``: Add support for "apple" CpuManufacturer in ABIS +* api-change:``bcm-pricing-calculator``: Add AFTER_DISCOUNTS_AND_COMMITMENTS to Workload Estimate Rate Type. Set ListWorkLoadEstimateUsage maxResults range to minimum of 0 and maximum of 300. +* api-change:``cloudtrail``: CloudTrail Feature Release: Support for Enriched Events with Configurable Context for Event Data Store +* api-change:``connect``: Amazon Connect Service Feature: Email Recipient Limit Increase +* api-change:``dataexchange``: This release adds Tag support for Event Action resource, through which customers can create event actions with Tags and retrieve event actions with Tags. +* api-change:``datasync``: AgentArns field is made optional for Object Storage and Azure Blob location create requests. Location credentials are now managed via Secrets Manager, and may be encrypted with service managed or customer managed keys. Authentication is now optional for Azure Blob locations. +* api-change:``fsx``: FSx API changes to support the public launch of new Intelligent Tiering storage class on Amazon FSx for Lustre +* api-change:``ivs-realtime``: IVS Real-Time now offers customers the participant replication that allow customers to copy a participant from one stage to another. +* api-change:``mwaa``: Amazon MWAA now lets you choose a worker replacement strategy when updating an environment. This release adds two worker replacement strategies: FORCED (default), which stops workers immediately, and GRACEFUL, which allows workers to finish current tasks before shutting down. +* api-change:``s3``: Adding checksum support for S3 PutBucketOwnershipControls API. +* api-change:``sagemaker``: Add maintenance status field to DescribeMlflowTrackingServer API response + + +1.40.24 +======= + +* api-change:``cost-optimization-hub``: This release allows customers to modify their preferred commitment term and payment options. +* api-change:``ec2``: Enable the option to automatically delete underlying Amazon EBS snapshots when deregistering Amazon Machine Images (AMIs) +* api-change:``events``: Allow for more than 2 characters for location codes in EventBridge ARNs +* api-change:``network-firewall``: You can now use VPC endpoint associations to create multiple firewall endpoints for a single firewall. +* api-change:``synthetics``: Add support to change ephemeral storage. Add a new field "TestResult" under CanaryRunStatus. + + +1.40.23 +======= + +* api-change:``ce``: This release introduces Cost Comparison feature (GetCostAndUsageComparisons, GetCostComparisonDrivers) allowing you find cost variations across multiple dimensions and identify key drivers of spending changes. +* api-change:``deadline``: AWS Deadline Cloud service-managed fleets now support storage profiles. With storage profiles, you can map file paths between a workstation and the worker hosts running the job. +* api-change:``ec2``: This release adds three features - option to store AWS Site-to-Site VPN pre-shared keys in AWS Secrets Manager, GetActiveVpnTunnelStatus API to check the in-use VPN algorithms, and SampleType option in GetVpnConnectionDeviceSampleConfiguration API to get recommended sample configs for VPN devices. + + +1.40.22 +======= + +* api-change:``ec2``: This release adds support for the C7i-flex, M7i-flex, I7i, I7ie, I8g, P6-b200, Trn2, C8gd, M8gd and R8gd instances +* api-change:``security-ir``: Update PrincipalId pattern documentation to reflect what user should receive back from the API call + + +1.40.21 +======= + +* api-change:``amp``: Add QueryLoggingConfiguration APIs for Amazon Managed Prometheus +* api-change:``auditmanager``: With this release, the AssessmentControl description field has been deprecated, as of May 19, 2025. Additionally, the UpdateAssessment API can now return a ServiceQuotaExceededException when applicable service quotas are exceeded. +* api-change:``dsql``: Features: support for customer managed encryption keys +* api-change:``glue``: This release supports additional ConversionSpec parameter as part of IntegrationPartition Structure in CreateIntegrationTableProperty API. This parameter is referred to apply appropriate column transformation for columns that are used for timestamp based partitioning + + +1.40.20 +======= + +* api-change:``application-autoscaling``: Doc only update that addresses a customer reported issue. +* api-change:``bedrock-agent-runtime``: Amazon Bedrock introduces asynchronous flows (in preview), which let you run flows for longer durations and yield control so that your application can perform other tasks and you don't have to actively monitor the flow's progress. +* api-change:``cloudwatch``: Adds support for setting up Contributor Insight rules on logs transformed via Logs Transformation feature. +* api-change:``ec2``: Release of Dualstack and Ipv6-only EC2 Public DNS hostnames +* api-change:``partnercentral-selling``: Modified validation to allow expectedCustomerSpend array with zero elements in Partner Opportunity operations. + + +1.40.19 +======= + +* api-change:``datasync``: Remove Discovery APIs from the DataSync service +* api-change:``ec2``: This release expands the ModifyInstanceMaintenanceOptions API to enable or disable instance migration during customer-initiated reboots for EC2 Scheduled Reboot Events. +* api-change:``glue``: Enhanced AWS Glue ListConnectionTypes API Model with additional metadata fields. +* api-change:``inspector2``: This release adds GetClustersForImage API and filter updates as part of the mapping of container images to running containers feature. +* api-change:``oam``: Add IncludeTags field to GetLink, GetSink and UpdateLink API +* api-change:``rds``: This release introduces the new DescribeDBMajorEngineVersions API for describing the properties of specific major versions of database engines. + + +1.40.18 +======= + +* api-change:``dsql``: CreateMultiRegionCluster and DeleteMultiRegionCluster APIs removed +* api-change:``ec2``: This release includes new APIs for System Integrity Protection (SIP) configuration and automated root volume ownership delegation for EC2 Mac instances. +* api-change:``mediapackagev2``: This release adds support for DVB-DASH, EBU-TT-D subtitle format, and non-compacted manifests for DASH in MediaPackage v2 Origin Endpoints. + + +1.40.17 +======= + +* api-change:``bedrock-data-automation``: Add support for VIDEO modality to BlueprintType enum. +* api-change:``bedrock-data-automation-runtime``: Add AssetProcessingConfiguration for video segment to InputConfiguration +* api-change:``codepipeline``: CodePipeline now supports new API ListDeployActionExecutionTargets that lists the deployment target details for deploy action executions. +* api-change:``ecs``: This is an Amazon ECs documentation only release to support the change of the container exit "reason" field from 255 characters to 1024 characters. +* api-change:``emr``: Added APIs for managing Application UIs: Access Persistent (serverless) UIs via CreatePersistentAppUI DescribePersistentAppUI & GetPersistentAppUIPresignedURL, and Cluster-based UIs through GetOnClusterAppUIPresignedURL. Supports Yarn, Spark History, and TEZ interfaces. +* api-change:``glue``: Changes include (1) Excel as S3 Source type and XML and Tableau's Hyper as S3 Sink types, (2) targeted number of partitions parameter in S3 sinks and (3) new compression types in CSV/JSON and Parquet S3 sinks. +* api-change:``neptune``: This release adds Global Cluster Switchover capability which enables you to change your global cluster's primary AWS Region, the region that serves writes, while preserving the replication between all regions in the global cluster. +* api-change:``service-quotas``: This release introduces CreateSupportCase operation to SDK. + + +1.40.16 +======= + +* api-change:``bedrock-agent``: Amazon Bedrock Flows introduces DoWhile loops nodes, parallel node executions, and enhancements to knowledge base nodes. +* api-change:``codebuild``: AWS CodeBuild now supports Docker Server capability +* api-change:``controltower``: Updated the descriptions for the AWS Control Tower Baseline APIs to make them more intuitive. +* api-change:``dms``: Introduces Data Resync feature to describe-table-statistics and IAM database authentication for MariaDB, MySQL, and PostgreSQL. +* api-change:``pcs``: This release adds support for Slurm accounting. For more information, see the Slurm accounting topic in the AWS PCS User Guide. Slurm accounting is supported for Slurm 24.11 and later. This release also adds 24.11 as a valid value for the version parameter of the Scheduler data type. +* api-change:``workspaces``: Added the new AlwaysOn running mode for WorkSpaces Pools. Customers can now choose between AlwaysOn (for instant access, with hourly usage billing regardless of connection status), or AutoStop (to optimize cost, with a brief startup delay) for their pools. + + +1.40.15 +======= + +* api-change:``cognito-idp``: Add exceptions to WebAuthn operations. +* api-change:``firehose``: This release adds catalogARN support for s3 tables multi-catalog catalogARNs. +* api-change:``logs``: This release adds a new API "ListLogGroups" and an improvement in API "DescribeLogGroups" +* api-change:``mediaconvert``: This update enables cropping for video overlays and adds a new STL to Teletext upconversion toggle to preserve styling. + + +1.40.14 +======= + +* api-change:``bedrock``: Enable cross-Region inference for Amazon Bedrock Guardrails by using the crossRegionConfig parameter when calling the CreateGuardrail or UpdateGuardrail operation. +* api-change:``bedrock-agent-runtime``: Changes for enhanced metadata in trace +* api-change:``controltower``: AWS Control Tower now reports the inheritance drift status for EnabledBaselines through the GetEnabledBaseline and ListEnabledBaselines APIs. You can now filter EnabledBaselines by their enablement and drift status using the ListEnabledBaselines API to view accounts and OUs that require attention. +* api-change:``dsql``: CreateMultiRegionClusters and DeleteMultiRegionClusters APIs marked as deprecated. Introduced new multi-Region clusters creation experience through multiRegionProperties parameter in CreateCluster API. +* api-change:``ecs``: This release extends functionality for Amazon EBS volumes attached to Amazon ECS tasks by adding support for the new EBS volumeInitializationRate parameter in ECS RunTask/StartTask/CreateService/UpdateService APIs. +* api-change:``license-manager``: Add Tagging feature to resources in the Managed Entitlements service. License and Grant resources can now be tagged. + + +1.40.13 +======= + +* api-change:``deadline``: AWS Deadline Cloud service-managed fleets now support configuration scripts. Configuration scripts make it easy to install additional software, like plugins and packages, onto a worker. +* api-change:``ec2``: EC2 - Adding support for AvailabilityZoneId +* api-change:``iam``: Updating the endpoint list for the Identity and access management (IAM) service +* api-change:``medialive``: Add support to the AV1 rate control mode +* api-change:``mediatailor``: Documenting that EnabledLoggingStrategies is always present in responses of PlaybackConfiguration read operations. +* api-change:``s3control``: Updates to support S3 Express zonal endpoints for directory buckets in AWS CLI +* api-change:``sagemaker``: No API changes from previous release. This release migrated the model to Smithy keeping all features unchanged. +* api-change:``supplychain``: Launch new AWS Supply Chain public APIs for DataIntegrationEvent, DataIntegrationFlowExecution and DatasetNamespace. Also add more capabilities to existing public APIs to support direct dataset event publish, data deduplication in DataIntegrationFlow, partition specification of custom datasets. + + +1.40.12 +======= + +* api-change:``athena``: Minor API documentation updates +* api-change:``logs``: We are pleased to announce limit increases to our grok processor logs transformation feature. Now you can define 20 Grok patterns in their configurations, with an expanded total pattern matching limit of 512 characters. +* api-change:``synthetics``: Add support to retry a canary automatically after schedule run failures. Users can enable this feature by configuring the RetryConfig field when calling the CreateCanary or UpdateCanary API. Also includes changes in GetCanary and GetCanaryRuns to support retrieving retry configurations. +* api-change:``workspaces``: Remove parameter EnableWorkDocs from WorkSpacesServiceModel due to end of support of Amazon WorkDocs service. + + +1.40.11 +======= + +* api-change:``cloudfront``: Doc-only update for CloudFront. These changes include customer-reported issues. +* api-change:``codepipeline``: Add support for Secrets Manager and Plaintext environment variable types in Commands action +* api-change:``ec2``: Launching the feature to support ENA queues offering flexibility to support multiple queues per Enhanced Network Interface (ENI) +* api-change:``glue``: This new release supports customizable RefreshInterval for all Saas ZETL integrations from 15 minutes to 6 days. +* api-change:``guardduty``: Updated description of a data structure. +* api-change:``sso-admin``: Update PutPermissionBoundaryToPermissionSet API's managedPolicyArn pattern to allow valid ARN only. Update ApplicationName to allow white spaces. + + +1.40.10 +======= + +* api-change:``ec2``: This release adds API support for Path Component Exclusion (Filter Out ARN) for Reachability Analyzer +* api-change:``imagebuilder``: Updated the CreateImageRecipeRequest ParentImage description to include all valid values as updated with the SSM Parameters project. +* api-change:``medialive``: Enables Updating Anywhere Settings on a MediaLive Anywhere Channel. +* api-change:``sagemaker``: SageMaker AI Studio users can now migrate to SageMaker Unified Studio, which offers a unified web-based development experience that integrates AWS data, analytics, artificial intelligence (AI), and machine learning (ML) services, as well as additional tools and resource +* api-change:``synthetics``: Add support to test a canary update by invoking a dry run of a canary. This behavior can be used via the new StartCanaryDryRun API along with new fields in UpdateCanary to apply dry run changes. Also includes changes in GetCanary and GetCanaryRuns to support retrieving dry run configurations. + + +1.40.9 +====== + +* api-change:``ec2``: This release adds support for Amazon EBS Provisioned Rate for Volume Initialization, which lets you specify a volume initialization rate to ensure that your EBS volumes are initialized in a predictable amount of time. +* api-change:``servicecatalog``: ServiceCatalog's APIs (DeleteServiceAction, DisassociateServiceActionFromProvisioningArtifact, AssociateServiceActionWithProvisioningArtifact) now throw InvalidParametersException when IdempotencyToken is invalid. +* api-change:``timestream-query``: Add dualstack endpoints support and correct us-gov-west-1 FIPS endpoint. +* api-change:``timestream-write``: Add dualstack endpoints support. + + +1.40.8 +====== + +* api-change:``datazone``: This release adds a new authorization policy to control the usage of custom AssetType when creating an Asset. Customer can now add new grant(s) of policyType USE_ASSET_TYPE for custom AssetTypes to apply authorization policy to projects members and domain unit owners. +* api-change:``devicefarm``: Add an optional parameter to the GetDevicePoolCompatibility API to pass in project information to check device pool compatibility. +* api-change:``ec2``: This update introduces API operations to manage and create local gateway VIF and VIF groups. It also includes API operations to describe Outpost LAGs and service link VIFs. +* api-change:``ecs``: Add support to roll back an In_Progress ECS Service Deployment +* api-change:``mediaconvert``: This release adds an optional sidecar per-frame video quality metrics report and an ALL_PCM option for audio selectors. It also changes the data type for Probe API response fields related to video and audio bitrate from integer to double. + + +1.40.7 +====== + +* api-change:``bedrock-data-automation``: Added support for Custom output and blueprints for AUDIO data types. +* api-change:``ds``: Doc only update - fixed typos. +* api-change:``kinesis``: Marking ResourceARN as required for Amazon Kinesis Data Streams APIs TagResource, UntagResource, and ListTagsForResource. + + +1.40.6 +====== + +* api-change:``appconfig``: Adding waiter support for deployments and environments; documentation updates +* api-change:``connect``: This release adds the following fields to DescribeContact: DisconnectReason, AgentInitiatedHoldDuration, AfterContactWorkStartTimestamp, AfterContactWorkEndTimestamp, AfterContactWorkDuration, StateTransitions, Recordings, ContactDetails, ContactEvaluations, Attributes +* api-change:``sagemaker``: Feature - Adding support for Scheduled and Rolling Update Software in Sagemaker Hyperpod. +* api-change:``verifiedpermissions``: Amazon Verified Permissions / Features : Adds support for tagging policy stores. + + +1.40.5 +====== + +* api-change:``bedrock``: You can now specify a cross region inference profile as a teacher model for the CreateModelCustomizationJob API. Additionally, the GetModelCustomizationJob API has been enhanced to return the sub-task statuses of a customization job within the StatusDetails response field. +* api-change:``bedrock-agent``: Features: Add inline code node to prompt flow +* api-change:``bedrock-agent-runtime``: Support for Custom Orchestration within InlineAgents +* api-change:``cleanrooms``: This release adds support for ProtectedQuery results to be delivered to more than one collaboration member via the new distribute output configuration in StartProtectedQuery. +* api-change:``deadline``: Adds support for tag management on workers and tag inheritance from fleets to their associated workers. +* api-change:``ec2``: Launch of cost distribution feature for IPAM owners to distribute costs to internal teams. +* api-change:``ecr``: Adds dualstack support for Amazon Elastic Container Registry (Amazon ECR). +* api-change:``ecr-public``: Adds dualstack support for Amazon Elastic Container Registry Public (Amazon ECR Public). +* api-change:``logs``: CloudWatch Logs supports "DELIVERY" log class. This log class is used only for delivering AWS Lambda logs to Amazon S3 or Amazon Data Firehose. +* api-change:``mailmanager``: Introducing new RuleSet rule PublishToSns action, which allows customers to publish email notifications to an Amazon SNS topic. New PublishToSns action enables customers to easily integrate their email workflows via Amazon SNS, allowing them to notify other systems about important email events. + + +1.40.4 +====== + +* api-change:``connectcases``: Introduces CustomEntity as part of the UserUnion data type. This field is used to indicate the entity who is performing the API action. +* api-change:``kinesis``: Amazon KDS now supports tagging and attribute-based access control (ABAC) for enhanced fan-out consumers. +* api-change:``pinpoint-sms-voice-v2``: AWS End User Messaging has added MONITOR and FILTER functionality to SMS Protect. +* api-change:``qbusiness``: Add support for anonymous user access for Q Business applications +* api-change:``sagemaker``: Introduced support for P5en instance types on SageMaker Studio for JupyterLab and CodeEditor applications. +* api-change:``sagemaker-metrics``: SageMaker Metrics Service now supports FIPS endpoint in all US and Canada Commercial regions. +* api-change:``ssm``: This release adds support for just-In-time node access in AWS Systems Manager. Just-in-time node access enables customers to move towards zero standing privileges by requiring operators to request access and obtain approval before remotely connecting to nodes managed by the SSM Agent. +* api-change:``ssm-guiconnect``: This release adds API support for the connection recording GUI Connect feature of AWS Systems Manager +* bugfix:bundled-installer: Fix installing setup dependencies on newer versions of pip + + +1.40.3 +====== + +* api-change:``acm``: Add support for file-based HTTP domain control validation, available through Amazon CloudFront. +* api-change:``bedrock-runtime``: This release adds native h2 support for the bedrock runtime API, the support is only limited to SDKs that support h2 requests natively. +* api-change:``cloudfront``: Add distribution tenant, connection group, and multi-tenant distribution APIs to the CloudFront SDK. +* api-change:``dynamodb``: Doc only update for GSI descriptions. +* api-change:``imagebuilder``: Add integration with SSM Parameter Store to Image Builder. + + +1.40.2 +====== + +* api-change:``bedrock-runtime``: You can now reference images and documents stored in Amazon S3 when using InvokeModel and Converse APIs with Amazon Nova Lite and Nova Pro. This enables direct integration of S3-stored multimedia assets in your model requests without manual downloading or base64 encoding. +* api-change:``ecs``: Documentation only release for Amazon ECS. +* api-change:``marketplace-deployment``: Doc only update for the AWS Marketplace Deployment Service that fixes several customer-reported issues. + + +1.40.1 +====== + +* api-change:``apprunner``: AWS App Runner adds Node.js 22 runtime. +* api-change:``appsync``: Add data source support to Event APIs +* api-change:``bedrock-data-automation``: Added support for modality routing and modality enablement on CreateDataAutomationProject and UpdateDataAutomationProject APIs +* api-change:``codebuild``: Remove redundant validation check. +* api-change:``dynamodb``: Add support for ARN-sourced account endpoint generation for TransactWriteItems. This will generate account endpoints for DynamoDB TransactWriteItems requests using ARN-sourced account ID when available. +* api-change:``ecs``: Documentation only release for Amazon ECS +* api-change:``pcs``: Documentation-only update: added valid values for the version property of the Scheduler and SchedulerRequest data types. +* api-change:``rds``: This Amazon RDS release adds support for managed master user passwords for Oracle CDBs. + + +1.40.0 +====== + +* api-change:``codebuild``: Add support for custom instance type for reserved capacity fleets +* api-change:``ecs``: Add support to roll back an In_Progress ECS Service Deployment +* api-change:``resource-explorer-2``: Documentation-only update for CreateView option correction +* feature:``eks``: Add assume-role-arn option to update-kubeconfig command for cross-account access + + +1.39.0 +====== + +* api-change:``account``: AWS Account Management now supports account name update via IAM principals. +* api-change:``cognito-idp``: This release adds refresh token rotation. +* api-change:``ec2``: Added support for ClientRouteEnforcementOptions flag in CreateClientVpnEndpoint and ModifyClientVpnEndpoint requests and DescribeClientVpnEndpoints responses +* api-change:``entityresolution``: To expand support for matching records using digital identifiers with TransUnion +* api-change:``mq``: You can now delete Amazon MQ broker configurations using the DeleteConfiguration API. For more information, see Configurations in the Amazon MQ API Reference. +* api-change:``redshift-serverless``: Provides new and updated API members to support the Redshift Serverless reservations feature. +* api-change:``s3control``: Fix endpoint resolution test cases +* feature:Python: End of support for Python 3.8 +* feature:Python: End of support for Python 3.8 + + +1.38.38 +======= + +* api-change:``arc-zonal-shift``: Updates to documentation and exception types for Zonal Autoshift +* api-change:``budgets``: Releasing the new Budget FilterExpression and Metrics fields to support more granular filtering options. These new fields are intended to replace CostFilters and CostTypes, which are deprecated as of 2025/18/04. +* api-change:``firehose``: Documentation update regarding the number of streams you can create using the CreateDeliveryStream API. +* api-change:``mediatailor``: Added support for Recurring Prefetch and Traffic Shaping on both Single and Recurring Prefetch. ListPrefetchSchedules now return single prefetchs by default and can be provided scheduleType of SINGLE, RECURRING, AND ALL. +* api-change:``qbusiness``: The CheckDocumentAccess API for Amazon Q Business is a self-service debugging API that allows administrators to verify document access permissions and review Access Control List (ACL) configurations. + + +1.38.37 +======= + +* api-change:``qconnect``: This release adds support for the following capabilities: Chunking generative answer replies from Amazon Q in Connect. Integration support for the use of additional LLM models with Amazon Q in Connect. +* api-change:``sagemaker``: This release adds a new Neuron driver option in InferenceAmiVersion parameter for ProductionVariant. Additionally, it adds support for fetching model lifecycle status in the ListModelPackages API. Users can now use this API to view the lifecycle stage of models that have been shared with them. +* api-change:``service-quotas``: Add new optional SupportCaseAllowed query parameter to the RequestServiceQuotaIncrease API + + +1.38.36 +======= + +* api-change:``accessanalyzer``: Added new resource types to evaluate for public access in resource policies and added support for S3 directory bucket access points. +* api-change:``amp``: Add Workspace Configuration APIs for Amazon Prometheus +* api-change:``autoscaling``: Doc only update for EC2 Auto Scaling. +* api-change:``bedrock``: With this release, Bedrock Evaluation will now support custom metrics for evaluation. +* api-change:``connect``: This release adds following capabilities to Contact Lens Rules APIs 1/ 'ASSIGN_SLA' action and '$.Case.TemplateId' comparison value for 'OnCaseCreate' and 'OnCaseUpdate' event sources 2/ 'OnSlaBreach' Cases event source which supports '$.RelatedItem.SlaConfiguration.Name' comparison value +* api-change:``ecs``: Adds a new AccountSetting - defaultLogDriverMode for ECS. +* api-change:``iotfleetwise``: We've added stricter parameter validations to AWS IoT FleetWise signal catalog, model manifest, and decoder manifest APIs. +* api-change:``memorydb``: Added support for IPv6 and dual stack for Valkey and Redis clusters. Customers can now launch new Valkey and Redis clusters with IPv6 and dual stack networking support. +* api-change:``omics``: Add versioning for HealthOmics workflows + + +1.38.35 +======= + +* api-change:``connectcases``: This feature provides capabilities to help track and meet service level agreements (SLAs) on cases programmatically. It allows configuring a new related item of type `Sla` on a case using CreateRelatedItem API and provides the ability to search for this new related item using SearchRelatedItems API. +* api-change:``dsql``: Added GetClusterEndpointService API. The new API allows retrieving endpoint service name specific to a cluster. +* api-change:``eks``: Added support for new AL2023 ARM64 NVIDIA AMIs to the supported AMITypes. +* api-change:``events``: Adding support for KmsKeyIdentifer in CreateConnection, UpdateConnection and DescribeConnection APIs +* api-change:``resource-groups``: Resource Groups: TagSyncTasks can be created with ResourceQuery +* api-change:``s3tables``: S3 Tables now supports setting encryption configurations on table buckets and tables. Encryption configurations can use server side encryption using AES256 or KMS customer-managed keys. +* api-change:``servicecatalog``: Updated default value for the access-level-filter in SearchProvisionedProducts API to Account. For access to userLevel or roleLevel, the user must provide access-level-filter parameter. +* bugfix:Formatter: Update JSON formatter to encode raw bytes as UTF-8. + + +1.38.34 +======= + +* api-change:``entityresolution``: This is to add new metrics to our GetIdMappingJob API and also update uniqueId naming for batchDeleteUniqueIds API to be more accurate +* api-change:``taxsettings``: Indonesia SOR Tax Registration Launch + + +1.38.33 +======= + +* api-change:``connect-contact-lens``: Making sentiment optional for ListRealtimeContactAnalysisSegments Response depending on conversational analytics configuration +* api-change:``datazone``: Raise hard limit of authorized principals per SubscriptionTarget from 10 to 20. +* api-change:``detective``: Add support for Detective DualStack endpoints +* api-change:``dynamodb``: Doc only update for API descriptions. +* api-change:``marketplace-entitlement``: Add support for Marketplace Entitlement Service dual-stack endpoints for CN and GOV regions +* api-change:``meteringmarketplace``: Add support for Marketplace Metering Service dual-stack endpoints for CN regions +* api-change:``pcs``: Changed the minimum length of clusterIdentifier, computeNodeGroupIdentifier, and queueIdentifier to 3. +* api-change:``verifiedpermissions``: Adds deletion protection support to policy stores. Deletion protection is disabled by default, can be enabled via the CreatePolicyStore or UpdatePolicyStore APIs, and is visible in GetPolicyStore. + + +1.38.32 +======= + +* api-change:``application-autoscaling``: Application Auto Scaling now supports horizontal scaling for Elasticache Memcached self-designed clusters using target tracking scaling policies and scheduled scaling. +* api-change:``elasticache``: AWS ElastiCache SDK now supports using MemcachedUpgradeConfig parameter with ModifyCacheCluster API to enable updating Memcached cache node types. Please refer to updated AWS ElastiCache public documentation for detailed information on API usage and implementation. +* api-change:``m2``: Introduce three new APIs: CreateDataSetExportTask, GetDataSetExportTask and ListDataSetExportHistory. Add support for batch restart for Blu Age applications. +* api-change:``medialive``: AWS Elemental MediaLive / Features : Add support for CMAF Ingest CaptionLanguageMappings, TimedMetadataId3 settings, and Link InputResolution. +* api-change:``qbusiness``: Adds functionality to enable/disable a new Q Business Hallucination Reduction feature. If enabled, Q Business will detect and attempt to remove Hallucinations from certain Chat requests. +* api-change:``quicksight``: Add support to analysis and sheet level highlighting in QuickSight. + + +1.38.31 +======= + +* api-change:``controlcatalog``: The GetControl API now surfaces a control's Severity, CreateTime, and Identifier for a control's Implementation. The ListControls API now surfaces a control's Behavior, Severity, CreateTime, and Identifier for a control's Implementation. +* api-change:``dynamodb``: Documentation update for secondary indexes and Create_Table. +* api-change:``glue``: The TableOptimizer APIs in AWS Glue now return the DpuHours field in each TableOptimizerRun, providing clients visibility to the DPU-hours used for billing in managed Apache Iceberg table compaction optimization. +* api-change:``groundstation``: Support tagging Agents and adjust input field validations +* api-change:``transfer``: This launch includes 2 enhancements to SFTP connectors user-experience: 1) Customers can self-serve concurrent connections setting for their connectors, and 2) Customers can discover the public host key of remote servers using their SFTP connectors. + + +1.38.30 +======= + +* api-change:``bedrock-runtime``: This release introduces our latest bedrock runtime API, InvokeModelWithBidirectionalStream. The API supports both input and output streams and is supported by only HTTP2.0. +* api-change:``ce``: This release supports Pagination traits on Cost Anomaly Detection APIs. +* api-change:``cost-optimization-hub``: This release adds resource type "MemoryDbReservedInstances" and resource type "DynamoDbReservedCapacity" to the GetRecommendation, ListRecommendations, and ListRecommendationSummaries APIs to support new MemoryDB and DynamoDB RI recommendations. +* api-change:``iotfleetwise``: This release adds the option to update the strategy of state templates already associated to a vehicle, without the need to remove and re-add them. +* api-change:``securityhub``: Documentation updates for AWS Security Hub. +* api-change:``storagegateway``: Added new ActiveDirectoryStatus value, ListCacheReports paginator, and support for longer pagination tokens. +* api-change:``taxsettings``: Uzbekistan Launch on TaxSettings Page + + +1.38.29 +======= + +* api-change:``bedrock``: New options for how to handle harmful content detected by Amazon Bedrock Guardrails. +* api-change:``bedrock-runtime``: New options for how to handle harmful content detected by Amazon Bedrock Guardrails. +* api-change:``codebuild``: AWS CodeBuild now offers an enhanced debugging experience. +* api-change:``glue``: Add input validations for multiple Glue APIs +* api-change:``medialive``: AWS Elemental MediaLive now supports SDI inputs to MediaLive Anywhere Channels in workflows that use AWS SDKs. +* api-change:``personalize``: Add support for eventsConfig for CreateSolution, UpdateSolution, DescribeSolution, DescribeSolutionVersion. Add support for GetSolutionMetrics to return weighted NDCG metrics when eventsConfig is enabled for the solution. +* api-change:``transfer``: This launch enables customers to manage contents of their remote directories, by deleting old files or moving files to archive folders in remote servers once they have been retrieved. Customers will be able to automate the process using event-driven architecture. + + +1.38.28 +======= + +* api-change:``ds-data``: Doc only update - fixed broken links. +* api-change:``ec2``: Doc-only updates for Amazon EC2 +* api-change:``events``: Amazon EventBridge adds support for customer-managed keys on Archives and validations for two fields: eventSourceArn and kmsKeyIdentifier. +* api-change:``s3control``: Updated max size of Prefixes parameter of Scope data type. + + +1.38.27 +======= + +* api-change:``bedrock-agent``: Added optional "customMetadataField" for Amazon Aurora knowledge bases, allowing single-column metadata. Also added optional "textIndexName" for MongoDB Atlas knowledge bases, enabling hybrid search support. +* api-change:``chime-sdk-voice``: Added FOC date as an attribute of PhoneNumberOrder, added AccessDeniedException as a possible return type of ValidateE911Address +* api-change:``mailmanager``: Add support for Dual_Stack and PrivateLink types of IngressPoint. For configuration requests, SES Mail Manager will now accept both IPv4/IPv6 dual-stack endpoints and AWS PrivateLink VPC endpoints for email receiving. +* api-change:``opensearch``: Improve descriptions for various API commands and data types. +* api-change:``route53``: Added us-gov-east-1 and us-gov-west-1 as valid Latency Based Routing regions for change-resource-record-sets. +* api-change:``sagemaker``: Adds support for i3en, m7i, r7i instance types for SageMaker Hyperpod +* api-change:``sesv2``: This release enables customers to provide attachments in the SESv2 SendEmail and SendBulkEmail APIs. +* api-change:``transcribe``: This Feature Adds Support for the "zh-HK" Locale for Batch Operations + + +1.38.26 +======= + +* api-change:``application-signals``: Application Signals now supports creating Service Level Objectives on service dependencies. Users can now create or update SLOs on discovered service dependencies to monitor their standard application metrics. +* api-change:``codebuild``: This release adds support for environment type WINDOWS_SERVER_2022_CONTAINER in ProjectEnvironment +* api-change:``ecr``: Fix for customer issues related to AWS account ID and size limitation for token. +* api-change:``ecs``: This is an Amazon ECS documentation only update to address various tickets. +* api-change:``lexv2-models``: Release feature of errorlogging for lex bot, customer can config this feature in bot version to generate log for error exception which helps debug +* api-change:``medialive``: Added support for SMPTE 2110 inputs when running a channel in a MediaLive Anywhere cluster. This feature enables ingestion of SMPTE 2110-compliant video, audio, and ancillary streams by reading SDP files that AWS Elemental MediaLive can retrieve from a network source. + + +1.38.25 +======= + +* api-change:``cleanrooms``: This release adds support for updating the analytics engine of a collaboration. +* api-change:``sagemaker``: Added tagging support for SageMaker notebook instance lifecycle configurations + + +1.38.24 +======= + +* api-change:``bedrock-runtime``: Add Prompt Caching support to Converse and ConverseStream APIs +* api-change:``deadline``: With this release you can use a new field to specify the search term match type. Search term match types currently support fuzzy and contains matching. +* api-change:``ec2``: Release VPC Route Server, a new feature allowing dynamic routing in VPCs. +* api-change:``eks``: Add support for updating RemoteNetworkConfig for hybrid nodes on EKS UpdateClusterConfig API +* api-change:``marketplace-entitlement``: Add support for Marketplace Entitlement Service dual-stack endpoints. +* api-change:``outposts``: Enabling Asset Level Capacity Management feature, which allows customers to create a Capacity Task for a single Asset on their active Outpost. +* api-change:``s3``: Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones +* api-change:``s3control``: Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones +* api-change:``sesv2``: Add dual-stack support to global endpoints. +* api-change:``transfer``: Add WebAppEndpointPolicy support for WebApps + + +1.38.23 +======= + +* api-change:``apigateway``: Adds support for setting the IP address type to allow dual-stack or IPv4 address types to invoke your APIs or domain names. +* api-change:``apigatewayv2``: Adds support for setting the IP address type to allow dual-stack or IPv4 address types to invoke your APIs or domain names. +* api-change:``bedrock-runtime``: Launching Multi-modality Content Filter for Amazon Bedrock Guardrails. +* api-change:``codebuild``: This release adds support for cacheNamespace in ProjectCache +* api-change:``ecs``: This is an Amazon ECS documentation only release that addresses tickets. +* api-change:``meteringmarketplace``: Add support for Marketplace Metering Service dual-stack endpoints. +* api-change:``networkmanager``: Add support for NetworkManager Dualstack endpoints. +* api-change:``payment-cryptography``: The service adds support for transferring AES-256 and other keys between the service and other service providers and HSMs. This feature uses ECDH to derive a one-time key transport key to enable these secure key exchanges. +* api-change:``quicksight``: RLS permission dataset with userAs: RLS_RULES flag, Q in QuickSight/Threshold Alerts/Schedules/Snapshots in QS embedding, toggle dataset refresh email alerts via API, transposed table with options: column width, type and index, toggle Q&A on dashboards, Oracle Service Name when creating data source. +* api-change:``sagemaker``: TransformAmiVersion for Batch Transform and SageMaker Search Service Aggregate Search API Extension + + +1.38.22 +======= + +* api-change:``batch``: This release will enable two features: Firelens log driver, and Execute Command on Batch jobs on ECS. Both features will be passed through to ECS. +* api-change:``bcm-pricing-calculator``: Added standaloneAccountRateTypeSelections for GetPreferences and UpdatePreferences APIs. Added STALE enum value to status attribute in GetBillScenario and UpdateBillScenario APIs. +* api-change:``bedrock-agent-runtime``: bedrock flow now support node action trace. +* api-change:``cloudformation``: Adding support for the new parameter "ScanFilters" in the CloudFormation StartResourceScan API. When this parameter is included, the StartResourceScan API will initiate a scan limited to the resource types specified by the parameter. +* api-change:``datazone``: This release adds new action type of Create Listing Changeset for the Metadata Enforcement Rule feature. +* api-change:``eks``: Added support for BOTTLEROCKET FIPS AMIs to AMI types in US regions. +* api-change:``gamelift``: Amazon GameLift Servers add support for additional instance types. +* api-change:``iam``: Update IAM dual-stack endpoints for BJS, IAD and PDT partitions +* api-change:``sagemaker``: add: recovery mode for SageMaker Studio apps +* api-change:``sso-oidc``: This release adds AwsAdditionalDetails in the CreateTokenWithIAM API response. + + +1.38.21 +======= + +* api-change:``arc-zonal-shift``: Add new shiftType field for ARC zonal shifts. +* api-change:``directconnect``: With this release, AWS Direct Connect allows you to tag your Direct Connect gateways. Tags are metadata that you can create and use to manage your Direct Connect gateways. For more information about tagging, see AWS Tagging Strategies. +* api-change:``mediaconvert``: This release adds a configurable Quality Level setting for the top rendition of Auto ABR jobs +* api-change:``mediatailor``: Add support for log filtering which allow customers to filter out selected event types from logs. +* api-change:``polly``: Added support for the new voice - Jihye (ko-KR). Jihye is available as a Neural voice only. +* api-change:``rds``: Add note about the Availability Zone where RDS restores the DB cluster for the RestoreDBClusterToPointInTime operation. +* api-change:``wafv2``: This release adds the ability to associate an AWS WAF v2 web ACL with an AWS Amplify App. + + +1.38.20 +======= + +* api-change:``bedrock-agent``: Adding support for Amazon OpenSearch Managed clusters as a vector database in Knowledge Bases for Amazon Bedrock +* api-change:``eks``: Added support to override upgrade-blocking readiness checks via force flag when updating a cluster. +* api-change:``gameliftstreams``: Minor updates to improve developer experience. +* api-change:``keyspaces``: Removing replication region limitation for Amazon Keyspaces Multi-Region Replication APIs. +* api-change:``marketplace-entitlement``: This release enhances the GetEntitlements API to support new filter CUSTOMER_AWS_ACCOUNT_ID in request and CustomerAWSAccountId field in response. +* api-change:``meteringmarketplace``: This release enhances the BatchMeterUsage API to support new field CustomerAWSAccountId in request and response and making CustomerIdentifier optional. CustomerAWSAccountId or CustomerIdentifier must be provided in request but not both. +* api-change:``sagemaker``: This release adds support for customer-managed KMS keys in Amazon SageMaker Partner AI Apps +* api-change:``workspaces-thin-client``: Deprecate tags field in Get API responses + + +1.38.19 +======= + +* api-change:``iotwireless``: Mark EutranCid under LteNmr optional. +* api-change:``pcs``: ClusterName/ClusterIdentifier, ComputeNodeGroupName/ComputeNodeGroupIdentifier, and QueueName/QueueIdentifier can now have 10 characters, and a minimum of 3 characters. The TagResource API action can now return ServiceQuotaExceededException. +* api-change:``qconnect``: Provides the correct value for supported model ID. +* api-change:``ssm``: This release adds the AvailableSecurityUpdatesComplianceStatus field to patch baseline operations, as well as the AvailableSecurityUpdateCount and InstancesWithAvailableSecurityUpdates to patch state operations. Applies to Windows Server managed nodes only. + + +1.38.18 +======= + +* api-change:``bedrock``: A CustomModelUnit(CMU) is an abstract view of the hardware utilization that Bedrock needs to host a a single copy of your custom imported model. Bedrock determines the number of CMUs that a model copy needs when you import the custom model. You can use CMUs to estimate the cost of Inference's. +* api-change:``datazone``: Add support for overriding selection of default AWS IAM Identity Center instance as part of Amazon DataZone domain APIs. +* api-change:``route53-recovery-control-config``: Adds dual-stack (IPv4 and IPv6) endpoint support for route53-recovery-control-config operations, opt-in dual-stack addresses for cluster endpoints, and UpdateCluster API to update the network-type of clusters between IPv4 and dual-stack. +* api-change:``sagemaker``: This release does the following: 1.) Adds DurationHours as a required field to the SearchTrainingPlanOfferings action in the SageMaker AI API; 2.) Adds support for G6e instance types for SageMaker AI inference optimization jobs. + + +1.38.17 +======= + +* api-change:``amplify``: Added appId field to Webhook responses +* api-change:``bedrock``: With this release, Bedrock Evaluation will now support bring your own inference responses. +* api-change:``controlcatalog``: Add ExemptAssumeRoot parameter to adapt for new AWS AssumeRoot capability. +* api-change:``mailmanager``: Amazon SES Mail Manager. Extended rule string and boolean expressions to support analysis in condition evaluation. Extended ingress point string expression to support analysis in condition evaluation +* api-change:``network-firewall``: You can now use flow operations to either flush or capture traffic monitored in your firewall's flow table. + + +1.38.16 +======= + +* api-change:``bedrock``: Support custom prompt routers for evaluation jobs +* api-change:``ec2``: Doc-only updates for EC2 for March 2025. +* api-change:``lambda``: Add Ruby 3.4 (ruby3.4) support to AWS Lambda. +* api-change:``mediaconnect``: This release adds support for NDI flow outputs in AWS Elemental MediaConnect. You can now send content from your MediaConnect transport streams directly to your NDI environment using the new NDI output type. +* api-change:``neptune-graph``: Update IAM Role ARN Validation to Support Role Paths +* api-change:``sagemaker``: Added support for g6, g6e, m6i, c6i instance types in SageMaker Processing Jobs. + + +1.38.15 +======= + +* api-change:``appsync``: Providing Tagging support for DomainName in AppSync +* api-change:``cleanrooms``: This release adds support for PySpark jobs. Customers can now analyze data by running jobs using approved PySpark analysis templates. +* api-change:``mediaconvert``: This release adds support for AVC passthrough, the ability to specify PTS offset without padding, and an A/V segment matching feature. +* api-change:``route53``: Amazon Route 53 now supports the iso-f regions for private DNS Amazon VPCs and cloudwatch healthchecks. + + +1.38.14 +======= + +* api-change:``application-signals``: This release adds support for adding, removing, and listing SLO time exclusion windows with the BatchUpdateExclusionWindows and ListServiceLevelObjectiveExclusionWindows APIs. +* api-change:``geo-maps``: Provide support for vector map styles in the GetStaticMap operation. +* api-change:``rum``: CloudWatch RUM now supports unminification of JS error stack traces. +* api-change:``taxsettings``: Adjust Vietnam PaymentVoucherNumber regex and minor API change. +* api-change:``wafv2``: AWS WAF now lets you inspect fragments of request URIs. You can specify the scope of the URI to inspect and narrow the set of URI fragments. + + +1.38.13 +======= + +* api-change:``cognito-identity``: Updated API model build artifacts for identity pools +* api-change:``cognito-idp``: Minor description updates to API parameters +* api-change:``glue``: This release added AllowFullTableExternalDataAccess to glue catalog resource. +* api-change:``lakeformation``: This release added "condition" to LakeFormation OptIn APIs, also added WithPrivilegedAccess flag to RegisterResource and DescribeResource. + + +1.38.12 +======= + +* api-change:``acm-pca``: Private Certificate Authority service now supports P521 and RSA3072 key algorithms. +* api-change:``amplify``: Introduced support for Skew Protection. Added enableSkewProtection field to createBranch and updateBranch API. +* api-change:``codebuild``: AWS CodeBuild now supports webhook filtering by organization name +* api-change:``datazone``: This release adds support to update projects and environments +* api-change:``dynamodb``: Generate account endpoints for DynamoDB requests using ARN-sourced account ID when available +* api-change:``ec2``: This release changes the CreateLaunchTemplate, CreateLaunchTemplateVersion, ModifyLaunchTemplate CLI and SDKs such that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. +* api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability to adjust the participant & composition recording segment duration +* api-change:``logs``: Updated CreateLogAnomalyDetector to accept only kms key arn +* api-change:``mediapackagev2``: This release adds the ResetChannelState and ResetOriginEndpointState operation to reset MediaPackage V2 channel and origin endpoint. This release also adds a new field, UrlEncodeChildManifest, for HLS/LL-HLS to allow URL-encoding child manifest query string based on the requirements of AWS SigV4. +* api-change:``s3control``: Updating GetDataAccess response for S3 Access Grants to include the matched Grantee for the requested prefix + + +1.38.11 +======= + +* api-change:``ec2``: This release adds the GroupLongName field to the response of the DescribeAvailabilityZones API. +* api-change:``ecr``: This release adds Amazon ECR to Amazon ECR pull through cache rules support. +* api-change:``ecs``: This is a documentation only update for Amazon ECS to address various tickets. +* api-change:``inspector2``: Adding componentArn to network reachability details +* api-change:``medialive``: Add an enum option DISABLED for Output Locking Mode under Global Configuration. + + +1.38.10 +======= + +* api-change:``bedrock-agent``: Add support for computer use tools +* api-change:``bedrock-agent-runtime``: Add support for computer use tools +* api-change:``ce``: Releasing minor partition endpoint updates. +* api-change:``connect``: Add support for contact transfers in external voice systems. +* api-change:``medialive``: Adds defaultFontSize and defaultLineHeight as options in the EbuTtDDestinationSettings within the caption descriptions for an output stream. +* api-change:``pca-connector-ad``: PrivateCA Connector for Active Directory now supports dual stack endpoints. This release adds the IpAddressType option to the VpcInformation on a Connector which determines whether the endpoint supports IPv4 only or IPv4 and IPv6 traffic. +* api-change:``securityhub``: This release adds new StandardsControlsUpdatable field to the StandardsSubscription resource +* api-change:``timestream-influxdb``: This release updates the default value of pprof-disabled from false to true. + + +1.38.9 +====== + +* api-change:``bedrock-agent``: Introduces support for Neptune Analytics as a vector data store and adds Context Enrichment Configurations, enabling use cases such as GraphRAG. +* api-change:``bedrock-agent-runtime``: Support Multi Agent Collaboration within Inline Agents +* api-change:``cloudfront``: Documentation updates for Amazon CloudFront. +* api-change:``ec2``: Add serviceManaged field to DescribeAddresses API response. +* api-change:``elbv2``: This release adds support for assigning IP addresses to Application Load Balancers from VPC IP Address Manager pools. +* api-change:``neptune-graph``: Several small updates to resolve customer requests. + + +1.38.8 +====== + +* api-change:``bedrock``: This releases adds support for Custom Prompt Router +* api-change:``cloudtrail``: Doc-only update for CloudTrail. +* api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability to merge fragmented recordings in the event of a participant disconnect. +* api-change:``networkflowmonitor``: This release contains 2 changes. 1: DeleteScope/GetScope/UpdateScope operations now return 404 instead of 500 when the resource does not exist. 2: Expected string format for clientToken fields of CreateMonitorInput/CreateScopeInput/UpdateMonitorInput have been updated to be an UUID based string. +* api-change:``redshift-data``: This release adds support for ListStatements API to filter statements by ClusterIdentifier, WorkgroupName, and Database. +* api-change:``wafv2``: You can now perform an exact match or rate limit aggregation against the web request's JA4 fingerprint. +* api-change:``workspaces``: Added a new ModifyEndpointEncryptionMode API for managing endpoint encryption settings. + + +1.38.7 +====== + +* api-change:``bedrock-runtime``: This releases adds support for Custom Prompt Router ARN +* api-change:``datasync``: AWS DataSync now supports modifying ServerHostname while updating locations SMB, NFS, and ObjectStorage. +* api-change:``gameliftstreams``: New Service: Amazon GameLift Streams delivers low-latency game streaming from AWS global infrastructure to virtually any device with a browser at up to 1080p resolution and 60 fps. +* api-change:``iotfleetwise``: This release adds floating point support for CAN/OBD signals and adds support for signed OBD signals. +* api-change:``workspaces``: Added DeviceTypeWorkSpacesThinClient type to allow users to access their WorkSpaces through a WorkSpaces Thin Client. + + +1.38.6 +====== + +* api-change:``elasticache``: Doc only update, listing 'valkey7' and 'valkey8' as engine options for parameter groups. +* api-change:``iot-managed-integrations``: Adding managed integrations APIs for IoT Device Management to setup and control devices across different manufacturers and connectivity protocols. APIs include managedthing operations, credential and provisioning profile management, notification configuration, and OTA update. +* api-change:``iotsitewise``: AWS IoT SiteWise now supports MQTT-enabled, V3 gateways. Configure data destinations for real-time ingestion into AWS IoT SiteWise or buffered ingestion using Amazon S3 storage. You can also use path filters for precise data collection from specific MQTT topics. +* api-change:``rds``: Note support for Database Insights for Amazon RDS. + + +1.38.5 +====== + +* api-change:``cognito-idp``: Added the capacity to return available challenges in admin authentication and to set version 3 of the pre token generation event for M2M ATC. +* api-change:``ec2``: Update the DescribeVpcs response +* api-change:``qbusiness``: Adds support for the ingestion of audio and video files by Q Business, which can be configured with the mediaExtractionConfiguration parameter. +* api-change:``rum``: Add support for PutResourcePolicy, GetResourcePolicy and DeleteResourcePolicy to support resource based policies for AWS CloudWatch RUM +* api-change:``sagemaker``: Add DomainId to CreateDomainResponse +* api-change:``transcribe``: Updating documentation for post call analytics job queueing. + + +1.38.4 +====== + +* api-change:``bedrock-agent``: This release lets Amazon Bedrock Flows support newer models by increasing the maximum length of output in a prompt configuration. This release also increases the maximum number of prompt variables to 20 and the maximum number of node inputs to 20. +* api-change:``bedrock-data-automation``: Renamed and added new StandardConfiguration enums. Added support to update EncryptionConfiguration in UpdateBlueprint and UpdateDataAutomation APIs. Changed HttpStatus code for DeleteBlueprint and DeleteDataAutomationProject APIs to 200 from 204. Added APIs to support tagging. +* api-change:``bedrock-data-automation-runtime``: Added a mandatory parameter DataAutomationProfileArn to support for cross region inference for InvokeDataAutomationAsync API. Renamed DataAutomationArn to DataAutomationProjectArn. Added APIs to support tagging. +* api-change:``dms``: Add skipped status to the Result Statistics of an Assessment Run +* api-change:``eks``: Adding licenses to EKS Anywhere Subscription operations response. +* api-change:``mediaconvert``: The AWS MediaConvert Probe API allows you to analyze media files and retrieve detailed metadata about their content, format, and structure. +* api-change:``pricing``: Update GetProducts and DescribeServices API request input validations. +* api-change:``ssm``: Systems Manager doc-only updates for Feb. 2025. + + +1.38.3 +====== + +* api-change:``bedrock-agent-runtime``: Introduces Sessions (preview) to enable stateful conversations in GenAI applications. +* api-change:``emr``: Definition update for EbsConfiguration. +* api-change:``qbusiness``: This release supports deleting attachments from conversations. +* api-change:``redshift-serverless``: Add track support for Redshift Serverless workgroup. +* api-change:``sagemaker``: SageMaker HubService is introducing support for creating Training Jobs in Curated Hub (Private Hub). Additionally, it is introducing two new APIs: UpdateHubContent and UpdateHubContentReference. +* api-change:``storagegateway``: This release adds support to invoke a process that cleans the specified file share's cache of file entries that are failing upload to Amazon S3. + + +1.38.2 +====== + +* api-change:``application-signals``: This release adds API support for reading Service Level Objectives and Services from monitoring accounts, from SLO and Service-scoped operations, including ListServices and ListServiceLevelObjectives. +* api-change:``batch``: AWS Batch: Resource Aware Scheduling feature support +* api-change:``chime``: Removes the Amazon Chime SDK APIs from the "chime" namespace. Amazon Chime SDK APIs continue to be available in the AWS SDK via the dedicated Amazon Chime SDK namespaces: chime-sdk-identity, chime-sdk-mediapipelines, chime-sdk-meetings, chime-sdk-messaging, and chime-sdk-voice. +* api-change:``cloudfront``: Documentation update for VPC origin config. +* api-change:``ec2``: Amazon EC2 Fleet customers can now override the Block Device Mapping specified in the Launch Template when creating a new Fleet request, saving the effort of creating and associating new Launch Templates to customize the Block Device Mapping. +* api-change:``iotfleetwise``: This release adds an optional listResponseScope request parameter in certain list API requests to limit the response to metadata only. +* api-change:``oam``: This release adds support for sharing AWS::ApplicationSignals::Service and AWS::ApplicationSignals::ServiceLevelObjective resources. +* api-change:``sagemaker``: AWS SageMaker InferenceComponents now support rolling update deployments for Inference Components. + + +1.38.1 +====== + +* api-change:``codebuild``: Adding "reportArns" field in output of BatchGetBuildBatches API. "reportArns" is an array that contains the ARNs of reports created by merging reports from builds associated with the batch build. +* api-change:``devicefarm``: Add an optional configuration to the ScheduleRun and CreateRemoteAccessSession API to set a device level http/s proxy. +* api-change:``ec2``: Adds support for time-based EBS-backed AMI copy operations. Time-based copy ensures that EBS-backed AMIs are copied within and across Regions in a specified timeframe. +* api-change:``iot``: AWS IoT - AWS IoT Device Defender adds support for a new Device Defender Audit Check that monitors device certificate age and custom threshold configurations for both the new device certificate age check and existing device certificate expiry check. +* api-change:``taxsettings``: PutTaxRegistration API changes for Egypt, Greece, Vietnam countries + + +1.38.0 +====== + +* api-change:``bedrock-agent``: This release improves support for newer models in Amazon Bedrock Flows. +* api-change:``bedrock-agent-runtime``: Adding support for ReasoningContent fields in Pre-Processing, Post-Processing and Orchestration Trace outputs. +* api-change:``bedrock-runtime``: This release adds Reasoning Content support to Converse and ConverseStream APIs +* api-change:``elasticache``: Documentation update, adding clarity and rephrasing. +* feature:Endpoints: Generate and use AWS-account-based endpoints for compatible services when the account ID is available. At launch, DynamoDB is the first and only compatible service. The new endpoint URL pattern will be ``https://.ddb..amazonaws.com``. Additional services may be added in the future. See the documentation for details: https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + + +1.37.26 +======= + +* api-change:``appstream``: Added support for Certificate-Based Authentication on AppStream 2.0 multi-session fleets. +* api-change:``bedrock-agent``: Introduce a new parameter which represents the user-agent header value used by the Bedrock Knowledge Base Web Connector. + + +1.37.25 +======= + +* api-change:``codebuild``: Add webhook status and status message to AWS CodeBuild webhooks +* api-change:``guardduty``: Reduce the minimum number of required attack sequence signals from 2 to 1 +* api-change:``license-manager-user-subscriptions``: Updates entity to include Microsoft RDS SAL as a valid type of user subscription. +* api-change:``rds``: CloudWatch Database Insights now supports Amazon RDS. +* api-change:``sagemaker``: Added new capability in the UpdateCluster operation to remove instance groups from your SageMaker HyperPod cluster. +* api-change:``workspaces-web``: Add support for toolbar configuration under user settings. + + +1.37.24 +======= + +* api-change:``codepipeline``: Add environment variables to codepipeline action declaration. +* api-change:``ecs``: This is a documentation only release for Amazon ECS that supports the CPU task limit increase. +* api-change:``lightsail``: Documentation updates for Amazon Lightsail. +* api-change:``location``: Adds support for larger property maps for tracking and geofence positions changes. It increases the maximum number of items from 3 to 4, and the maximum value length from 40 to 150. +* api-change:``mailmanager``: This release adds additional metadata fields in Mail Manager archive searches to show email source and details about emails that were archived when being sent with SES. +* api-change:``network-firewall``: This release introduces Network Firewall's Automated Domain List feature. New APIs include UpdateFirewallAnalysisSettings, StartAnalysisReport, GetAnalysisReportResults, and ListAnalysisReports. These allow customers to enable analysis on firewalls to identify and report frequently accessed domain. +* api-change:``sagemaker``: Adds r8g instance type support to SageMaker Realtime Endpoints +* api-change:``sesv2``: This release adds the ability for outbound email sent with SES to preserve emails to a Mail Manager archive. + + +1.37.23 +======= + +* api-change:``batch``: This documentation-only update corrects some typos. +* api-change:``emr-containers``: EMR on EKS StartJobRun Api will be supporting the configuration of log storage in AWS by using "managedLogs" under "MonitoringConfiguration". +* api-change:``medialive``: Adds support for creating CloudWatchAlarmTemplates for AWS Elemental MediaTailor Playback Configuration resources. + + +1.37.22 +======= + +* api-change:``amplify``: Add ComputeRoleArn to CreateApp, UpdateApp, CreateBranch, and UpdateBranch, allowing caller to specify a role to be assumed by Amplify Hosting for server-side rendered applications. +* api-change:``dms``: Support replicationConfigArn in DMS DescribeApplicableIndividualAssessments API. +* api-change:``timestream-influxdb``: This release introduces APIs to manage DbClusters and adds support for read replicas + + +1.37.21 +======= + +* api-change:``codebuild``: Added test suite names to test case metadata +* api-change:``connect``: Release Notes: 1) Analytics API enhancements: Added new ListAnalyticsDataLakeDataSets API. 2) Onboarding API Idempotency: Adds ClientToken to instance creation and management APIs to support idempotency. +* api-change:``dms``: Introduces premigration assessment feature to DMS Serverless API for start-replication and describe-replications +* api-change:``rds-data``: Add support for Stop DB feature. +* api-change:``s3``: Added support for Content-Range header in HeadObject response. +* api-change:``wafv2``: The WAFv2 API now supports configuring data protection in webACLs. +* api-change:``workspaces-thin-client``: Update Environment and Device name field definitions + + +1.37.20 +======= + +* api-change:``accessanalyzer``: This release introduces the getFindingsStatistics API, enabling users to retrieve aggregated finding statistics for IAM Access Analyzer's external access and unused access analysis features. Updated service API and documentation. +* api-change:``acm-pca``: Private Certificate Authority (PCA) documentation updates +* api-change:``ecs``: This is a documentation only release to support migrating Amazon ECS service ARNs to the long ARN format. +* api-change:``fis``: Adds auto-pagination for the following operations: ListActions, ListExperimentTemplates, ListTargetAccountConfigurations, ListExperiments, ListExperimentResolvedTargets, ListTargetResourceTypes. Reduces length constraints of prefixes for logConfiguration and experimentReportConfiguration. +* api-change:``sagemaker``: Adds additional values to the InferenceAmiVersion parameter in the ProductionVariant data type. +* api-change:``storagegateway``: This release adds support for generating cache reports on S3 File Gateways for files that fail to upload. + + +1.37.19 +======= + +* api-change:``b2bi``: Allow spaces in the following fields in the Partnership resource: ISA 06 - Sender ID, ISA 08 - Receiver ID, GS 02 - Application Sender Code, GS 03 - Application Receiver Code +* api-change:``bedrock-agent``: This releases adds the additionalModelRequestFields field to the CreateAgent and UpdateAgent operations. Use additionalModelRequestFields to specify additional inference parameters for a model beyond the base inference parameters. +* api-change:``bedrock-agent-runtime``: This releases adds the additionalModelRequestFields field to the InvokeInlineAgent operation. Use additionalModelRequestFields to specify additional inference parameters for a model beyond the base inference parameters. +* api-change:``codebuild``: Add note for the RUNNER_BUILDKITE_BUILD buildType. +* api-change:``fsx``: Support for in-place Lustre version upgrades +* api-change:``medialive``: Adds a RequestId parameter to all MediaLive Workflow Monitor create operations. The RequestId parameter allows idempotent operations. +* api-change:``opensearchserverless``: Custom OpenSearchServerless Entity ID for SAML Config. +* api-change:``polly``: Added support for the new voice - Jasmine (en-SG). Jasmine is available as a Neural voice only. + + +1.37.18 +======= + +* api-change:``acm-pca``: Private Certificate Authority service now supports Partitioned CRL as a revocation configuration option. +* api-change:``appsync``: Add support for operation level caching +* api-change:``ec2``: Adding support for the new fullSnapshotSizeInBytes field in the response of the EC2 EBS DescribeSnapshots API. This field represents the size of all the blocks that were written to the source volume at the time the snapshot was created. +* api-change:``pi``: Documentation only update for RDS Performance Insights dimensions for execution plans and locking analysis. + + +1.37.17 +======= + +* api-change:``apigatewayv2``: Documentation updates for Amazon API Gateway +* api-change:``cloudfront``: Doc-only update that adds defaults for CloudFront VpcOriginEndpointConfig values. +* api-change:``connect``: Updated the CreateContact API documentation to indicate that it only applies to EMAIL contacts. +* api-change:``dms``: New vendors for DMS Data Providers: DB2 LUW and DB2 for z/OS + + +1.37.16 +======= + +* api-change:``ecr``: Adds support to handle the new basic scanning daily quota. +* api-change:``eks``: Introduce versionStatus field to take place of status field in EKS DescribeClusterVersions API +* api-change:``mediaconvert``: This release adds support for Animated GIF output, forced chroma sample positioning metadata, and Extensible Wave Container format +* api-change:``pi``: Adds documentation for dimension groups and dimensions to analyze locks for Database Insights. +* api-change:``transcribe``: This release adds support for the Clinical Note Template Customization feature for the AWS HealthScribe APIs within Amazon Transcribe. + + +1.37.15 +======= + +* api-change:``cloudformation``: We added 5 new stack refactoring APIs: CreateStackRefactor, ExecuteStackRefactor, ListStackRefactors, DescribeStackRefactor, ListStackRefactorActions. +* api-change:``connectcases``: This release adds the ability to conditionally require fields on a template. Check public documentation for more information. +* api-change:``cost-optimization-hub``: This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon Auto Scaling Groups, including those with single and mixed instance types. +* api-change:``s3``: Updated list of the valid AWS Region values for the LocationConstraint parameter for general purpose buckets. + + +1.37.14 +======= + +* api-change:``rds``: Documentation updates to clarify the description for the parameter AllocatedStorage for the DB cluster data type, the description for the parameter DeleteAutomatedBackups for the DeleteDBCluster API operation, and removing an outdated note for the CreateDBParameterGroup API operation. + + +1.37.13 +======= + +* api-change:``datasync``: Doc-only update to provide more information on using Kerberos authentication with SMB locations. +* api-change:``dms``: Introduces TargetDataSettings with the TablePreparationMode option available for data migrations. +* api-change:``iam``: This release adds support for accepting encrypted SAML assertions. Customers can now configure their identity provider to encrypt the SAML assertions it sends to IAM. +* api-change:``neptune-graph``: Added argument to `list-export` to filter by graph ID +* api-change:``qbusiness``: Adds functionality to enable/disable a new Q Business Chat orchestration feature. If enabled, Q Business can orchestrate over datasources and plugins without the need for customers to select specific chat modes. +* api-change:``sagemaker``: IPv6 support for Hyperpod clusters + + +1.37.12 +======= + +* api-change:``mediatailor``: Add support for CloudWatch Vended Logs which allows for delivery of customer logs to CloudWatch Logs, S3, or Firehose. + + +1.37.11 +======= + +* api-change:``amp``: Add support for sending metrics to cross account and CMCK AMP workspaces through RoleConfiguration on Create/Update Scraper. +* api-change:``bedrock-agent-runtime``: This change is to deprecate the existing citation field under RetrieveAndGenerateStream API response in lieu of GeneratedResponsePart and RetrievedReferences +* api-change:``codebuild``: Added support for CodeBuild self-hosted Buildkite runner builds +* api-change:``geo-routes``: The OptimizeWaypoints API now supports 50 waypoints per request (20 with constraints like AccessHours or AppointmentTime). It adds waypoint clustering via Clustering and ClusteringIndex for better optimization. Also, total distance validation is removed for greater flexibility. +* api-change:``rds``: Updates to Aurora MySQL and Aurora PostgreSQL API pages with instance log type in the create and modify DB Cluster. +* api-change:``sagemaker``: This release introduces a new valid value in InstanceType parameter: p5en.48xlarge, in ProductionVariant. + + +1.37.10 +======= + +* api-change:``appstream``: Add support for managing admin consent requirement on selected domains for OneDrive Storage Connectors in AppStream2.0. +* api-change:``bedrock-agent-runtime``: Add a 'reason' field to InternalServerException +* api-change:``ecr``: Temporarily updating dualstack endpoint support +* api-change:``ecr-public``: Temporarily updating dualstack endpoint support +* api-change:``mediatailor``: Adds options for configuring how MediaTailor conditions ads before inserting them into the content stream. Based on the new settings, MediaTailor will either transcode ads to match the content stream as it has in the past, or it will insert ads without first transcoding them. +* api-change:``qbusiness``: Added APIs to manage QBusiness user subscriptions +* api-change:``s3tables``: You can now use the CreateTable API operation to create tables with schemas by adding an optional metadata argument. +* api-change:``verifiedpermissions``: Adds Cedar JSON format support for entities and context data in authorization requests + + +1.37.9 +====== + +* api-change:``bcm-pricing-calculator``: Added ConflictException error type in DeleteBillScenario, BatchDeleteBillScenarioCommitmentModification, BatchDeleteBillScenarioUsageModification, BatchUpdateBillScenarioUsageModification, and BatchUpdateBillScenarioCommitmentModification API operations. +* api-change:``ecr``: Add support for Dualstack and Dualstack-with-FIPS Endpoints +* api-change:``ecr-public``: Add support for Dualstack Endpoints +* api-change:``mailmanager``: This release includes a new feature for Amazon SES Mail Manager which allows customers to specify known addresses and domains and make use of those in traffic policies and rules actions to distinguish between known and unknown entries. +* api-change:``s3``: Change the type of MpuObjectSize in CompleteMultipartUploadRequest from int to long. + + +1.37.8 +====== + +* api-change:``appsync``: Add stash and outErrors to EvaluateCode/EvaluateMappingTemplate response +* api-change:``datasync``: AWS DataSync now supports the Kerberos authentication protocol for SMB locations. +* api-change:``deadline``: feature: Deadline: Add support for limiting the concurrent usage of external resources, like floating licenses, using limits and the ability to constrain the maximum number of workers that work on a job +* api-change:``ec2``: This release changes the CreateFleet CLI and SDK's such that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. +* api-change:``firehose``: For AppendOnly streams, Firehose will automatically scale to match your throughput. +* api-change:``timestream-influxdb``: Adds 'allocatedStorage' parameter to UpdateDbInstance API that allows increasing the database instance storage size and 'dbStorageType' parameter to UpdateDbInstance API that allows changing the storage type of the database instance + + +1.37.7 +====== + +* api-change:``bedrock-agent``: Add support for the prompt caching feature for Bedrock Prompt Management +* api-change:``iot``: Raised the documentParameters size limit to 30 KB for AWS IoT Device Management - Jobs. +* api-change:``mediaconvert``: This release adds support for dynamic audio configuration and the ability to disable the deblocking filter for h265 encodes. +* api-change:``s3control``: Minor fix to ARN validation for Lambda functions passed to S3 Batch Operations + + +1.37.6 +====== + +* api-change:``cloudtrail``: This release introduces the SearchSampleQueries API that allows users to search for CloudTrail Lake sample queries. +* api-change:``eks``: Adds support for UpdateStrategies in EKS Managed Node Groups. +* api-change:``healthlake``: Added new authorization strategy value 'SMART_ON_FHIR' for CreateFHIRDatastore API to support Smart App 2.0 +* api-change:``ssm``: Systems Manager doc-only update for January, 2025. +* api-change:``sso-oidc``: Fixed typos in the descriptions. +* api-change:``transfer``: Added CustomDirectories as a new directory option for storing inbound AS2 messages, MDN files and Status files. + + +1.37.5 +====== + +* api-change:``ec2``: Added "future" allocation type for future dated capacity reservation + + +1.37.4 +====== + +* api-change:``bedrock-agent-runtime``: Adds multi-turn input support for an Agent node in an Amazon Bedrock Flow +* api-change:``glue``: Docs Update for timeout changes +* api-change:``medialive``: AWS Elemental MediaLive adds a new feature, ID3 segment tagging, in CMAF Ingest output groups. It allows customers to insert ID3 tags into every output segment, controlled by a newly added channel schedule action Id3SegmentTagging. +* api-change:``workspaces-thin-client``: Rename WorkSpaces Web to WorkSpaces Secure Browser + + +1.37.3 +====== + +* api-change:``batch``: Documentation-only update: clarified the description of the shareDecaySeconds parameter of the FairsharePolicy data type, clarified the description of the priority parameter of the JobQueueDetail data type. +* api-change:``cognito-idp``: corrects the dual-stack endpoint configuration for cognitoidp +* api-change:``connect``: Added DeleteContactFlowVersion API and the CAMPAIGN flow type +* api-change:``emr-serverless``: Increasing entryPoint in SparkSubmit to accept longer script paths. New limit is 4kb. +* api-change:``iotsitewise``: AWS IoT SiteWise now supports ingestion and querying of Null (all data types) and NaN (double type) values of bad or uncertain data quality. New partial error handling prevents data loss during ingestion. Enabled by default for new customers; existing customers can opt-in. +* api-change:``logs``: Documentation-only update to address doc errors +* api-change:``quicksight``: Added `DigitGroupingStyle` in ThousandsSeparator to allow grouping by `LAKH`( Indian Grouping system ) currency. Support LAKH and `CRORE` currency types in Column Formatting. +* api-change:``sns``: This release adds support for the topic attribute FifoThroughputScope for SNS FIFO topics. For details, see the documentation history in the Amazon Simple Notification Service Developer Guide. + + +1.37.2 +====== + +* api-change:``bedrock-runtime``: Allow hyphens in tool name for Converse and ConverseStream APIs +* api-change:``detective``: Doc only update for Detective documentation. +* api-change:``ec2``: Release u7i-6tb.112xlarge, u7i-8tb.112xlarge, u7inh-32tb.480xlarge, p5e.48xlarge, p5en.48xlarge, f2.12xlarge, f2.48xlarge, trn2.48xlarge instance types. +* api-change:``notifications``: Added support for Managed Notifications, integration with AWS Organization and added aggregation summaries for Aggregate Notifications +* api-change:``sagemaker``: Correction of docs for "Added support for ml.trn1.32xlarge instance type in Reserved Capacity Offering" + + +1.37.1 +====== + +* api-change:``ecs``: The release addresses Amazon ECS documentation tickets. +* api-change:``sagemaker``: Added support for ml.trn1.32xlarge instance type in Reserved Capacity Offering + + +1.37.0 +====== + +* api-change:``apigateway``: Documentation updates for Amazon API Gateway +* api-change:``bedrock-agent-runtime``: Now supports streaming for inline agents. +* api-change:``cognito-identity``: corrects the dual-stack endpoint configuration +* api-change:``partnercentral-selling``: Add Tagging support for ResourceSnapshotJob resources +* api-change:``s3``: This change enhances integrity protections for new SDK requests to S3. S3 SDKs now support the CRC64NVME checksum algorithm, full object checksums for multipart S3 objects, and new default integrity protections for S3 requests. +* api-change:``security-ir``: Increase minimum length of Threat Actor IP 'userAgent' to 1. +* api-change:``sesv2``: This release introduces a new recommendation in Virtual Deliverability Manager Advisor, which detects elevated complaint rates for customer sending identities. +* api-change:``workspaces``: Added GeneralPurpose.4xlarge & GeneralPurpose.8xlarge ComputeTypes. +* api-change:``workspaces-thin-client``: Mark type in MaintenanceWindow as required. +* feature:``s3``: The S3 client attempts to validate response checksums for all S3 API operations that support checksums. However, if the SDK has not implemented the specified checksum algorithm then this validation is skipped. Checksum validation behavior can be configured using the ``when_supported`` and ``when_required`` options - in code using the ``response_checksum_validation`` parameter for ``botocore.config.Config``, in the shared AWS config file using ``response_checksum_validation``, or as an env variable using ``AWS_RESPONSE_CHECKSUM_VALIDATION``. +* feature:``s3``: Added support for the CRC64NVME checksum algorithm in the S3 client through the optional AWS CRT (``awscrt``) dependency. +* feature:``s3``: S3 client behavior is updated to always calculate a CRC32 checksum by default for operations that support it (such as PutObject or UploadPart), or require it (such as DeleteObjects). Checksum behavior can be configured using ``when_supported`` and ``when_required`` options - in code using the ``request_checksum_calculation`` parameter for ``botocore.config.Config``, in the shared AWS config file using ``request_checksum_calculation``, or as an env variable using ``AWS_REQUEST_CHECKSUM_CALCULATION``. Note: Botocore will no longer automatically compute and populate the Content-MD5 header. + + +1.36.40 +======= + +* api-change:``gamelift``: Amazon GameLift releases a new game session placement feature: PriorityConfigurationOverride. You can now override how a game session queue prioritizes placement locations for a single StartGameSessionPlacement request. +* api-change:``route53``: Amazon Route 53 now supports the Mexico (Central) Region (mx-central-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region + + +1.36.39 +======= + +* api-change:``artifact``: Support resolving regional API calls to partition's leader region endpoint. +* api-change:``bedrock``: With this release, Bedrock Evaluation will now support latency-optimized inference for foundation models. +* api-change:``ec2``: Add support for DisconnectOnSessionTimeout flag in CreateClientVpnEndpoint and ModifyClientVpnEndpoint requests and DescribeClientVpnEndpoints responses +* api-change:``kafkaconnect``: Support updating connector configuration via UpdateConnector API. Release Operations API to monitor the status of the connector operation. +* api-change:``transcribe``: This update provides tagging support for Transcribe's Call Analytics Jobs and Call Analytics Categories. + + +1.36.38 +======= + +* api-change:``redshift``: Additions to the PubliclyAccessible and Encrypted parameters clarifying what the defaults are. +* api-change:``securitylake``: Doc only update for ServiceName that fixes several customer-reported issues +* api-change:``sts``: Fixed typos in the descriptions. + + +1.36.37 +======= + +* api-change:``codebuild``: AWS CodeBuild Now Supports BuildBatch in Reserved Capacity and Lambda +* api-change:``compute-optimizer``: This release expands AWS Compute Optimizer rightsizing recommendation support for Amazon EC2 Auto Scaling groups to include those with scaling policies and multiple instance types. +* api-change:``fms``: AWS Firewall Manager now lets you combine multiple resource tags using the logical AND operator or the logical OR operator. + + +1.36.36 +======= + +* api-change:``rds``: Updates Amazon RDS documentation to clarify the RestoreDBClusterToPointInTime description. +* api-change:``route53``: Amazon Route 53 now supports the Asia Pacific (Thailand) Region (ap-southeast-7) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region +* api-change:``sagemaker``: Adds support for IPv6 for SageMaker HyperPod cluster nodes. + + +1.36.35 +======= + +* api-change:``cloudhsmv2``: Adds support to ModifyCluster for modifying a Cluster's Hsm Type. +* api-change:``dynamodb``: This release makes Amazon DynamoDB point-in-time-recovery (PITR) to be configurable. You can set PITR recovery period for each table individually to between 1 and 35 days. +* api-change:``imagebuilder``: This release adds support for importing images from ISO disk files. Added new ImportDiskImage API operation. +* enhancement:``s3 ls``: Expose low-level ``ListBuckets` parameters ``Prefix`` and ``BucketRegion`` to high-level ``s3 ls`` command as ``--bucket-name-prefix`` and ``--bucket-region``. + + +1.36.34 +======= + +* api-change:``iotsecuretunneling``: Adds dualstack endpoint support for IoT Secure Tunneling +* api-change:``supplychain``: Allow vanity DNS domain when creating a new ASC instance + + +1.36.33 +======= + +* api-change:``ecs``: Adding SDK reference examples for Amazon ECS operations. +* api-change:``route53domains``: Doc only update for Route 53 Domains that fixes several customer-reported issues +* api-change:``s3``: This change is only for updating the model regexp of CopySource which is not for validation but only for documentation and user guide change. + + +1.36.32 +======= + +* api-change:``appsync``: Modify UpdateGraphQLAPI operation and flag authenticationType as required. +* api-change:``gamelift``: Amazon GameLift releases a new game session shutdown feature. Use the Amazon GameLift console or AWS CLI to terminate an in-progress game session that's entered a bad state or is no longer needed. +* api-change:``mediaconnect``: AWS Elemental MediaConnect now supports Content Quality Analysis for enhanced source stream monitoring. This enables you to track specific audio and video metrics in transport stream source flows, ensuring your content meets quality standards. +* api-change:``mediaconvert``: This release adds support for the AVC3 codec and fixes an alignment issue with Japanese vertical captions. +* api-change:``organizations``: Added ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED to ConstraintViolationException for the EnableAllFeatures operation. +* api-change:``sagemaker``: Adding ETag information with Model Artifacts for Model Registry +* api-change:``sqs``: In-flight message typo fix from 20k to 120k. + + +1.36.31 +======= + +* api-change:``ecr``: Restoring custom endpoint functionality for ECR +* api-change:``ecr-public``: Restoring custom endpoint functionality for ECR Public + + +1.36.30 +======= + +* api-change:``rds``: Updates Amazon RDS documentation to correct various descriptions. + + +1.36.29 +======= + +* api-change:``bcm-pricing-calculator``: Added ConflictException to DeleteBillEstimate. +* api-change:``ecr``: Add support for Dualstack Endpoints +* api-change:``network-firewall``: Dual-stack endpoints are now supported. +* api-change:``securityhub``: Documentation updates for AWS Security Hub + + +1.36.28 +======= + +* api-change:``ecr``: Documentation update for ECR GetAccountSetting and PutAccountSetting APIs. +* api-change:``ecr-public``: Add support for Dualstack endpoints +* api-change:``eks``: This release adds support for DescribeClusterVersions API that provides important information about Kubernetes versions along with end of support dates +* api-change:``glue``: Add IncludeRoot parameters to GetCatalogs API to return root catalog. + + +1.36.27 +======= + +* api-change:``bedrock-agent``: Support for custom user agent and max web pages crawled for web connector. Support app only credentials for SharePoint connector. Increase agents memory duration limit to 365 days. Support to specify max number of session summaries to include in agent invocation context. +* api-change:``bedrock-agent-runtime``: bedrock agents now supports long term memory and performance configs. Invokeflow supports performance configs. RetrieveAndGenerate performance configs +* api-change:``bedrock-data-automation``: Documentation update for Amazon Bedrock Data Automation +* api-change:``bedrock-data-automation-runtime``: Documentation update for Amazon Bedrock Data Automation Runtime +* api-change:``billing``: Added new API's for defining and fetching Billing Views. +* api-change:``ce``: Support for retrieving cost, usage, and forecast for billing view. +* api-change:``connect``: This release supports adding NotAttributeCondition and Range to the RoutingCriteria object. +* api-change:``docdb``: Support AWS Secret Manager managed password for AWS DocumentDB instance-based cluster. +* api-change:``eks``: This release expands the catalog of upgrade insight checks +* api-change:``macie2``: This release adds support for identifying S3 general purpose buckets that exceed the Amazon Macie quota for preventative control monitoring. +* api-change:``outposts``: Add CS8365C as a supported power connector for Outpost sites. +* api-change:``sagemaker``: This release adds support for c6i, m6i and r6i instance on SageMaker Hyperpod and trn1 instances in batch + + +1.36.26 +======= + +* api-change:``appstream``: Added support for Rocky Linux 8 on Amazon AppStream 2.0 +* api-change:``mediaconvert``: This release adds support for inserting timecode tracks into MP4 container outputs. +* api-change:``medialive``: MediaLive is releasing ListVersions api +* api-change:``qconnect``: Amazon Q in Connect enables agents to ask Q for assistance in multiple languages and Q will provide answers and recommended step-by-step guides in those languages. Qs default language is English (United States) and you can switch this by setting the locale configuration on the AI Agent. +* api-change:``ssm-sap``: AWS Systems Manager for SAP added support for registration and discovery of distributed ABAP applications +* api-change:``workspaces``: Added AWS Global Accelerator (AGA) support for WorkSpaces Personal. + + +1.36.25 +======= + +* api-change:``amplify``: Added WAF Configuration to Amplify Apps +* api-change:``budgets``: Releasing minor partition endpoint updates +* api-change:``connect``: This release adds support for the UpdateParticipantAuthentication API used for customer authentication within Amazon Connect chats. +* api-change:``connectparticipant``: This release adds support for the GetAuthenticationUrl and CancelParticipantAuthentication APIs used for customer authentication within Amazon Connect chats. There are also minor updates to the GetAttachment API. +* api-change:``datasync``: AWS DataSync introduces the ability to update attributes for in-cloud locations. +* api-change:``iot``: Release connectivity status query API which is a dedicated high throughput(TPS) API to query a specific device's most recent connectivity state and metadata. +* api-change:``mwaa``: Added support for Apache Airflow version 2.10.3 to MWAA. +* api-change:``quicksight``: Add support for PerformanceConfiguration attribute to Dataset entity. Allow PerformanceConfiguration specification in CreateDataset and UpdateDataset APIs. +* api-change:``resiliencehub``: AWS Resilience Hub now automatically detects already configured CloudWatch alarms and FIS experiments as part of the assessment process and returns the discovered resources in the corresponding list API responses. It also allows you to include or exclude test recommendations for an AppComponent. +* api-change:``transfer``: Added AS2 agreement configurations to control filename preservation and message signing enforcement. Added AS2 connector configuration to preserve content type from S3 objects. + + +1.36.24 +======= + +* api-change:``account``: Update endpoint configuration. +* api-change:``backup``: Add Support for Backup Indexing +* api-change:``backupsearch``: Add support for searching backups +* api-change:``batch``: This feature allows AWS Batch on Amazon EKS to support configuration of Pod Annotations, overriding Namespace on which the Batch job's Pod runs on, and allows Subpath and Persistent Volume claim to be set for AWS Batch on Amazon EKS jobs. +* api-change:``cleanroomsml``: Add support for SQL compute configuration for StartAudienceGenerationJob API. +* api-change:``cloudfront``: Adds support for OriginReadTimeout and OriginKeepaliveTimeout to create CloudFront Distributions with VPC Origins. +* api-change:``codepipeline``: AWS CodePipeline V2 type pipelines now support Managed Compute Rule. +* api-change:``ecs``: Added support for enableFaultInjection task definition parameter which can be used to enable Fault Injection feature on ECS tasks. +* api-change:``m2``: This release adds support for AWS Mainframe Modernization(M2) Service to allow specifying network type(ipv4, dual) for the environment instances. For dual network type, m2 environment applications will serve both IPv4 and IPv6 requests, whereas for ipv4 it will serve only IPv4 requests. +* api-change:``synthetics``: Add support to toggle outbound IPv6 traffic on canaries connected to dualstack subnets. This behavior can be controlled via the new Ipv6AllowedForDualStack parameter of the VpcConfig input object in CreateCanary and UpdateCanary APIs. + + +1.36.23 +======= + +* api-change:``cloud9``: Added information about Ubuntu 18.04 will be removed from the available imageIds for Cloud9 because Ubuntu 18.04 has ended standard support on May 31, 2023. +* api-change:``dlm``: This release adds support for Local Zones in Amazon Data Lifecycle Manager EBS snapshot lifecycle policies. +* api-change:``ec2``: This release adds support for EBS local snapshots in AWS Dedicated Local Zones, which allows you to store snapshots of EBS volumes locally in Dedicated Local Zones. +* api-change:``greengrassv2``: Add support for runtime in GetCoreDevice and ListCoreDevices APIs. +* api-change:``medialive``: AWS Elemental MediaLive adds three new features: MediaPackage v2 endpoint support for live stream delivery, KLV metadata passthrough in CMAF Ingest output groups, and Metadata Name Modifier in CMAF Ingest output groups for customizing metadata track names in output streams. +* api-change:``rds``: This release adds support for the "MYSQL_CACHING_SHA2_PASSWORD" enum value for RDS Proxy ClientPasswordAuthType. + + +1.36.22 +======= + +* api-change:``cloudhsmv2``: Add support for Dual-Stack hsm2m.medium clusters. The customers will now be able to create hsm2m.medium clusters having both IPv4 and IPv6 connection capabilities by specifying a new param called NetworkType=DUALSTACK during cluster creation. +* api-change:``ec2``: This release adds GroupId to the response for DeleteSecurityGroup. +* api-change:``eks``: Add NodeRepairConfig in CreateNodegroupRequest and UpdateNodegroupConfigRequest +* api-change:``logs``: Limit PutIntegration IntegrationName and ListIntegrations IntegrationNamePrefix parameters to 50 characters +* api-change:``mediaconnect``: AWS Elemental MediaConnect Gateway now supports Source Specific Multicast (SSM) for ingress bridges. This enables you to specify a source IP address in addition to a multicast IP when creating or updating an ingress bridge source. +* api-change:``networkmanager``: There was a sentence fragment in UpdateDirectConnectGatewayAttachment that was causing customer confusion as to whether it's an incomplete sentence or if it was a typo. Removed the fragment. +* api-change:``servicediscovery``: AWS Cloud Map now supports service-level attributes, allowing you to associate custom metadata directly with services. These attributes can be retrieved, updated, and deleted using the new GetServiceAttributes, UpdateServiceAttributes, and DeleteServiceAttributes API calls. + + +1.36.21 +======= + +* api-change:``connect``: Configure holidays and other overrides to hours of operation in advance. During contact handling, Amazon Connect automatically checks for overrides and provides customers with an appropriate flow path. After an override period passes call center automatically reverts to standard hours of operation. +* api-change:``dms``: Add parameters to support for kerberos authentication. Add parameter for disabling the Unicode source filter with PostgreSQL settings. Add parameter to use large integer value with Kinesis/Kafka settings. +* api-change:``glue``: To support customer-managed encryption in Data Quality to allow customers encrypt data with their own KMS key, we will add a DataQualityEncryption field to the SecurityConfiguration API where customers can provide their KMS keys. +* api-change:``guardduty``: Improved descriptions for certain APIs. +* api-change:``route53domains``: This release includes the following API updates: added the enumeration type RESTORE_DOMAIN to the OperationType; constrained the Price attribute to non-negative values; updated the LangCode to allow 2 or 3 alphabetical characters. + + +1.36.20 +======= + +* api-change:``artifact``: Add support for listing active customer agreements for the calling AWS Account. +* api-change:``cloudtrail``: Doc-only updates for CloudTrail. +* api-change:``cognito-idp``: Updated descriptions for some API operations and parameters, corrected some errors in Cognito user pools +* api-change:``controlcatalog``: Minor documentation updates to the content of ImplementationDetails object part of the Control Catalog GetControl API +* api-change:``emr-serverless``: This release adds support for accessing system profile logs in Lake Formation-enabled jobs. +* api-change:``mgh``: API and documentation updates for AWS MigrationHub related to adding support for listing migration task updates and associating, disassociating and listing source resources +* api-change:``sesv2``: Introduces support for multi-region endpoint. +* api-change:``timestream-influxdb``: Adds networkType parameter to CreateDbInstance API which allows IPv6 support to the InfluxDB endpoint + + +1.36.19 +======= + +* api-change:``application-autoscaling``: Doc only update for AAS Predictive Scaling policy configuration API. +* api-change:``bcm-pricing-calculator``: Updated condition key inference from Workload Estimate, Bill Scenario, and Bill Estimate resources. Updated documentation links. +* api-change:``connect``: Add support for Push Notifications for Amazon Connect chat. With Push Notifications enabled an alert could be sent to customers about new messages even when they aren't actively using the mobile application. +* api-change:``finspace``: Update KxCommandLineArgument value parameter regex to allow for spaces and semicolons +* api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability to customize thumbnails recording mode and interval for both Individual Participant Recording (IPR) and Server-Side Compositions (SSC). +* api-change:``sesv2``: Introduces support for creating DEED (Deterministic Easy-DKIM) identities. + + +1.36.18 +======= + +* api-change:``appsync``: Provides description of new Amazon Bedrock runtime datasource. +* api-change:``cognito-idp``: Change `CustomDomainConfig` from a required to an optional parameter for the `UpdateUserPoolDomain` operation. +* api-change:``ec2``: This release includes a new API for modifying instance network-performance-options after launch. +* api-change:``ecs``: This is a documentation only update to address various tickets for Amazon ECS. +* api-change:``keyspaces``: Amazon Keyspaces: adding the list of IAM actions required by the UpdateKeyspace API. +* api-change:``medialive``: H265 outputs now support disabling the deblocking filter. +* api-change:``workspaces``: Added text to clarify case-sensitivity + + +1.36.17 +======= + +* api-change:``partnercentral-selling``: Introducing the preview of new partner central selling APIs designed to transform how AWS partners collaborate and co-sell with multiple partners. This enables multiple partners to seamlessly engage and jointly pursue customer opportunities, fostering a new era of collaborative selling. +* api-change:``qbusiness``: This release removes the deprecated UserId and UserGroups fields from SearchRelevantContent api's request parameters. + + +1.36.16 +======= + +* api-change:``bedrock``: Introduced two APIs ListPromptRouters and GetPromptRouter for Intelligent Prompt Router feature. Add support for Bedrock Guardrails image content filter. New Bedrock Marketplace feature enabling a wider range of bedrock compatible models with self-hosted capability. +* api-change:``bedrock-agent``: This release introduces the ability to generate SQL using natural language, through a new GenerateQuery API (with native integration into Knowledge Bases); ability to ingest and retrieve images through Bedrock Data Automation; and ability to create a Knowledge Base backed by Kendra GenAI Index. +* api-change:``bedrock-agent-runtime``: This release introduces the ability to generate SQL using natural language, through a new GenerateQuery API (with native integration into Knowledge Bases); ability to ingest and retrieve images through Bedrock Data Automation; and ability to create a Knowledge Base backed by Kendra GenAI Index. +* api-change:``bedrock-data-automation``: Release Bedrock Data Automation SDK +* api-change:``bedrock-data-automation-runtime``: Release Bedrock Data Automation Runtime SDK +* api-change:``bedrock-runtime``: Added support for Intelligent Prompt Router in Invoke, InvokeStream, Converse and ConverseStream. Add support for Bedrock Guardrails image content filter. New Bedrock Marketplace feature enabling a wider range of bedrock compatible models with self-hosted capability. +* api-change:``kendra``: This release adds GenAI Index in Amazon Kendra for Retrieval Augmented Generation (RAG) and intelligent search. With the Kendra GenAI Index, customers get high retrieval accuracy powered by the latest information retrieval technologies and semantic models. +* api-change:``sagemaker``: Amazon SageMaker HyperPod launched task governance to help customers maximize accelerator utilization for model development and flexible training plans to meet training timelines and budget while reducing weeks of training time. AI apps from AWS partner is now available in SageMaker. + + +1.36.15 +======= + +* api-change:``athena``: Add FEDERATED type to CreateDataCatalog. This creates Athena Data Catalog, AWS Lambda connector, and AWS Glue connection. Create/DeleteDataCatalog returns DataCatalog. Add Status, ConnectionType, and Error to DataCatalog and DataCatalogSummary. Add DeleteCatalogOnly to delete Athena Catalog only. +* api-change:``bedrock``: Tagging support for Async Invoke resources. Added support for Distillation in CreateModelCustomizationJob API. Support for videoDataDeliveryEnabled flag in invocation logging. +* api-change:``bedrock-agent``: Releasing SDK for Multi-Agent Collaboration. +* api-change:``bedrock-agent-runtime``: Releasing SDK for multi agent collaboration +* api-change:``bedrock-runtime``: Added support for Async Invoke Operations Start, List and Get. Support for invocation logs with `requestMetadata` field in Converse, ConverseStream, Invoke and InvokeStream. Video content blocks in Converse/ConverseStream accept raw bytes or S3 URI. +* api-change:``cloudwatch``: Support for configuring AiOps investigation as alarm action +* api-change:``datazone``: Adds support for Connections, ProjectProfiles, and JobRuns APIs. Supports the new Lineage feature at GA. Adjusts optionality of a parameter for DataSource and SubscriptionTarget APIs which may adjust types in some clients. +* api-change:``dsql``: Add new API operations for Amazon Aurora DSQL. Amazon Aurora DSQL is a serverless, distributed SQL database with virtually unlimited scale, highest availability, and zero infrastructure management. +* api-change:``dynamodb``: This change adds support for global tables with multi-Region strong consistency (in preview). The UpdateTable API now supports a new attribute MultiRegionConsistency to set consistency when creating global tables. The DescribeTable output now optionally includes the MultiRegionConsistency attribute. +* api-change:``glue``: This release includes(1)Zero-ETL integration to ingest data from 3P SaaS and DynamoDB to Redshift/Redlake (2)new properties on Connections to enable reuse; new connection APIs for retrieve/preview metadata (3)support of CRUD operations for Multi-catalog (4)support of automatic statistics collections +* api-change:``lakeformation``: This release added two new LakeFormation Permissions (CREATE_CATALOG, SUPER_USER) and added Id field for CatalogResource. It also added new conditon and expression field. +* api-change:``qapps``: Add support for 11 new plugins as action cards to help automate repetitive tasks and improve productivity. +* api-change:``qbusiness``: Amazon Q Business now supports customization options for your web experience, 11 new Plugins, and QuickSight support. Amazon Q index allows software providers to enrich their native generative AI experiences with their customer's enterprise knowledge and user context spanning multiple applications. +* api-change:``quicksight``: This release includes API needed to support for Unstructured Data in Q in QuickSight Q&A (IDC). +* api-change:``redshift``: Adds support for Amazon Redshift RegisterNamespace and DeregisterNamespace APIs to share data to AWS Glue Data Catalog. +* api-change:``redshift-serverless``: Adds support for the ListManagedWorkgroups API to get an overview of existing managed workgroups. +* api-change:``s3``: Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets. +* api-change:``s3tables``: Amazon S3 Tables deliver the first cloud object store with built-in open table format support, and the easiest way to store tabular data at scale. + + +1.36.14 +======= + +* api-change:``bedrock-runtime``: Add an API parameter that allows customers to set performance configuration for invoking a model. +* api-change:``s3control``: It allows customers to pass CRC64NVME as a header in S3 Batch Operations copy requests +* api-change:``socialmessaging``: Added support for passing role arn corresponding to the supported event destination + + +1.36.13 +======= + +* api-change:``bedrock``: Add support for Knowledge Base Evaluations & LLM as a judge +* api-change:``bedrock-agent``: This release introduces APIs to upload documents directly into a Knowledge Base +* api-change:``bedrock-agent-runtime``: This release introduces a new Rerank API to leverage reranking models (with integration into Knowledge Bases); APIs to upload documents directly into Knowledge Base; RetrieveAndGenerateStream API for streaming response; Guardrails on Retrieve API; and ability to automatically generate filters +* api-change:``chime-sdk-voice``: This release adds supports for enterprises to integrate Amazon Connect with other voice systems. It supports directly transferring voice calls and metadata without using the public telephone network. It also supports real-time and post-call analytics. +* api-change:``cleanrooms``: This release allows customers and their partners to easily collaborate with data stored in Snowflake and Amazon Athena, without having to move or share their underlying data among collaborators. +* api-change:``connect``: Adds support for WhatsApp Business messaging, IVR call recording, enabling Contact Lens for existing on-premise contact centers and telephony platforms, and enabling telephony and IVR migration to Amazon Connect independent of their contact center agents. +* api-change:``connectcampaignsv2``: Amazon Connect Outbound Campaigns V2 / Features : Adds support for Event-Triggered Campaigns. +* api-change:``customer-profiles``: This release introduces Event Trigger APIs as part of Amazon Connect Customer Profiles service. +* api-change:``ec2``: Adds support for declarative policies that allow you to enforce desired configuration across an AWS organization through configuring account attributes. Adds support for Allowed AMIs that allows you to limit the use of AMIs in AWS accounts. Adds support for connectivity over non-HTTP protocols. +* api-change:``ecs``: This release adds support for Container Insights with Enhanced Observability for Amazon ECS. +* api-change:``eks``: Added support for Auto Mode Clusters, Hybrid Nodes, and specifying computeTypes in the DescribeAddonVersions API. +* api-change:``events``: Call private APIs by configuring Connections with VPC connectivity through PrivateLink and VPC Lattice +* api-change:``fsx``: FSx API changes to support the public launch of the Amazon FSx Intelligent Tiering for OpenZFS storage class. +* api-change:``guardduty``: Add new Multi Domain Correlation findings. +* api-change:``imagebuilder``: Added support for EC2 Image Builder's integration with AWS Marketplace for Marketplace components. +* api-change:``invoicing``: AWS Invoice Configuration allows you to receive separate AWS invoices based on your organizational needs. You can use the AWS SDKs to manage Invoice Units and programmatically fetch the information of the invoice receiver. +* api-change:``logs``: Adds PutIntegration, GetIntegration, ListIntegrations and DeleteIntegration APIs. Adds QueryLanguage support to StartQuery, GetQueryResults, DescribeQueries, DescribeQueryDefinitions, and PutQueryDefinition APIs. +* api-change:``memorydb``: Amazon MemoryDB SDK now supports all APIs for Multi-Region. Please refer to the updated Amazon MemoryDB public documentation for detailed information on API usage. +* api-change:``networkflowmonitor``: This release adds documentation for a new feature in Amazon CloudWatch called Network Flow Monitor. You can use Network Flow Monitor to get near real-time metrics, including retransmissions and data transferred, for your actual workloads. +* api-change:``opensearch``: This feature introduces support for CRUDL APIs, enabling the creation and management of Connected data sources. +* api-change:``organizations``: Add support for policy operations on the DECLARATIVE_POLICY_EC2 policy type. +* api-change:``qbusiness``: Amazon Q Business now supports capabilities to extract insights and answer questions from visual elements embedded within documents, a browser extension for Google Chrome, Mozilla Firefox, and Microsoft Edge, and attachments across conversations. +* api-change:``qconnect``: This release adds following capabilities: Configuring safeguards via AIGuardrails for Q in Connect inferencing, and APIs to support Q&A self-service use cases +* api-change:``rds``: Amazon RDS supports CloudWatch Database Insights. You can use the SDK to create, modify, and describe the DatabaseInsightsMode for your DB instances and clusters. +* api-change:``s3``: Amazon S3 introduces support for AWS Dedicated Local Zones +* api-change:``s3control``: Amazon S3 introduces support for AWS Dedicated Local Zones +* api-change:``securityhub``: Add new Multi Domain Correlation findings. +* api-change:``security-ir``: AWS Security Incident Response is a purpose-built security incident solution designed to help customers prepare for, respond to, and recover from security incidents. +* api-change:``transfer``: AWS Transfer Family now offers Web apps that enables simple and secure access to data stored in Amazon S3. +* api-change:``vpc-lattice``: Lattice APIs that allow sharing and access of VPC resources across accounts. + + +1.36.12 +======= + +* api-change:``bedrock-agent``: Add support for specifying embeddingDataType, either FLOAT32 or BINARY +* api-change:``config``: AWS Config adds support for service-linked recorders, a new type of Config recorder managed by AWS services to record specific subsets of resource configuration data and functioning independently from customer managed AWS Config recorders. +* api-change:``fsx``: This release adds EFA support to increase FSx for Lustre file systems' throughput performance to a single client instance. This can be done by specifying EfaEnabled=true at the time of creation of Persistent_2 file systems. +* api-change:``observabilityadmin``: Amazon CloudWatch Observability Admin adds the ability to audit telemetry configuration for AWS resources in customers AWS Accounts and Organizations. The release introduces new APIs to turn on/off the new experience, which supports discovering supported AWS resources and their state of telemetry. + + +1.36.11 +======= + +* api-change:``bedrock-agent``: Custom Orchestration API release for AWSBedrockAgents. +* api-change:``bedrock-agent-runtime``: Custom Orchestration and Streaming configurations API release for AWSBedrockAgents. +* api-change:``connect``: Enables access to ValueMap and ValueInteger types for SegmentAttributes and fixes deserialization bug for DescribeContactFlow in AmazonConnect Public API +* api-change:``ec2``: Adds support for Time-based Copy for EBS Snapshots and Cross Region PrivateLink. Time-based Copy ensures that EBS Snapshots are copied within and across AWS Regions in a specified timeframe. Cross Region PrivateLink enables customers to connect to VPC endpoint services hosted in other AWS Regions. +* api-change:``qapps``: Private sharing, file upload and data collection feature support for Q Apps + + +1.36.10 +======= + +* api-change:``directconnect``: Update DescribeDirectConnectGatewayAssociations API to return associated core network information if a Direct Connect gateway is attached to a Cloud WAN core network. +* api-change:``networkmanager``: This release adds native Direct Connect integration on Cloud WAN enabling customers to directly attach their Direct Connect gateways to Cloud WAN without the need for an intermediate Transit Gateway. +* api-change:``s3``: Amazon Simple Storage Service / Features: Add support for ETag based conditional writes in PutObject and CompleteMultiPartUpload APIs to prevent unintended object modifications. + + +1.36.9 +====== + +* api-change:``autoscaling``: Now, Amazon EC2 Auto Scaling customers can enable target tracking policies to take quicker scaling decisions, enhancing their application performance and EC2 utilization. To get started, specify target tracking to monitor a metric that is available on Amazon CloudWatch at seconds-level interval. +* api-change:``bcm-pricing-calculator``: Initial release of the AWS Billing and Cost Management Pricing Calculator API. +* api-change:``bedrock-agent-runtime``: InvokeInlineAgent API release to help invoke runtime agents without any dependency on preconfigured agents. +* api-change:``ce``: This release adds the Impact field(contains Contribution field) to the GetAnomalies API response under RootCause +* api-change:``chatbot``: Adds support for programmatic management of custom actions and aliases which can be associated with channel configurations. +* api-change:``codepipeline``: AWS CodePipeline V2 type pipelines now support ECRBuildAndPublish and InspectorScan actions. +* api-change:``cognito-idp``: Add support for users to sign up and sign in without passwords, using email and SMS OTPs and Passkeys. Add support for Passkeys based on WebAuthn. Add support for enhanced branding customization for hosted authentication pages with Amazon Cognito Managed Login. Add feature tiers with new pricing. +* api-change:``connect``: Amazon Connect Service Feature: Add APIs for Amazon Connect Email Channel +* api-change:``elbv2``: This release adds support for advertising trusted CA certificate names in associated trust stores. +* api-change:``emr``: Advanced Scaling in Amazon EMR Managed Scaling +* api-change:``inspector2``: Extend inspector2 service model to include ServiceQuotaExceededException. +* api-change:``lambda``: Add ProvisionedPollerConfig to Lambda event-source-mapping API. +* api-change:``mailmanager``: Added new "DeliverToQBusiness" rule action to MailManager RulesSet for ingesting email data into Amazon Q Business customer applications +* api-change:``neptune-graph``: Add 4 new APIs to support new Export features, allowing Parquet and CSV formats. Add new arguments in Import APIs to support Parquet import. Add a new query "neptune.read" to run algorithms without loading data into database +* api-change:``omics``: This release adds support for resource policy based cross account S3 access to sequence store read sets. +* api-change:``quicksight``: This release includes: Update APIs to support Image, Layer Map, font customization, and Plugin Visual. Add Identity center related information in ListNamsespace API. Update API for restrictedFolder support in topics and add API for SearchTopics, Describe/Update DashboardsQA Configration. +* api-change:``sagemaker``: This release adds APIs for new features for SageMaker endpoint to scale down to zero instances, native support for multi-adapter inference, and endpoint scaling improvements. +* api-change:``ses``: This release adds support for starting email contacts in your Amazon Connect instance as an email receiving action. +* api-change:``sns``: ArchivePolicy attribute added to Archive and Replay feature +* api-change:``stepfunctions``: Add support for variables and JSONata in TestState, GetExecutionHistory, DescribeStateMachine, and DescribeStateMachineForExecution +* api-change:``workspaces``: While integrating WSP-DCV rebrand, a few mentions were erroneously renamed from WSP to DCV. This release reverts those mentions back to WSP. + + +1.36.8 +====== + +* api-change:``apigateway``: Added support for custom domain names for private APIs. +* api-change:``application-autoscaling``: Application Auto Scaling now supports Predictive Scaling to proactively increase the desired capacity ahead of predicted demand, ensuring improved availability and responsiveness for customers' applications. This feature is currently only made available for Amazon ECS Service scalable targets. +* api-change:``appsync``: Add support for the Amazon Bedrock Runtime. +* api-change:``ce``: This release introduces three new APIs that enable you to estimate the cost, coverage, and utilization impact of Savings Plans you plan to purchase. The three APIs are StartCommitmentPurchaseAnalysis, GetCommitmentPurchaseAnalysis, and ListCommitmentPurchaseAnalyses. +* api-change:``cloudfront``: Adds support for Origin Selection between EMPv2 origins based on media quality score. +* api-change:``cloudtrail``: This release introduces new APIs for creating and managing CloudTrail Lake dashboards. It also adds support for resource-based policies on CloudTrail EventDataStore and Dashboard resource. +* api-change:``ec2``: Adds support for requesting future-dated Capacity Reservations with a minimum commitment duration, enabling IPAM for organizational units within AWS Organizations, reserving EC2 Capacity Blocks that start in 30 minutes, and extending the end date of existing Capacity Blocks. +* api-change:``elasticache``: Added support to modify the engine type for existing ElastiCache Users and User Groups. Customers can now modify the engine type from redis to valkey. +* api-change:``elbv2``: This feature adds support for enabling zonal shift on cross-zone enabled Application Load Balancer, as well as modifying HTTP request and response headers. +* api-change:``health``: Adds metadata property to an AffectedEntity. +* api-change:``iot``: General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices +* api-change:``iotfleetwise``: AWS IoT FleetWise now includes campaign parameters to store and forward data, configure MQTT topic as a data destination, and collect diagnostic trouble code data. It includes APIs for network agnostic data collection using custom decoding interfaces, and monitoring the last known state of vehicles. +* api-change:``iot-jobs-data``: General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices +* api-change:``lambda``: Adds support for metrics for event source mappings for AWS Lambda +* api-change:``logs``: Adds "Create field indexes to improve query performance and reduce scan volume" and "Transform logs during ingestion". Updates documentation for "PutLogEvents with Entity". +* api-change:``notifications``: This release adds support for AWS User Notifications. You can now configure and view notifications from AWS services in a central location using the AWS SDK. +* api-change:``notificationscontacts``: This release adds support for AWS User Notifications Contacts. You can now configure and view email contacts for AWS User Notifications using the AWS SDK. +* api-change:``resiliencehub``: AWS Resilience Hub's new summary view visually represents applications' resilience through charts, enabling efficient resilience management. It provides a consolidated view of the app portfolio's resilience state and allows data export for custom stakeholder reporting. +* api-change:``s3``: Add support for conditional deletes for the S3 DeleteObject and DeleteObjects APIs. Add support for write offset bytes option used to append to objects with the S3 PutObject API. +* api-change:``ssm``: Added support for providing high-level overviews of managed nodes and previewing the potential impact of a runbook execution. +* api-change:``ssm-quicksetup``: Add methods that retrieve details about deployed configurations: ListConfigurations, GetConfiguration +* api-change:``xray``: AWS X-Ray introduces Transaction Search APIs, enabling span ingestion into CloudWatch Logs for high-scale trace data indexing. These APIs support span-level queries, trace graph generation, and metric correlation for deeper application insights. + + +1.36.7 +====== + +* api-change:``autoscaling``: With this release, customers can prioritize launching instances into ODCRs using targets from ASGs or Launch Templates. Customers can express their baseline instances' CPU-performance in attribute-based Instance Requirements configuration by referencing an instance family that meets their needs. +* api-change:``bedrock-agent-runtime``: Releasing new Prompt Optimization to enhance your prompts for improved performance +* api-change:``cloudfront``: Add support for gRPC, VPC origins, and Anycast IP Lists. Allow LoggingConfig IncludeCookies to be set regardless of whether the LoggingConfig is enabled. +* api-change:``compute-optimizer``: This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for Amazon Aurora database instances. It also enables Compute Optimizer to identify idle Amazon EC2 instances, Amazon EBS volumes, Amazon ECS services running on Fargate, and Amazon RDS databases. +* api-change:``controltower``: Adds support for child enabled baselines which allow you to see the enabled baseline status for individual accounts. +* api-change:``cost-optimization-hub``: This release adds action type "Delete" to the GetRecommendation, ListRecommendations and ListRecommendationSummaries APIs to support new EBS and ECS recommendations with action type "Delete". +* api-change:``datazone``: This release supports Metadata Enforcement Rule feature for Create Subscription Request action. +* api-change:``discovery``: Add support to import data from commercially available discovery tools without file manipulation. +* api-change:``ec2``: With this release, customers can express their desire to launch instances only in an ODCR or ODCR group rather than OnDemand capacity. Customers can express their baseline instances' CPU-performance in attribute-based Instance Requirements configuration by referencing an instance family. +* api-change:``ecs``: This release adds support for the Availability Zone rebalancing feature on Amazon ECS. +* api-change:``elbv2``: This release adds support for configuring Load balancer Capacity Unit reservations +* api-change:``lambda``: Add Node 22.x (node22.x) support to AWS Lambda +* api-change:``mediaconvert``: This release adds the ability to reconfigure concurrent job settings for existing queues and create queues with custom concurrent job settings. +* api-change:``mediapackagev2``: MediaPackage v2 now supports the Media Quality Confidence Score (MQCS) published from MediaLive. Customers can control input switching based on the MQCS and publishing HTTP Headers for the MQCS via the API. +* api-change:``omics``: Enabling call caching feature that allows customers to reuse previously computed results from a set of completed tasks in a new workflow run. +* api-change:``rbin``: This release adds support for exclusion tags for Recycle Bin, which allows you to identify resources that are to be excluded, or ignored, by a Region-level retention rule. +* api-change:``rds``: This release adds support for scale storage on the DB instance using a Blue/Green Deployment. +* api-change:``timestream-query``: This release adds support for Provisioning Timestream Compute Units (TCUs), a new feature that allows provisioning dedicated compute resources for your queries, providing predictable and cost-effective query performance. +* api-change:``workspaces``: Added support for Rocky Linux 8 on Amazon WorkSpaces Personal. +* api-change:``workspaces-web``: Added data protection settings with support for inline data redaction. + + +1.36.6 +====== + +* api-change:``b2bi``: Add new X12 transactions sets and versions +* api-change:``ec2``: This release adds VPC Block Public Access (VPC BPA), a new declarative control which blocks resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways. +* api-change:``ecs``: This release introduces support for configuring the version consistency feature for individual containers defined within a task definition. The configuration allows to specify whether ECS should resolve the container image tag specified in the container definition to an image digest. +* api-change:``efs``: Add support for the new parameters in EFS replication APIs +* api-change:``glue``: AWS Glue Data Catalog now enhances managed table optimizations of Apache Iceberg tables that can be accessed only from a specific Amazon Virtual Private Cloud (VPC) environment. +* api-change:``keyspaces``: Amazon Keyspaces Multi-Region Replication: Adds support to add new regions to multi and single-region keyspaces. +* api-change:``mwaa``: Amazon MWAA now supports a new environment class, mw1.micro, ideal for workloads requiring fewer resources than mw1.small. This class supports a single instance of each Airflow component: Scheduler, Worker, and Webserver. +* api-change:``taxsettings``: Release Tax Inheritance APIs, Tax Exemption APIs, and functionality update for some existing Tax Registration APIs +* api-change:``workspaces``: Releasing new ErrorCodes for Image Validation failure during CreateWorkspaceImage process + + +1.36.5 +====== + +* api-change:``appconfig``: AWS AppConfig has added a new extension action point, AT_DEPLOYMENT_TICK, to support third-party monitors to trigger an automatic rollback during a deployment. +* api-change:``autoscaling``: Amazon EC2 Auto Scaling now supports Amazon Application Recovery Controller (ARC) zonal shift and zonal autoshift to help you quickly recover an impaired application from failures in an Availability Zone (AZ). +* api-change:``cloudformation``: This release adds a new API, ListHookResults, that allows retrieving CloudFormation Hooks invocation results for hooks invoked during a create change set operation or Cloud Control API operation +* api-change:``connect``: Adds CreateContactFlowVersion and ListContactFlowVersions APIs to create and view the versions of a contact flow. +* api-change:``customer-profiles``: This release introduces Segmentation APIs and new Calculated Attribute Event Filters as part of Amazon Connect Customer Profiles service. +* api-change:``ec2``: Adding request and response elements for managed resources. +* api-change:``ecs``: This release adds support for adding VPC Lattice configurations in ECS CreateService/UpdateService APIs. The configuration allows for associating VPC Lattice target groups with ECS Services. +* api-change:``iotsitewise``: The release introduces a generative AI Assistant in AWS IoT SiteWise. It includes: 1) InvokeAssistant API - Invoke the Assistant to get alarm summaries and ask questions. 2) Dataset APIs - Manage knowledge base configuration for the Assistant. 3) Portal APIs enhancement - Manage AI-aware dashboards. +* api-change:``qconnect``: This release introduces MessageTemplate as a resource in Amazon Q in Connect, along with APIs to create, read, search, update, and delete MessageTemplate resources. +* api-change:``rds``: Add support for the automatic pause/resume feature of Aurora Serverless v2. +* api-change:``rds-data``: Add support for the automatic pause/resume feature of Aurora Serverless v2. + + +1.36.4 +====== + +* api-change:``cloudwatch``: Adds support for adding related Entity information to metrics ingested through PutMetricData. +* api-change:``connectcampaignsv2``: Added Amazon Connect Outbound Campaigns V2 SDK. +* api-change:``datasync``: Doc-only updates and enhancements related to creating DataSync tasks and describing task executions. +* api-change:``ec2``: Remove non-functional enum variants for FleetCapacityReservationUsageStrategy +* api-change:``iot``: This release allows AWS IoT Core users to enrich MQTT messages with propagating attributes, to associate a thing to a connection, and to enable Online Certificate Status Protocol (OCSP) stapling for TLS X.509 server certificates through private endpoints. +* api-change:``outposts``: You can now purchase AWS Outposts rack or server capacity for a 5-year term with one of the following payment options: All Upfront, Partial Upfront, and No Upfront. +* api-change:``pinpoint-sms-voice-v2``: Use rule overrides to always allow or always block messages to specific phone numbers. Use message feedback to monitor if a customer interacts with your message. +* api-change:``route53resolver``: Route 53 Resolver DNS Firewall Advanced Rules allows you to monitor and block suspicious DNS traffic based on anomalies detected in the queries, such as DNS tunneling and Domain Generation Algorithms (DGAs). + + +1.36.3 +====== + +* api-change:``partnercentral-selling``: Announcing AWS Partner Central API for Selling: This service launch Introduces new APIs for co-selling opportunity management and related functions. Key features include notifications, a dynamic sandbox for testing, and streamlined validations. + + +1.36.2 +====== + +* api-change:``accessanalyzer``: Expand analyzer configuration capabilities for unused access analyzers. Unused access analyzer configurations now support the ability to exclude accounts and resource tags from analysis providing more granular control over the scope of analysis. +* api-change:``cloudcontrol``: Added support for CloudFormation Hooks with Cloud Control API. The GetResourceRequestStatus API response now includes an optional HooksProgressEvent and HooksRequestToken parameter for Hooks Invocation Progress as part of resource operation with Cloud Control. +* api-change:``deadline``: Adds support for select GPU accelerated instance types when creating new service-managed fleets. +* api-change:``iam``: This release includes support for five new APIs and changes to existing APIs that give AWS Organizations customers the ability to use temporary root credentials, targeted to member accounts in the organization. +* api-change:``iotwireless``: New FuotaTask resource type to enable logging for your FUOTA tasks. A ParticipatingGatewaysforMulticast parameter to choose the list of gateways to receive the multicast downlink message and the transmission interval between them. Descriptor field which will be sent to devices during FUOTA transfer. +* api-change:``ivs``: IVS now offers customers the ability to stream multitrack video to Channels. +* api-change:``license-manager-user-subscriptions``: New and updated API operations to support License Included User-based Subscription of Microsoft Remote Desktop Services (RDS). +* api-change:``partnercentral-selling``: Announcing AWS Partner Central API for Selling: This service launch Introduces new APIs for co-selling opportunity management and related functions. Key features include notifications, a dynamic sandbox for testing, and streamlined validations. +* api-change:``quicksight``: This release adds APIs for Custom Permissions management in QuickSight, and APIs to support QuickSight Branding. +* api-change:``redshift``: Adds support for Amazon Redshift S3AccessGrants +* api-change:``s3``: This release updates the ListBuckets API Reference documentation in support of the new 10,000 general purpose bucket default quota on all AWS accounts. To increase your bucket quota from 10,000 to up to 1 million buckets, simply request a quota increase via Service Quotas. +* api-change:``sagemaker``: Add support for Neuron instance types [ trn1/trn1n/inf2 ] on SageMaker Notebook Instances Platform. +* api-change:``sts``: This release introduces the new API 'AssumeRoot', which returns short-term credentials that you can use to perform privileged tasks. + + +1.36.1 +====== + +* api-change:``accessanalyzer``: This release adds support for policy validation and external access findings for resource control policies (RCP). IAM Access Analyzer helps you author functional and secure RCPs and awareness that a RCP may restrict external access. Updated service API, documentation, and paginators. +* api-change:``application-signals``: Amazon CloudWatch Application Signals now supports creating Service Level Objectives with burn rates. Users can now create or update SLOs with burn rate configurations to meet their specific business requirements. +* api-change:``b2bi``: This release adds a GenerateMapping API to allow generation of JSONata or XSLT transformer code based on input and output samples. +* api-change:``billing``: Today, AWS announces the general availability of ListBillingViews API in the AWS SDKs, to enable AWS Billing Conductor (ABC) users to create proforma Cost and Usage Reports (CUR) programmatically. +* api-change:``cloudtrail``: This release adds a new API GenerateQuery that generates a query from a natural language prompt about the event data in your event data store. This operation uses generative artificial intelligence (generative AI) to produce a ready-to-use SQL query from the prompt. +* api-change:``dynamodb``: This release includes supports the new WarmThroughput feature for DynamoDB. You can now provide an optional WarmThroughput attribute for CreateTable or UpdateTable APIs to pre-warm your table or global secondary index. You can also use DescribeTable to see the latest WarmThroughput value. +* api-change:``ec2``: This release adds the source AMI details in DescribeImages API +* api-change:``internetmonitor``: Add new query type Routing_Suggestions regarding querying interface +* api-change:``mediaconvert``: This release adds support for ARN inputs in the Kantar credentials secrets name field and the MSPR field to the manifests for PlayReady DRM protected outputs. +* api-change:``organizations``: Add support for policy operations on the Resource Control Polices. + + +1.36.0 +====== + +* api-change:``codebuild``: AWS CodeBuild now supports non-containerized Linux and Windows builds on Reserved Capacity. +* api-change:``controltower``: Added ResetEnabledControl API. +* api-change:``fis``: This release adds support for generating experiment reports with the experiment report configuration +* api-change:``gamelift``: Amazon GameLift releases container fleets support for general availability. Deploy Linux-based containerized game server software for hosting on Amazon GameLift. +* api-change:``payment-cryptography``: Updated ListAliases API with KeyArn filter. +* api-change:``rds``: Updates Amazon RDS documentation for Amazon RDS Extended Support for Amazon Aurora MySQL. +* feature:shorthand: Adds support to shorthand syntax for loading parameters from files via the ``@=`` assignment operator. + + +1.35.24 +======= + +* api-change:``cloudfront``: No API changes from previous release. This release migrated the model to Smithy keeping all features unchanged. +* api-change:``inspector2``: Adds support for filePath filter. +* api-change:``lambda``: Add Python 3.13 (python3.13) support to AWS Lambda +* api-change:``opensearch``: Adds Support for new AssociatePackages and DissociatePackages API in Amazon OpenSearch Service that allows association and dissociation operations to be carried out on multiple packages at the same time. +* api-change:``outposts``: This release updates StartCapacityTask to allow an active Outpost to be modified. It also adds a new API to list all running EC2 instances on the Outpost. + + +1.35.23 +======= + +* api-change:``batch``: This feature allows override LaunchTemplates to be specified in an AWS Batch Compute Environment. +* api-change:``bedrock-agent-runtime``: This release adds trace functionality to Bedrock Prompt Flows +* api-change:``chime-sdk-media-pipelines``: Added support for Media Capture Pipeline and Media Concatenation Pipeline for customer managed server side encryption. Now Media Capture Pipeline can use IAM sink role to get access to KMS key and encrypt/decrypt recorded artifacts. KMS key ID can also be supplied with encryption context. +* api-change:``controlcatalog``: AWS Control Catalog GetControl public API returns additional data in output, including Implementation and Parameters +* api-change:``eks``: Adds new error code `Ec2InstanceTypeDoesNotExist` for Amazon EKS managed node groups +* api-change:``firehose``: Amazon Data Firehose / Features : Adds support for a new DeliveryStreamType, DatabaseAsSource. DatabaseAsSource hoses allow customers to stream CDC events from their RDS and Amazon EC2 hosted databases, running MySQL and PostgreSQL database engines, to Iceberg Table destinations. +* api-change:``lambda``: This release adds support for using AWS KMS customer managed keys to encrypt AWS Lambda .zip deployment packages. +* api-change:``pinpoint-sms-voice-v2``: Added the RequiresAuthenticationTimestamp field to the RegistrationVersionStatusHistory data type. +* api-change:``qbusiness``: Adds S3 path option to pass group member list for PutGroup API. + + +1.35.22 +======= + +* api-change:``autoscaling``: Auto Scaling groups now support the ability to strictly balance instances across Availability Zones by configuring the AvailabilityZoneDistribution parameter. If balanced-only is configured for a group, launches will always be attempted in the under scaled Availability Zone even if it is unhealthy. +* api-change:``bedrock-agent``: Add prompt support for chat template configuration and agent generative AI resource. Add support for configuring an optional guardrail in Prompt and Knowledge Base nodes in Prompt Flows. Add API to validate flow definition +* api-change:``bedrock-runtime``: Add Prompt management support to Bedrock runtime APIs: Converse, ConverseStream, InvokeModel, InvokeModelWithStreamingResponse +* api-change:``cleanrooms``: This release introduces support for Custom Models in AWS Clean Rooms ML. +* api-change:``cleanroomsml``: This release introduces support for Custom Models in AWS Clean Rooms ML. +* api-change:``quicksight``: Add Client Credentials based OAuth support for Snowflake and Starburst +* api-change:``resource-explorer-2``: Add GetManagedView, ListManagedViews APIs. +* api-change:``synthetics``: Add support to toggle if a canary will automatically delete provisioned canary resources such as Lambda functions and layers when a canary is deleted. This behavior can be controlled via the new ProvisionedResourceCleanup property exposed in the CreateCanary and UpdateCanary APIs. + + +1.35.21 +======= + +* api-change:``codebuild``: AWS CodeBuild now adds additional compute types for reserved capacity fleet. +* api-change:``guardduty``: GuardDuty RDS Protection expands support for Amazon Aurora PostgreSQL Limitless Databases. +* api-change:``lakeformation``: API changes for new named tag expressions feature. +* api-change:``qapps``: Introduces category apis in AmazonQApps. Web experience users use Categories to tag and filter library items. +* api-change:``s3control``: Fix ListStorageLensConfigurations and ListStorageLensGroups deserialization for Smithy SDKs. +* api-change:``verifiedpermissions``: Adding BatchGetPolicy API which supports the retrieval of multiple policies across multiple policy stores within a single request. + + +1.35.20 +======= + +* api-change:``bedrock-agent``: Amazon Bedrock Knowledge Bases now supports using application inference profiles to increase throughput and improve resilience. +* api-change:``docdb-elastic``: Amazon DocumentDB Elastic Clusters adds support for pending maintenance actions feature with APIs GetPendingMaintenanceAction, ListPendingMaintenanceActions and ApplyPendingMaintenanceAction +* api-change:``logs``: This release introduces an improvement in PutLogEvents +* api-change:``taxsettings``: Add support for supplemental tax registrations via these new APIs: PutSupplementalTaxRegistration, ListSupplementalTaxRegistrations, and DeleteSupplementalTaxRegistration. + + +1.35.19 +======= + +* api-change:``amp``: Added support for UpdateScraper API, to enable updating collector configuration in-place +* api-change:``autoscaling``: Adds bake time for Auto Scaling group Instance Refresh +* api-change:``batch``: Add `podNamespace` to `EksAttemptDetail` and `containerID` to `EksAttemptContainerDetail`. +* api-change:``elbv2``: Add UDP support for AWS PrivateLink and dual-stack Network Load Balancers +* api-change:``glue``: Add schedule support for AWS Glue column statistics +* api-change:``sagemaker``: SageMaker HyperPod adds scale-down at instance level via BatchDeleteClusterNodes API and group level via UpdateCluster API. SageMaker Training exposes secondary job status in TrainingJobSummary from ListTrainingJobs API. SageMaker now supports G6, G6e, P5e instances for HyperPod and Training. +* api-change:``sesv2``: This release enables customers to provide the email template content in the SESv2 SendEmail and SendBulkEmail APIs instead of the name or the ARN of a stored email template. + + +1.35.18 +======= + +* api-change:``appsync``: This release adds support for AppSync Event APIs. +* api-change:``connect``: Updated the public documentation for the UserIdentityInfo object to accurately reflect the character limits for the FirstName and LastName fields, which were previously listed as 1-100 characters. +* api-change:``datasync``: AWS DataSync now supports Enhanced mode tasks. This task mode supports transfer of virtually unlimited numbers of objects with enhanced metrics, more detailed logs, and higher performance than Basic mode. This mode currently supports transfers between Amazon S3 locations. +* api-change:``ec2``: This release adds two new capabilities to VPC Security Groups: Security Group VPC Associations and Shared Security Groups. +* api-change:``ecs``: This release supports service deployments and service revisions which provide a comprehensive view of your Amazon ECS service history. +* api-change:``geo-maps``: Release of Amazon Location Maps API. Maps enables you to build digital maps that showcase your locations, visualize your data, and unlock insights to drive your business +* api-change:``geo-places``: Release of Amazon Location Places API. Places enables you to quickly search, display, and filter places, businesses, and locations based on proximity, category, and name +* api-change:``geo-routes``: Release of Amazon Location Routes API. Routes enables you to plan efficient routes and streamline deliveries by leveraging real-time traffic, vehicle restrictions, and turn-by-turn directions. +* api-change:``keyspaces``: Adds support for interacting with user-defined types (UDTs) through the following new operations: Create-Type, Delete-Type, List-Types, Get-Type. +* api-change:``network-firewall``: AWS Network Firewall now supports configuring TCP idle timeout +* api-change:``opensearch``: This release introduces the new OpenSearch user interface (Dashboards), a new web-based application that can be associated with multiple data sources across OpenSearch managed clusters, serverless collections, and Amazon S3, so that users can gain a comprehensive insights in an unified interface. +* api-change:``opensearchserverless``: Neo Integration via IAM Identity Center (IdC) +* api-change:``redshift``: This release launches S3 event integrations to create and manage integrations from an Amazon S3 source into an Amazon Redshift database. +* api-change:``redshift-serverless``: Adds and updates API members for the Redshift Serverless AI-driven scaling and optimization feature using the price-performance target setting. +* api-change:``route53``: This release adds support for TLSA, SSHFP, SVCB, and HTTPS record types. +* api-change:``sagemaker``: Added support for Model Registry Staging construct. Users can define series of stages that models can progress through for model workflows and lifecycle. This simplifies tracking and managing models as they transition through development, testing, and production stages. +* api-change:``workmail``: This release adds support for Multi-Factor Authentication (MFA) and Personal Access Tokens through integration with AWS IAM Identity Center. + + +1.35.17 +======= + +* api-change:``bedrock``: Update Application Inference Profile +* api-change:``bedrock-runtime``: Update Application Inference Profile +* api-change:``cleanrooms``: This release adds the option for customers to configure analytics engine when creating a collaboration, and introduces the new SPARK analytics engine type in addition to maintaining the legacy CLEAN_ROOMS_SQL engine type. +* api-change:``iotfleetwise``: Updated BatchCreateVehicle and BatchUpdateVehicle APIs: LimitExceededException has been added and the maximum number of vehicles in a batch has been set to 10 explicitly +* api-change:``logs``: Added support for new optional baseline parameter in the UpdateAnomaly API. For UpdateAnomaly requests with baseline set to True, The anomaly behavior is then treated as baseline behavior. However, more severe occurrences of this behavior will still be reported as anomalies. +* api-change:``redshift-data``: Adding a new API GetStatementResultV2 that supports CSV formatted results from ExecuteStatement and BatchExecuteStatement calls. +* api-change:``sagemaker``: Adding `notebook-al2-v3` as allowed value to SageMaker NotebookInstance PlatformIdentifier attribute + + +1.35.16 +======= + +* api-change:``mediapackagev2``: MediaPackage V2 Live to VOD Harvester is a MediaPackage V2 feature, which is used to export content from an origin endpoint to a S3 bucket. +* api-change:``opensearch``: Adds support for provisioning dedicated coordinator nodes. Coordinator nodes can be specified using the new NodeOptions parameter in ClusterConfig. +* api-change:``rds``: This release adds support for Enhanced Monitoring and Performance Insights when restoring Aurora Limitless Database DB clusters. It also adds support for the os-upgrade pending maintenance action. +* api-change:``storagegateway``: Documentation update: Amazon FSx File Gateway will no longer be available to new customers. + + +1.35.15 +======= + +* api-change:``bedrock-agent``: Add support of new model types for Bedrock Agents, Adding inference profile support for Flows and Prompt Management, Adding new field to configure additional inference configurations for Flows and Prompt Management +* api-change:``codebuild``: AWS CodeBuild now supports automatically retrying failed builds +* api-change:``lambda``: Add TagsError field in Lambda GetFunctionResponse. The TagsError field contains details related to errors retrieving tags. +* api-change:``logs``: Adding inferred token name for dynamic tokens in Anomalies. +* api-change:``supplychain``: API doc updates, and also support showing error message on a failed instance + + +1.35.14 +======= + +* api-change:``appconfig``: This release improves deployment safety by granting customers the ability to REVERT completed deployments, to the last known good state.In the StopDeployment API revert case the status of a COMPLETE deployment will be REVERTED. AppConfig only allows a revert within 72 hours of deployment completion. +* api-change:``ec2``: This release includes a new API to describe some details of the Amazon Machine Images (AMIs) that were used to launch EC2 instances, even if those AMIs are no longer available for use. +* api-change:``ecs``: This release adds support for EBS volumes attached to Amazon ECS Windows tasks running on EC2 instances. +* api-change:``pcs``: Documentation update: added the default value of the Slurm configuration parameter scaleDownIdleTimeInSeconds to its description. +* api-change:``qbusiness``: Add a new field in chat response. This field can be used to support nested schemas in array fields +* bugfix:shorthand: Improve performance when parsing invalid shorthand syntax. + + +1.35.13 +======= + +* api-change:``bedrock``: Doc updates for supporting converse +* api-change:``connect``: Amazon Connect Service Feature: Add support to start screen sharing for a web calling contact. +* api-change:``ec2``: Amazon EC2 X8g, C8g and M8g instances are powered by AWS Graviton4 processors. X8g provide the lowest cost per GiB of memory among Graviton4 instances. C8g provide the best price performance for compute-intensive workloads. M8g provide the best price performance in for general purpose workloads. +* api-change:``mwaa``: Introducing InvokeRestApi which allows users to invoke the Apache Airflow REST API on the webserver with the specified inputs. +* api-change:``payment-cryptography``: Add support for ECC P-256 and P-384 Keys. +* api-change:``payment-cryptography-data``: Add ECDH support on PIN operations. + + +1.35.12 +======= + +* api-change:``bedrock-runtime``: Updating invoke regex to support imported models for converse API +* api-change:``imagebuilder``: Add macOS platform and instance placement options +* api-change:``m2``: Add AuthSecretsManagerArn optional parameter to batch job APIs, expand batch parameter limits, and introduce clientToken constraints. +* api-change:``rds``: Global clusters now expose the Endpoint attribute as one of its fields. It is a Read/Write endpoint for the global cluster which resolves to the Global Cluster writer instance. +* api-change:``repostspace``: Adds the BatchAddRole and BatchRemoveRole APIs. +* api-change:``timestream-query``: This release adds support for Query Insights, a feature that provides details of query execution, enabling users to identify areas for improvement to optimize their queries, resulting in improved query performance and lower query costs. + + +1.35.11 +======= + +* api-change:``application-insights``: This feature enables customers to specify SNS Topic ARN. CloudWatch Application Insights (CWAI) will utilize this ARN to send problem notifications. +* api-change:``autoscaling``: Adds support for removing the PlacementGroup setting on an Auto Scaling Group through the UpdateAutoScalingGroup API. +* api-change:``bedrock-agent-runtime``: Knowledge Bases for Amazon Bedrock now supports custom prompts and model parameters in the orchestrationConfiguration of the RetrieveAndGenerate API. The modelArn field accepts Custom Models and Imported Models ARNs. +* api-change:``dms``: Added support for tagging in StartReplicationTaskAssessmentRun API and introduced IsLatestTaskAssessmentRun and ResultStatistic fields for enhanced tracking and assessment result statistics. +* api-change:``ec2``: Amazon EC2 now allows you to create network interfaces with just the EFA driver and no ENA driver by specifying the network interface type as efa-only. +* api-change:``eks``: This release adds support for Amazon Application Recovery Controller (ARC) zonal shift and zonal autoshift with EKS that enhances the resiliency of multi-AZ cluster environments +* api-change:``fms``: Update AWS WAF policy - add the option to retrofit existing web ACLs instead of creating all new web ACLs. +* api-change:``payment-cryptography-data``: Adding new API to generate authenticated scripts for EMV pin change use cases. +* api-change:``wafv2``: Add a property to WebACL to indicate whether it's been retrofitted by Firewall Manager. + + +1.35.10 +======= + +* api-change:``athena``: Removing FEDERATED from Create/List/Delete/GetDataCatalog API +* api-change:``bedrock``: Adding converse support to CMI API's +* api-change:``bedrock-runtime``: Added converse support for custom imported models +* api-change:``datazone``: Adding the following project member designations: PROJECT_CATALOG_VIEWER, PROJECT_CATALOG_CONSUMER and PROJECT_CATALOG_STEWARD in the CreateProjectMembership API and PROJECT_CATALOG_STEWARD designation in the AddPolicyGrant API. +* api-change:``ec2``: RequestSpotInstances and RequestSpotFleet feature release. + + +1.35.9 +====== + +* api-change:``bedrock-agent``: Removing support for topK property in PromptModelInferenceConfiguration object, Making PromptTemplateConfiguration property as required, Limiting the maximum PromptVariant to 1 +* api-change:``dataexchange``: This release adds Data Grant support, through which customers can programmatically create data grants to share with other AWS accounts and accept data grants from other AWS accounts. +* api-change:``ecs``: This is an Amazon ECS documentation only update to address tickets. +* api-change:``pinpoint-sms-voice-v2``: Added the registrations status of REQUIRES_AUTHENTICATION +* api-change:``pipes``: This release adds validation to require specifying a SecurityGroup and Subnets in the Vpc object under PipesSourceSelfManagedKafkaParameters. It also adds support for iso-e, iso-f, and other non-commercial partitions in ARN parameters. +* api-change:``quicksight``: Add StartDashboardSnapshotJobSchedule API. RestoreAnalysis now supports restoring analysis to folders. +* api-change:``rds``: Updates Amazon RDS documentation for TAZ IAM support +* api-change:``workspaces``: Updated the DomainName pattern for Active Directory + + +1.35.8 +====== + +* api-change:``s3``: Add support for the new optional bucket-region and prefix query parameters in the ListBuckets API. For ListBuckets requests that express pagination, Amazon S3 will now return both the bucket names and associated AWS regions in the response. + + +1.35.7 +====== + +* api-change:``amplify``: Added sourceUrlType field to StartDeployment request +* api-change:``cloudformation``: Documentation update for AWS CloudFormation API Reference. +* api-change:``codebuild``: Enable proxy for reserved capacity fleet. +* api-change:``ivs``: On a channel that you own, you can now replace an ongoing stream with a new stream by streaming up with the priority parameter appended to the stream key. +* api-change:``qbusiness``: Amazon Q Business now supports embedding the Amazon Q Business web experience on third-party websites. +* api-change:``redshift``: This release launches the CreateIntegration, DeleteIntegration, DescribeIntegrations and ModifyIntegration APIs to create and manage Amazon Redshift Zero-ETL Integrations. +* api-change:``resiliencehub``: AWS Resilience Hub now integrates with the myApplications platform, enabling customers to easily assess the resilience of applications defined in myApplications. The new Resiliency widget provides visibility into application resilience and actionable recommendations for improvement. +* api-change:``sesv2``: This release adds support for email maximum delivery seconds that allows senders to control the time within which their emails are attempted for delivery. + + +1.35.6 +====== + +* api-change:``codepipeline``: AWS CodePipeline V2 type pipelines now support automatically retrying failed stages and skipping stage for failed entry conditions. +* api-change:``mailmanager``: Mail Manager support for viewing and exporting metadata of archived messages. +* api-change:``securitylake``: This release updates request validation regex for resource ARNs. +* api-change:``supplychain``: This release adds AWS Supply Chain instance management functionality. Specifically adding CreateInstance, DeleteInstance, GetInstance, ListInstances, and UpdateInstance APIs. +* api-change:``transfer``: This release enables customers using SFTP connectors to query the transfer status of their files to meet their monitoring needs as well as orchestrate post transfer actions. + + +1.35.5 +====== + +* api-change:``appflow``: Doc only updates for clarification around OAuth2GrantType for Salesforce. +* api-change:``elbv2``: Add zonal_shift.config.enabled attribute. Add new AdministrativeOverride construct in the describe-target-health API response to include information about the override status applied to a target. +* api-change:``emr``: This release provides new parameter "Context" in instance fleet clusters. +* api-change:``guardduty``: Added a new field for network connection details. +* api-change:``robomaker``: Documentation update: added support notices to each API action. + + +1.35.4 +====== + +* api-change:``acm-pca``: Documentation updates for AWS Private CA. +* api-change:``dms``: Introduces DescribeDataMigrations, CreateDataMigration, ModifyDataMigration, DeleteDataMigration, StartDataMigration, StopDataMigration operations to SDK. Provides FailedDependencyFault error message. +* api-change:``ec2``: This release adds support for assigning the billing of shared Amazon EC2 On-Demand Capacity Reservations. +* api-change:``ecs``: This is a documentation only release that updates to documentation to let customers know that Amazon Elastic Inference is no longer available. +* api-change:``elastic-inference``: Elastic Inference - Documentation update to add service shutdown notice. +* api-change:``iotfleetwise``: Refine campaign related API validations +* api-change:``neptune-graph``: Support for 16 m-NCU graphs available through account allowlisting +* api-change:``outposts``: Adding new "DELIVERED" enum value for Outposts Order status +* api-change:``route53resolver``: Route 53 Resolver Forwarding Rules can now include a server name indication (SNI) in the target address for rules that use the DNS-over-HTTPS (DoH) protocol. When a DoH-enabled Outbound Resolver Endpoint forwards a request to a DoH server, it will provide the SNI in the TLS handshake. +* api-change:``socialmessaging``: This release for AWS End User Messaging includes a public SDK, providing a suite of APIs that enable sending WhatsApp messages to end users. +* api-change:``timestream-influxdb``: This release updates our regex based validation rules in regards to valid DbInstance and DbParameterGroup name. + + +1.35.3 +====== + +* api-change:``codepipeline``: AWS CodePipeline introduces a Compute category + + +1.35.2 +====== + +* api-change:``elasticache``: AWS ElastiCache SDK now supports using APIs with newly launched Valkey engine. Please refer to updated AWS ElastiCache public documentation for detailed information on API usage. +* api-change:``memorydb``: Amazon MemoryDB SDK now supports all APIs for newly launched Valkey engine. Please refer to the updated Amazon MemoryDB public documentation for detailed information on API usage. +* enhancement:``s3``: Adds logic to gracefully handle invalid timestamps returned in the Expires header. + + +1.35.1 +====== + +* api-change:``deadline``: Add support for using the template from a previous job during job creation and listing parameter definitions for a job. +* api-change:``marketplace-reporting``: Documentation-only update for AWS Marketplace Reporting API. +* api-change:``qconnect``: This release adds support for the following capabilities: Configuration of the Gen AI system via AIAgent and AIPrompts. Integration support for Bedrock Knowledge Base. +* api-change:``redshift``: Add validation pattern to S3KeyPrefix on the EnableLogging API + + +1.35.0 +====== + +* api-change:``ec2``: Documentation updates for Amazon EC2. +* api-change:``iot-data``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* feature:s3: Adds ``--checksum-mode`` and ``--checksum-algorithm`` parameters to high-level ``s3`` commands. + + +1.34.33 +======= + +* api-change:``codepipeline``: AWS CodePipeline introduces Commands action that enables you to easily run shell commands as part of your pipeline execution. +* api-change:``connect``: Public GetMetricDataV2 Grouping increase from 3 to 4 +* api-change:``ec2``: This release includes a new API for modifying instance cpu-options after launch. +* api-change:``iot``: This release adds support for Custom Authentication with X.509 Client Certificates, support for Custom Client Certificate validation, and support for selecting application protocol and authentication type without requiring TLS ALPN for customer's AWS IoT Domain Configurations. +* api-change:``marketplace-reporting``: The AWS Marketplace Reporting service introduces the GetBuyerDashboard API. This API returns a dashboard that provides visibility into your organization's AWS Marketplace agreements and associated spend across the AWS accounts in your organization. +* api-change:``mediapackagev2``: Added support for ClipStartTime on the FilterConfiguration object on OriginEndpoint manifest settings objects. Added support for EXT-X-START tags on produced HLS child playlists. +* api-change:``quicksight``: QuickSight: Add support for exporting and importing folders in AssetBundle APIs + + +1.34.32 +======= + +* api-change:``appstream``: Added support for Automatic Time Zone Redirection on Amazon AppStream 2.0 +* api-change:``b2bi``: Added and updated APIs to support outbound EDI transformations +* api-change:``bedrock-agent-runtime``: Added raw model response and usage metrics to PreProcessing and PostProcessing Trace +* api-change:``bedrock-runtime``: Added new fields to Amazon Bedrock Guardrails trace +* api-change:``iotdeviceadvisor``: Add clientToken attribute and implement idempotency for CreateSuiteDefinition. +* api-change:``ivs-realtime``: Adds new Stage Health EventErrorCodes applicable to RTMP(S) broadcasts. Bug Fix: Enforces that EncoderConfiguration Video height and width must be even-number values. +* api-change:``s3``: This release introduces a header representing the minimum object size limit for Lifecycle transitions. +* api-change:``sagemaker``: releasing builtinlcc to public +* api-change:``workspaces``: WSP is being rebranded to become DCV. + + +1.34.31 +======= + +* api-change:``bedrock-agent``: This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock. +* api-change:``codeartifact``: Add support for the dual stack endpoints. +* api-change:``rds``: This release provides additional support for enabling Aurora Limitless Database DB clusters. + + +1.34.30 +======= + +* api-change:``bedrock``: Add support for custom models via provisioned throughput for Bedrock Model Evaluation +* api-change:``clouddirectory``: Add examples for API operations in model. +* api-change:``connect``: Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts +* api-change:``pricing``: Add examples for API operations in model. +* api-change:``resource-groups``: This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications. +* api-change:``supplychain``: Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain +* api-change:``timestream-influxdb``: Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API. +* api-change:``verifiedpermissions``: Add examples for API operations in model. + + +1.34.29 +======= + +* api-change:``customer-profiles``: Introduces optional RoleArn parameter for PutIntegration request and includes RoleArn in the response of PutIntegration, GetIntegration and ListIntegrations +* api-change:``quicksight``: Adding personalization in QuickSight data stories. Admins can enable or disable personalization through QuickSight settings. +* api-change:``securityhub``: Documentation updates for AWS Security Hub +* api-change:``sesv2``: This release adds support for engagement tracking over Https using custom domains. + + +1.34.28 +======= + +* api-change:``chatbot``: Return State and StateReason fields for Chatbot Channel Configurations. +* api-change:``lambda``: Reverting Lambda resource-based policy and block public access APIs. +* api-change:``organizations``: Add support for policy operations on the CHATBOT_POLICY policy type. +* api-change:``pcs``: AWS PCS API documentation - Edited the description of the iamInstanceProfileArn parameter of the CreateComputeNodeGroup and UpdateComputeNodeGroup actions; edited the description of the SlurmCustomSetting data type to list the supported parameters for clusters and compute node groups. +* api-change:``rds-data``: Documentation update for RDS Data API to reflect support for Aurora MySQL Serverless v2 and Provisioned DB clusters. +* api-change:``sagemaker``: Adding `TagPropagation` attribute to Sagemaker API + + +1.34.27 +======= + +* api-change:``cloudtrail``: Doc-only update for CloudTrail network activity events release (in preview) +* api-change:``ec2``: Updates to documentation for the transit gateway security group referencing feature. +* api-change:``fsx``: Doc-only update to address Lustre S3 hard-coded names. + + +1.34.26 +======= + +* api-change:``bedrock``: Add support for Cross Region Inference in Bedrock Model Evaluations. +* api-change:``budgets``: Releasing minor partitional endpoint updates +* api-change:``kinesis``: This release includes support to add tags when creating a stream +* api-change:``pinpoint-sms-voice-v2``: AWS End User Messaging SMS-Voice V2 has added support for resource policies. Use the three new APIs to create, view, edit, and delete resource policies. +* api-change:``sagemaker``: Adding `HiddenInstanceTypes` and `HiddenSageMakerImageVersionAliases` attribute to SageMaker API + + +1.34.25 +======= + +* api-change:``apigateway``: Documentation updates for Amazon API Gateway +* api-change:``athena``: List/Get/Update/Delete/CreateDataCatalog now integrate with AWS Glue connections. Users can create a Glue connection through Athena or use a Glue connection to define their Athena federated parameters. +* api-change:``bedrock-agent``: Amazon Bedrock Prompt Flows and Prompt Management now supports using inference profiles to increase throughput and improve resilience. +* api-change:``ec2``: Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads. +* api-change:``emr-serverless``: This release adds support for job concurrency and queuing configuration at Application level. +* api-change:``glue``: Added AthenaProperties parameter to Glue Connections, allowing Athena to store service specific properties on Glue Connections. +* api-change:``rds``: Support ComputeRedundancy parameter in ModifyDBShardGroup API. Add DBShardGroupArn in DBShardGroup API response. Remove InvalidMaxAcuFault from CreateDBShardGroup and ModifyDBShardGroup API. Both API will throw InvalidParameterValueException for invalid ACU configuration. +* api-change:``resource-explorer-2``: AWS Resource Explorer released ListResources feature which allows customers to list all indexed AWS resources within a view. + + +1.34.24 +======= + +* api-change:``dynamodb``: Generate account endpoint for DynamoDB requests when the account ID is available +* api-change:``neptune``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``sagemaker``: Amazon SageMaker now supports using manifest files to specify the location of uncompressed model artifacts within Model Packages +* api-change:``sagemaker-metrics``: This release introduces support for the SageMaker Metrics BatchGetMetrics API. +* api-change:``workspaces``: Releasing new ErrorCodes for SysPrep failures during ImageImport and CreateImage process +* enhancement:paginator: Add warning when a non-positive value is provided for the max-items pagination parameter. + + +1.34.23 +======= + +* api-change:``codeconnections``: This release adds the PullRequestComment field to CreateSyncConfiguration API input, UpdateSyncConfiguration API input, GetSyncConfiguration API output and ListSyncConfiguration API output +* api-change:``glue``: This change is for releasing TestConnection api SDK model +* api-change:``lambda``: Tagging support for Lambda event source mapping, and code signing configuration resources. +* api-change:``mediaconvert``: This release provides support for additional DRM configurations per SPEKE Version 2.0. +* api-change:``medialive``: Adds Bandwidth Reduction Filtering for HD AVC and HEVC encodes, multiplex container settings. +* api-change:``quicksight``: QuickSight: 1. Add new API - ListFoldersForResource. 2. Commit mode adds visibility configuration of Apply button on multi-select controls for authors. +* api-change:``sagemaker``: Introduced support for G6e instance types on SageMaker Studio for JupyterLab and CodeEditor applications. +* api-change:``workspaces-web``: WorkSpaces Secure Browser now enables Administrators to view and manage end-user browsing sessions via Session Management APIs. + + +1.34.22 +======= + +* api-change:``ce``: This release extends the GetReservationPurchaseRecommendation API to support recommendations for Amazon DynamoDB reservations. +* api-change:``ds``: Added new APIs for enabling, disabling, and describing access to the AWS Directory Service Data API +* api-change:``ds-data``: Added new AWS Directory Service Data API, enabling you to manage data stored in AWS Directory Service directories. This includes APIs for creating, reading, updating, and deleting directory users, groups, and group memberships. +* api-change:``guardduty``: Add `launchType` and `sourceIPs` fields to GuardDuty findings. +* api-change:``mailmanager``: Introduce a new RuleSet condition evaluation, where customers can set up a StringExpression with a MimeHeader condition. This condition will perform the necessary validation based on the X-header provided by customers. +* api-change:``rds``: Updates Amazon RDS documentation with information upgrading snapshots with unsupported engine versions for RDS for MySQL and RDS for PostgreSQL. +* api-change:``s3``: Added SSE-KMS support for directory buckets. + + +1.34.21 +======= + +* api-change:``codebuild``: GitLab Enhancements - Add support for Self-Hosted GitLab runners in CodeBuild. Add group webhooks +* api-change:``ecr``: The `DescribeImageScanning` API now includes `fixAvailable`, `exploitAvailable`, and `fixedInVersion` fields to provide more detailed information about the availability of fixes, exploits, and fixed versions for identified image vulnerabilities. +* api-change:``ecs``: This is a documentation only release to address various tickets. +* api-change:``lambda``: Support for JSON resource-based policies and block public access +* api-change:``rds``: Updates Amazon RDS documentation with configuration information about the BYOL model for RDS for Db2. +* api-change:``ssm``: Support for additional levels of cross-account, cross-Region organizational units in Automation. Various documentation updates. + + +1.34.20 +======= + +* api-change:``bedrock``: This feature adds cross account s3 bucket and VPC support to ModelInvocation jobs. To use a cross account bucket, pass in the accountId of the bucket to s3BucketOwner in the ModelInvocationJobInputDataConfig or ModelInvocationJobOutputDataConfig. +* api-change:``iot``: This release adds additional enhancements to AWS IoT Device Management Software Package Catalog and Jobs. It also adds SBOM support in Software Package Version. +* api-change:``medialive``: Removing the ON_PREMISE enum from the input settings field. +* api-change:``organizations``: Doc only update for AWS Organizations that fixes several customer-reported issues +* api-change:``pca-connector-scep``: This is a general availability (GA) release of Connector for SCEP, a feature of AWS Private CA. Connector for SCEP links your SCEP-enabled and mobile device management systems to AWS Private CA for digital signature installation and certificate management. +* api-change:``rds``: Launching Global Cluster tagging. + + +1.34.19 +======= + +* api-change:``amplify``: Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications +* api-change:``ivs``: Updates to all tags descriptions. +* api-change:``ivschat``: Updates to all tags descriptions. + + +1.34.18 +======= + +* api-change:``cognito-idp``: Added email MFA option to user pools with advanced security features. +* api-change:``elbv2``: Correct incorrectly mapped error in ELBv2 waiters +* api-change:``emr``: Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters. +* api-change:``glue``: AWS Glue is introducing two new optimizers for Apache Iceberg tables: snapshot retention and orphan file deletion. Customers can enable these optimizers and customize their configurations to perform daily maintenance tasks on their Iceberg tables based on their specific requirements. +* api-change:``mediaconvert``: This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback +* api-change:``rds``: This release adds support for the os-upgrade pending maintenance action for Amazon Aurora DB clusters. +* api-change:``storagegateway``: The S3 File Gateway now supports DSSE-KMS encryption. A new parameter EncryptionType is added to these APIs: CreateSmbFileShare, CreateNfsFileShare, UpdateSmbFileShare, UpdateNfsFileShare, DescribeSmbFileShares, DescribeNfsFileShares. Also, in favor of EncryptionType, KmsEncrypted is deprecated. +* api-change:``synthetics``: This release introduces two features. The first is tag replication, which allows for the propagation of canary tags onto Synthetics related resources, such as Lambda functions. The second is a limit increase in canary name length, which has now been increased from 21 to 255 characters. + + +1.34.17 +======= + +* api-change:``bedrock-agent``: Amazon Bedrock Knowledge Bases now supports using inference profiles to increase throughput and improve resilience. +* api-change:``bedrock-agent-runtime``: Amazon Bedrock Knowledge Bases now supports using inference profiles to increase throughput and improve resilience. +* api-change:``ecr``: Added KMS_DSSE to EncryptionType +* api-change:``guardduty``: Add support for new statistic types in GetFindingsStatistics. +* api-change:``lexv2-models``: Support new Polly voice engines in VoiceSettings: long-form and generative +* api-change:``medialive``: Adds AV1 Codec support, SRT ouputs, and MediaLive Anywhere support. + + +1.34.16 +======= + +* api-change:``chime-sdk-voice``: Documentation-only update that clarifies the ValidateE911Address action of the Amazon Chime SDK Voice APIs. +* api-change:``cognito-identity``: This release adds sensitive trait to some required shapes. +* api-change:``pipes``: This release adds support for customer managed KMS keys in Amazon EventBridge Pipe +* api-change:``securityhub``: Documentation update for Security Hub + + +1.34.15 +======= + +* api-change:``dynamodb``: Doc-only update for DynamoDB. Added information about async behavior for TagResource and UntagResource APIs and updated the description of ResourceInUseException. +* api-change:``elbv2``: Add paginators for the ELBv2 DescribeListenerCertificates and DescribeRules APIs. Fix broken waiter for the ELBv2 DescribeLoadBalancers API. +* api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability to broadcast to Stages using RTMP(S). +* api-change:``kafka``: Amazon MSK Replicator can now replicate data to identically named topics between MSK clusters within the same AWS Region or across different AWS Regions. +* api-change:``sagemaker``: Amazon Sagemaker supports orchestrating SageMaker HyperPod clusters with Amazon EKS +* api-change:``sagemaker-runtime``: AWS SageMaker Runtime feature: Add sticky routing to support stateful inference models. + + +1.34.14 +======= + +* api-change:``qapps``: Adds UpdateLibraryItemMetadata api to change status of app for admin verification feature and returns isVerified field in any api returning the app or library item. + + +1.34.13 +======= + +* api-change:``application-signals``: Amazon CloudWatch Application Signals now supports creating Service Level Objectives using a new calculation type. Users can now create SLOs which are configured with request-based SLIs to help meet their specific business requirements. +* api-change:``codepipeline``: Updates to add recent notes to APIs and to replace example S3 bucket names globally. +* api-change:``connect``: Amazon Connect Custom Vocabulary now supports Catalan (Spain), Danish (Denmark), Dutch (Netherlands), Finnish (Finland), Indonesian (Indonesia), Malay (Malaysia), Norwegian Bokmal (Norway), Polish (Poland), Swedish (Sweden), and Tagalog/Filipino (Philippines). +* api-change:``gamelift``: Amazon GameLift provides additional events for tracking the fleet creation process. +* api-change:``kinesisanalyticsv2``: Support for Flink 1.20 in Managed Service for Apache Flink +* api-change:``sagemaker``: Amazon SageMaker now supports idle shutdown of JupyterLab and CodeEditor applications on SageMaker Studio. + + +1.34.12 +======= + +* api-change:``appsync``: Adds new logging levels (INFO and DEBUG) for additional log output control +* api-change:``bedrock-agent``: Add support for user metadata inside PromptVariant. +* api-change:``finspace``: Updates Finspace documentation for smaller instances. +* api-change:``fis``: This release adds safety levers, a new mechanism to stop all running experiments and prevent new experiments from starting. +* api-change:``logs``: Update to support new APIs for delivery of logs from AWS services. +* api-change:``s3control``: Amazon Simple Storage Service /S3 Access Grants / Features : This release launches new Access Grants API - ListCallerAccessGrants. + + +1.34.11 +======= + +* api-change:``connect``: Release ReplicaConfiguration as part of DescribeInstance +* api-change:``datazone``: Add support to let data publisher specify a subset of the data asset that a subscriber will have access to based on the asset filters provided, when accepting a subscription request. +* api-change:``elbv2``: This release adds support for configuring TCP idle timeout on NLB and GWLB listeners. +* api-change:``mediaconnect``: AWS Elemental MediaConnect introduces thumbnails for Flow source monitoring. Thumbnails provide still image previews of the live content feeding your MediaConnect Flow allowing you to easily verify that your source is operating as expected. +* api-change:``medialive``: Added MinQP as a Rate Control option for H264 and H265 encodes. +* api-change:``sagemaker``: Amazon SageMaker now supports automatic mounting of a user's home folder in the Amazon Elastic File System (EFS) associated with the SageMaker Studio domain to their Studio Spaces to enable users to share data between their own private spaces. +* api-change:``timestream-influxdb``: Timestream for InfluxDB now supports compute scaling and deployment type conversion. This release adds the DbInstanceType and DeploymentType parameters to the UpdateDbInstance API. + + +1.34.10 +======= + +* api-change:``backup``: The latest update introduces two new attributes, VaultType and VaultState, to the DescribeBackupVault and ListBackupVaults APIs. The VaultState attribute reflects the current status of the vault, while the VaultType attribute indicates the specific category of the vault. +* api-change:``datazone``: Amazon DataZone now adds new governance capabilities of Domain Units for organization within your Data Domains, and Authorization Policies for tighter controls. +* api-change:``logs``: This release introduces a new optional parameter: Entity, in PutLogEvents request +* api-change:``redshift-data``: The release include the new Redshift DataAPI feature for session use, customer execute query with --session-keep-alive-seconds parameter and can submit follow-up queries to same sessions with returned`session-id` + + +1.34.9 +====== + +* api-change:``bedrock-agent-runtime``: Lifting the maximum length on Bedrock KnowledgeBase RetrievalFilter array +* api-change:``bedrock-runtime``: Add support for imported-model in invokeModel and InvokeModelWithResponseStream. +* api-change:``personalize``: This releases ability to update automatic training scheduler for customer solutions +* api-change:``quicksight``: Increased Character Limit for Dataset Calculation Field expressions +* api-change:``stepfunctions``: This release adds support for static analysis to ValidateStateMachineDefinition API, which can now return optional WARNING diagnostics for semantic errors on the definition of an Amazon States Language (ASL) state machine. +* api-change:``wafv2``: The minimum request rate for a rate-based rule is now 10. Before this, it was 100. + + +1.34.8 +====== + +* api-change:``appconfig``: This release adds support for deletion protection, which is a safety guardrail to prevent the unintentional deletion of a recently used AWS AppConfig Configuration Profile or Environment. This also includes a change to increase the maximum length of the Name parameter in UpdateConfigurationProfile. +* api-change:``datazone``: Update regex to include dot character to be consistent with IAM role creation in the authorized principal field for create and update subscription target. +* api-change:``devicefarm``: This release removed support for Calabash, UI Automation, Built-in Explorer, remote access record, remote access replay, and web performance profile framework in ScheduleRun API. +* api-change:``ec2``: Amazon VPC IP Address Manager (IPAM) now allows customers to provision IPv4 CIDR blocks and allocate Elastic IP Addresses directly from IPAM pools with public IPv4 space +* api-change:``internetmonitor``: Adds new querying types to show overall traffic suggestion information for monitors +* api-change:``pcs``: Introducing AWS Parallel Computing Service (AWS PCS), a new service makes it easy to setup and manage high performance computing (HPC) clusters, and build scientific and engineering models at virtually any scale on AWS. +* api-change:``workspaces``: Documentation-only update that clarifies the StartWorkspaces and StopWorkspaces actions, and a few other minor edits. + + +1.34.7 +====== + +* api-change:``bedrock``: Amazon Bedrock SDK updates for Inference Profile. +* api-change:``bedrock-runtime``: Amazon Bedrock SDK updates for Inference Profile. +* api-change:``chatbot``: Update documentation to be consistent with the API docs +* api-change:``omics``: Adds data provenance to import jobs from read sets and references +* api-change:``polly``: Amazon Polly adds 2 new voices: Jitka (cs-CZ) and Sabrina (de-CH). + + +1.34.6 +====== + +* api-change:``iotsitewise``: AWS IoT SiteWise now supports versioning for asset models. It enables users to retrieve active version of their asset model and perform asset model writes with optimistic lock. +* api-change:``workspaces``: This release adds support for creating and managing directories that use AWS IAM Identity Center as user identity source. Such directories can be used to create non-Active Directory domain joined WorkSpaces Personal.Updated RegisterWorkspaceDirectory and DescribeWorkspaceDirectories APIs. + + +1.34.5 +====== + +* api-change:``bedrock-agent``: Releasing the support for Action User Confirmation. +* api-change:``bedrock-agent-runtime``: Releasing the support for Action User Confirmation. +* api-change:``codebuild``: Added support for the MAC_ARM environment type for CodeBuild fleets. +* api-change:``organizations``: Releasing minor partitional endpoint updates. +* api-change:``qbusiness``: Amazon QBusiness: Enable support for SAML and OIDC federation through AWS IAM Identity Provider integration. +* api-change:``supplychain``: Update API documentation to clarify the event SLA as well as the data model expectations + + +1.34.4 +====== + +* api-change:``autoscaling``: Amazon EC2 Auto Scaling now provides EBS health check to manage EC2 instance replacement +* api-change:``bedrock``: Amazon Bedrock Evaluation BatchDeleteEvaluationJob API allows customers to delete evaluation jobs under terminated evaluation job statuses - Stopped, Failed, or Completed. Customers can submit a batch of 25 evaluation jobs to be deleted at once. +* api-change:``emr-containers``: Correct endpoint for FIPS is configured for US Gov Regions. +* api-change:``inspector2``: Add enums for Agentless scan statuses and EC2 enablement error states +* api-change:``quicksight``: Explicit query for authors and dashboard viewing sharing for embedded users +* api-change:``route53``: Amazon Route 53 now supports the Asia Pacific (Malaysia) Region (ap-southeast-5) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. + + +1.34.3 +====== + +* api-change:``ec2``: DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances +* api-change:``entityresolution``: Increase the mapping attributes in Schema to 35. +* api-change:``glue``: Add optional field JobRunQueuingEnabled to CreateJob and UpdateJob APIs. +* api-change:``lambda``: Release FilterCriteria encryption for Lambda EventSourceMapping, enabling customers to encrypt their filter criteria using a customer-owned KMS key. +* api-change:``securityhub``: Security Hub documentation and definition updates +* api-change:``ses``: Enable email receiving customers to provide SES with access to their S3 buckets via an IAM role for "Deliver to S3 Action" + + +1.34.2 +====== + +* api-change:``ecs``: Documentation only release to address various tickets +* api-change:``opensearchserverless``: Added FailureCode and FailureMessage to BatchGetCollectionResponse for BatchGetVPCEResponse for non-Active Collection and VPCE. +* api-change:``s3``: Amazon Simple Storage Service / Features : Add support for conditional writes for PutObject and CompleteMultipartUpload APIs. + + +1.34.1 +====== + +* api-change:``bedrock``: Amazon Bedrock Batch Inference/ Model Invocation is a feature which allows customers to asynchronously run inference on a large set of records/files stored in S3. +* api-change:``codebuild``: AWS CodeBuild now supports creating fleets with macOS platform for running builds. +* api-change:``deadline``: This release adds additional search fields and provides sorting by multiple fields. +* api-change:``lambda``: Release Lambda FunctionRecursiveConfig, enabling customers to turn recursive loop detection on or off on individual functions. This release adds two new APIs, GetFunctionRecursionConfig and PutFunctionRecursionConfig. +* api-change:``ssm-sap``: Add new attributes to the outputs of GetApplication and GetDatabase APIs. + + +1.34.0 +====== + +* api-change:``batch``: Improvements of integration between AWS Batch and EC2. +* api-change:``inspector2``: Update the correct format of key and values for resource tags +* api-change:``quicksight``: Amazon QuickSight launches Customer Managed Key (CMK) encryption for Data Source metadata +* api-change:``sagemaker``: Introduce Endpoint and EndpointConfig Arns in sagemaker:ListPipelineExecutionSteps API response +* api-change:``sesv2``: Marking use case description field of account details as deprecated. +* enhancement:``codeartifact``: Update login command error message. + + +1.33.44 +======= + +* api-change:``docdb``: This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup. +* api-change:``ecs``: This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature. +* api-change:``iam``: Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null. +* api-change:``s3``: Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API. + + +1.33.43 +======= + +* api-change:``codebuild``: AWS CodeBuild now supports using Secrets Manager to store git credentials and using multiple source credentials in a single project. + + +1.33.42 +======= + +* api-change:``amplify``: Add a new field "cacheConfig" that enables users to configure the CDN cache settings for an App +* api-change:``appstream``: This release includes following new APIs: CreateThemeForStack, DescribeThemeForStack, UpdateThemeForStack, DeleteThemeForStack to support custom branding programmatically. +* api-change:``fis``: This release adds support for additional error information on experiment failure. It adds the error code, location, and account id on relevant failures to the GetExperiment and ListExperiment API responses. +* api-change:``glue``: Add AttributesToGet parameter support for Glue GetTables +* api-change:``neptune-graph``: Amazon Neptune Analytics provides a new option for customers to load data into a graph using the RDF (Resource Description Framework) NTRIPLES format. When loading NTRIPLES files, use the value `convertToIri` for the `blankNodeHandling` parameter. + + +1.33.41 +======= + +* api-change:``compute-optimizer``: Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications +* api-change:``config``: Documentation update for the OrganizationConfigRuleName regex pattern. +* api-change:``ec2``: This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. +* api-change:``eks``: Added support for new AL2023 GPU AMIs to the supported AMITypes. +* api-change:``groundstation``: Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide +* api-change:``medialive``: AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex. +* api-change:``sagemaker``: Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas. + + +1.33.40 +======= + +* api-change:``cognito-idp``: Fixed a description of AdvancedSecurityAdditionalFlows in Amazon Cognito user pool configuration. +* api-change:``connect``: This release supports adding RoutingCriteria via UpdateContactRoutingData public API. +* api-change:``ssm``: Systems Manager doc-only updates for August 2024. + + +1.33.39 +======= + +* api-change:``cognito-idp``: Added support for threat protection for custom authentication in Amazon Cognito user pools. +* api-change:``connect``: This release fixes a regression in number of access control tags that are allowed to be added to a security profile in Amazon Connect. You can now add up to four access control tags on a single security profile. +* api-change:``ec2``: Launch of private IPv6 addressing for VPCs and Subnets. VPC IPAM supports the planning and monitoring of private IPv6 usage. +* api-change:``glue``: This release adds support to retrieve the validation status when creating or updating Glue Data Catalog Views. Also added is support for BasicCatalogTarget partition keys. + + +1.33.38 +======= + +* api-change:``appintegrations``: Updated CreateDataIntegration and CreateDataIntegrationAssociation API to support bulk data export from Amazon Connect Customer Profiles to the customer S3 bucket. +* api-change:``glue``: Introducing AWS Glue Data Quality anomaly detection, a new functionality that uses ML-based solutions to detect data anomalies users have not explicitly defined rules for. + + +1.33.37 +======= + +* api-change:``bedrock-agent-runtime``: Introduce model invocation output traces for orchestration traces, which contain the model's raw response and usage. +* api-change:``cognito-idp``: Advanced security feature updates to include password history and log export for Cognito user pools. +* api-change:``cost-optimization-hub``: This release adds savings percentage support to the ListRecommendationSummaries API. +* api-change:``workspaces``: Added support for BYOL_GRAPHICS_G4DN_WSP IngestionProcess + + +1.33.36 +======= + +* api-change:``datazone``: This releases Data Product feature. Data Products allow grouping data assets into cohesive, self-contained units for ease of publishing for data producers, and ease of finding and accessing for data consumers. +* api-change:``ecr``: Released two new APIs along with documentation updates. The GetAccountSetting API is used to view the current basic scan type version setting for your registry, while the PutAccountSetting API is used to update the basic scan type version for your registry. +* api-change:``kinesis-video-webrtc-storage``: Add JoinStorageSessionAsViewer API +* api-change:``pi``: Added a description for the Dimension db.sql.tokenized_id on the DimensionGroup data type page. + + +1.33.35 +======= + +* api-change:``cloudwatch``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``kinesis``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``resiliencehub``: Customers are presented with the grouping recommendations and can determine if the recommendations are accurate and apply to their case. This feature simplifies onboarding by organizing resources into appropriate AppComponents. +* api-change:``route53``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``waf-regional``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. + + +1.33.34 +======= + +* api-change:``bedrock``: API and Documentation for Bedrock Model Copy feature. This feature lets you share and copy a custom model from one region to another or one account to another. +* api-change:``controlcatalog``: AWS Control Tower provides two new public APIs controlcatalog:ListControls and controlcatalog:GetControl under controlcatalog service namespace, which enable customers to programmatically retrieve control metadata of available controls. +* api-change:``controltower``: Updated Control Tower service documentation for controlcatalog control ARN support with existing Control Tower public APIs +* api-change:``iam``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``memorydb``: Doc only update for changes to deletion API. +* api-change:``rds``: This release adds support for specifying optional MinACU parameter in CreateDBShardGroup and ModifyDBShardGroup API. DBShardGroup response will contain MinACU if specified. +* api-change:``sagemaker``: This release adds support for Amazon EMR Serverless applications in SageMaker Studio for running data processing jobs. +* api-change:``ssm-quicksetup``: This release adds API support for the QuickSetup feature of AWS Systems Manager +* api-change:``support``: Doc only updates to CaseDetails + + +1.33.33 +======= + +* api-change:``appstream``: Added support for Red Hat Enterprise Linux 8 on Amazon AppStream 2.0 +* api-change:``autoscaling``: Increase the length limit for VPCZoneIdentifier from 2047 to 5000 +* api-change:``codepipeline``: AWS CodePipeline V2 type pipelines now support stage level conditions to enable development teams to safely release changes that meet quality and compliance requirements. +* api-change:``elasticache``: Doc only update for changes to deletion API. +* api-change:``elb``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``events``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``lexv2-models``: This release adds new capabilities to the AMAZON.QnAIntent: Custom prompting, Guardrails integration and ExactResponse support for Bedrock Knowledge Base. +* api-change:``logs``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``rolesanywhere``: IAM RolesAnywhere now supports custom role session name on the CreateSession. This release adds the acceptRoleSessionName option to a profile to control whether a role session name will be accepted in a session request with a given profile. +* api-change:``tnb``: This release adds Network Service Update, through which customers will be able to update their instantiated networks to a new network package. See the documentation for limitations. The release also enhances the Get network operation API to return parameter overrides used during the operation. +* api-change:``workspaces``: Removing multi-session as it isn't supported for pools +* bugfix:``s3``: Disable usage of mb command with S3 Express directory buckets. + + +1.33.32 +======= + +* api-change:``elasticache``: Renaming full service name as it appears in developer documentation. +* api-change:``memorydb``: Renaming full service name as it appears in developer documentation. + + +1.33.31 +======= + +* api-change:``application-autoscaling``: Application Auto Scaling is now more responsive to the changes in demand of your SageMaker Inference endpoints. To get started, create or update a Target Tracking policy based on High Resolution CloudWatch metrics. +* api-change:``application-signals``: CloudWatch Application Signals now supports application logs correlation with traces and operational health metrics of applications running on EC2 instances. Users can view the most relevant telemetry to troubleshoot application health anomalies such as spikes in latency, errors, and availability. +* api-change:``bedrock-runtime``: Provides ServiceUnavailableException error message +* api-change:``codecommit``: CreateRepository API now throws OperationNotAllowedException when the account has been restricted from creating a repository. +* api-change:``datazone``: Introduces GetEnvironmentCredentials operation to SDK +* api-change:``ec2``: EC2 Fleet now supports using custom identifiers to reference Amazon Machine Images (AMI) in launch requests that are configured to choose from a diversified list of instance types. +* api-change:``ecr``: API and documentation updates for Amazon ECR, adding support for creating, updating, describing and deleting ECR Repository Creation Template. +* api-change:``eks``: This release adds support for EKS cluster to manage extended support. +* api-change:``elbv2``: This release adds support for sharing trust stores across accounts and organizations through integration with AWS Resource Access Manager. +* api-change:``network-firewall``: You can now log events that are related to TLS inspection, in addition to the existing alert and flow logging. +* api-change:``outposts``: Adding default vCPU information to GetOutpostSupportedInstanceTypes and GetOutpostInstanceTypes responses +* api-change:``stepfunctions``: This release adds support to customer managed KMS key encryption in AWS Step Functions. + + +1.33.30 +======= + +* api-change:``cleanrooms``: Three enhancements to the AWS Clean Rooms: Disallowed Output Columns, Flexible Result Receivers, SQL as a Seed +* api-change:``dynamodb``: DynamoDB doc only update for July +* api-change:``iotsitewise``: Adds support for creating SiteWise Edge gateways that run on a Siemens Industrial Edge Device. +* api-change:``mediapackagev2``: This release adds support for Irdeto DRM encryption in DASH manifests. +* api-change:``medical-imaging``: CopyImageSet API adds copying selected instances between image sets, and overriding inconsistent metadata with a force parameter. UpdateImageSetMetadata API enables reverting to prior versions; updates to Study, Series, and SOP Instance UIDs; and updates to private elements, with a force parameter. +* api-change:``pinpoint-sms-voice-v2``: Update for rebrand to AWS End User Messaging SMS and Voice. + + +1.33.29 +======= + +* api-change:``appsync``: Adding support for paginators in AppSync list APIs +* api-change:``cleanrooms``: This release adds AWS Entity Resolution integration to associate ID namespaces & ID mapping workflow resources as part of ID namespace association and ID mapping table in AWS Clean Rooms. It also introduces a new ID_MAPPING_TABLE analysis rule to manage the protection on ID mapping table. +* api-change:``cleanroomsml``: Adds SQL query as the source of seed audience for audience generation job. +* api-change:``connect``: Added PostContactSummary segment type on ListRealTimeContactAnalysisSegmentsV2 API +* api-change:``connect-contact-lens``: Added PostContactSummary segment type on ListRealTimeContactAnalysisSegments API +* api-change:``datazone``: This release removes the deprecated dataProductItem field from Search API output. +* api-change:``entityresolution``: Support First Party ID Mapping + + +1.33.28 +======= + +* api-change:``datazone``: This release adds 1/ support of register S3 locations of assets in AWS Lake Formation hybrid access mode for DefaultDataLake blueprint. 2/ support of CRUD operations for Asset Filters. +* api-change:``ivs``: Documentation update for IVS Low Latency API Reference. +* api-change:``neptune-graph``: Amazon Neptune Analytics provides new options for customers to start with smaller graphs at a lower cost. CreateGraph, CreaateGraphImportTask, UpdateGraph and StartImportTask APIs will now allow 32 and 64 for `provisioned-memory` +* api-change:``redshift-serverless``: Adds dualstack support for Redshift Serverless workgroup. + + +1.33.27 +======= + +* api-change:``acm-pca``: Fix broken waiters for the acm-pca client. Waiters broke in version 1.13.144 of the Boto3 SDK. +* api-change:``connect``: Amazon Connect expands search API coverage for additional resources. Search for hierarchy groups by name, ID, tag, or other criteria (new endpoint). Search for agent statuses by name, ID, tag, or other criteria (new endpoint). Search for users by their assigned proficiencies (enhanced endpoint) +* api-change:``ec2``: Amazon VPC IP Address Manager (IPAM) now supports Bring-Your-Own-IP (BYOIP) for IP addresses registered with any Internet Registry. This feature uses DNS TXT records to validate ownership of a public IP address range. +* api-change:``firehose``: This release 1) Add configurable buffering hints for Snowflake as destination. 2) Add ReadFromTimestamp for MSK As Source. Firehose will start reading data from MSK Cluster using offset associated with this timestamp. 3) Gated public beta release to add Apache Iceberg tables as destination. +* api-change:``ivschat``: Documentation update for IVS Chat API Reference. +* api-change:``medialive``: AWS Elemental MediaLive now supports the SRT protocol via the new SRT Caller input type. +* api-change:``rds``: Updates Amazon RDS documentation to specify an eventual consistency model for DescribePendingMaintenanceActions. +* api-change:``sagemaker``: SageMaker Training supports R5, T3 and R5D instances family. And SageMaker Processing supports G5 and R5D instances family. +* api-change:``secretsmanager``: Doc only update for Secrets Manager +* api-change:``taxsettings``: Set default endpoint for aws partition. Requests from all regions in aws partition will be forward to us-east-1 endpoint. +* api-change:``timestream-query``: Doc-only update for TimestreamQuery. Added guidance about the accepted valid value for the QueryPricingModel parameter. +* api-change:``workspaces-thin-client``: Documentation update for WorkSpaces Thin Client. + + +1.33.26 +======= + +* api-change:``acm-pca``: Minor refactoring of C2J model for AWS Private CA +* api-change:``arc-zonal-shift``: Adds the option to subscribe to get notifications when a zonal autoshift occurs in a region. +* api-change:``globalaccelerator``: This feature adds exceptions to the Customer API to avoid throwing Internal Service errors +* api-change:``pinpoint``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``quicksight``: Vega ally control options and Support for Reviewed Answers in Topics + + +1.33.25 +======= + +* api-change:``batch``: This feature allows AWS Batch Jobs with EKS container orchestration type to be run as Multi-Node Parallel Jobs. +* api-change:``bedrock``: Add support for contextual grounding check for Guardrails for Amazon Bedrock. +* api-change:``bedrock-agent``: Introduces new data sources and chunking strategies for Knowledge bases, advanced parsing logic using FMs, session summary generation, and code interpretation (preview) for Claude V3 Sonnet and Haiku models. Also introduces Prompt Flows (preview) to link prompts, foundational models, and resources. +* api-change:``bedrock-agent-runtime``: Introduces query decomposition, enhanced Agents integration with Knowledge bases, session summary generation, and code interpretation (preview) for Claude V3 Sonnet and Haiku models. Also introduces Prompt Flows (preview) to link prompts, foundational models, and resources for end-to-end solutions. +* api-change:``bedrock-runtime``: Add support for contextual grounding check and ApplyGuardrail API for Guardrails for Amazon Bedrock. +* api-change:``ec2``: Add parameters to enable provisioning IPAM BYOIPv4 space at a Local Zone Network Border Group level +* api-change:``glue``: Add recipe step support for recipe node +* api-change:``groundstation``: Documentation update specifying OEM ephemeris units of measurement +* api-change:``license-manager-linux-subscriptions``: Add support for third party subscription providers, starting with RHEL subscriptions through Red Hat Subscription Manager (RHSM). Additionally, add support for tagging subscription provider resources, and detect when an instance has more than one Linux subscription and notify the customer. +* api-change:``mediaconnect``: AWS Elemental MediaConnect introduces the ability to disable outputs. Disabling an output allows you to keep the output attached to the flow, but stop streaming to the output destination. A disabled output does not incur data transfer costs. + + +1.33.24 +======= + +* api-change:``datazone``: This release deprecates dataProductItem field from SearchInventoryResultItem, along with some unused DataProduct shapes +* api-change:``fsx``: Adds support for FSx for NetApp ONTAP 2nd Generation file systems, and FSx for OpenZFS Single AZ HA file systems. +* api-change:``opensearch``: This release adds support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the current state of the setup or tear-down. +* api-change:``sagemaker``: This release 1/ enables optimization jobs that allows customers to perform Ahead-of-time compilation and quantization. 2/ allows customers to control access to Amazon Q integration in SageMaker Studio. 3/ enables AdditionalModelDataSources for CreateModel action. + + +1.33.23 +======= + +* api-change:``codedeploy``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``devicefarm``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``dms``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``elasticbeanstalk``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``es``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``firehose``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``gamelift``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``qapps``: This is a general availability (GA) release of Amazon Q Apps, a capability of Amazon Q Business. Q Apps leverages data sources your company has provided to enable users to build, share, and customize apps within your organization. +* api-change:``route53resolver``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``ses``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. + + +1.33.22 +======= + +* api-change:``acm``: Documentation updates, including fixes for xml formatting, broken links, and ListCertificates description. +* api-change:``ecr``: This release for Amazon ECR makes change to bring the SDK into sync with the API. +* api-change:``payment-cryptography-data``: Added further restrictions on logging of potentially sensitive inputs and outputs. +* api-change:``qbusiness``: Add personalization to Q Applications. Customers can enable or disable personalization when creating or updating a Q application with the personalization configuration. + + +1.33.21 +======= + +* api-change:``application-autoscaling``: Doc only update for Application Auto Scaling that fixes resource name. +* api-change:``directconnect``: This update includes documentation for support of new native 400 GBps ports for Direct Connect. +* api-change:``organizations``: Added a new reason under ConstraintViolationException in RegisterDelegatedAdministrator API to prevent registering suspended accounts as delegated administrator of a service. +* api-change:``rekognition``: This release adds support for tagging projects and datasets with the CreateProject and CreateDataset APIs. +* api-change:``workspaces``: Fix create workspace bundle RootStorage/UserStorage to accept non null values + + +1.33.20 +======= + +* api-change:``ec2``: Documentation updates for Elastic Compute Cloud (EC2). +* api-change:``fms``: Increases Customer API's ManagedServiceData length +* api-change:``s3``: Added response overrides to Head Object requests. + + +1.33.19 +======= + +* api-change:``apigateway``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``cognito-identity``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``connect``: Authentication profiles are Amazon Connect resources (in gated preview) that allow you to configure authentication settings for users in your contact center. This release adds support for new ListAuthenticationProfiles, DescribeAuthenticationProfile and UpdateAuthenticationProfile APIs. +* api-change:``docdb``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``eks``: Updates EKS managed node groups to support EC2 Capacity Blocks for ML +* api-change:``payment-cryptography``: Added further restrictions on logging of potentially sensitive inputs and outputs. +* api-change:``payment-cryptography-data``: Adding support for dynamic keys for encrypt, decrypt, re-encrypt and translate pin functions. With this change, customers can use one-time TR-31 keys directly in dataplane operations without the need to first import them into the service. +* api-change:``stepfunctions``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``swf``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``wafv2``: JSON body inspection: Update documentation to clarify that JSON parsing doesn't include full validation. + + +1.33.18 +======= + +* api-change:``acm-pca``: Added CCPC_LEVEL_1_OR_HIGHER KeyStorageSecurityStandard and SM2 KeyAlgorithm and SM3WITHSM2 SigningAlgorithm for China regions. +* api-change:``cloudhsmv2``: Added 3 new APIs to support backup sharing: GetResourcePolicy, PutResourcePolicy, and DeleteResourcePolicy. Added BackupArn to the output of the DescribeBackups API. Added support for BackupArn in the CreateCluster API. +* api-change:``connect``: This release supports showing PreferredAgentRouting step via DescribeContact API. +* api-change:``emr``: This release provides the support for new allocation strategies i.e. CAPACITY_OPTIMIZED_PRIORITIZED for Spot and PRIORITIZED for On-Demand by taking input of priority value for each instance type for instance fleet clusters. +* api-change:``glue``: Added AttributesToGet parameter to Glue GetDatabases, allowing caller to limit output to include only the database name. +* api-change:``kinesisanalyticsv2``: Support for Flink 1.19 in Managed Service for Apache Flink +* api-change:``opensearch``: This release removes support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains. +* api-change:``pi``: Noting that the filter db.sql.db_id isn't available for RDS for SQL Server DB instances. +* api-change:``workspaces``: Added support for Red Hat Enterprise Linux 8 on Amazon WorkSpaces Personal. + + +1.33.17 +======= + +* api-change:``application-autoscaling``: Amazon WorkSpaces customers can now use Application Auto Scaling to automatically scale the number of virtual desktops in a WorkSpaces pool. +* api-change:``chime-sdk-media-pipelines``: Added Amazon Transcribe multi language identification to Chime SDK call analytics. Enabling customers sending single stream audio to generate call recordings using Chime SDK call analytics +* api-change:``cloudfront``: Doc only update for CloudFront that fixes customer-reported issue +* api-change:``datazone``: This release supports the data lineage feature of business data catalog in Amazon DataZone. +* api-change:``elasticache``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``mq``: This release makes the EngineVersion field optional for both broker and configuration and uses the latest available version by default. The AutoMinorVersionUpgrade field is also now optional for broker creation and defaults to 'true'. +* api-change:``qconnect``: Adds CreateContentAssociation, ListContentAssociations, GetContentAssociation, and DeleteContentAssociation APIs. +* api-change:``quicksight``: Adding support for Repeating Sections, Nested Filters +* api-change:``rds``: Updates Amazon RDS documentation for TAZ export to S3. +* api-change:``sagemaker``: Add capability for Admins to customize Studio experience for the user by showing or hiding Apps and MLTools. +* api-change:``workspaces``: Added support for WorkSpaces Pools. + + +1.33.16 +======= + +* api-change:``controltower``: Added ListLandingZoneOperations API. +* api-change:``eks``: Added support for disabling unmanaged addons during cluster creation. +* api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability to upload public keys for customer vended participant tokens. +* api-change:``kinesisanalyticsv2``: This release adds support for new ListApplicationOperations and DescribeApplicationOperation APIs. It adds a new configuration to enable system rollbacks, adds field ApplicationVersionCreateTimestamp for clarity and improves support for pagination for APIs. +* api-change:``opensearch``: This release adds support for enabling or disabling Natural Language Query Processing feature for Amazon OpenSearch Service domains, and provides visibility into the current state of the setup or tear-down. + + +1.33.15 +======= + +* api-change:``autoscaling``: Doc only update for Auto Scaling's TargetTrackingMetricDataQuery +* api-change:``ec2``: This release is for the launch of the new u7ib-12tb.224xlarge, R8g, c7gn.metal and mac2-m1ultra.metal instance types +* api-change:``networkmanager``: This is model changes & documentation update for the Asynchronous Error Reporting feature for AWS Cloud WAN. This feature allows customers to view errors that occur while their resources are being provisioned, enabling customers to fix their resources without needing external support. +* api-change:``workspaces-thin-client``: This release adds the deviceCreationTags field to CreateEnvironment API input, UpdateEnvironment API input and GetEnvironment API output. + + +1.33.14 +======= + +* api-change:``bedrock-runtime``: Increases Converse API's document name length +* api-change:``customer-profiles``: This release includes changes to ProfileObjectType APIs, adds functionality top set and get capacity for profile object types. +* api-change:``ec2``: Fix EC2 multi-protocol info in models. +* api-change:``qbusiness``: Allow enable/disable Q Apps when creating/updating a Q application; Return the Q Apps enablement information when getting a Q application. +* api-change:``ssm``: Add sensitive trait to SSM IPAddress property for CloudTrail redaction +* api-change:``workspaces-web``: Added ability to enable DeepLinking functionality on a Portal via UserSettings as well as added support for IdentityProvider resource tagging. + + +1.33.13 +======= + +* api-change:``bedrock-runtime``: This release adds document support to Converse and ConverseStream APIs +* api-change:``codeartifact``: Add support for the Cargo package format. +* api-change:``compute-optimizer``: This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL. +* api-change:``cost-optimization-hub``: This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon RDS MySQL and RDS PostgreSQL. +* api-change:``dynamodb``: Doc-only update for DynamoDB. Fixed Important note in 6 Global table APIs - CreateGlobalTable, DescribeGlobalTable, DescribeGlobalTableSettings, ListGlobalTables, UpdateGlobalTable, and UpdateGlobalTableSettings. +* api-change:``glue``: Fix Glue paginators for Jobs, JobRuns, Triggers, Blueprints and Workflows. +* api-change:``ivs-realtime``: IVS Real-Time now offers customers the ability to record individual stage participants to S3. +* api-change:``sagemaker``: Adds support for model references in Hub service, and adds support for cross-account access of Hubs +* api-change:``securityhub``: Documentation updates for Security Hub + + +1.33.12 +======= + +* api-change:``artifact``: This release adds an acceptanceType field to the ReportSummary structure (used in the ListReports API response). +* api-change:``athena``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``cur``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``directconnect``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``elastictranscoder``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``opensearch``: This release enables customers to use JSON Web Tokens (JWT) for authentication on their Amazon OpenSearch Service domains. + + +1.33.11 +======= + +* api-change:``bedrock-runtime``: This release adds support for using Guardrails with the Converse and ConverseStream APIs. +* api-change:``cloudtrail``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``config``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``eks``: This release adds support to surface async fargate customer errors from async path to customer through describe-fargate-profile API response. +* api-change:``lightsail``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``polly``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``rekognition``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``sagemaker``: Launched a new feature in SageMaker to provide managed MLflow Tracking Servers for customers to track ML experiments. This release also adds a new capability of attaching additional storage to SageMaker HyperPod cluster instances. +* api-change:``shield``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``snowball``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. + + +1.33.10 +======= + +* api-change:``acm-pca``: Doc-only update that adds name constraints as an allowed extension for ImportCertificateAuthorityCertificate. +* api-change:``batch``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``codebuild``: AWS CodeBuild now supports global and organization GitHub webhooks +* api-change:``cognito-idp``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``ds``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``efs``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``glue``: This release introduces a new feature, Usage profiles. Usage profiles allow the AWS Glue admin to create different profiles for various classes of users within the account, enforcing limits and defaults for jobs and sessions. +* api-change:``mediaconvert``: This release includes support for creating I-frame only video segments for DASH trick play. +* api-change:``secretsmanager``: Doc only update for Secrets Manager +* api-change:``waf``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. + + +1.33.9 +====== + +* api-change:``datazone``: This release introduces a new default service blueprint for custom environment creation. +* api-change:``ec2``: Documentation updates for Amazon EC2. +* api-change:``macie2``: This release adds support for managing the status of automated sensitive data discovery for individual accounts in an organization, and determining whether individual S3 buckets are included in the scope of the analyses. +* api-change:``mediaconvert``: This release adds the ability to search for historical job records within the management console using a search box and/or via the SDK/CLI with partial string matching search on input file name. +* api-change:``route53domains``: Add v2 smoke tests and smithy smokeTests trait for SDK testing. + + +1.33.8 +====== + +* api-change:``cloudhsmv2``: Added support for hsm type hsm2m.medium. Added supported for creating a cluster in FIPS or NON_FIPS mode. +* api-change:``glue``: This release adds support for configuration of evaluation method for composite rules in Glue Data Quality rulesets. +* api-change:``iotwireless``: Add RoamingDeviceSNR and RoamingDeviceRSSI to Customer Metrics. +* api-change:``kms``: This feature allows customers to use their keys stored in KMS to derive a shared secret which can then be used to establish a secured channel for communication, provide proof of possession, or establish trust with other parties. +* api-change:``mediapackagev2``: This release adds support for CMAF ingest (DASH-IF live media ingest protocol interface 1) + + +1.33.7 +====== + +* api-change:``apptest``: AWS Mainframe Modernization Application Testing is an AWS Mainframe Modernization service feature that automates functional equivalence testing for mainframe application modernization and migration to AWS, and regression testing. +* api-change:``ec2``: Tagging support for Traffic Mirroring FilterRule resource +* api-change:``osis``: SDK changes for self-managed vpc endpoint to OpenSearch ingestion pipelines. +* api-change:``redshift``: Updates to remove DC1 and DS2 node types. +* api-change:``secretsmanager``: Introducing RotationToken parameter for PutSecretValue API +* api-change:``securitylake``: This release updates request validation regex to account for non-commercial aws partitions. +* api-change:``sesv2``: This release adds support for Amazon EventBridge as an email sending events destination. + + +1.33.6 +====== + +* api-change:``accessanalyzer``: IAM Access Analyzer now provides policy recommendations to help resolve unused permissions for IAM roles and users. Additionally, IAM Access Analyzer now extends its custom policy checks to detect when IAM policies grant public access or access to critical resources ahead of deployments. +* api-change:``guardduty``: Added API support for GuardDuty Malware Protection for S3. +* api-change:``networkmanager``: This is model changes & documentation update for Service Insertion feature for AWS Cloud WAN. This feature allows insertion of AWS/3rd party security services on Cloud WAN. This allows to steer inter/intra segment traffic via security appliances and provide visibility to the route updates. +* api-change:``pca-connector-scep``: Connector for SCEP allows you to use a managed, cloud CA to enroll mobile devices and networking gear. SCEP is a widely-adopted protocol used by mobile device management (MDM) solutions for enrolling mobile devices. With the connector, you can use AWS Private CA with popular MDM solutions. +* api-change:``sagemaker``: Introduced Scope and AuthenticationRequestExtraParams to SageMaker Workforce OIDC configuration; this allows customers to modify these options for their private Workforce IdP integration. Model Registry Cross-account model package groups are discoverable. + + +1.33.5 +====== + +* api-change:``application-signals``: This is the initial SDK release for Amazon CloudWatch Application Signals. Amazon CloudWatch Application Signals provides curated application performance monitoring for developers to monitor and troubleshoot application health using pre-built dashboards and Service Level Objectives. +* api-change:``ecs``: This release introduces a new cluster configuration to support the customer-managed keys for ECS managed storage encryption. +* api-change:``imagebuilder``: This release updates the regex pattern for Image Builder ARNs. + + +1.33.4 +====== + +* api-change:``auditmanager``: New feature: common controls. When creating custom controls, you can now use pre-grouped AWS data sources based on common compliance themes. Also, the awsServices parameter is deprecated because we now manage services in scope for you. If used, the input is ignored and an empty list is returned. +* api-change:``b2bi``: Added exceptions to B2Bi List operations and ConflictException to B2Bi StartTransformerJob operation. Also made capabilities field explicitly required when creating a Partnership. +* api-change:``codepipeline``: CodePipeline now supports overriding S3 Source Object Key during StartPipelineExecution, as part of Source Overrides. +* api-change:``sagemaker``: This release introduces a new optional parameter: InferenceAmiVersion, in ProductionVariant. +* api-change:``verifiedpermissions``: This release adds OpenIdConnect (OIDC) configuration support for IdentitySources, allowing for external IDPs to be used in authorization requests. + + +1.33.3 +====== + +* api-change:``account``: This release adds 3 new APIs (AcceptPrimaryEmailUpdate, GetPrimaryEmail, and StartPrimaryEmailUpdate) used to centrally manage the root user email address of member accounts within an AWS organization. +* api-change:``firehose``: Adds integration with Secrets Manager for Redshift, Splunk, HttpEndpoint, and Snowflake destinations +* api-change:``fsx``: This release adds support to increase metadata performance on FSx for Lustre file systems beyond the default level provisioned when a file system is created. This can be done by specifying MetadataConfiguration during the creation of Persistent_2 file systems or by updating it on demand. +* api-change:``glue``: This release adds support for creating and updating Glue Data Catalog Views. +* api-change:``iotwireless``: Adds support for wireless device to be in Conflict FUOTA Device Status due to a FUOTA Task, so it couldn't be attached to a new one. +* api-change:``location``: Added two new APIs, VerifyDevicePosition and ForecastGeofenceEvents. Added support for putting larger geofences up to 100,000 vertices with Geobuf fields. +* api-change:``sns``: Doc-only update for SNS. These changes include customer-reported issues and TXC3 updates. +* api-change:``sqs``: Doc only updates for SQS. These updates include customer-reported issues and TCX3 modifications. +* api-change:``storagegateway``: Adds SoftwareUpdatePreferences to DescribeMaintenanceStartTime and UpdateMaintenanceStartTime, a structure which contains AutomaticUpdatePolicy. + + +1.33.2 +====== + +* api-change:``globalaccelerator``: This release contains a new optional ip-addresses input field for the update accelerator and update custom routing accelerator apis. This input enables consumers to replace IPv4 addresses on existing accelerators with addresses provided in the input. +* api-change:``glue``: AWS Glue now supports native SaaS connectivity: Salesforce connector available now +* api-change:``s3``: Added new params copySource and key to copyObject API for supporting S3 Access Grants plugin. These changes will not change any of the existing S3 API functionality. +* bugfix:emr customization: Update the EC2 service principal when creating the trust policy for EMR default roles to always be ec2.amazonaws.com. + + +1.33.1 +====== + +* api-change:``ec2``: U7i instances with up to 32 TiB of DDR5 memory and 896 vCPUs are now available. C7i-flex instances are launched and are lower-priced variants of the Amazon EC2 C7i instances that offer a baseline level of CPU performance with the ability to scale up to the full compute performance 95% of the time. +* api-change:``pipes``: This release adds Timestream for LiveAnalytics as a supported target in EventBridge Pipes +* api-change:``sagemaker``: Extend DescribeClusterNode response with private DNS hostname and IP address, and placement information about availability zone and availability zone ID. +* api-change:``taxsettings``: Initial release of AWS Tax Settings API + + +1.33.0 +====== + +* api-change:``amplify``: This doc-only update identifies fields that are specific to Gen 1 and Gen 2 applications. +* api-change:``batch``: This release adds support for the AWS Batch GetJobQueueSnapshot API operation. +* api-change:``eks``: Adds support for EKS add-ons pod identity associations integration +* api-change:``iottwinmaker``: Support RESET_VALUE UpdateType for PropertyUpdates to reset property value to default or null +* feature:logs start-live-tail: Adds support for starting a live tail streaming session for one or more log groups. + + +1.32.117 +======== + +* api-change:``codebuild``: AWS CodeBuild now supports Self-hosted GitHub Actions runners for Github Enterprise +* api-change:``codeguru-security``: This release includes minor model updates and documentation updates. +* api-change:``elasticache``: Update to attributes of TestFailover and minor revisions. +* api-change:``launch-wizard``: This release adds support for describing workload deployment specifications, deploying additional workload types, and managing tags for Launch Wizard resources with API operations. + + +1.32.116 +======== + +* api-change:``acm``: add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``bedrock-agent``: With this release, Knowledge bases for Bedrock adds support for Titan Text Embedding v2. +* api-change:``bedrock-runtime``: This release adds Converse and ConverseStream APIs to Bedrock Runtime +* api-change:``cloudtrail``: CloudTrail Lake returns PartitionKeys in the GetEventDataStore API response. Events are grouped into partitions based on these keys for better query performance. For example, the calendarday key groups events by day, while combining the calendarday key with the hour key groups them by day and hour. +* api-change:``connect``: Adding associatedQueueIds as a SearchCriteria and response field to the SearchRoutingProfiles API +* api-change:``emr-serverless``: The release adds support for spark structured streaming. +* api-change:``rds``: Updates Amazon RDS documentation for Aurora Postgres DBname. +* api-change:``sagemaker``: Adds Model Card information as a new component to Model Package. Autopilot launches algorithm selection for TimeSeries modality to generate AutoML candidates per algorithm. +* bugfix:``ssm start-session``: Only provide profile name to session-manager-plugin if provided using --profile flag + + +1.32.115 +======== + +* api-change:``athena``: Throwing validation errors on CreateNotebook with Name containing `/`,`:`,`\` +* api-change:``codebuild``: AWS CodeBuild now supports manually creating GitHub webhooks +* api-change:``connect``: This release includes changes to DescribeContact API's response by including ConnectedToSystemTimestamp, RoutingCriteria, Customer, Campaign, AnsweringMachineDetectionStatus, CustomerVoiceActivity, QualityMetrics, DisconnectDetails, and SegmentAttributes information from a contact in Amazon Connect. +* api-change:``glue``: Add optional field JobMode to CreateJob and UpdateJob APIs. +* api-change:``securityhub``: Add ROOT type for TargetType model + + +1.32.114 +======== + +* api-change:``dynamodb``: Doc-only update for DynamoDB. Specified the IAM actions needed to authorize a user to create a table with a resource-based policy. +* api-change:``ec2``: Providing support to accept BgpAsnExtended attribute +* api-change:``kafka``: Adds ControllerNodeInfo in ListNodes response to support Raft mode for MSK +* api-change:``swf``: This release adds new APIs for deleting activity type and workflow type resources. + + +1.32.113 +======== + +* api-change:``dynamodb``: Documentation only updates for DynamoDB. +* api-change:``iotfleetwise``: AWS IoT FleetWise now supports listing vehicles with attributes filter, ListVehicles API is updated to support additional attributes filter. +* api-change:``managedblockchain``: This is a minor documentation update to address the impact of the shut down of the Goerli and Polygon networks. + + +1.32.112 +======== + +* api-change:``emr-serverless``: This release adds the capability to run interactive workloads using Apache Livy Endpoint. +* api-change:``opsworks``: Documentation-only update for OpsWorks Stacks. + + +1.32.111 +======== + +* api-change:``chatbot``: This change adds support for tagging Chatbot configurations. +* api-change:``cloudformation``: Added DeletionMode FORCE_DELETE_STACK for deleting a stack that is stuck in DELETE_FAILED state due to resource deletion failure. +* api-change:``kms``: This release includes feature to import customer's asymmetric (RSA, ECC and SM2) and HMAC keys into KMS in China. +* api-change:``opensearch``: This release adds support for enabling or disabling a data source configured as part of Zero-ETL integration with Amazon S3, by setting its status. +* api-change:``wafv2``: You can now use Security Lake to collect web ACL traffic data. + + +1.32.110 +======== + +* api-change:``cloudfront``: Model update; no change to SDK functionality. +* api-change:``glue``: Add Maintenance window to CreateJob and UpdateJob APIs and JobRun response. Add a new Job Run State for EXPIRED. +* api-change:``lightsail``: This release adds support for Amazon Lightsail instances to switch between dual-stack or IPv4 only and IPv6-only public IP address types. +* api-change:``mailmanager``: This release includes a new Amazon SES feature called Mail Manager, which is a set of email gateway capabilities designed to help customers strengthen their organization's email infrastructure, simplify email workflow management, and streamline email compliance control. +* api-change:``pi``: Performance Insights added a new input parameter called AuthorizedActions to support the fine-grained access feature. Performance Insights also restricted the acceptable input characters. +* api-change:``rds``: Updates Amazon RDS documentation for Db2 license through AWS Marketplace. +* api-change:``storagegateway``: Added new SMBSecurityStrategy enum named MandatoryEncryptionNoAes128, new mode enforces encryption and disables AES 128-bit algorithums. + + +1.32.109 +======== + +* api-change:``bedrock-agent``: This release adds support for using Guardrails with Bedrock Agents. +* api-change:``bedrock-agent-runtime``: This release adds support for using Guardrails with Bedrock Agents. +* api-change:``controltower``: Added ListControlOperations API and filtering support for ListEnabledControls API. Updates also includes added metadata for enabled controls and control operations. +* api-change:``osis``: Add support for creating an OpenSearch Ingestion pipeline that is attached to a provided VPC. Add information about the destinations of an OpenSearch Ingestion pipeline to the GetPipeline and ListPipelines APIs. +* api-change:``rds``: This release adds support for EngineLifecycleSupport on DBInstances, DBClusters, and GlobalClusters. +* api-change:``secretsmanager``: add v2 smoke tests and smithy smokeTests trait for SDK testing + + +1.32.108 +======== + +* api-change:``application-autoscaling``: add v2 smoke tests and smithy smokeTests trait for SDK testing. +* api-change:``codebuild``: Aws CodeBuild now supports 36 hours build timeout +* api-change:``elbv2``: This release adds dualstack-without-public-ipv4 IP address type for ALB. +* api-change:``lakeformation``: Introduces a new API, GetDataLakePrincipal, that returns the identity of the invoking principal +* api-change:``transfer``: Enable use of CloudFormation traits in Smithy model to improve generated CloudFormation schema from the Smithy API model. + + +1.32.107 +======== + +* api-change:``acm-pca``: This release adds support for waiters to fail on AccessDeniedException when having insufficient permissions +* api-change:``connect``: Adding Contact Flow metrics to the GetMetricDataV2 API +* api-change:``kafka``: AWS MSK support for Broker Removal. +* api-change:``mwaa``: Amazon MWAA now supports Airflow web server auto scaling to automatically handle increased demand from REST APIs, Command Line Interface (CLI), or more Airflow User Interface (UI) users. Customers can specify maximum and minimum web server instances during environment creation and update workflow. +* api-change:``quicksight``: This release adds DescribeKeyRegistration and UpdateKeyRegistration APIs to manage QuickSight Customer Managed Keys (CMK). +* api-change:``sagemaker``: Introduced WorkerAccessConfiguration to SageMaker Workteam. This allows customers to configure resource access for workers in a workteam. +* api-change:``secretsmanager``: Documentation updates for AWS Secrets Manager + + +1.32.106 +======== + +* api-change:``bedrock-agent-runtime``: Updating Bedrock Knowledge Base Metadata & Filters feature with two new filters listContains and stringContains +* api-change:``codebuild``: CodeBuild Reserved Capacity VPC Support +* api-change:``datasync``: Task executions now display a CANCELLING status when an execution is in the process of being cancelled. +* api-change:``grafana``: This release adds new ServiceAccount and ServiceAccountToken APIs. +* api-change:``medical-imaging``: Added support for importing medical imaging data from Amazon S3 buckets across accounts and regions. +* api-change:``securityhub``: Documentation-only update for AWS Security Hub + + +1.32.105 +======== + +* api-change:``connect``: Amazon Connect provides enhanced search capabilities for flows & flow modules on the Connect admin website and programmatically using APIs. You can search for flows and flow modules by name, description, type, status, and tags, to filter and identify a specific flow in your Connect instances. +* api-change:``s3``: Updated a few x-id in the http uri traits + + +1.32.104 +======== + +* api-change:``events``: Amazon EventBridge introduces KMS customer-managed key (CMK) encryption support for custom and partner events published on EventBridge Event Bus (including default bus) and UpdateEventBus API. +* api-change:``vpc-lattice``: This release adds TLS Passthrough support. It also increases max number of target group per rule to 10. + + +1.32.103 +======== + +* api-change:``discovery``: add v2 smoke tests and smithy smokeTests trait for SDK testing +* api-change:``greengrassv2``: Mark ComponentVersion in ComponentDeploymentSpecification as required. +* api-change:``sagemaker``: Introduced support for G6 instance types on Sagemaker Notebook Instances and on SageMaker Studio for JupyterLab and CodeEditor applications. +* api-change:``sso-oidc``: Updated request parameters for PKCE support. + + +1.32.102 +======== + +* api-change:``bedrock-agent-runtime``: This release adds support to provide guardrail configuration and modify inference parameters that are then used in RetrieveAndGenerate API in Agents for Amazon Bedrock. +* api-change:``pinpoint``: This release adds support for specifying email message headers for Email Templates, Campaigns, Journeys and Send Messages. +* api-change:``route53resolver``: Update the DNS Firewall settings to correct a spelling issue. +* api-change:``ssm-sap``: Added support for application-aware start/stop of SAP applications running on EC2 instances, with SSM for SAP +* api-change:``verifiedpermissions``: Adds policy effect and actions fields to Policy API's. + + 1.32.101 ======== diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index da295fc86a6f..3fc9f8ca3912 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,7 +21,7 @@ The list below are guidelines to use when submitting pull requests. These are th - The SDK is released under the [Apache license](http://aws.amazon.com/apache2.0/). Any code you submit will be released under that license. - We maintain a high percentage of code coverage in our unit tests. As a general rule of thumb, code changes should not lower the overall code coverage percentage for the project. In practice, this means that **every bug fix and feature addition should include tests.** - Code should follow [pep8](https://www.python.org/dev/peps/pep-0008/), although if you are modifying an existing module, it is more important for the code to be consistent if there are any discrepancies. Using [`flake8`](https://flake8.pycqa.org/en/latest/) can assist in identifying `pep8` compliance issues. -- Code must work on `python3.7` and higher. +- Code must work on `python3.9` and higher. - The AWS CLI is cross platform and code must work on at least Linux, Windows, and Mac OS X. Avoid platform specific behavior. - If you would like to implement support for a significant feature that is not yet available in the AWS CLI, please talk to us beforehand to avoid any duplication of effort. You can file an [issue](https://github.com/aws/aws-cli/issues) to discuss the feature request further. diff --git a/MANIFEST.in b/MANIFEST.in index 7295cf117791..34fb540e8276 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,6 +2,7 @@ include README.rst include LICENSE.txt include requirements.txt include UPGRADE_PY3.md +include .pre-commit-config.yaml recursive-include awscli/examples *.rst *.txt recursive-include awscli/data *.json recursive-include awscli/topics *.rst *.json diff --git a/README.rst b/README.rst index 709b1a7f1df3..75ec5253a503 100644 --- a/README.rst +++ b/README.rst @@ -14,6 +14,17 @@ Jump to: - `Getting Help <#getting-help>`__ - `More Resources <#more-resources>`__ + +Entering Maintenance Mode on July 15, 2026 +------------------------------------------ + +We `announced `__ +the upcoming **end-of-support for the AWS CLI v1**. We recommend +that you migrate to +`AWS CLI v2 `__. +For dates, additional details, and information on how to migrate, +please refer to the linked announcement. + Getting Started --------------- @@ -26,22 +37,19 @@ Requirements The aws-cli package works on Python versions: -- 3.8.x and greater - 3.9.x and greater - 3.10.x and greater - 3.11.x and greater - 3.12.x and greater +- 3.13.x and greater +- 3.14.x and greater Notices ~~~~~~~ -On 2022-05-30, support for Python 3.6 was ended. This follows the -Python Software Foundation `end of support `__ -for the runtime which occurred on 2021-12-23. - -On 2023-12-13, support for Python 3.7 was ended. This follows the -Python Software Foundation `end of support `__ -for the runtime which occurred on 2023-06-27. +On 2025-04-22, support for Python 3.8 ended for the AWS CLI. This follows the +Python Software Foundation `end of support `__ +for the runtime which occurred on 2024-10-07. For more information, see this `blog post `__. *Attention!* diff --git a/UPGRADE_PY3.md b/UPGRADE_PY3.md index a2ed2f39bc3f..e92ee61dd23e 100644 --- a/UPGRADE_PY3.md +++ b/UPGRADE_PY3.md @@ -15,7 +15,7 @@ v1. You can upgrade to the AWS CLI v2 to avoid these deprecations in the future. ---- ## Timeline -Going forward, customers using the CLI v1 should transition to using Python 3, with Python 3.8 becoming +Going forward, customers using the CLI v1 should transition to using Python 3, with Python 3.9 becoming the minimum by the end of the transition. The deprecation dates for the affected versions of Python are: |Python version|Deprecation date| @@ -24,6 +24,7 @@ the minimum by the end of the transition. The deprecation dates for the affected | Python 3.4 and 3.5| 2/1/2021| | Python 3.6| 5/30/2022| | Python 3.7| 12/13/2023| +| Python 3.8| 4/22/2025| ## Impact on the AWS CLI @@ -49,7 +50,7 @@ $ aws --version aws-cli/1.18.191 Python/2.7.18 Darwin/19.6.0 botocore/1.19.31 ``` -If the second portion of the version string, starting with **Python/** isn’t Python/3.8.x +If the second portion of the version string, starting with **Python/** isn’t Python/3.9.x or higher, you should review the options below. ### Installing CLI with Python 3 @@ -62,20 +63,20 @@ Otherwise, upgrading Python versions isn’t difficult. 1. To begin, uninstall your existing copy of the AWS CLI. You can find instructions in the [CLI v1 installation guide](https://docs.aws.amazon.com/cli/latest/userguide/install-linux.html). -2. Now we’ll install Python 3.8 or later. You can get Python from +2. Now we’ll install Python 3.9 or later. You can get Python from [Python.org](https://www.python.org/downloads) or using your local package manager. -In this example, we’ll use a recent version, Python 3.8.7, to ensure the longest support window. +In this example, we’ll use a recent version, Python 3.9.22, to ensure the longest support window. 3. Next, depending on your installation method, the new Python installation should be available at one of these locations. Use these commands to verify: ```bash $ python --version - Python 3.8.7 + Python 3.9.22 $ python3 --version - Python 3.8.7 + Python 3.9.22 - $ python3.8 --version - Python 3.8.7 + $ python3.9 --version + Python 3.9.22 ``` 5. Here, we're using the **python** command from above to make sure we're installing with the right version. Use whichever alias provided the desired Python version. @@ -89,11 +90,11 @@ $ python awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws 7. If you wish, you may verify that the newly installed copy of the AWS CLI tool, **aws**, is using the correct version of Python. The **aws --version** command reports the **aws** tool's version number, followed by the version of Python it's running under, then the operating system -version and the version of botocore. As long as the Python version is at least 3.8, +version and the version of botocore. As long as the Python version is at least 3.9, you're ready to go: ```bash $ aws --version - aws-cli/1.18.191 Python/3.8.7 Darwin/19.6.0 botocore/1.19.31 + aws-cli/1.18.191 Python/3.9.22 Darwin/19.6.0 botocore/1.19.31 ``` ## If you're unable to upgrade to Python 3 diff --git a/awscli/__init__.py b/awscli/__init__.py index f0568f727860..482f8dfd0151 100644 --- a/awscli/__init__.py +++ b/awscli/__init__.py @@ -15,9 +15,10 @@ ---- A Universal Command Line Environment for Amazon Web Services. """ + import os -__version__ = '1.32.101' +__version__ = '1.44.48' # # Get our data path to be added to botocore's search path @@ -40,8 +41,16 @@ } -SCALAR_TYPES = set([ - 'string', 'float', 'integer', 'long', 'boolean', 'double', - 'blob', 'timestamp' -]) +SCALAR_TYPES = set( + [ + 'string', + 'float', + 'integer', + 'long', + 'boolean', + 'double', + 'blob', + 'timestamp', + ] +) COMPLEX_TYPES = set(['structure', 'map', 'list']) diff --git a/awscli/__main__.py b/awscli/__main__.py index 7d49ba7f871c..63263a3cb831 100644 --- a/awscli/__main__.py +++ b/awscli/__main__.py @@ -16,6 +16,5 @@ from awscli.clidriver import main - if __name__ == "__main__": sys.exit(main()) diff --git a/awscli/alias.py b/awscli/alias.py index 697fa4322857..e09a09c29c68 100644 --- a/awscli/alias.py +++ b/awscli/alias.py @@ -17,11 +17,10 @@ from botocore.configloader import raw_config_parse -from awscli.compat import compat_shell_quote from awscli.commands import CLICommand +from awscli.compat import compat_shell_quote from awscli.utils import emit_top_level_args_parsed_event - LOG = logging.getLogger(__name__) @@ -29,10 +28,13 @@ class InvalidAliasException(Exception): pass -class AliasLoader(object): - def __init__(self, - alias_filename=os.path.expanduser( - os.path.join('~', '.aws', 'cli', 'alias'))): +class AliasLoader: + def __init__( + self, + alias_filename=os.path.expanduser( + os.path.join('~', '.aws', 'cli', 'alias') + ), + ): """Interface for loading and interacting with alias file :param alias_filename: The name of the file to load aliases from. @@ -47,8 +49,7 @@ def _build_aliases(self): def _load_aliases(self): if os.path.exists(self._filename): - return raw_config_parse( - self._filename, parse_subsections=False) + return raw_config_parse(self._filename, parse_subsections=False) return {'toplevel': {}} def _cleanup_alias_values(self, aliases): @@ -63,7 +64,7 @@ def get_aliases(self): return self._aliases.get('toplevel', {}) -class AliasCommandInjector(object): +class AliasCommandInjector: def __init__(self, session, alias_loader): """Injects alias commands for a command table @@ -77,22 +78,26 @@ def __init__(self, session, alias_loader): self._alias_loader = alias_loader def inject_aliases(self, command_table, parser): - for alias_name, alias_value in \ - self._alias_loader.get_aliases().items(): + for ( + alias_name, + alias_value, + ) in self._alias_loader.get_aliases().items(): if alias_value.startswith('!'): alias_cmd = ExternalAliasCommand(alias_name, alias_value) else: service_alias_cmd_args = [ - alias_name, alias_value, self._session, command_table, - parser + alias_name, + alias_value, + self._session, + command_table, + parser, ] # If the alias name matches something already in the # command table provide the command it is about # to clobber as a possible reference that it will # need to proxy to. if alias_name in command_table: - service_alias_cmd_args.append( - command_table[alias_name]) + service_alias_cmd_args.append(command_table[alias_name]) alias_cmd = ServiceAliasCommand(*service_alias_cmd_args) command_table[alias_name] = alias_cmd @@ -126,13 +131,17 @@ def name(self, value): class ServiceAliasCommand(BaseAliasCommand): - UNSUPPORTED_GLOBAL_PARAMETERS = [ - 'debug', - 'profile' - ] - - def __init__(self, alias_name, alias_value, session, command_table, - parser, shadow_proxy_command=None): + UNSUPPORTED_GLOBAL_PARAMETERS = ('debug', 'profile') + + def __init__( + self, + alias_name, + alias_value, + session, + command_table, + parser, + shadow_proxy_command=None, + ): """Command for a `toplevel` subcommand alias :type alias_name: string @@ -163,7 +172,7 @@ def __init__(self, alias_name, alias_value, session, command_table, to this command as opposed to proxy to itself in the command table """ - super(ServiceAliasCommand, self).__init__(alias_name, alias_value) + super().__init__(alias_name, alias_value) self._session = session self._command_table = command_table self._parser = parser @@ -172,14 +181,18 @@ def __init__(self, alias_name, alias_value, session, command_table, def __call__(self, args, parsed_globals): alias_args = self._get_alias_args() parsed_alias_args, remaining = self._parser.parse_known_args( - alias_args) - self._update_parsed_globals(parsed_alias_args, parsed_globals) + alias_args + ) + self._update_parsed_globals(parsed_alias_args, parsed_globals, remaining) # Take any of the remaining arguments that were not parsed out and # prepend them to the remaining args provided to the alias. remaining.extend(args) LOG.debug( 'Alias %r passing on arguments: %r to %r command', - self._alias_name, remaining, parsed_alias_args.command) + self._alias_name, + remaining, + parsed_alias_args.command, + ) # Pass the update remaining args and global args to the service command # the alias proxied to. command = self._command_table[parsed_alias_args.command] @@ -190,9 +203,9 @@ def __call__(self, args, parsed_globals): # a built-in command. if shadow_name == parsed_alias_args.command: LOG.debug( - 'Using shadowed command object: %s ' - 'for alias: %s', self._shadow_proxy_command, - self._alias_name + 'Using shadowed command object: %s for alias: %s', + self._shadow_proxy_command, + self._alias_name, ) command = self._shadow_proxy_command return command(remaining, parsed_globals) @@ -202,27 +215,29 @@ def _get_alias_args(self): alias_args = shlex.split(self._alias_value) except ValueError as e: raise InvalidAliasException( - 'Value of alias "%s" could not be parsed. ' - 'Received error: %s when parsing:\n%s' % ( - self._alias_name, e, self._alias_value) + f'Value of alias "{self._alias_name}" could not be parsed. ' + f'Received error: {e} when parsing:\n{self._alias_value}' ) alias_args = [arg.strip(os.linesep) for arg in alias_args] LOG.debug( 'Expanded subcommand alias %r with value: %r to: %r', - self._alias_name, self._alias_value, alias_args + self._alias_name, + self._alias_value, + alias_args, ) return alias_args - def _update_parsed_globals(self, parsed_alias_args, parsed_globals): + def _update_parsed_globals(self, parsed_alias_args, parsed_globals, remaining): global_params_to_update = self._get_global_parameters_to_update( - parsed_alias_args) + parsed_alias_args + ) # Emit the top level args parsed event to ensure all possible # customizations that typically get applied are applied to the # global parameters provided in the alias before updating # the original provided global parameter values # and passing those onto subsequent commands. - emit_top_level_args_parsed_event(self._session, parsed_alias_args) + emit_top_level_args_parsed_event(self._session, parsed_alias_args, remaining) for param_name in global_params_to_update: updated_param_value = getattr(parsed_alias_args, param_name) setattr(parsed_globals, param_name, updated_param_value) @@ -241,9 +256,10 @@ def _get_global_parameters_to_update(self, parsed_alias_args): if self._parser.get_default(parsed_param) != value: if parsed_param in self.UNSUPPORTED_GLOBAL_PARAMETERS: raise InvalidAliasException( - 'Global parameter "--%s" detected in alias "%s" ' - 'which is not support in subcommand aliases.' % ( - parsed_param, self._alias_name)) + f'Global parameter "--{parsed_param}" detected in alias ' + f'"{self._alias_name}" which is not supported in ' + 'subcommand aliases.' + ) else: global_params_to_update.append(parsed_param) return global_params_to_update @@ -272,12 +288,13 @@ def __init__(self, alias_name, alias_value, invoker=subprocess.call): self._invoker = invoker def __call__(self, args, parsed_globals): - command_components = [ - self._alias_value[1:] - ] + command_components = [self._alias_value[1:]] command_components.extend(compat_shell_quote(a) for a in args) command = ' '.join(command_components) LOG.debug( 'Using external alias %r with value: %r to run: %r', - self._alias_name, self._alias_value, command) + self._alias_name, + self._alias_value, + command, + ) return self._invoker(command, shell=True) diff --git a/awscli/argparser.py b/awscli/argparser.py index 126b27f8e1e9..c50634e469da 100644 --- a/awscli/argparser.py +++ b/awscli/argparser.py @@ -12,10 +12,8 @@ # language governing permissions and limitations under the License. import argparse import sys -from awscli.compat import six from difflib import get_close_matches - AWS_CLI_V2_MESSAGE = ( 'Note: AWS CLI version 2, the latest major version ' 'of the AWS CLI, is now stable and recommended for general ' @@ -46,9 +44,10 @@ class CommandAction(argparse.Action): are dynamically retrieved from the keys of the referenced command table """ + def __init__(self, option_strings, dest, command_table, **kwargs): self.command_table = command_table - super(CommandAction, self).__init__( + super().__init__( option_strings, dest, choices=self.choices, **kwargs ) @@ -84,9 +83,9 @@ def _check_value(self, action, value): # converted value must be one of the choices (if specified) if action.choices is not None and value not in action.choices: msg = ['Invalid choice, valid choices are:\n'] - for i in range(len(action.choices))[::self.ChoicesPerLine]: + for i in range(len(action.choices))[:: self.ChoicesPerLine]: current = [] - for choice in action.choices[i:i+self.ChoicesPerLine]: + for choice in action.choices[i : i + self.ChoicesPerLine]: current.append('%-40s' % choice) msg.append(' | '.join(current)) possible = get_close_matches(value, action.choices, cutoff=0.8) @@ -98,7 +97,9 @@ def _check_value(self, action, value): raise argparse.ArgumentError(action, '\n'.join(msg)) def parse_known_args(self, args, namespace=None): - parsed, remaining = super(CLIArgParser, self).parse_known_args(args, namespace) + parsed, remaining = super().parse_known_args( + args, namespace + ) terminal_encoding = getattr(sys.stdin, 'encoding', 'utf-8') if terminal_encoding is None: # In some cases, sys.stdin won't have an encoding set, @@ -106,12 +107,12 @@ def parse_known_args(self, args, namespace=None): # default to utf-8. terminal_encoding = 'utf-8' for arg, value in vars(parsed).items(): - if isinstance(value, six.binary_type): + if isinstance(value, bytes): setattr(parsed, arg, value.decode(terminal_encoding)) elif isinstance(value, list): encoded = [] for v in value: - if isinstance(v, six.binary_type): + if isinstance(v, bytes): encoded.append(v.decode(terminal_encoding)) else: encoded.append(v) @@ -122,15 +123,22 @@ def parse_known_args(self, args, namespace=None): class MainArgParser(CLIArgParser): Formatter = argparse.RawTextHelpFormatter - def __init__(self, command_table, version_string, - description, argument_table, prog=None): - super(MainArgParser, self).__init__( + def __init__( + self, + command_table, + version_string, + description, + argument_table, + prog=None, + ): + super().__init__( formatter_class=self.Formatter, add_help=False, conflict_handler='resolve', description=description, usage=USAGE, - prog=prog) + prog=prog, + ) self._build(command_table, version_string, argument_table) def _create_choice_help(self, choices): @@ -143,27 +151,32 @@ def _build(self, command_table, version_string, argument_table): for argument_name in argument_table: argument = argument_table[argument_name] argument.add_to_parser(self) - self.add_argument('--version', action="version", - version=version_string, - help='Display the version of this tool') - self.add_argument('command', action=CommandAction, - command_table=command_table) + self.add_argument( + '--version', + action="version", + version=version_string, + help='Display the version of this tool', + ) + self.add_argument( + 'command', action=CommandAction, command_table=command_table + ) class ServiceArgParser(CLIArgParser): - def __init__(self, operations_table, service_name): - super(ServiceArgParser, self).__init__( + super().__init__( formatter_class=argparse.RawTextHelpFormatter, add_help=False, conflict_handler='resolve', - usage=USAGE) + usage=USAGE, + ) self._build(operations_table) self._service_name = service_name def _build(self, operations_table): - self.add_argument('operation', action=CommandAction, - command_table=operations_table) + self.add_argument( + 'operation', action=CommandAction, command_table=operations_table + ) class ArgTableArgParser(CLIArgParser): @@ -173,11 +186,12 @@ def __init__(self, argument_table, command_table=None): # command_table is an optional subcommand_table. If it's passed # in, then we'll update the argparse to parse a 'subcommand' argument # and populate the choices field with the command table keys. - super(ArgTableArgParser, self).__init__( + super().__init__( formatter_class=self.Formatter, add_help=False, usage=USAGE, - conflict_handler='resolve') + conflict_handler='resolve', + ) if command_table is None: command_table = {} self._build(argument_table, command_table) @@ -187,8 +201,12 @@ def _build(self, argument_table, command_table): argument = argument_table[arg_name] argument.add_to_parser(self) if command_table: - self.add_argument('subcommand', action=CommandAction, - command_table=command_table, nargs='?') + self.add_argument( + 'subcommand', + action=CommandAction, + command_table=command_table, + nargs='?', + ) def parse_known_args(self, args, namespace=None): if len(args) == 1 and args[0] == 'help': @@ -196,5 +214,6 @@ def parse_known_args(self, args, namespace=None): namespace.help = 'help' return namespace, [] else: - return super(ArgTableArgParser, self).parse_known_args( - args, namespace) + return super().parse_known_args( + args, namespace + ) diff --git a/awscli/argprocess.py b/awscli/argprocess.py index 5cd418ce2606..445fc652ee17 100644 --- a/awscli/argprocess.py +++ b/awscli/argprocess.py @@ -11,19 +11,19 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. """Module for processing CLI args.""" -import os + import logging -from awscli.compat import six +import os from botocore.compat import OrderedDict, json +from botocore.utils import is_json_value_header -from awscli import SCALAR_TYPES, COMPLEX_TYPES -from awscli import shorthand +from awscli import COMPLEX_TYPES, SCALAR_TYPES, shorthand from awscli.utils import ( - find_service_and_method_in_event_name, is_document_type, - is_document_type_container + find_service_and_method_in_event_name, + is_document_type, + is_document_type_container, ) -from botocore.utils import is_json_value_header LOG = logging.getLogger('awscli.argprocess') @@ -41,9 +41,8 @@ def __init__(self, cli_name, message): :param message: The error message to display to the user. """ - full_message = ("Error parsing parameter '%s': %s" % - (cli_name, message)) - super(ParamError, self).__init__(full_message) + full_message = "Error parsing parameter '%s': %s" % (cli_name, message) + super().__init__(full_message) self.cli_name = cli_name self.message = message @@ -56,16 +55,18 @@ class ParamUnknownKeyError(Exception): def __init__(self, key, valid_keys): valid_keys = ', '.join(valid_keys) full_message = ( - "Unknown key '%s', valid choices " - "are: %s" % (key, valid_keys)) - super(ParamUnknownKeyError, self).__init__(full_message) + f"Unknown key '{key}', valid choices are: {valid_key}" + ) + super().__init__(full_message) class TooComplexError(Exception): pass -def unpack_argument(session, service_name, operation_name, cli_argument, value): +def unpack_argument( + session, service_name, operation_name, cli_argument, value, parsed_globals +): """ Unpack an argument's value from the commandline. This is part one of a two step process in handling commandline arguments. Emits the load-cli-arg @@ -77,11 +78,13 @@ def unpack_argument(session, service_name, operation_name, cli_argument, value): param_name = getattr(cli_argument, 'name', 'anonymous') value_override = session.emit_first_non_none_response( - 'load-cli-arg.%s.%s.%s' % (service_name, - operation_name, - param_name), - param=cli_argument, value=value, service_name=service_name, - operation_name=operation_name) + f'load-cli-arg.{service_name}.{operation_name}.{param_name}', + param=cli_argument, + value=value, + service_name=service_name, + operation_name=operation_name, + parsed_globals=parsed_globals, + ) if value_override is not None: value = value_override @@ -103,8 +106,10 @@ def _detect_shape_structure(param, stack): if param.type_name in SCALAR_TYPES: return 'scalar' elif param.type_name == 'structure': - sub_types = [_detect_shape_structure(p, stack) - for p in param.members.values()] + sub_types = [ + _detect_shape_structure(p, stack) + for p in param.members.values() + ] # We're distinguishing between structure(scalar) # and structure(scalars), because for the case of # a single scalar in a structure we can simplify @@ -142,31 +147,33 @@ def unpack_cli_arg(cli_argument, value): :return: The "unpacked" argument than can be sent to the `Operation` object in python. """ - return _unpack_cli_arg(cli_argument.argument_model, value, - cli_argument.cli_name) + return _unpack_cli_arg( + cli_argument.argument_model, value, cli_argument.cli_name + ) def _special_type(model): # check if model is jsonvalue header and that value is serializable - if model.serialization.get('jsonvalue') and \ - model.serialization.get('location') == 'header' and \ - model.type_name == 'string': + if ( + model.serialization.get('jsonvalue') + and model.serialization.get('location') == 'header' + and model.type_name == 'string' + ): return True return False def _unpack_cli_arg(argument_model, value, cli_name): - if is_json_value_header(argument_model) or \ - is_document_type(argument_model): + if is_json_value_header(argument_model) or is_document_type( + argument_model + ): return _unpack_json_cli_arg(argument_model, value, cli_name) elif argument_model.type_name in SCALAR_TYPES: - return unpack_scalar_cli_arg( - argument_model, value, cli_name) + return unpack_scalar_cli_arg(argument_model, value, cli_name) elif argument_model.type_name in COMPLEX_TYPES: - return _unpack_complex_cli_arg( - argument_model, value, cli_name) + return _unpack_complex_cli_arg(argument_model, value, cli_name) else: - return six.text_type(value) + return str(value) def _unpack_json_cli_arg(argument_model, value, cli_name): @@ -174,8 +181,8 @@ def _unpack_json_cli_arg(argument_model, value, cli_name): return json.loads(value, object_pairs_hook=OrderedDict) except ValueError as e: raise ParamError( - cli_name, "Invalid JSON: %s\nJSON received: %s" - % (e, value)) + cli_name, f"Invalid JSON: {e}\nJSON received: {value}" + ) def _unpack_complex_cli_arg(argument_model, value, cli_name): @@ -183,9 +190,9 @@ def _unpack_complex_cli_arg(argument_model, value, cli_name): if type_name == 'structure' or type_name == 'map': if value.lstrip()[0] == '{': return _unpack_json_cli_arg(argument_model, value, cli_name) - raise ParamError(cli_name, "Invalid JSON:\n%s" % value) + raise ParamError(cli_name, f"Invalid JSON:\n{value}") elif type_name == 'list': - if isinstance(value, six.string_types): + if isinstance(value, str): if value.lstrip()[0] == '[': return _unpack_json_cli_arg(argument_model, value, cli_name) elif isinstance(value, list) and len(value) == 1: @@ -199,9 +206,10 @@ def _unpack_complex_cli_arg(argument_model, value, cli_name): # 2. It's possible this is a list of json objects: # --filters '{"Name": ..}' '{"Name": ...}' member_shape_model = argument_model.member - return [_unpack_cli_arg(member_shape_model, v, cli_name) - for v in value] - except (ValueError, TypeError) as e: + return [ + _unpack_cli_arg(member_shape_model, v, cli_name) for v in value + ] + except (ValueError, TypeError): # The list params don't have a name/cli_name attached to them # so they will have bad error messages. We're going to # attach the parent parameter to this error message to provide @@ -212,13 +220,21 @@ def _unpack_complex_cli_arg(argument_model, value, cli_name): def unpack_scalar_cli_arg(argument_model, value, cli_name=''): # Note the cli_name is used strictly for error reporting. It's # not required to use unpack_scalar_cli_arg - if argument_model.type_name == 'integer' or argument_model.type_name == 'long': + if ( + argument_model.type_name == 'integer' + or argument_model.type_name == 'long' + ): return int(value) - elif argument_model.type_name == 'float' or argument_model.type_name == 'double': + elif ( + argument_model.type_name == 'float' + or argument_model.type_name == 'double' + ): # TODO: losing precision on double types return float(value) - elif argument_model.type_name == 'blob' and \ - argument_model.serialization.get('streaming'): + elif ( + argument_model.type_name == 'blob' + and argument_model.serialization.get('streaming') + ): file_path = os.path.expandvars(value) file_path = os.path.expanduser(file_path) if not os.path.isfile(file_path): @@ -226,7 +242,7 @@ def unpack_scalar_cli_arg(argument_model, value, cli_name=''): raise ParamError(cli_name, msg) return open(file_path, 'rb') elif argument_model.type_name == 'boolean': - if isinstance(value, six.string_types) and value.lower() == 'false': + if isinstance(value, str) and value.lower() == 'false': return False return bool(value) else: @@ -257,8 +273,7 @@ def _is_complex_shape(model): return True -class ParamShorthand(object): - +class ParamShorthand: def _uses_old_list_case(self, service_id, operation_name, argument_name): """ Determines whether a given operation for a service needs to use the @@ -266,27 +281,24 @@ def _uses_old_list_case(self, service_id, operation_name, argument_name): a single member. """ cases = { - 'firehose': { - 'put-record-batch': ['records'] - }, + 'firehose': {'put-record-batch': ['records']}, 'workspaces': { 'reboot-workspaces': ['reboot-workspace-requests'], 'rebuild-workspaces': ['rebuild-workspace-requests'], - 'terminate-workspaces': ['terminate-workspace-requests'] + 'terminate-workspaces': ['terminate-workspace-requests'], }, 'elastic-load-balancing': { 'remove-tags': ['tags'], 'describe-instance-health': ['instances'], 'deregister-instances-from-load-balancer': ['instances'], - 'register-instances-with-load-balancer': ['instances'] - } + 'register-instances-with-load-balancer': ['instances'], + }, } cases = cases.get(service_id, {}).get(operation_name, []) return argument_name in cases class ParamShorthandParser(ParamShorthand): - def __init__(self): self._parser = shorthand.ShorthandParser() self._visitor = shorthand.BackCompatVisitor() @@ -322,18 +334,21 @@ def __call__(self, cli_argument, value, event_name, **kwargs): if not self._should_parse_as_shorthand(cli_argument, value): return else: - service_id, operation_name = \ - find_service_and_method_in_event_name(event_name) + service_id, operation_name = find_service_and_method_in_event_name( + event_name + ) return self._parse_as_shorthand( - cli_argument, value, service_id, operation_name) + cli_argument, value, service_id, operation_name + ) - def _parse_as_shorthand(self, cli_argument, value, service_id, - operation_name): + def _parse_as_shorthand( + self, cli_argument, value, service_id, operation_name + ): try: - LOG.debug("Parsing param %s as shorthand", - cli_argument.cli_name) + LOG.debug("Parsing param %s as shorthand", cli_argument.cli_name) handled_value = self._handle_special_cases( - cli_argument, value, service_id, operation_name) + cli_argument, value, service_id, operation_name + ) if handled_value is not None: return handled_value if isinstance(value, list): @@ -358,15 +373,20 @@ def _parse_as_shorthand(self, cli_argument, value, service_id, raise ParamError(cli_argument.cli_name, str(e)) return parsed - def _handle_special_cases(self, cli_argument, value, service_id, - operation_name): + def _handle_special_cases( + self, cli_argument, value, service_id, operation_name + ): # We need to handle a few special cases that the previous # parser handled in order to stay backwards compatible. model = cli_argument.argument_model - if model.type_name == 'list' and \ - model.member.type_name == 'structure' and \ - len(model.member.members) == 1 and \ - self._uses_old_list_case(service_id, operation_name, cli_argument.name): + if ( + model.type_name == 'list' + and model.member.type_name == 'structure' + and len(model.member.members) == 1 + and self._uses_old_list_case( + service_id, operation_name, cli_argument.name + ) + ): # First special case is handling a list of structures # of a single element such as: # @@ -379,11 +399,13 @@ def _handle_special_cases(self, cli_argument, value, service_id, key_name = list(model.member.members.keys())[0] new_values = [{key_name: v} for v in value] return new_values - elif model.type_name == 'structure' and \ - len(model.members) == 1 and \ - 'Value' in model.members and \ - model.members['Value'].type_name == 'string' and \ - '=' not in value: + elif ( + model.type_name == 'structure' + and len(model.members) == 1 + and 'Value' in model.members + and model.members['Value'].type_name == 'string' + and '=' not in value + ): # Second special case is where a structure of a single # value whose member name is "Value" can be specified # as: @@ -401,10 +423,14 @@ def _should_parse_as_shorthand(self, cli_argument, value): check_val = value[0] else: check_val = value - if isinstance(check_val, six.string_types) and check_val.strip().startswith( - ('[', '{')): - LOG.debug("Param %s looks like JSON, not considered for " - "param shorthand.", cli_argument.py_name) + if isinstance(check_val, str) and check_val.strip().startswith( + ('[', '{') + ): + LOG.debug( + "Param %s looks like JSON, not considered for " + "param shorthand.", + cli_argument.py_name, + ) return False model = cli_argument.argument_model return _supports_shorthand_syntax(model) @@ -422,8 +448,9 @@ def supports_shorthand(self, argument_model): return _supports_shorthand_syntax(argument_model) return False - def generate_shorthand_example(self, cli_argument, service_id, - operation_name): + def generate_shorthand_example( + self, cli_argument, service_id, operation_name + ): """Generate documentation for a CLI argument. :type cli_argument: awscli.arguments.BaseCLIArgument @@ -438,7 +465,8 @@ def generate_shorthand_example(self, cli_argument, service_id, """ docstring = self._handle_special_cases( - cli_argument, service_id, operation_name) + cli_argument, service_id, operation_name + ) if docstring is self._DONT_DOC: return None elif docstring: @@ -458,22 +486,27 @@ def generate_shorthand_example(self, cli_argument, service_id, def _handle_special_cases(self, cli_argument, service_id, operation_name): model = cli_argument.argument_model - if model.type_name == 'list' and \ - model.member.type_name == 'structure' and \ - len(model.member.members) == 1 and \ - self._uses_old_list_case( - service_id, operation_name, cli_argument.name): + if ( + model.type_name == 'list' + and model.member.type_name == 'structure' + and len(model.member.members) == 1 + and self._uses_old_list_case( + service_id, operation_name, cli_argument.name + ) + ): member_name = list(model.member.members)[0] # Handle special case where the min/max is exactly one. metadata = model.metadata + cli_name = cli_argument.cli_name if metadata.get('min') == 1 and metadata.get('max') == 1: - return '%s %s1' % (cli_argument.cli_name, member_name) - return '%s %s1 %s2 %s3' % (cli_argument.cli_name, member_name, - member_name, member_name) - elif model.type_name == 'structure' and \ - len(model.members) == 1 and \ - 'Value' in model.members and \ - model.members['Value'].type_name == 'string': + return f'{cli_name} {member_name}1' + return f'{cli_name} {member_name}1 {member_name}2 {member_name}3' + elif ( + model.type_name == 'structure' + and len(model.members) == 1 + and 'Value' in model.members + and model.members['Value'].type_name == 'string' + ): return self._DONT_DOC return '' @@ -503,7 +536,11 @@ def _list_docs(self, argument_model, stack): def _map_docs(self, argument_model, stack): k = argument_model.key - value_docs = self._shorthand_docs(argument_model.value, stack) + stack.append(argument_model.value.name) + try: + value_docs = self._shorthand_docs(argument_model.value, stack) + finally: + stack.pop() start = 'KeyName1=%s,KeyName2=%s' % (value_docs, value_docs) if k.enum and not stack: start += '\n\nWhere valid key names are:\n' diff --git a/awscli/arguments.py b/awscli/arguments.py index 06873e94dad9..f9f75fb57ffe 100644 --- a/awscli/arguments.py +++ b/awscli/arguments.py @@ -36,15 +36,14 @@ user input and maps the input value to several API parameters. """ + import logging -from botocore import xform_name from botocore.hooks import first_non_none_response from awscli.argprocess import unpack_cli_arg from awscli.schema import SchemaTransformer -from botocore import model - +from botocore import model, xform_name LOG = logging.getLogger('awscli.arguments') @@ -66,7 +65,7 @@ def create_argument_model_from_schema(schema): return arg_shape -class BaseCLIArgument(object): +class BaseCLIArgument: """Interface for CLI argument. This class represents the interface used for representing CLI @@ -203,11 +202,24 @@ class CustomArgument(BaseCLIArgument): """ - def __init__(self, name, help_text='', dest=None, default=None, - action=None, required=None, choices=None, nargs=None, - cli_type_name=None, group_name=None, positional_arg=False, - no_paramfile=False, argument_model=None, synopsis='', - const=None): + def __init__( + self, + name, + help_text='', + dest=None, + default=None, + action=None, + required=None, + choices=None, + nargs=None, + cli_type_name=None, + group_name=None, + positional_arg=False, + no_paramfile=False, + argument_model=None, + synopsis='', + const=None, + ): self._name = name self._help = help_text self._dest = dest @@ -235,8 +247,10 @@ def __init__(self, name, help_text='', dest=None, default=None, # If the top level element is a list then set nargs to # accept multiple values separated by a space. - if self.argument_model is not None and \ - self.argument_model.type_name == 'list': + if ( + self.argument_model is not None + and self.argument_model.type_name == 'list' + ): self._nargs = '+' def _create_scalar_argument_model(self): @@ -337,9 +351,7 @@ def nargs(self): class CLIArgument(BaseCLIArgument): - """Represents a CLI argument that maps to a service parameter. - - """ + """Represents a CLI argument that maps to a service parameter.""" TYPE_MAP = { 'structure': str, @@ -352,12 +364,18 @@ class CLIArgument(BaseCLIArgument): 'long': int, 'boolean': bool, 'double': float, - 'blob': str + 'blob': str, } - def __init__(self, name, argument_model, operation_model, - event_emitter, is_required=False, - serialized_name=None): + def __init__( + self, + name, + argument_model, + operation_model, + event_emitter, + is_required=False, + serialized_name=None, + ): """ :type name: str @@ -431,9 +449,10 @@ def add_to_parser(self, parser): cli_name = self.cli_name parser.add_argument( cli_name, - help=self.documentation, + help=self.documentation.replace('%', '%%'), type=self.cli_type, - required=self.required) + required=self.required, + ) def add_to_params(self, parameters, value): if value is None: @@ -451,16 +470,23 @@ def add_to_params(self, parameters, value): # below. Sometimes this can be more complicated, and subclasses # can customize as they need. unpacked = self._unpack_argument(value) - LOG.debug('Unpacked value of %r for parameter "%s": %r', value, - self.py_name, unpacked) + LOG.debug( + 'Unpacked value of %r for parameter "%s": %r', + value, + self.py_name, + unpacked, + ) parameters[self._serialized_name] = unpacked def _unpack_argument(self, value): service_name = self._operation_model.service_model.service_name operation_name = xform_name(self._operation_model.name, '-') - override = self._emit_first_response('process-cli-arg.%s.%s' % ( - service_name, operation_name), param=self.argument_model, - cli_argument=self, value=value) + override = self._emit_first_response( + f'process-cli-arg.{service_name}.{operation_name}', + param=self.argument_model, + cli_argument=self, + value=value, + ) if override is not None: # A plugin supplied an alternate conversion, # use it instead. @@ -478,13 +504,11 @@ def _emit_first_response(self, name, **kwargs): class ListArgument(CLIArgument): - def add_to_parser(self, parser): cli_name = self.cli_name - parser.add_argument(cli_name, - nargs='*', - type=self.cli_type, - required=self.required) + parser.add_argument( + cli_name, nargs='*', type=self.cli_type, required=self.required + ) class BooleanArgument(CLIArgument): @@ -504,17 +528,27 @@ class BooleanArgument(CLIArgument): """ - def __init__(self, name, argument_model, operation_model, - event_emitter, - is_required=False, action='store_true', dest=None, - group_name=None, default=None, - serialized_name=None): - super(BooleanArgument, self).__init__(name, - argument_model, - operation_model, - event_emitter, - is_required, - serialized_name=serialized_name) + def __init__( + self, + name, + argument_model, + operation_model, + event_emitter, + is_required=False, + action='store_true', + dest=None, + group_name=None, + default=None, + serialized_name=None, + ): + super().__init__( + name, + argument_model, + operation_model, + event_emitter, + is_required, + serialized_name=serialized_name, + ) self._mutex_group = None self._action = action if dest is None: @@ -545,18 +579,25 @@ def add_to_arg_table(self, argument_table): argument_table[self.name] = self negative_name = 'no-%s' % self.name negative_version = self.__class__( - negative_name, self.argument_model, - self._operation_model, self._event_emitter, - action='store_false', dest=self._destination, - group_name=self.group_name, serialized_name=self._serialized_name) + negative_name, + self.argument_model, + self._operation_model, + self._event_emitter, + action='store_false', + dest=self._destination, + group_name=self.group_name, + serialized_name=self._serialized_name, + ) argument_table[negative_name] = negative_version def add_to_parser(self, parser): - parser.add_argument(self.cli_name, - help=self.documentation, - action=self._action, - default=self._default, - dest=self._destination) + parser.add_argument( + self.cli_name, + help=self.documentation.replace('%', '%%'), + action=self._action, + default=self._default, + dest=self._destination, + ) @property def group_name(self): diff --git a/awscli/bcdoc/docevents.py b/awscli/bcdoc/docevents.py index 54bce6ebd9d9..bf66a2fc3c0c 100644 --- a/awscli/bcdoc/docevents.py +++ b/awscli/bcdoc/docevents.py @@ -13,6 +13,7 @@ DOC_EVENTS = { + 'doc-meta-description': '.%s', 'doc-breadcrumbs': '.%s', 'doc-title': '.%s', 'doc-description': '.%s', @@ -39,6 +40,8 @@ def generate_events(session, help_command): # Now generate the documentation events session.emit('doc-breadcrumbs.%s' % help_command.event_class, help_command=help_command) + session.emit('doc-meta-description.%s' % help_command.event_class, + help_command=help_command) session.emit('doc-title.%s' % help_command.event_class, help_command=help_command) session.emit('doc-description.%s' % help_command.event_class, diff --git a/awscli/bcdoc/docstringparser.py b/awscli/bcdoc/docstringparser.py index 868bd5d8914b..51cd46e55fae 100644 --- a/awscli/bcdoc/docstringparser.py +++ b/awscli/bcdoc/docstringparser.py @@ -10,10 +10,10 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -from botocore.compat import six +from html.parser import HTMLParser -class DocStringParser(six.moves.html_parser.HTMLParser): +class DocStringParser(HTMLParser): """ A simple HTML parser. Focused on converting the subset of HTML that appears in the documentation strings of the JSON models into @@ -23,20 +23,20 @@ class DocStringParser(six.moves.html_parser.HTMLParser): def __init__(self, doc): self.tree = None self.doc = doc - six.moves.html_parser.HTMLParser.__init__(self) + HTMLParser.__init__(self) def reset(self): - six.moves.html_parser.HTMLParser.reset(self) + HTMLParser.reset(self) self.tree = HTMLTree(self.doc) def feed(self, data): # HTMLParser is an old style class, so the super() method will not work. - six.moves.html_parser.HTMLParser.feed(self, data) + HTMLParser.feed(self, data) self.tree.write() self.tree = HTMLTree(self.doc) def close(self): - six.moves.html_parser.HTMLParser.close(self) + HTMLParser.close(self) # Write if there is anything remaining. self.tree.write() self.tree = HTMLTree(self.doc) @@ -51,12 +51,13 @@ def handle_data(self, data): self.tree.add_data(data) -class HTMLTree(object): +class HTMLTree: """ A tree which handles HTML nodes. Designed to work with a python HTML parser, meaning that the current_node will be the most recently opened tag. When a tag is closed, the current_node moves up to the parent node. """ + def __init__(self, doc): self.doc = doc self.head = StemNode() @@ -93,7 +94,7 @@ def write(self): self.head.write(self.doc) -class Node(object): +class Node: def __init__(self, parent=None): self.parent = parent @@ -103,7 +104,7 @@ def write(self, doc): class StemNode(Node): def __init__(self, parent=None): - super(StemNode, self).__init__(parent) + super().__init__(parent) self.children = [] def add_child(self, child): @@ -122,8 +123,9 @@ class TagNode(StemNode): """ A generic Tag node. It will verify that handlers exist before writing. """ + def __init__(self, tag, attrs=None, parent=None): - super(TagNode, self).__init__(parent) + super().__init__(parent) self.attrs = attrs self.tag = tag @@ -145,11 +147,11 @@ def _write_end(self, doc): class LineItemNode(TagNode): def __init__(self, attrs=None, parent=None): - super(LineItemNode, self).__init__('li', attrs, parent) + super().__init__('li', attrs, parent) def write(self, doc): self._lstrip(self) - super(LineItemNode, self).write(doc) + super().write(doc) def _lstrip(self, node): """ @@ -174,9 +176,10 @@ class DataNode(Node): """ A Node that contains only string data. """ + def __init__(self, data, parent=None): - super(DataNode, self).__init__(parent) - if not isinstance(data, six.string_types): + super().__init__(parent) + if not isinstance(data, str): raise ValueError("Expecting string type, %s given." % type(data)) self.data = data diff --git a/awscli/bcdoc/restdoc.py b/awscli/bcdoc/restdoc.py index cdb6be14dcbc..b44a8c3c1466 100644 --- a/awscli/bcdoc/restdoc.py +++ b/awscli/bcdoc/restdoc.py @@ -67,6 +67,23 @@ def push_write(self, s): """ self._writes.append(s) + def find_last_write(self, content): + """ + Returns the index of the last occurrence of the content argument + in the stack, or returns None if content is not on the stack. + """ + try: + return len(self._writes) - self._writes[::-1].index(content) - 1 + except ValueError: + return None + + def insert_write(self, index, content): + """ + Inserts the content argument to the stack directly before the + supplied index. + """ + self._writes.insert(index, content) + def getvalue(self): """ Returns the current content of the document as a string. @@ -112,14 +129,14 @@ class DocumentStructure(ReSTDocument): def __init__(self, name, section_names=None, target='man', context=None): """Provides a Hierarichial structure to a ReSTDocument - You can write to it similiar to as you can to a ReSTDocument but + You can write to it similar to as you can to a ReSTDocument but has an innate structure for more orginaztion and abstraction. :param name: The name of the document :param section_names: A list of sections to be included in the document. :param target: The target documentation of the Document structure - :param context: A dictionary of data to store with the strucuture. These + :param context: A dictionary of data to store with the structure. These are only stored per section not the entire structure. """ super(DocumentStructure, self).__init__(target=target) @@ -170,7 +187,7 @@ def add_new_section(self, name, context=None): as well :param name: The name of the section. - :param context: A dictionary of data to store with the strucuture. These + :param context: A dictionary of data to store with the structure. These are only stored per section not the entire structure. :rtype: DocumentStructure :returns: A new document structure to add to but lives as a section @@ -180,7 +197,7 @@ def add_new_section(self, name, context=None): section = self.__class__(name=name, target=self.target, context=context) section.path = self.path + [name] - # Indent the section apporpriately as well + # Indent the section appropriately as well section.style.indentation = self.style.indentation section.translation_map = self.translation_map section.hrefs = self.hrefs diff --git a/awscli/clidocs.py b/awscli/clidocs.py index 9d8fb9d59159..c7a782cdecd3 100644 --- a/awscli/clidocs.py +++ b/awscli/clidocs.py @@ -13,30 +13,33 @@ import logging import os import re -from botocore import xform_name + from botocore.model import StringShape from botocore.utils import is_json_value_header -from awscli import SCALAR_TYPES +from awscli import SCALAR_TYPES, __version__ as AWS_CLI_VERSION from awscli.argprocess import ParamShorthandDocGen from awscli.bcdoc.docevents import DOC_EVENTS from awscli.topictags import TopicTagDB from awscli.utils import ( - find_service_and_method_in_event_name, is_document_type, - operation_uses_document_types, is_streaming_blob_type, - is_tagged_union_type + find_service_and_method_in_event_name, + is_document_type, + is_streaming_blob_type, + is_tagged_union_type, + operation_uses_document_types, ) LOG = logging.getLogger(__name__) -EXAMPLES_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), - 'examples') +EXAMPLES_DIR = os.path.join( + os.path.dirname(os.path.abspath(__file__)), 'examples' +) GLOBAL_OPTIONS_FILE = os.path.join(EXAMPLES_DIR, 'global_options.rst') -GLOBAL_OPTIONS_SYNOPSIS_FILE = os.path.join(EXAMPLES_DIR, - 'global_synopsis.rst') - +GLOBAL_OPTIONS_SYNOPSIS_FILE = os.path.join( + EXAMPLES_DIR, 'global_synopsis.rst' +) -class CLIDocumentEventHandler(object): +class CLIDocumentEventHandler: def __init__(self, help_command): self.help_command = help_command self.register(help_command.session, help_command.event_class) @@ -91,9 +94,11 @@ def unregister(self): handler method will be unregistered for the all events of that type for the specified ``event_class``. """ - self._map_handlers(self.help_command.session, - self.help_command.event_class, - self.help_command.session.unregister) + self._map_handlers( + self.help_command.session, + self.help_command.event_class, + self.help_command.session.unregister, + ) # These are default doc handlers that apply in the general case. @@ -108,8 +113,9 @@ def doc_breadcrumbs(self, help_command, **kwargs): doc.write(' . ') full_cmd_list.append(cmd) full_cmd_name = ' '.join(full_cmd_list) - doc.write(':ref:`%s `' % (cmd, full_cmd_name)) - doc.write(' ]') + doc.write(f':ref:`{cmd} `') + doc.writeln(' ]') + doc.writeln('') def doc_title(self, help_command, **kwargs): doc = help_command.doc @@ -117,7 +123,7 @@ def doc_title(self, help_command, **kwargs): reference = help_command.event_class.replace('.', ' ') if reference != 'aws': reference = 'aws ' + reference - doc.writeln('.. _cli:%s:' % reference) + doc.writeln(f'.. _cli:{reference}:') doc.style.h1(help_command.name) def doc_description(self, help_command, **kwargs): @@ -131,7 +137,7 @@ def doc_synopsis_start(self, help_command, **kwargs): doc = help_command.doc doc.style.h2('Synopsis') doc.style.start_codeblock() - doc.writeln('%s' % help_command.name) + doc.writeln(help_command.name) def doc_synopsis_option(self, arg_name, help_command, **kwargs): doc = help_command.doc @@ -141,17 +147,19 @@ def doc_synopsis_option(self, arg_name, help_command, **kwargs): # This arg is already documented so we can move on. return option_str = ' | '.join( - [a.cli_name for a in - self._arg_groups[argument.group_name]]) + a.cli_name for a in self._arg_groups[argument.group_name] + ) self._documented_arg_groups.append(argument.group_name) elif argument.cli_name.startswith('--'): - option_str = '%s ' % argument.cli_name + option_str = f'{argument.cli_name} ' else: - option_str = '<%s>' % argument.cli_name - if not (argument.required - or getattr(argument, '_DOCUMENT_AS_REQUIRED', False)): - option_str = '[%s]' % option_str - doc.writeln('%s' % option_str) + option_str = f'<{argument.cli_name}>' + if not ( + argument.required + or getattr(argument, '_DOCUMENT_AS_REQUIRED', False) + ): + option_str = f'[{option_str}]' + doc.writeln(option_str) def doc_synopsis_end(self, help_command, **kwargs): doc = help_command.doc @@ -177,13 +185,15 @@ def doc_option(self, arg_name, help_command, **kwargs): # This arg is already documented so we can move on. return name = ' | '.join( - ['``%s``' % a.cli_name for a in - self._arg_groups[argument.group_name]]) + f'``{a.cli_name}``' for a in self._arg_groups[argument.group_name] + ) self._documented_arg_groups.append(argument.group_name) else: - name = '``%s``' % argument.cli_name - doc.write('%s (%s)\n' % (name, self._get_argument_type_name( - argument.argument_model, argument.cli_type_name))) + name = f'``{argument.cli_name}``' + argument_type_name = self._get_argument_type_name( + argument.argument_model, argument.cli_type_name + ) + doc.write(f'{name} ({argument_type_name})\n') doc.style.indent() doc.include_doc_string(argument.documentation) if is_streaming_blob_type(argument.argument_model): @@ -210,11 +220,13 @@ def doc_relateditem(self, help_command, related_item, **kwargs): doc = help_command.doc doc.write('* ') doc.style.sphinx_reference_label( - label='cli:%s' % related_item, - text=related_item + label=f'cli:{related_item}', text=related_item ) doc.write('\n') + def doc_meta_description(self, help_command, **kwargs): + pass + def _document_enums(self, model, doc): """Documents top-level parameter enums""" if isinstance(model, StringShape): @@ -223,7 +235,7 @@ def _document_enums(self, model, doc): doc.write('Possible values:') doc.style.start_ul() for enum in model.enum: - doc.style.li('``%s``' % enum) + doc.style.li(f'``{enum}``') doc.style.end_ul() def _document_nested_structure(self, model, doc): @@ -231,8 +243,9 @@ def _document_nested_structure(self, model, doc): member_type_name = getattr(model, 'type_name', None) if member_type_name == 'structure': for member_name, member_shape in model.members.items(): - self._doc_member(doc, member_name, member_shape, - stack=[model.name]) + self._doc_member( + doc, member_name, member_shape, stack=[model.name] + ) elif member_type_name == 'list': self._doc_member(doc, '', model.member, stack=[model.name]) elif member_type_name == 'map': @@ -253,19 +266,19 @@ def _doc_member(self, doc, member_name, member_shape, stack): return stack.append(member_shape.name) try: - self._do_doc_member(doc, member_name, - member_shape, stack) + self._do_doc_member(doc, member_name, member_shape, stack) finally: stack.pop() def _do_doc_member(self, doc, member_name, member_shape, stack): docs = member_shape.documentation type_name = self._get_argument_type_name( - member_shape, member_shape.type_name) + member_shape, member_shape.type_name + ) if member_name: - doc.write('%s -> (%s)' % (member_name, type_name)) + doc.write(f'{member_name} -> ({type_name})') else: - doc.write('(%s)' % type_name) + doc.write(f'({type_name})') doc.style.indent() doc.style.new_paragraph() doc.include_doc_string(docs) @@ -290,26 +303,26 @@ def _do_doc_member(self, doc, member_name, member_shape, stack): def _add_streaming_blob_note(self, doc): doc.style.start_note() - msg = ("This argument is of type: streaming blob. " - "Its value must be the path to a file " - "(e.g. ``path/to/file``) and must **not** " - "be prefixed with ``file://`` or ``fileb://``") + msg = ( + "This argument is of type: streaming blob. " + "Its value must be the path to a file " + "(e.g. ``path/to/file``) and must **not** " + "be prefixed with ``file://`` or ``fileb://``" + ) doc.writeln(msg) doc.style.end_note() def _add_tagged_union_note(self, shape, doc): doc.style.start_note() - members_str = ", ".join( - [f'``{key}``' for key in shape.members.keys()] + members_str = ", ".join(f'``{key}``' for key in shape.members.keys()) + doc.writeln( + "This is a Tagged Union structure. Only one of the " + f"following top level keys can be set: {members_str}." ) - msg = ("This is a Tagged Union structure. Only one of the " - f"following top level keys can be set: {members_str}.") - doc.writeln(msg) doc.style.end_note() class ProviderDocumentEventHandler(CLIDocumentEventHandler): - def doc_breadcrumbs(self, help_command, event_name, **kwargs): pass @@ -339,12 +352,10 @@ def doc_subitems_start(self, help_command, **kwargs): def doc_subitem(self, command_name, help_command, **kwargs): doc = help_command.doc - file_name = '%s/index' % command_name - doc.style.tocitem(command_name, file_name=file_name) + doc.style.tocitem(command_name, file_name=f"{command_name}/index") class ServiceDocumentEventHandler(CLIDocumentEventHandler): - # A service document has no synopsis. def doc_synopsis_start(self, help_command, **kwargs): pass @@ -390,15 +401,20 @@ def doc_subitem(self, command_name, help_command, **kwargs): # If the subcommand table has commands in it, # direct the subitem to the command's index because # it has more subcommands to be documented. - if (len(subcommand_table) > 0): - file_name = '%s/index' % command_name - doc.style.tocitem(command_name, file_name=file_name) + if len(subcommand_table) > 0: + doc.style.tocitem(command_name, file_name=f"{command_name}/index") else: doc.style.tocitem(command_name) + def doc_meta_description(self, help_command, **kwargs): + doc = help_command.doc + reference = help_command.event_class.replace('.', ' ') + doc.writeln(".. meta::") + doc.writeln(f" :description: Learn about the AWS CLI {AWS_CLI_VERSION} {reference} commands.") + doc.writeln("") -class OperationDocumentEventHandler(CLIDocumentEventHandler): +class OperationDocumentEventHandler(CLIDocumentEventHandler): AWS_DOC_BASE = 'https://docs.aws.amazon.com/goto/WebAPI' def doc_description(self, help_command, **kwargs): @@ -409,7 +425,6 @@ def doc_description(self, help_command, **kwargs): self._add_webapi_crosslink(help_command) self._add_note_for_document_types_if_used(help_command) - def _add_webapi_crosslink(self, help_command): doc = help_command.doc operation_model = help_command.obj @@ -422,8 +437,7 @@ def _add_webapi_crosslink(self, help_command): return doc.style.new_paragraph() doc.write("See also: ") - link = '%s/%s/%s' % (self.AWS_DOC_BASE, service_uid, - operation_model.name) + link = f'{self.AWS_DOC_BASE}/{service_uid}/{operation_model.name}' doc.style.external_link(title="AWS API Documentation", link=link) doc.writeln('') @@ -431,27 +445,29 @@ def _add_note_for_document_types_if_used(self, help_command): if operation_uses_document_types(help_command.obj): help_command.doc.style.new_paragraph() help_command.doc.writeln( - '``%s`` uses document type values. Document types follow the ' - 'JSON data model where valid values are: strings, numbers, ' - 'booleans, null, arrays, and objects. For command input, ' - 'options and nested parameters that are labeled with the type ' - '``document`` must be provided as JSON. Shorthand syntax does ' - 'not support document types.' % help_command.name + f'``{help_command.name}`` uses document type values. Document ' + 'types follow the JSON data model where valid values are: ' + 'strings, numbers, booleans, null, arrays, and objects. For ' + 'command input, options and nested parameters that are labeled ' + 'with the type ``document`` must be provided as JSON. ' + 'Shorthand syntax does not support document types.' ) - def _json_example_value_name(self, argument_model, include_enum_values=True): + def _json_example_value_name( + self, argument_model, include_enum_values=True + ): # If include_enum_values is True, then the valid enum values # are included as the sample JSON value. if isinstance(argument_model, StringShape): if argument_model.enum and include_enum_values: choices = argument_model.enum - return '|'.join(['"%s"' % c for c in choices]) + return '|'.join(f'"{c}"' for c in choices) else: return '"string"' elif argument_model.type_name == 'boolean': return 'true|false' else: - return '%s' % argument_model.type_name + return argument_model.type_name def _json_example(self, doc, argument_model, stack): if argument_model.name in stack: @@ -471,7 +487,8 @@ def _do_json_example(self, doc, argument_model, stack): if argument_model.type_name == 'list': doc.write('[') if argument_model.member.type_name in SCALAR_TYPES: - doc.write('%s, ...' % self._json_example_value_name(argument_model.member)) + example_name = self._json_example_value_name(argument_model.member) + doc.write(f'{example_name}, ...') else: doc.style.indent() doc.style.new_line() @@ -485,7 +502,7 @@ def _do_json_example(self, doc, argument_model, stack): doc.write('{') doc.style.indent() key_string = self._json_example_value_name(argument_model.key) - doc.write('%s: ' % key_string) + doc.write(f'{key_string}: ') if argument_model.value.type_name in SCALAR_TYPES: doc.write(self._json_example_value_name(argument_model.value)) else: @@ -514,16 +531,16 @@ def _doc_input_structure_members(self, doc, argument_model, stack): member_model = members[member_name] member_type_name = member_model.type_name if member_type_name in SCALAR_TYPES: - doc.write('"%s": %s' % (member_name, - self._json_example_value_name(member_model))) + example_name = self._json_example_value_name(member_model) + doc.write(f'"{member_name}": {example_name}') elif member_type_name == 'structure': - doc.write('"%s": ' % member_name) + doc.write(f'"{member_name}": ') self._json_example(doc, member_model, stack) elif member_type_name == 'map': - doc.write('"%s": ' % member_name) + doc.write(f'"{member_name}": ') self._json_example(doc, member_model, stack) elif member_type_name == 'list': - doc.write('"%s": ' % member_name) + doc.write(f'"{member_name}": ') self._json_example(doc, member_model, stack) if i < len(members) - 1: doc.write(',') @@ -533,8 +550,9 @@ def _doc_input_structure_members(self, doc, argument_model, stack): doc.write('}') def doc_option_example(self, arg_name, help_command, event_name, **kwargs): - service_id, operation_name = \ - find_service_and_method_in_event_name(event_name) + service_id, operation_name = find_service_and_method_in_event_name( + event_name + ) doc = help_command.doc cli_argument = help_command.arg_table[arg_name] if cli_argument.group_name in self._arg_groups: @@ -546,7 +564,8 @@ def doc_option_example(self, arg_name, help_command, event_name, **kwargs): docgen = ParamShorthandDocGen() if docgen.supports_shorthand(cli_argument.argument_model): example_shorthand_syntax = docgen.generate_shorthand_example( - cli_argument, service_id, operation_name) + cli_argument, service_id, operation_name + ) if example_shorthand_syntax is None: # If the shorthand syntax returns a value of None, # this indicates to us that there is no example @@ -560,8 +579,11 @@ def doc_option_example(self, arg_name, help_command, event_name, **kwargs): for example_line in example_shorthand_syntax.splitlines(): doc.writeln(example_line) doc.style.end_codeblock() - if argument_model is not None and argument_model.type_name == 'list' and \ - argument_model.member.type_name in SCALAR_TYPES: + if ( + argument_model is not None + and argument_model.type_name == 'list' + and argument_model.member.type_name in SCALAR_TYPES + ): # A list of scalars is special. While you *can* use # JSON ( ["foo", "bar", "baz"] ), you can also just # use the argparse behavior of space separated lists. @@ -572,8 +594,9 @@ def doc_option_example(self, arg_name, help_command, event_name, **kwargs): doc.write('Syntax') doc.style.start_codeblock() example_type = self._json_example_value_name( - member, include_enum_values=False) - doc.write('%s %s ...' % (example_type, example_type)) + member, include_enum_values=False + ) + doc.write(f'{example_type} {example_type} ...') if isinstance(member, StringShape) and member.enum: # If we have enum values, we can tell the user # exactly what valid values they can provide. @@ -592,7 +615,7 @@ def _write_valid_enums(self, doc, enum_values): doc.style.new_paragraph() doc.write("Where valid values are:\n") for value in enum_values: - doc.write(" %s\n" % value) + doc.write(f" {value}\n") doc.write("\n") def doc_output(self, help_command, event_name, **kwargs): @@ -606,6 +629,12 @@ def doc_output(self, help_command, event_name, **kwargs): for member_name, member_shape in output_shape.members.items(): self._doc_member(doc, member_name, member_shape, stack=[]) + def doc_meta_description(self, help_command, **kwargs): + doc = help_command.doc + reference = help_command.event_class.replace('.', ' ') + doc.writeln(".. meta::") + doc.writeln(f" :description: Use the AWS CLI {AWS_CLI_VERSION} to run the {reference} command.") + doc.writeln("") class TopicListerDocumentEventHandler(CLIDocumentEventHandler): DESCRIPTION = ( @@ -614,7 +643,8 @@ class TopicListerDocumentEventHandler(CLIDocumentEventHandler): 'the list of topics from the command line, run ``aws help topics``. ' 'To access a specific topic from the command line, run ' '``aws help [topicname]``, where ``topicname`` is the name of the ' - 'topic as it appears in the output from ``aws help topics``.') + 'topic as it appears in the output from ``aws help topics``.' + ) def __init__(self, help_command): self.help_command = help_command @@ -633,8 +663,8 @@ def doc_title(self, help_command, **kwargs): doc = help_command.doc doc.style.new_paragraph() doc.style.link_target_definition( - refname='cli:aws help %s' % self.help_command.name, - link='') + refname=f'cli:aws help {self.help_command.name}', link='' + ) doc.style.h1('AWS CLI Topic Guide') def doc_description(self, help_command, **kwargs): @@ -674,13 +704,13 @@ def doc_subitems_start(self, help_command, **kwargs): # each category. for topic_name in sorted(categories[category_name]): description = self._topic_tag_db.get_tag_single_value( - topic_name, 'description') + topic_name, 'description' + ) doc.write('* ') doc.style.sphinx_reference_label( - label='cli:aws help %s' % topic_name, - text=topic_name + label=f'cli:aws help {topic_name}', text=topic_name ) - doc.write(': %s\n' % description) + doc.write(f': {description}\n') # Add a hidden toctree to make sure everything is connected in # the document. doc.style.hidden_toctree() @@ -689,7 +719,6 @@ def doc_subitems_start(self, help_command, **kwargs): class TopicDocumentEventHandler(TopicListerDocumentEventHandler): - def doc_breadcrumbs(self, help_command, **kwargs): doc = help_command.doc if doc.target != 'man': @@ -697,8 +726,7 @@ def doc_breadcrumbs(self, help_command, **kwargs): doc.style.sphinx_reference_label(label='cli:aws', text='aws') doc.write(' . ') doc.style.sphinx_reference_label( - label='cli:aws help topics', - text='topics' + label='cli:aws help topics', text='topics' ) doc.write(' ]') @@ -706,22 +734,24 @@ def doc_title(self, help_command, **kwargs): doc = help_command.doc doc.style.new_paragraph() doc.style.link_target_definition( - refname='cli:aws help %s' % self.help_command.name, - link='') + refname=f'cli:aws help {self.help_command.name}', link='' + ) title = self._topic_tag_db.get_tag_single_value( - help_command.name, 'title') + help_command.name, 'title' + ) doc.style.h1(title) def doc_description(self, help_command, **kwargs): doc = help_command.doc - topic_filename = os.path.join(self._topic_tag_db.topic_dir, - help_command.name + '.rst') + topic_filename = os.path.join( + self._topic_tag_db.topic_dir, f'{help_command.name}.rst' + ) contents = self._remove_tags_from_content(topic_filename) doc.writeln(contents) doc.style.new_paragraph() def _remove_tags_from_content(self, filename): - with open(filename, 'r') as f: + with open(filename) as f: lines = f.readlines() content_begin_index = 0 @@ -737,7 +767,7 @@ def _remove_tags_from_content(self, filename): def _line_has_tag(self, line): for tag in self._topic_tag_db.valid_tags: - if line.startswith(':' + tag + ':'): + if line.startswith(f':{tag}:'): return True return False @@ -759,7 +789,8 @@ def doc_global_options(self): for arg in help_command.arg_table: argument = help_command.arg_table.get(arg) help_command.doc.writeln( - f"``{argument.cli_name}`` ({argument.cli_type_name})") + f"``{argument.cli_name}`` ({argument.cli_type_name})" + ) help_command.doc.style.indent() help_command.doc.style.new_paragraph() help_command.doc.include_doc_string(argument.documentation) diff --git a/awscli/clidriver.py b/awscli/clidriver.py index d7db5656c720..81429090fdc8 100644 --- a/awscli/clidriver.py +++ b/awscli/clidriver.py @@ -10,48 +10,52 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import sys -import signal import logging +import signal +import sys import botocore.session -from botocore import __version__ as botocore_version -from botocore.hooks import HierarchicalEmitter -from botocore import xform_name -from botocore.compat import copy_kwargs, OrderedDict -from botocore.exceptions import NoCredentialsError -from botocore.exceptions import NoRegionError -from botocore.exceptions import ProfileNotFound +from botocore.compat import OrderedDict, copy_kwargs +from botocore.exceptions import ( + NoCredentialsError, + NoRegionError, + ProfileNotFound, +) from botocore.history import get_global_history_recorder from awscli import EnvironmentVariables, __version__ +from awscli.alias import AliasCommandInjector, AliasLoader +from awscli.argparser import ( + USAGE, + ArgTableArgParser, + MainArgParser, + ServiceArgParser, +) +from awscli.argprocess import unpack_argument +from awscli.arguments import ( + BooleanArgument, + CLIArgument, + CustomArgument, + ListArgument, + UnknownArgumentError, +) +from awscli.commands import CLICommand from awscli.compat import get_stderr_text_writer from awscli.formatter import get_formatter +from awscli.help import ( + OperationHelpCommand, + ProviderHelpCommand, + ServiceHelpCommand, +) from awscli.plugin import load_plugins -from awscli.commands import CLICommand -from awscli.compat import six -from awscli.argparser import MainArgParser -from awscli.argparser import ServiceArgParser -from awscli.argparser import ArgTableArgParser -from awscli.argparser import USAGE -from awscli.help import ProviderHelpCommand -from awscli.help import ServiceHelpCommand -from awscli.help import OperationHelpCommand -from awscli.arguments import CustomArgument -from awscli.arguments import ListArgument -from awscli.arguments import BooleanArgument -from awscli.arguments import CLIArgument -from awscli.arguments import UnknownArgumentError -from awscli.argprocess import unpack_argument -from awscli.alias import AliasLoader -from awscli.alias import AliasCommandInjector -from awscli.utils import emit_top_level_args_parsed_event -from awscli.utils import write_exception - +from awscli.utils import emit_top_level_args_parsed_event, write_exception, create_nested_client, resolve_v2_debug_mode +from botocore import __version__ as botocore_version +from botocore import xform_name LOG = logging.getLogger('awscli.clidriver') LOG_FORMAT = ( - '%(asctime)s - %(threadName)s - %(name)s - %(levelname)s - %(message)s') + '%(asctime)s - %(threadName)s - %(name)s - %(levelname)s - %(message)s' +) HISTORY_RECORDER = get_global_history_recorder() # Don't remove this line. The idna encoding # is used by getaddrinfo when dealing with unicode hostnames, @@ -62,7 +66,7 @@ # the encodings.idna is imported and registered in the codecs registry, # which will stop the LookupErrors from happening. # See: https://bugs.python.org/issue29288 -u''.encode('idna') +''.encode('idna') def main(): @@ -75,8 +79,10 @@ def main(): def create_clidriver(): session = botocore.session.Session(EnvironmentVariables) _set_user_agent_for_session(session) - load_plugins(session.full_config.get('plugins', {}), - event_hooks=session.get_component('event_emitter')) + load_plugins( + session.full_config.get('plugins', {}), + event_hooks=session.get_component('event_emitter'), + ) driver = CLIDriver(session=session) return driver @@ -87,8 +93,7 @@ def _set_user_agent_for_session(session): session.user_agent_extra = 'botocore/%s' % botocore_version -class CLIDriver(object): - +class CLIDriver: def __init__(self, session=None): if session is None: self.session = botocore.session.get_session(EnvironmentVariables) @@ -127,24 +132,27 @@ def _build_command_table(self): """ command_table = self._build_builtin_commands(self.session) - self.session.emit('building-command-table.main', - command_table=command_table, - session=self.session, - command_object=self) + self.session.emit( + 'building-command-table.main', + command_table=command_table, + session=self.session, + command_object=self, + ) return command_table def _build_builtin_commands(self, session): commands = OrderedDict() services = session.get_available_services() for service_name in services: - commands[service_name] = ServiceCommand(cli_name=service_name, - session=self.session, - service_name=service_name) + commands[service_name] = ServiceCommand( + cli_name=service_name, + session=self.session, + service_name=service_name, + ) return commands def _add_aliases(self, command_table, parser): - injector = AliasCommandInjector( - self.session, self.alias_loader) + injector = AliasCommandInjector(self.session, self.alias_loader) injector.inject_aliases(command_table, parser) def _build_argument_table(self): @@ -157,37 +165,45 @@ def _build_argument_table(self): cli_argument.add_to_arg_table(argument_table) # Then the final step is to send out an event so handlers # can add extra arguments or modify existing arguments. - self.session.emit('building-top-level-params', - argument_table=argument_table) + self.session.emit( + 'building-top-level-params', argument_table=argument_table + ) return argument_table def _create_cli_argument(self, option_name, option_params): return CustomArgument( - option_name, help_text=option_params.get('help', ''), + option_name, + help_text=option_params.get('help', ''), dest=option_params.get('dest'), default=option_params.get('default'), action=option_params.get('action'), required=option_params.get('required'), choices=option_params.get('choices'), - cli_type_name=option_params.get('type')) + cli_type_name=option_params.get('type'), + ) def create_help_command(self): cli_data = self._get_cli_data() - return ProviderHelpCommand(self.session, self._get_command_table(), - self._get_argument_table(), - cli_data.get('description', None), - cli_data.get('synopsis', None), - cli_data.get('help_usage', None)) + return ProviderHelpCommand( + self.session, + self._get_command_table(), + self._get_argument_table(), + cli_data.get('description', None), + cli_data.get('synopsis', None), + cli_data.get('help_usage', None), + ) def _create_parser(self, command_table): # Also add a 'help' command. command_table['help'] = self.create_help_command() cli_data = self._get_cli_data() parser = MainArgParser( - command_table, self.session.user_agent(), + command_table, + self.session.user_agent(), cli_data.get('description', None), self._get_argument_table(), - prog="aws") + prog="aws", + ) return parser def main(self, args=None): @@ -209,10 +225,11 @@ def main(self, args=None): # that exceptions can be raised, which should have the same # general exception handling logic as calling into the # command table. This is why it's in the try/except clause. - self._handle_top_level_args(parsed_args) + self._handle_top_level_args(parsed_args, remaining) self._emit_session_event(parsed_args) HISTORY_RECORDER.record( - 'CLI_VERSION', self.session.user_agent(), 'CLI') + 'CLI_VERSION', self.session.user_agent(), 'CLI' + ) HISTORY_RECORDER.record('CLI_ARGUMENTS', args, 'CLI') return command_table[parsed_args.command](remaining, parsed_args) except UnknownArgumentError as e: @@ -221,13 +238,16 @@ def main(self, args=None): sys.stderr.write("\n") return 255 except NoRegionError as e: - msg = ('%s You can also configure your region by running ' - '"aws configure".' % e) + msg = ( + '%s You can also configure your region by running ' + '"aws configure".' % e + ) self._show_error(msg) return 255 except NoCredentialsError as e: - msg = ('%s. You can configure credentials by running ' - '"aws configure".' % e) + msg = ( + f'{e}. You can configure credentials by running "aws configure".' + ) self._show_error(msg) return 255 except KeyboardInterrupt: @@ -249,16 +269,18 @@ def _emit_session_event(self, parsed_args): # session components to be reset (such as session.profile = foo) # then all the prior registered components would be removed. self.session.emit( - 'session-initialized', session=self.session, - parsed_args=parsed_args) + 'session-initialized', + session=self.session, + parsed_args=parsed_args, + ) def _show_error(self, msg): LOG.debug(msg, exc_info=True) sys.stderr.write(msg) sys.stderr.write('\n') - def _handle_top_level_args(self, args): - emit_top_level_args_parsed_event(self.session, args) + def _handle_top_level_args(self, args, remaining): + emit_top_level_args_parsed_event(self.session, args, remaining) if args.profile: self.session.set_config_variable('profile', args.profile) if args.region: @@ -268,24 +290,28 @@ def _handle_top_level_args(self, args): # Unfortunately, by setting debug mode here, we miss out # on all of the debug events prior to this such as the # loading of plugins, etc. - self.session.set_stream_logger('botocore', logging.DEBUG, - format_string=LOG_FORMAT) - self.session.set_stream_logger('awscli', logging.DEBUG, - format_string=LOG_FORMAT) - self.session.set_stream_logger('s3transfer', logging.DEBUG, - format_string=LOG_FORMAT) - self.session.set_stream_logger('urllib3', logging.DEBUG, - format_string=LOG_FORMAT) + self.session.set_stream_logger( + 'botocore', logging.DEBUG, format_string=LOG_FORMAT + ) + self.session.set_stream_logger( + 'awscli', logging.DEBUG, format_string=LOG_FORMAT + ) + self.session.set_stream_logger( + 's3transfer', logging.DEBUG, format_string=LOG_FORMAT + ) + self.session.set_stream_logger( + 'urllib3', logging.DEBUG, format_string=LOG_FORMAT + ) LOG.debug("CLI version: %s", self.session.user_agent()) LOG.debug("Arguments entered to CLI: %s", sys.argv[1:]) else: - self.session.set_stream_logger(logger_name='awscli', - log_level=logging.ERROR) + self.session.set_stream_logger( + logger_name='awscli', log_level=logging.ERROR + ) class ServiceCommand(CLICommand): - """A service command for the CLI. For example, ``aws ec2 ...`` we'd create a ServiceCommand @@ -344,11 +370,13 @@ def _get_service_model(self): if self._service_model is None: try: api_version = self.session.get_config_variable( - 'api_versions').get(self._service_name, None) + 'api_versions' + ).get(self._service_name, None) except ProfileNotFound: api_version = None self._service_model = self.session.get_service_model( - self._service_name, api_version=api_version) + self._service_name, api_version=api_version + ) return self._service_model def __call__(self, args, parsed_globals): @@ -373,10 +401,12 @@ def _create_command_table(self): operation_model=operation_model, operation_caller=CLIOperationCaller(self.session), ) - self.session.emit('building-command-table.%s' % self._name, - command_table=command_table, - session=self.session, - command_object=self) + self.session.emit( + f'building-command-table.{self._name}', + command_table=command_table, + session=self.session, + command_object=self, + ) self._add_lineage(command_table) return command_table @@ -387,23 +417,25 @@ def _add_lineage(self, command_table): def create_help_command(self): command_table = self._get_command_table() - return ServiceHelpCommand(session=self.session, - obj=self._get_service_model(), - command_table=command_table, - arg_table=None, - event_class='.'.join(self.lineage_names), - name=self._name) + return ServiceHelpCommand( + session=self.session, + obj=self._get_service_model(), + command_table=command_table, + arg_table=None, + event_class='.'.join(self.lineage_names), + name=self._name, + ) def _create_parser(self): command_table = self._get_command_table() # Also add a 'help' command. command_table['help'] = self.create_help_command() return ServiceArgParser( - operations_table=command_table, service_name=self._name) - + operations_table=command_table, service_name=self._name + ) -class ServiceOperation(object): +class ServiceOperation: """A single operation of a service. This class represents a single operation for a service, for @@ -417,8 +449,9 @@ class ServiceOperation(object): } DEFAULT_ARG_CLASS = CLIArgument - def __init__(self, name, parent_name, operation_caller, - operation_model, session): + def __init__( + self, name, parent_name, operation_caller, operation_model, session + ): """ :type name: str @@ -481,10 +514,17 @@ def arg_table(self): def __call__(self, args, parsed_globals): # Once we know we're trying to call a particular operation # of a service we can go ahead and load the parameters. - event = 'before-building-argument-table-parser.%s.%s' % \ - (self._parent_name, self._name) - self._emit(event, argument_table=self.arg_table, args=args, - session=self._session, parsed_globals=parsed_globals) + event = ( + 'before-building-argument-table-parser.' + f'{self._parent_name}.{self._name}' + ) + self._emit( + event, + argument_table=self.arg_table, + args=args, + session=self._session, + parsed_globals=parsed_globals, + ) operation_parser = self._create_operation_parser(self.arg_table) self._add_help(operation_parser) parsed_args, remaining = operation_parser.parse_known_args(args) @@ -495,21 +535,28 @@ def __call__(self, args, parsed_globals): remaining.append(parsed_args.help) if remaining: raise UnknownArgumentError( - "Unknown options: %s" % ', '.join(remaining)) - event = 'operation-args-parsed.%s.%s' % (self._parent_name, - self._name) - self._emit(event, parsed_args=parsed_args, - parsed_globals=parsed_globals) + f"Unknown options: {', '.join(remaining)}" + ) + event = f'operation-args-parsed.{self._parent_name}.{self._name}' + self._emit( + event, parsed_args=parsed_args, parsed_globals=parsed_globals + ) call_parameters = self._build_call_parameters( - parsed_args, self.arg_table) + parsed_args, self.arg_table, parsed_globals + ) - event = 'calling-command.%s.%s' % (self._parent_name, - self._name) + self._detect_binary_file_migration_change( + self._session, + parsed_args, + parsed_globals, + self.arg_table + ) + event = f'calling-command.{self._parent_name}.{self._name}' override = self._emit_first_non_none_response( event, call_parameters=call_parameters, parsed_args=parsed_args, - parsed_globals=parsed_globals + parsed_globals=parsed_globals, ) # There are two possible values for override. It can be some type # of exception that will be raised if detected or it can represent @@ -530,14 +577,18 @@ def __call__(self, args, parsed_globals): return self._operation_caller.invoke( self._operation_model.service_model.service_name, self._operation_model.name, - call_parameters, parsed_globals) + call_parameters, + parsed_globals, + ) def create_help_command(self): return OperationHelpCommand( self._session, operation_model=self._operation_model, arg_table=self.arg_table, - name=self._name, event_class='.'.join(self.lineage_names)) + name=self._name, + event_class='.'.join(self.lineage_names), + ) def _add_help(self, parser): # The 'help' output is processed a little differently from @@ -545,7 +596,7 @@ def _add_help(self, parser): # CLIArguments for values. parser.add_argument('help', nargs='?') - def _build_call_parameters(self, args, arg_table): + def _build_call_parameters(self, args, arg_table, parsed_globals): # We need to convert the args specified on the command # line as valid **kwargs we can hand to botocore. service_params = {} @@ -556,19 +607,20 @@ def _build_call_parameters(self, args, arg_table): py_name = arg_object.py_name if py_name in parsed_args: value = parsed_args[py_name] - value = self._unpack_arg(arg_object, value) + value = self._unpack_arg(arg_object, value, parsed_globals) arg_object.add_to_params(service_params, value) return service_params - def _unpack_arg(self, cli_argument, value): + def _unpack_arg(self, cli_argument, value, parsed_globals): # Unpacks a commandline argument into a Python value by firing the # load-cli-arg.service-name.operation-name event. session = self._session service_name = self._operation_model.service_model.endpoint_prefix operation_name = xform_name(self._name, '-') - return unpack_argument(session, service_name, operation_name, - cli_argument, value) + return unpack_argument( + session, service_name, operation_name, cli_argument, value, parsed_globals + ) def _create_argument_table(self): argument_table = OrderedDict() @@ -580,8 +632,9 @@ def _create_argument_table(self): arg_dict = input_shape.members for arg_name, arg_shape in arg_dict.items(): cli_arg_name = xform_name(arg_name, '-') - arg_class = self.ARG_TYPES.get(arg_shape.type_name, - self.DEFAULT_ARG_CLASS) + arg_class = self.ARG_TYPES.get( + arg_shape.type_name, self.DEFAULT_ARG_CLASS + ) is_token = arg_shape.metadata.get('idempotencyToken', False) is_required = arg_name in required_arguments and not is_token event_emitter = self._session.get_component('event_emitter') @@ -591,31 +644,71 @@ def _create_argument_table(self): is_required=is_required, operation_model=self._operation_model, serialized_name=arg_name, - event_emitter=event_emitter) + event_emitter=event_emitter, + ) arg_object.add_to_arg_table(argument_table) LOG.debug(argument_table) - self._emit('building-argument-table.%s.%s' % (self._parent_name, - self._name), - operation_model=self._operation_model, - session=self._session, - command=self, - argument_table=argument_table) + self._emit( + f'building-argument-table.{self._parent_name}.{self._name}', + operation_model=self._operation_model, + session=self._session, + command=self, + argument_table=argument_table, + ) return argument_table def _emit(self, name, **kwargs): return self._session.emit(name, **kwargs) def _emit_first_non_none_response(self, name, **kwargs): - return self._session.emit_first_non_none_response( - name, **kwargs) + return self._session.emit_first_non_none_response(name, **kwargs) def _create_operation_parser(self, arg_table): parser = ArgTableArgParser(arg_table) return parser - -class CLIOperationCaller(object): - + def _detect_binary_file_migration_change( + self, + session, + parsed_args, + parsed_globals, + arg_table + ): + if ( + session.get_scoped_config() + .get('cli_binary_format', None) == 'raw-in-base64-out' + ): + # if cli_binary_format is set to raw-in-base64-out, then v2 behavior will + # be the same as v1, so there is no breaking change in this case. + return + if resolve_v2_debug_mode(parsed_globals): + parsed_args_to_check = { + arg: getattr(parsed_args, arg) + for arg in vars(parsed_args) if getattr(parsed_args, arg) + } + + arg_values_to_check = [ + arg.py_name for arg in arg_table.values() + if arg.py_name in parsed_args_to_check + and arg.argument_model.type_name == 'blob' + ] + if arg_values_to_check: + print( + '\nAWS CLI v2 UPGRADE WARNING: When specifying a ' + 'blob-type parameter, AWS CLI v2 will assume the ' + 'parameter value is base64-encoded. This is different ' + 'from v1 behavior, where the AWS CLI will automatically ' + 'encode the value to base64. To retain v1 behavior in ' + 'AWS CLI v2, set the `cli_binary_format` configuration ' + 'variable to `raw-in-base64-out`. See ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html' + '#cliv2-migration-binaryparam.\n', + file=sys.stderr + ) + + +class CLIOperationCaller: """Call an AWS operation and format the response.""" def __init__(self, session): @@ -645,28 +738,33 @@ def invoke(self, service_name, operation_name, parameters, parsed_globals): value is returned. """ - client = self._session.create_client( - service_name, region_name=parsed_globals.region, + client = create_nested_client( + self._session, + service_name, + region_name=parsed_globals.region, endpoint_url=parsed_globals.endpoint_url, - verify=parsed_globals.verify_ssl) + verify=parsed_globals.verify_ssl, + ) response = self._make_client_call( - client, operation_name, parameters, parsed_globals) + client, operation_name, parameters, parsed_globals + ) self._display_response(operation_name, response, parsed_globals) return 0 - def _make_client_call(self, client, operation_name, parameters, - parsed_globals): + def _make_client_call( + self, client, operation_name, parameters, parsed_globals + ): py_operation_name = xform_name(operation_name) if client.can_paginate(py_operation_name) and parsed_globals.paginate: paginator = client.get_paginator(py_operation_name) response = paginator.paginate(**parameters) else: response = getattr(client, xform_name(operation_name))( - **parameters) + **parameters + ) return response - def _display_response(self, command_name, response, - parsed_globals): + def _display_response(self, command_name, response, parsed_globals): output = parsed_globals.output if output is None: output = self._session.get_config_variable('output') diff --git a/awscli/commands.py b/awscli/commands.py index c0c9b4477ed2..09951fe3dc4b 100644 --- a/awscli/commands.py +++ b/awscli/commands.py @@ -12,8 +12,7 @@ # language governing permissions and limitations under the License. -class CLICommand(object): - +class CLICommand: """Interface for a CLI command. This class represents a top level CLI command diff --git a/awscli/compat.py b/awscli/compat.py index 6ad8ae69ea0f..3c4b558dcf8a 100644 --- a/awscli/compat.py +++ b/awscli/compat.py @@ -1,43 +1,46 @@ # Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - +# # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of # the License is located at - +# # http://aws.amazon.com/apache2.0/ - +# # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import sys -import re -import shlex + +import collections.abc as collections_abc +import contextlib +import datetime +import io +import locale import os import os.path -import platform -import zipfile +import queue +import re +import shlex import signal -import contextlib +import urllib.parse as urlparse from configparser import RawConfigParser -from functools import partial +from urllib.error import URLError +from urllib.request import urlopen -from botocore.compat import six -#import botocore.compat +from botocore.compat import six, OrderedDict -from botocore.compat import OrderedDict +import sys +import zipfile +from functools import partial -# If you ever want to import from the vendored six. Add it here and then -# import from awscli.compat. Also try to keep it in alphabetical order. -# This may get large. -advance_iterator = six.advance_iterator -PY3 = six.PY3 -queue = six.moves.queue -shlex_quote = six.moves.shlex_quote -StringIO = six.StringIO -BytesIO = six.BytesIO -urlopen = six.moves.urllib.request.urlopen -binary_type = six.binary_type +# Backwards compatible definitions from six +PY3 = sys.version_info[0] == 3 +advance_iterator = next +shlex_quote = shlex.quote +StringIO = io.StringIO +BytesIO = io.BytesIO +binary_type = bytes +raw_input = input # Most, but not all, python installations will have zlib. This is required to @@ -45,6 +48,7 @@ # package the files in a zip container. try: import zlib + ZIP_COMPRESSION_MODE = zipfile.ZIP_DEFLATED except ImportError: ZIP_COMPRESSION_MODE = zipfile.ZIP_STORED @@ -69,14 +73,12 @@ class StdinMissingError(Exception): def __init__(self): - message = ( - 'stdin is required for this operation, but is not available.' - ) + message = 'stdin is required for this operation, but is not available.' super(StdinMissingError, self).__init__(message) -class NonTranslatedStdout(object): - """ This context manager sets the line-end translation mode for stdout. +class NonTranslatedStdout: + """This context manager sets the line-end translation mode for stdout. It is deliberately set to binary mode so that `\r` does not get added to the line ending. This can be useful when printing commands where a @@ -86,107 +88,54 @@ class NonTranslatedStdout(object): def __enter__(self): if sys.platform == "win32": import msvcrt - self.previous_mode = msvcrt.setmode(sys.stdout.fileno(), - os.O_BINARY) + + self.previous_mode = msvcrt.setmode( + sys.stdout.fileno(), os.O_BINARY + ) return sys.stdout def __exit__(self, type, value, traceback): if sys.platform == "win32": import msvcrt + msvcrt.setmode(sys.stdout.fileno(), self.previous_mode) def ensure_text_type(s): - if isinstance(s, six.text_type): + if isinstance(s, str): return s - if isinstance(s, six.binary_type): + if isinstance(s, bytes): return s.decode('utf-8') raise ValueError("Expected str, unicode or bytes, received %s." % type(s)) -if six.PY3: - import collections.abc as collections_abc - import locale - import urllib.parse as urlparse - - from urllib.error import URLError +def get_binary_stdin(): + if sys.stdin is None: + raise StdinMissingError() + return sys.stdin.buffer - raw_input = input - def get_binary_stdin(): - if sys.stdin is None: - raise StdinMissingError() - return sys.stdin.buffer +def get_binary_stdout(): + return sys.stdout.buffer - def get_binary_stdout(): - return sys.stdout.buffer - def _get_text_writer(stream, errors): - return stream +def _get_text_writer(stream, errors): + return stream - def bytes_print(statement, stdout=None): - """ - This function is used to write raw bytes to stdout. - """ - if stdout is None: - stdout = sys.stdout - if getattr(stdout, 'buffer', None): - stdout.buffer.write(statement) - else: - # If it is not possible to write to the standard out buffer. - # The next best option is to decode and write to standard out. - stdout.write(statement.decode('utf-8')) - -else: - import codecs - import collections as collections_abc - import locale - import io - import urlparse - - from urllib2 import URLError - - raw_input = raw_input - - def get_binary_stdin(): - if sys.stdin is None: - raise StdinMissingError() - return sys.stdin - - def get_binary_stdout(): - return sys.stdout - - def _get_text_writer(stream, errors): - # In python3, all the sys.stdout/sys.stderr streams are in text - # mode. This means they expect unicode, and will encode the - # unicode automatically before actually writing to stdout/stderr. - # In python2, that's not the case. In order to provide a consistent - # interface, we can create a wrapper around sys.stdout that will take - # unicode, and automatically encode it to the preferred encoding. - # That way consumers can just call get_text_writer(stream) and write - # unicode to the returned stream. Note that get_text_writer - # just returns the stream in the PY3 section above because python3 - # handles this. - - # We're going to use the preferred encoding, but in cases that there is - # no preferred encoding we're going to fall back to assuming ASCII is - # what we should use. This will currently break the use of - # PYTHONIOENCODING, which would require checking stream.encoding first, - # however, the existing behavior is to only use - # locale.getpreferredencoding() and so in the hope of not breaking what - # is currently working, we will continue to only use that. - encoding = locale.getpreferredencoding() - if encoding is None: - encoding = "ascii" - - return codecs.getwriter(encoding)(stream, errors) - - def bytes_print(statement, stdout=None): - if stdout is None: - stdout = sys.stdout +def bytes_print(statement, stdout=None): + """ + This function is used to write raw bytes to stdout. + """ + if stdout is None: + stdout = sys.stdout - stdout.write(statement) + if getattr(stdout, 'buffer', None): + stdout.buffer.write(statement) + else: + # If it is not possible to write to the standard out buffer. + # The next best option is to decode and write to standard out. + stdout.write(statement.decode('utf-8')) def compat_open(filename, mode='r', encoding=None, access_permissions=None): @@ -252,7 +201,7 @@ def compat_shell_quote(s, platform=None): if platform == "win32": return _windows_shell_quote(s) else: - return shlex_quote(s) + return shlex.quote(s) def _windows_shell_quote(s): @@ -364,12 +313,12 @@ def ignore_user_entered_signals(): from platform import linux_distribution except ImportError: _UNIXCONFDIR = '/etc' - def _dist_try_harder(distname, version, id): - """ Tries some special tricks to get the distribution - information in case the default method fails. - Currently supports older SuSE Linux, Caldera OpenLinux and - Slackware Linux distributions. + def _dist_try_harder(distname, version, id): + """Tries some special tricks to get the distribution + information in case the default method fails. + Currently supports older SuSE Linux, Caldera OpenLinux and + Slackware Linux distributions. """ if os.path.exists('/var/adm/inst-log/info'): # SuSE Linux stores distribution information in that file @@ -401,7 +350,7 @@ def _dist_try_harder(distname, version, id): if os.path.isdir('/usr/lib/setup'): # Check for slackware version tag file (thanks to Greg Andruk) verfiles = os.listdir('/usr/lib/setup') - for n in range(len(verfiles)-1, -1, -1): + for n in range(len(verfiles) - 1, -1, -1): if verfiles[n][:14] != 'slack-version-': del verfiles[n] if verfiles: @@ -413,14 +362,13 @@ def _dist_try_harder(distname, version, id): return distname, version, id _release_filename = re.compile(r'(\w+)[-_](release|version)', re.ASCII) - _lsb_release_version = re.compile(r'(.+)' - r' release ' - r'([\d.]+)' - r'[^(]*(?:\((.+)\))?', re.ASCII) - _release_version = re.compile(r'([^0-9]+)' - r'(?: release )?' - r'([\d.]+)' - r'[^(]*(?:\((.+)\))?', re.ASCII) + _lsb_release_version = re.compile( + r'(.+) release ([\d.]+)[^(]*(?:\((.+)\))?', re.ASCII + ) + _release_version = re.compile( + r'([^0-9]+)(?: release )?([\d.]+)[^(]*(?:\((.+)\))?', + re.ASCII, + ) # See also http://www.novell.com/coolsolutions/feature/11251.html # and http://linuxmafia.com/faq/Admin/release-files.html @@ -428,12 +376,24 @@ def _dist_try_harder(distname, version, id): # and http://www.die.net/doc/linux/man/man1/lsb_release.1.html _supported_dists = ( - 'SuSE', 'debian', 'fedora', 'redhat', 'centos', - 'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo', - 'UnitedLinux', 'turbolinux', 'arch', 'mageia') + 'SuSE', + 'debian', + 'fedora', + 'redhat', + 'centos', + 'mandrake', + 'mandriva', + 'rocks', + 'slackware', + 'yellowdog', + 'gentoo', + 'UnitedLinux', + 'turbolinux', + 'arch', + 'mageia', + ) def _parse_release_file(firstline): - # Default to empty 'version' and 'id' strings. Both defaults are used # when 'firstline' is empty. 'id' defaults to empty when an id can not # be deduced. @@ -459,38 +419,43 @@ def _parse_release_file(firstline): id = l[1] return '', version, id - _distributor_id_file_re = re.compile("(?:DISTRIB_ID\s*=)\s*(.*)", re.I) - _release_file_re = re.compile("(?:DISTRIB_RELEASE\s*=)\s*(.*)", re.I) - _codename_file_re = re.compile("(?:DISTRIB_CODENAME\s*=)\s*(.*)", re.I) - - def linux_distribution(distname='', version='', id='', - supported_dists=_supported_dists, - full_distribution_name=1): - return _linux_distribution(distname, version, id, supported_dists, - full_distribution_name) - - def _linux_distribution(distname, version, id, supported_dists, - full_distribution_name): - - """ Tries to determine the name of the Linux OS distribution name. - The function first looks for a distribution release file in - /etc and then reverts to _dist_try_harder() in case no - suitable files are found. - supported_dists may be given to define the set of Linux - distributions to look for. It defaults to a list of currently - supported Linux distributions identified by their release file - name. - If full_distribution_name is true (default), the full - distribution read from the OS is returned. Otherwise the short - name taken from supported_dists is used. - Returns a tuple (distname, version, id) which default to the - args given as parameters. + _distributor_id_file_re = re.compile(r"(?:DISTRIB_ID\s*=)\s*(.*)", re.I) + _release_file_re = re.compile(r"(?:DISTRIB_RELEASE\s*=)\s*(.*)", re.I) + _codename_file_re = re.compile(r"(?:DISTRIB_CODENAME\s*=)\s*(.*)", re.I) + + def linux_distribution( + distname='', + version='', + id='', + supported_dists=_supported_dists, + full_distribution_name=1, + ): + return _linux_distribution( + distname, version, id, supported_dists, full_distribution_name + ) + + def _linux_distribution( + distname, version, id, supported_dists, full_distribution_name + ): + """Tries to determine the name of the Linux OS distribution name. + The function first looks for a distribution release file in + /etc and then reverts to _dist_try_harder() in case no + suitable files are found. + supported_dists may be given to define the set of Linux + distributions to look for. It defaults to a list of currently + supported Linux distributions identified by their release file + name. + If full_distribution_name is true (default), the full + distribution read from the OS is returned. Otherwise the short + name taken from supported_dists is used. + Returns a tuple (distname, version, id) which default to the + args given as parameters. """ # check for the Debian/Ubuntu /etc/lsb-release file first, needed so # that the distribution doesn't get identified as Debian. # https://bugs.python.org/issue9514 try: - with open("/etc/lsb-release", "r") as etclsbrel: + with open("/etc/lsb-release") as etclsbrel: for line in etclsbrel: m = _distributor_id_file_re.search(line) if m: @@ -503,8 +468,8 @@ def _linux_distribution(distname, version, id, supported_dists, _u_id = m.group(1).strip() if _u_distname and _u_version: return (_u_distname, _u_version, _u_id) - except (EnvironmentError, UnboundLocalError): - pass + except (OSError, UnboundLocalError): + pass try: etc = os.listdir(_UNIXCONFDIR) @@ -523,8 +488,11 @@ def _linux_distribution(distname, version, id, supported_dists, return _dist_try_harder(distname, version, id) # Read the first line - with open(os.path.join(_UNIXCONFDIR, file), 'r', - encoding='utf-8', errors='surrogateescape') as f: + with open( + os.path.join(_UNIXCONFDIR, file), + encoding='utf-8', + errors='surrogateescape', + ) as f: firstline = f.readline() _distname, _version, _id = _parse_release_file(firstline) @@ -535,3 +503,13 @@ def _linux_distribution(distname, version, id, supported_dists, if _id: id = _id return distname, version, id + + +def get_current_datetime(remove_tzinfo=True): + # TODO: Consolidate to botocore.compat.get_current_datetime + # after it's had time to bake to avoid import errors with + # mismatched versions. + datetime_now = datetime.datetime.now(datetime.timezone.utc) + if remove_tzinfo: + datetime_now = datetime_now.replace(tzinfo=None) + return datetime_now diff --git a/awscli/completer.py b/awscli/completer.py index 44884fd60823..cf08f18fc33a 100755 --- a/awscli/completer.py +++ b/awscli/completer.py @@ -1,24 +1,26 @@ # Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of # the License is located at - +# # http://aws.amazon.com/apache2.0/ - +# # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import awscli.clidriver -import sys -import logging + import copy +import logging +import sys -LOG = logging.getLogger(__name__) +import awscli.clidriver +LOG = logging.getLogger(__name__) -class Completer(object): +class Completer: def __init__(self, driver=None): if driver is not None: self.driver = driver @@ -26,7 +28,8 @@ def __init__(self, driver=None): self.driver = awscli.clidriver.create_clidriver() self.main_help = self.driver.create_help_command() self.main_options = self._get_documented_completions( - self.main_help.arg_table) + self.main_help.arg_table + ) def complete(self, cmdline, point=None): if point is None: @@ -46,22 +49,28 @@ def complete(self, cmdline, point=None): return self._complete_provider(current_arg, opts) elif subcmd_name is None: return self._complete_command(cmd_name, cmd, current_arg, opts) - return self._complete_subcommand(subcmd_name, subcmd, current_arg, opts) + return self._complete_subcommand( + subcmd_name, subcmd, current_arg, opts + ) def _complete_command(self, command_name, command_help, current_arg, opts): if current_arg == command_name: if command_help: return self._get_documented_completions( - command_help.command_table) + command_help.command_table + ) elif current_arg.startswith('-'): return self._find_possible_options(current_arg, opts) elif command_help is not None: # See if they have entered a partial command name return self._get_documented_completions( - command_help.command_table, current_arg) + command_help.command_table, current_arg + ) return [] - def _complete_subcommand(self, subcmd_name, subcmd_help, current_arg, opts): + def _complete_subcommand( + self, subcmd_name, subcmd_help, current_arg, opts + ): if current_arg != subcmd_name and current_arg.startswith('-'): return self._find_possible_options(current_arg, opts, subcmd_help) return [] @@ -81,11 +90,13 @@ def _complete_provider(self, current_arg, opts): return self._find_possible_options(current_arg, opts) elif current_arg == 'aws': return self._get_documented_completions( - self.main_help.command_table) + self.main_help.command_table + ) else: # Otherwise, see if they have entered a partial command name return self._get_documented_completions( - self.main_help.command_table, current_arg) + self.main_help.command_table, current_arg + ) def _get_command(self, command_help, command_args): if command_help is not None and command_help.command_table is not None: @@ -112,7 +123,8 @@ def _find_possible_options(self, current_arg, opts, subcmd_help=None): all_options = copy.copy(self.main_options) if subcmd_help is not None: all_options += self._get_documented_completions( - subcmd_help.arg_table) + subcmd_help.arg_table + ) for option in opts: # Look through list of options on cmdline. If there are diff --git a/awscli/customizations/argrename.py b/awscli/customizations/argrename.py index 0ce0c6a0d8ac..872fcfc2fbed 100644 --- a/awscli/customizations/argrename.py +++ b/awscli/customizations/argrename.py @@ -26,8 +26,6 @@ 'ec2.create-image.no-no-reboot': 'reboot', 'ec2.*.no-egress': 'ingress', 'ec2.*.no-disable-api-termination': 'enable-api-termination', - 'opsworks.*.region': 'stack-region', - 'elastictranscoder.*.output': 'job-output', 'swf.register-activity-type.version': 'activity-version', 'swf.register-workflow-type.version': 'workflow-version', 'datapipeline.*.query': 'objects-query', @@ -91,12 +89,12 @@ 'license-manager.get-grant.version': 'grant-version', 'license-manager.delete-grant.version': 'grant-version', 'license-manager.get-license.version': 'license-version', - 'mobile.create-project.region': 'project-region', 'rekognition.create-stream-processor.output': 'stream-processor-output', 'eks.create-cluster.version': 'kubernetes-version', 'eks.update-cluster-version.version': 'kubernetes-version', 'eks.create-nodegroup.version': 'kubernetes-version', 'eks.update-nodegroup-version.version': 'kubernetes-version', + 'eks.update-cluster-components-version.version': 'kubernetes-version', 'schemas.*.version': 'schema-version', 'sagemaker.delete-image-version.version': 'version-number', 'sagemaker.describe-image-version.version': 'version-number', @@ -141,7 +139,6 @@ 'importexport.get-shipping-label.street3': 'street-3', 'lambda.publish-version.code-sha256': 'code-sha-256', 'lightsail.import-key-pair.public-key-base64': 'public-key-base-64', - 'opsworks.register-volume.ec2-volume-id': 'ec-2-volume-id', 'mgn.*.replication-servers-security-groups-ids': 'replication-servers-security-groups-i-ds', 'mgn.*.source-server-ids': 'source-server-i-ds', diff --git a/awscli/customizations/awslambda.py b/awscli/customizations/awslambda.py index c55437c8680e..73df5f4fa1ab 100644 --- a/awscli/customizations/awslambda.py +++ b/awscli/customizations/awslambda.py @@ -14,9 +14,8 @@ import copy from contextlib import closing -from botocore.vendored import six - from awscli.arguments import CustomArgument, CLIArgument +from awscli.compat import BytesIO ERROR_MSG = ( @@ -90,7 +89,7 @@ def _should_contain_zip_content(value): # still try to load the contents as a zip file # to be absolutely sure. value = value.encode('utf-8') - fileobj = six.BytesIO(value) + fileobj = BytesIO(value) try: with closing(zipfile.ZipFile(fileobj)) as f: f.infolist() @@ -123,7 +122,7 @@ def add_to_params(self, parameters, value): class ReplacedZipFileArgument(CLIArgument): - """A replacement arugment for nested ZipFile argument. + """A replacement argument for nested ZipFile argument. This prevents the use of a non-working nested argument that expects binary. Instead an instance of ZipFileArgument should be injected at the top level diff --git a/awscli/customizations/cliinputjson.py b/awscli/customizations/cliinputjson.py index 01864e750f1a..47d58c0c3569 100644 --- a/awscli/customizations/cliinputjson.py +++ b/awscli/customizations/cliinputjson.py @@ -70,6 +70,10 @@ def add_to_call_parameters(self, call_parameters, parsed_args, try: # Try to load the JSON string into a python dictionary input_data = json.loads(retrieved_json) + self._session.register( + f"get-cli-input-json-data", + lambda **inner_kwargs: input_data + ) except ValueError as e: raise ParamError( self.name, "Invalid JSON: %s\nJSON received: %s" diff --git a/awscli/customizations/cloudformation/artifact_exporter.py b/awscli/customizations/cloudformation/artifact_exporter.py index 64eb5a06e1a4..7fba8dddbba3 100644 --- a/awscli/customizations/cloudformation/artifact_exporter.py +++ b/awscli/customizations/cloudformation/artifact_exporter.py @@ -18,7 +18,6 @@ import contextlib import uuid import shutil -from awscli.compat import six from botocore.utils import set_value_from_jmespath from awscli.compat import urlparse @@ -33,7 +32,7 @@ def is_path_value_valid(path): - return isinstance(path, six.string_types) + return isinstance(path, str) def make_abs_path(directory, path): @@ -70,7 +69,7 @@ def parse_s3_url(url, object_key_property="Key", version_property=None): - if isinstance(url, six.string_types) \ + if isinstance(url, str) \ and url.startswith("s3://"): # Python < 2.7.10 don't parse query parameters from URI with custom diff --git a/awscli/customizations/cloudformation/deploy.py b/awscli/customizations/cloudformation/deploy.py index a4c8e86b00ea..08a0a5647ae7 100644 --- a/awscli/customizations/cloudformation/deploy.py +++ b/awscli/customizations/cloudformation/deploy.py @@ -24,7 +24,8 @@ from awscli.customizations.commands import BasicCommand from awscli.compat import get_stdout_text_writer -from awscli.utils import write_exception +from awscli.customizations.utils import uni_print +from awscli.utils import create_nested_client, write_exception, resolve_v2_debug_mode LOG = logging.getLogger(__name__) @@ -224,9 +225,13 @@ class DeployCommand(BasicCommand): 'dest': 'fail_on_empty_changeset', 'default': True, 'help_text': ( - 'Specify if the CLI should return a non-zero exit code if ' - 'there are no changes to be made to the stack. The default ' - 'behavior is to return a non-zero exit code.' + 'Specify if the CLI should return a non-zero exit code ' + 'when there are no changes to be made to the stack. By ' + 'default, a non-zero exit code is returned, and this is ' + 'the same behavior that occurs when ' + '`--fail-on-empty-changeset` is specified. If ' + '`--no-fail-on-empty-changeset` is specified, then the ' + 'CLI will return a zero exit code.' ) }, { @@ -263,8 +268,8 @@ class DeployCommand(BasicCommand): def _run_main(self, parsed_args, parsed_globals): cloudformation_client = \ - self._session.create_client( - 'cloudformation', region_name=parsed_globals.region, + create_nested_client( + self._session, 'cloudformation', region_name=parsed_globals.region, endpoint_url=parsed_globals.endpoint_url, verify=parsed_globals.verify_ssl) @@ -296,7 +301,8 @@ def _run_main(self, parsed_args, parsed_globals): bucket = parsed_args.s3_bucket if bucket: - s3_client = self._session.create_client( + s3_client = create_nested_client( + self._session, "s3", config=Config(signature_version='s3v4'), region_name=parsed_globals.region, @@ -311,18 +317,33 @@ def _run_main(self, parsed_args, parsed_globals): s3_uploader = None deployer = Deployer(cloudformation_client) + v2_debug = resolve_v2_debug_mode(parsed_globals) return self.deploy(deployer, stack_name, template_str, parameters, parsed_args.capabilities, parsed_args.execute_changeset, parsed_args.role_arn, parsed_args.notification_arns, s3_uploader, tags, parsed_args.fail_on_empty_changeset, - parsed_args.disable_rollback) + parsed_args.disable_rollback, v2_debug) def deploy(self, deployer, stack_name, template_str, parameters, capabilities, execute_changeset, role_arn, notification_arns, s3_uploader, tags, - fail_on_empty_changeset=True, disable_rollback=False): + fail_on_empty_changeset=True, disable_rollback=False, + v2_debug=False): try: + if v2_debug and fail_on_empty_changeset: + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: In AWS CLI v2, deploying ' + 'an AWS CloudFormation Template that results in an empty ' + 'changeset will NOT result in an error by default. This ' + 'is different from v1 behavior, where empty changesets ' + 'result in an error by default. To migrate to v2 behavior ' + 'and resolve this warning, you can add the ' + '`--no-fail-on-empty-changeset` flag to the command. ' + 'See https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html#cliv2-migration-cfn.\n', + out_file=sys.stderr + ) result = deployer.create_and_wait_for_changeset( stack_name=stack_name, cfn_template=template_str, diff --git a/awscli/customizations/cloudformation/deployer.py b/awscli/customizations/cloudformation/deployer.py index 3733c55ebc8a..548445b2943a 100644 --- a/awscli/customizations/cloudformation/deployer.py +++ b/awscli/customizations/cloudformation/deployer.py @@ -17,10 +17,10 @@ import botocore import collections +from awscli.compat import get_current_datetime from awscli.customizations.cloudformation import exceptions from awscli.customizations.cloudformation.artifact_exporter import mktempfile, parse_s3_url -from datetime import datetime LOG = logging.getLogger(__name__) @@ -85,7 +85,7 @@ def create_changeset(self, stack_name, cfn_template, :return: """ - now = datetime.utcnow().isoformat() + now = get_current_datetime().isoformat() description = "Created by AWS CLI at {0} UTC".format(now) # Each changeset will get a unique name based on time diff --git a/awscli/customizations/cloudformation/package.py b/awscli/customizations/cloudformation/package.py index 9bc7464d442e..126a9291c271 100644 --- a/awscli/customizations/cloudformation/package.py +++ b/awscli/customizations/cloudformation/package.py @@ -24,6 +24,7 @@ from awscli.customizations.cloudformation import exceptions from awscli.customizations.commands import BasicCommand from awscli.customizations.s3uploader import S3Uploader +from awscli.utils import create_nested_client LOG = logging.getLogger(__name__) @@ -124,8 +125,8 @@ class PackageCommand(BasicCommand): ] def _run_main(self, parsed_args, parsed_globals): - s3_client = self._session.create_client( - "s3", + s3_client = create_nested_client( + self._session, "s3", config=Config(signature_version='s3v4'), region_name=parsed_globals.region, verify=parsed_globals.verify_ssl) diff --git a/awscli/customizations/cloudformation/yamlhelper.py b/awscli/customizations/cloudformation/yamlhelper.py index d251a41c428d..61603603e669 100644 --- a/awscli/customizations/cloudformation/yamlhelper.py +++ b/awscli/customizations/cloudformation/yamlhelper.py @@ -16,8 +16,6 @@ import yaml from yaml.resolver import ScalarNode, SequenceNode -from awscli.compat import six - def intrinsics_multi_constructor(loader, tag_prefix, node): """ @@ -35,7 +33,7 @@ def intrinsics_multi_constructor(loader, tag_prefix, node): cfntag = prefix + tag - if tag == "GetAtt" and isinstance(node.value, six.string_types): + if tag == "GetAtt" and isinstance(node.value, str): # ShortHand notation for !GetAtt accepts Resource.Attribute format # while the standard notation is to use an array # [Resource, Attribute]. Convert shorthand to standard format diff --git a/awscli/customizations/cloudfront.py b/awscli/customizations/cloudfront.py index e795b8507fd4..72668d2e08cc 100644 --- a/awscli/customizations/cloudfront.py +++ b/awscli/customizations/cloudfront.py @@ -21,6 +21,7 @@ from awscli.arguments import CustomArgument from awscli.customizations.utils import validate_mutually_exclusive_handler from awscli.customizations.commands import BasicCommand +from awscli.utils import create_nested_client def register(event_handler): @@ -172,7 +173,8 @@ def __init__(self, context, argument_table): def add_to_params(self, parameters, value): if value is not None: - client = self.context['session'].create_client( + client = create_nested_client( + self.context['session'], 'cloudfront', region_name=self.context['parsed_args'].region, endpoint_url=self.context['parsed_args'].endpoint_url, diff --git a/awscli/customizations/cloudtrail/subscribe.py b/awscli/customizations/cloudtrail/subscribe.py index 81eb09bb785a..90c3f7b0a430 100644 --- a/awscli/customizations/cloudtrail/subscribe.py +++ b/awscli/customizations/cloudtrail/subscribe.py @@ -17,9 +17,9 @@ from .utils import get_account_id from awscli.customizations.commands import BasicCommand from awscli.customizations.utils import s3_bucket_exists +from awscli.utils import create_nested_client from botocore.exceptions import ClientError - LOG = logging.getLogger(__name__) S3_POLICY_TEMPLATE = 'policy/S3/AWSCloudTrail-S3BucketPolicy-2014-12-17.json' SNS_POLICY_TEMPLATE = 'policy/SNS/AWSCloudTrail-SnsTopicPolicy-2014-12-17.json' @@ -80,16 +80,16 @@ def setup_services(self, args, parsed_globals): # Initialize services LOG.debug('Initializing S3, SNS and CloudTrail...') - self.sts = self._session.create_client('sts', **client_args) - self.s3 = self._session.create_client('s3', **client_args) - self.sns = self._session.create_client('sns', **client_args) + self.sts = create_nested_client(self._session, 'sts', **client_args) + self.s3 = create_nested_client(self._session, 's3', **client_args) + self.sns = create_nested_client(self._session, 'sns', **client_args) self.region_name = self.s3.meta.region_name # If the endpoint is specified, it is designated for the cloudtrail # service. Not all of the other services will use it. if parsed_globals.endpoint_url is not None: client_args['endpoint_url'] = parsed_globals.endpoint_url - self.cloudtrail = self._session.create_client('cloudtrail', **client_args) + self.cloudtrail = create_nested_client(self._session, 'cloudtrail', **client_args) def _call(self, options, parsed_globals): """ diff --git a/awscli/customizations/cloudtrail/validation.py b/awscli/customizations/cloudtrail/validation.py index 6565bbe172e3..a877ff7dfb38 100644 --- a/awscli/customizations/cloudtrail/validation.py +++ b/awscli/customizations/cloudtrail/validation.py @@ -12,25 +12,28 @@ # language governing permissions and limitations under the License. import base64 import binascii -import json import hashlib +import json import logging import re import sys import zlib +from datetime import timedelta from zlib import error as ZLibError -from datetime import datetime, timedelta -from dateutil import tz, parser -from pyasn1.error import PyAsn1Error import rsa +from botocore.exceptions import ClientError +from dateutil import parser, tz +from pyasn1.error import PyAsn1Error -from awscli.customizations.cloudtrail.utils import get_trail_by_arn, \ - get_account_id_from_arn +from awscli.compat import get_current_datetime +from awscli.customizations.cloudtrail.utils import ( + get_account_id_from_arn, + get_trail_by_arn, +) from awscli.customizations.commands import BasicCommand -from botocore.exceptions import ClientError from awscli.schema import ParameterRequiredError - +from awscli.utils import create_nested_client LOG = logging.getLogger(__name__) DATE_FORMAT = '%Y%m%dT%H%M%SZ' @@ -52,37 +55,59 @@ def normalize_date(date): return date.replace(tzinfo=tz.tzutc()) +def is_backfill_digest_key(digest_key): + """Utility function to determine if a digest key represents a backfill digest file""" + return digest_key.endswith('_backfill.json.gz') + + def extract_digest_key_date(digest_s3_key): """Extract the timestamp portion of a manifest file. Manifest file names take the following form: AWSLogs/{account}/CloudTrail-Digest/{region}/{ymd}/{account}_CloudTrail \ -Digest_{region}_{name}_region_{date}.json.gz + + For backfill files: + AWSLogs/{account}/CloudTrail-Digest/{region}/{ymd}/{account}_CloudTrail \ + -Digest_{region}_{name}_region_{date}_backfill.json.gz """ - return digest_s3_key[-24:-8] + if is_backfill_digest_key(digest_s3_key): + # Backfill files have _backfill suffix before .json.gz + return digest_s3_key[-33:-17] + else: + # Regular digest files + return digest_s3_key[-24:-8] def parse_date(date_string): try: return parser.parse(date_string) except ValueError: - raise ValueError('Unable to parse date value: %s' % date_string) + raise ValueError(f'Unable to parse date value: {date_string}') def assert_cloudtrail_arn_is_valid(trail_arn): """Ensures that the arn looks correct. ARNs look like: arn:aws:cloudtrail:us-east-1:123456789012:trail/foo""" - pattern = re.compile('arn:.+:cloudtrail:.+:\d{12}:trail/.+') + pattern = re.compile(r'arn:.+:cloudtrail:.+:\d{12}:trail/.+') if not pattern.match(trail_arn): - raise ValueError('Invalid trail ARN provided: %s' % trail_arn) - - -def create_digest_traverser(cloudtrail_client, organization_client, - s3_client_provider, trail_arn, - trail_source_region=None, on_invalid=None, - on_gap=None, on_missing=None, bucket=None, - prefix=None, account_id=None): + raise ValueError(f'Invalid trail ARN provided: {trail_arn}') + + +def create_digest_traverser( + cloudtrail_client, + organization_client, + s3_client_provider, + trail_arn, + trail_source_region=None, + on_invalid=None, + on_gap=None, + on_missing=None, + bucket=None, + prefix=None, + account_id=None, +): """Creates a CloudTrail DigestTraverser and its object graph. :type cloudtrail_client: botocore.client.CloudTrail @@ -106,7 +131,7 @@ def create_digest_traverser(cloudtrail_client, organization_client, currently associated with the trail. :param account_id: The account id for which the digest files are validated. For normal trails this is the caller account, for - organization trails it is the member accout. + organization trails it is the member account. ``on_gap``, ``on_invalid``, and ``on_missing`` callbacks are invoked with the following named arguments: @@ -123,7 +148,7 @@ def create_digest_traverser(cloudtrail_client, organization_client, if bucket is None: # Determine the bucket and prefix based on the trail arn. trail_info = get_trail_by_arn(cloudtrail_client, trail_arn) - LOG.debug('Loaded trail info: %s', trail_info) + LOG.debug(f'Loaded trail info: {trail_info}') bucket = trail_info['S3BucketName'] prefix = trail_info.get('S3KeyPrefix', None) is_org_trail = trail_info.get('IsOrganizationTrail') @@ -131,9 +156,11 @@ def create_digest_traverser(cloudtrail_client, organization_client, if not account_id: raise ParameterRequiredError( "Missing required parameter for organization " - "trail: '--account-id'") + "trail: '--account-id'" + ) organization_id = organization_client.describe_organization()[ - 'Organization']['Id'] + 'Organization' + ]['Id'] # Determine the region from the ARN (e.g., arn:aws:cloudtrail:REGION:...) trail_region = trail_arn.split(':')[3] @@ -144,24 +171,31 @@ def create_digest_traverser(cloudtrail_client, organization_client, account_id = get_account_id_from_arn(trail_arn) digest_provider = DigestProvider( - account_id=account_id, trail_name=trail_name, + account_id=account_id, + trail_name=trail_name, s3_client_provider=s3_client_provider, trail_source_region=trail_source_region, trail_home_region=trail_region, - organization_id=organization_id) + organization_id=organization_id, + ) return DigestTraverser( - digest_provider=digest_provider, starting_bucket=bucket, - starting_prefix=prefix, on_invalid=on_invalid, on_gap=on_gap, + digest_provider=digest_provider, + starting_bucket=bucket, + starting_prefix=prefix, + on_invalid=on_invalid, + on_gap=on_gap, on_missing=on_missing, - public_key_provider=PublicKeyProvider(cloudtrail_client)) + public_key_provider=PublicKeyProvider(cloudtrail_client), + ) -class S3ClientProvider(object): +class S3ClientProvider: """Creates Amazon S3 clients and determines the region name of a client. This class will cache the location constraints of previously requested buckets and cache previously created clients for the same region. """ + def __init__(self, session, get_bucket_location_region='us-east-1'): self._session = session self._get_bucket_location_region = get_bucket_location_region @@ -185,7 +219,9 @@ def _get_bucket_region(self, bucket_name): def _create_client(self, region_name): """Creates an Amazon S3 client for the given region name""" if region_name not in self._client_cache: - client = self._session.create_client('s3', region_name) + client = create_nested_client( + self._session, 's3', region_name=region_name + ) # Remove the CLI error event that prevents exceptions. self._client_cache[region_name] = client return self._client_cache[region_name] @@ -193,27 +229,32 @@ def _create_client(self, region_name): class DigestError(ValueError): """Exception raised when a digest fails to validate""" + pass class DigestSignatureError(DigestError): """Exception raised when a digest signature is invalid""" + def __init__(self, bucket, key): - message = ('Digest file\ts3://%s/%s\tINVALID: signature verification ' - 'failed') % (bucket, key) - super(DigestSignatureError, self).__init__(message) + message = ( + f'Digest file\ts3://{bucket}/{key}\tINVALID: signature verification ' + 'failed' + ) + super().__init__(message) class InvalidDigestFormat(DigestError): """Exception raised when a digest has an invalid format""" + def __init__(self, bucket, key): - message = 'Digest file\ts3://%s/%s\tINVALID: invalid format' % (bucket, - key) - super(InvalidDigestFormat, self).__init__(message) + message = f'Digest file\ts3://{bucket}/{key}\tINVALID: invalid format' + super().__init__(message) -class PublicKeyProvider(object): +class PublicKeyProvider: """Retrieves public keys from CloudTrail within a date range.""" + def __init__(self, cloudtrail_client): self._cloudtrail_client = cloudtrail_client @@ -229,13 +270,14 @@ def get_public_keys(self, start_date, end_date): public key, and each value is a dict of public key data. """ public_keys = self._cloudtrail_client.list_public_keys( - StartTime=start_date, EndTime=end_date) + StartTime=start_date, EndTime=end_date + ) public_keys_in_range = public_keys['PublicKeyList'] - LOG.debug('Loaded public keys in range: %s', public_keys_in_range) + LOG.debug(f'Loaded public keys in range: {public_keys_in_range}') return dict((key['Fingerprint'], key) for key in public_keys_in_range) -class DigestProvider(object): +class DigestProvider: """ Retrieves digest keys and digests from Amazon S3. @@ -244,71 +286,144 @@ class DigestProvider(object): dict. This class is not responsible for validation or iterating from one digest to the next. """ - def __init__(self, s3_client_provider, account_id, trail_name, - trail_home_region, trail_source_region=None, - organization_id=None): + + def __init__( + self, + s3_client_provider, + account_id, + trail_name, + trail_home_region, + trail_source_region=None, + organization_id=None, + ): self._client_provider = s3_client_provider self.trail_name = trail_name self.account_id = account_id self.trail_home_region = trail_home_region self.trail_source_region = trail_source_region or trail_home_region self.organization_id = organization_id + self._digest_cache = {} - def load_digest_keys_in_range(self, bucket, prefix, start_date, end_date): - """Returns a list of digest keys in the date range. + def load_all_digest_keys_in_range( + self, bucket, prefix, start_date, end_date + ): + """Load all digest keys and separate into standard and backfill lists. - This method uses a list_objects API call and provides a Marker - parameter that is calculated based on the start_date provided. - Amazon S3 then returns all keys in the bucket that start after - the given key (non-inclusive). We then iterate over the keys - until the date extracted from the yielded keys is greater than - the given end_date. + Performs a single S3 list operation and separates keys into standard + and backfill digest lists during iteration for optimal performance. + + :param bucket: S3 bucket name + :param prefix: S3 key prefix + :param start_date: Start date for digest range + :param end_date: End date for digest range + :return: Tuple of (standard_digests, backfill_digests) lists + :rtype: tuple """ - digests = [] + standard_digests = [] + backfill_digests = [] marker = self._create_digest_key(start_date, prefix) + s3_digest_files_prefix = self._create_digest_prefix(start_date, prefix) client = self._client_provider.get_client(bucket) paginator = client.get_paginator('list_objects') - page_iterator = paginator.paginate(Bucket=bucket, Marker=marker) + page_iterator = paginator.paginate( + Bucket=bucket, Marker=marker, Prefix=s3_digest_files_prefix + ) key_filter = page_iterator.search('Contents[*].Key') # Create a target start end end date target_start_date = format_date(normalize_date(start_date)) # Add one hour to the end_date to get logs that spilled over to next. target_end_date = format_date( - normalize_date(end_date + timedelta(hours=1))) + normalize_date(end_date + timedelta(hours=1)) + ) # Ensure digests are from the same trail. digest_key_regex = re.compile(self._create_digest_key_regex(prefix)) for key in key_filter: - if digest_key_regex.match(key): - # Use a lexicographic comparison to know when to stop. - extracted_date = extract_digest_key_date(key) - if extracted_date > target_end_date: - break - # Only append digests after the start date. - if extracted_date >= target_start_date: - digests.append(key) - return digests + if not (key and digest_key_regex.match(key)): + continue + # Use a lexicographic comparison to know when to stop. + extracted_date = extract_digest_key_date(key) + if extracted_date > target_end_date: + break + # Only append digests after the start date. + if extracted_date < target_start_date: + continue + if is_backfill_digest_key(key): + backfill_digests.append(key) + else: + standard_digests.append(key) + return standard_digests, backfill_digests + + def load_digest_keys_in_range( + self, bucket, prefix, start_date, end_date, is_backfill=False + ): + """Returns a list of digest keys in the date range. + + This method uses caching to avoid duplicate S3 list operations. + On first call, it loads all digest keys and caches them separated + by type. Subsequent calls return the appropriate cached list. + + :param bucket: S3 bucket name + :param prefix: S3 key prefix + :param start_date: Start date for digest range + :param end_date: End date for digest range + :param is_backfill: Optional filter - True for backfill digests only, + False for standard digests only + :return: List of digest keys matching the specified type + :rtype: list + """ + cache_key = (bucket, prefix, start_date, end_date) + + if cache_key not in self._digest_cache: + standard_digests, backfill_digests = ( + self.load_all_digest_keys_in_range( + bucket, prefix, start_date, end_date + ) + ) + self._digest_cache[cache_key] = { + 'standard': standard_digests, + 'backfill': backfill_digests, + } + + if is_backfill: + return self._digest_cache[cache_key]['backfill'] + else: + return self._digest_cache[cache_key]['standard'] def fetch_digest(self, bucket, key): """Loads a digest by key from S3. Returns the JSON decode data and GZIP inflated raw content. + For backfill digests, also extracts the backfill-generation-timestamp. """ client = self._client_provider.get_client(bucket) result = client.get_object(Bucket=bucket, Key=key) try: - digest = zlib.decompress(result['Body'].read(), - zlib.MAX_WBITS | 16) + digest = zlib.decompress( + result['Body'].read(), zlib.MAX_WBITS | 16 + ) digest_data = json.loads(digest.decode()) except (ValueError, ZLibError): # Cannot gzip decode or JSON parse. raise InvalidDigestFormat(bucket, key) # Add the expected digest signature and algorithm to the dict. - if 'signature' not in result['Metadata'] \ - or 'signature-algorithm' not in result['Metadata']: + if ( + 'signature' not in result['Metadata'] + or 'signature-algorithm' not in result['Metadata'] + ): raise DigestSignatureError(bucket, key) digest_data['_signature'] = result['Metadata']['signature'] - digest_data['_signature_algorithm'] = \ - result['Metadata']['signature-algorithm'] + digest_data['_signature_algorithm'] = result['Metadata'][ + 'signature-algorithm' + ] + + if is_backfill_digest_key(key): + if 'backfill-generation-timestamp' in result['Metadata']: + digest_data['_backfill_generation_timestamp'] = result[ + 'Metadata' + ]['backfill-generation-timestamp'] + else: + raise InvalidDigestFormat(bucket, key) + return digest_data, digest def _create_digest_key(self, start_date, key_prefix): @@ -323,62 +438,101 @@ def _create_digest_key(self, start_date, key_prefix): """ # Subtract one minute to ensure the dates are inclusive. date = start_date - timedelta(minutes=1) + account_id = self.account_id + date_str = format_date(date) + ymd = date.strftime('%Y/%m/%d') + source_region = self.trail_source_region + home_region = self.trail_home_region + name = self.trail_name + + if self.organization_id: + organization_id = self.organization_id + key = ( + f'AWSLogs/{organization_id}/{account_id}/CloudTrail-Digest/' + f'{source_region}/{ymd}/{account_id}_CloudTrail-Digest_' + f'{source_region}_{name}_{home_region}_{date_str}.json.gz' + ) + else: + key = ( + f'AWSLogs/{account_id}/CloudTrail-Digest/{source_region}/' + f'{ymd}/{account_id}_CloudTrail-Digest_{source_region}_{name}_' + f'{home_region}_{date_str}.json.gz' + ) + + if key_prefix: + key = key_prefix + '/' + key + return key + + def _create_digest_prefix(self, start_date, key_prefix): + """Creates an S3 prefix to scope listing to trail's region. + + :return: Returns a prefix string to limit S3 listing scope. + """ template = 'AWSLogs/' template_params = { 'account_id': self.account_id, - 'date': format_date(date), - 'ymd': date.strftime('%Y/%m/%d'), 'source_region': self.trail_source_region, - 'home_region': self.trail_home_region, - 'name': self.trail_name } if self.organization_id: template += '{organization_id}/' template_params['organization_id'] = self.organization_id - template += ( - '{account_id}/CloudTrail-Digest/{source_region}/' - '{ymd}/{account_id}_CloudTrail-Digest_{source_region}_{name}_' - '{home_region}_{date}.json.gz' - ) - key = template.format(**template_params) + template += '{account_id}/CloudTrail-Digest/{source_region}' + prefix = template.format(**template_params) if key_prefix: - key = key_prefix + '/' + key - return key + prefix = key_prefix + '/' + prefix + return prefix def _create_digest_key_regex(self, key_prefix): - """Creates a regular expression used to match against S3 keys""" - template = 'AWSLogs/' - template_params = { - 'account_id': re.escape(self.account_id), - 'source_region': re.escape(self.trail_source_region), - 'home_region': re.escape(self.trail_home_region), - 'name': re.escape(self.trail_name) - } + """Creates a regular expression used to match against S3 keys for both standard and backfill digests""" + account_id = re.escape(self.account_id) + source_region = re.escape(self.trail_source_region) + home_region = re.escape(self.trail_home_region) + name = re.escape(self.trail_name) + if self.organization_id: - template += '{organization_id}/' - template_params['organization_id'] = self.organization_id - template += ( - '{account_id}/CloudTrail\\-Digest/{source_region}/' - '\\d+/\\d+/\\d+/{account_id}_CloudTrail\\-Digest_' - '{source_region}_{name}_{home_region}_.+\\.json\\.gz' - ) - key = template.format(**template_params) + organization_id = self.organization_id + key = ( + f'AWSLogs/{organization_id}/{account_id}/CloudTrail\\-Digest/' + f'{source_region}/\\d+/\\d+/\\d+/{account_id}_CloudTrail\\-Digest_' + f'{source_region}_{name}_{home_region}_.+(?:_backfill)?\\.json\\.gz' + ) + else: + key = ( + f'AWSLogs/{account_id}/CloudTrail\\-Digest/{source_region}/' + f'\\d+/\\d+/\\d+/{account_id}_CloudTrail\\-Digest_' + f'{source_region}_{name}_{home_region}_.+(?:_backfill)?\\.json\\.gz' + ) + if key_prefix: key = re.escape(key_prefix) + '/' + key return '^' + key + '$' -class DigestTraverser(object): +class DigestTraverser: """Retrieves and validates digests within a date range.""" + # These keys are required to be present before validating the contents # of a digest. - required_digest_keys = ['digestPublicKeyFingerprint', 'digestS3Bucket', - 'digestS3Object', 'previousDigestSignature', - 'digestEndTime', 'digestStartTime'] + required_digest_keys = [ + 'digestPublicKeyFingerprint', + 'digestS3Bucket', + 'digestS3Object', + 'previousDigestSignature', + 'digestEndTime', + 'digestStartTime', + ] - def __init__(self, digest_provider, starting_bucket, starting_prefix, - public_key_provider, digest_validator=None, - on_invalid=None, on_gap=None, on_missing=None): + def __init__( + self, + digest_provider, + starting_bucket, + starting_prefix, + public_key_provider, + digest_validator=None, + on_invalid=None, + on_gap=None, + on_missing=None, + ): """ :type digest_provider: DigestProvider :param digest_provider: DigestProvider object @@ -402,7 +556,7 @@ def __init__(self, digest_provider, starting_bucket, starting_prefix, digest_validator = Sha256RSADigestValidator() self._digest_validator = digest_validator - def traverse(self, start_date, end_date=None): + def traverse_digests(self, start_date, end_date=None, is_backfill=False): """Creates and returns a generator that yields validated digest data. Each yielded digest dictionary contains information about the digest @@ -413,73 +567,158 @@ def traverse(self, start_date, end_date=None): :type start_date: datetime :param start_date: Date to start validating from (inclusive). - :type start_date: datetime + :type end_date: datetime :param end_date: Date to stop validating at (inclusive). + :type is_backfill: bool + :param is_backfill: Flag indicating whether to process backfill digests only. """ if end_date is None: - end_date = datetime.utcnow() + end_date = get_current_datetime() end_date = normalize_date(end_date) start_date = normalize_date(start_date) bucket = self.starting_bucket prefix = self.starting_prefix - digests = self._load_digests(bucket, prefix, start_date, end_date) - public_keys = self._load_public_keys(start_date, end_date) + + digests = self._load_digests( + bucket, prefix, start_date, end_date, is_backfill=is_backfill + ) + + # For regular digests, pre-load public keys. For backfill, start with empty dict + public_keys = ( + {} + if is_backfill + else self._load_public_keys( + start_date, end_date + timedelta(hours=2) + ) + ) + + yield from self._traverse_digest_chain( + digests, + bucket, + prefix, + start_date, + public_keys, + is_backfill=is_backfill, + ) + + def _traverse_digest_chain( + self, + digests, + bucket, + prefix, + start_date, + public_keys, + is_backfill=False, + ): + """Traverses a single chain of digests + + :param is_backfill: Boolean indicating whether this chain contains backfill digests + """ key, end_date = self._get_last_digest(digests) last_start_date = end_date + while key and start_date <= last_start_date: try: digest, end_date = self._load_and_validate_digest( - public_keys, bucket, key) + public_keys, bucket, key, is_backfill=is_backfill + ) last_start_date = normalize_date( - parse_date(digest['digestStartTime'])) + parse_date(digest['digestStartTime']) + ) previous_bucket = digest.get('previousDigestS3Bucket', None) + previous_key = digest.get('previousDigestS3Object', None) yield digest - if previous_bucket is None: + if previous_bucket is None or previous_key is None: # The chain is broken, so find next in digest store. key, end_date = self._find_next_digest( - digests=digests, bucket=bucket, last_key=key, - last_start_date=last_start_date, cb=self._on_gap, - is_cb_conditional=True) + digests=digests, + bucket=bucket, + last_key=key, + last_start_date=last_start_date, + cb=self._on_gap, + is_cb_conditional=True, + is_backfill=is_backfill, + ) else: - key = digest['previousDigestS3Object'] + key = previous_key if previous_bucket != bucket: bucket = previous_bucket # The bucket changed so reload the digest list. digests = self._load_digests( - bucket, prefix, start_date, end_date) + bucket, + prefix, + start_date, + end_date, + is_backfill=is_backfill, + ) except ClientError as e: if e.response['Error']['Code'] != 'NoSuchKey': raise e key, end_date = self._find_next_digest( - digests=digests, bucket=bucket, last_key=key, - last_start_date=last_start_date, cb=self._on_missing, - message=str(e)) + digests=digests, + bucket=bucket, + last_key=key, + last_start_date=last_start_date, + cb=self._on_missing, + message=str(e), + is_backfill=is_backfill, + ) except DigestError as e: key, end_date = self._find_next_digest( - digests=digests, bucket=bucket, last_key=key, - last_start_date=last_start_date, cb=self._on_invalid, - message=str(e)) + digests=digests, + bucket=bucket, + last_key=key, + last_start_date=last_start_date, + cb=self._on_invalid, + message=str(e), + is_backfill=is_backfill, + ) except Exception as e: # Any other unexpected errors. key, end_date = self._find_next_digest( - digests=digests, bucket=bucket, last_key=key, - last_start_date=last_start_date, cb=self._on_invalid, - message='Digest file\ts3://%s/%s\tINVALID: %s' - % (bucket, key, str(e))) - - def _load_digests(self, bucket, prefix, start_date, end_date): + digests=digests, + bucket=bucket, + last_key=key, + last_start_date=last_start_date, + cb=self._on_invalid, + message=f'Digest file\ts3://{bucket}/{key}\tINVALID: {str(e)}', + is_backfill=is_backfill, + ) + + def _load_digests( + self, bucket, prefix, start_date, end_date, is_backfill=False + ): return self.digest_provider.load_digest_keys_in_range( - bucket=bucket, prefix=prefix, - start_date=start_date, end_date=end_date) + bucket=bucket, + prefix=prefix, + start_date=start_date, + end_date=end_date, + is_backfill=is_backfill, + ) - def _find_next_digest(self, digests, bucket, last_key, last_start_date, - cb=None, is_cb_conditional=False, message=None): + def _find_next_digest( + self, + digests, + bucket, + last_key, + last_start_date, + cb=None, + is_cb_conditional=False, + message=None, + is_backfill=False, + ): """Finds the next digest in the bucket and invokes any callback.""" next_key, next_end_date = self._get_last_digest(digests, last_key) if cb and (not is_cb_conditional or next_key): - cb(bucket=bucket, next_key=next_key, last_key=last_key, - next_end_date=next_end_date, last_start_date=last_start_date, - message=message) + cb( + bucket=bucket, + next_key=next_key, + last_key=last_key, + next_end_date=next_end_date, + last_start_date=last_start_date, + message=message, + is_backfill=is_backfill, + ) return next_key, next_end_date def _get_last_digest(self, digests, before_key=None): @@ -494,62 +733,87 @@ def _get_last_digest(self, digests, before_key=None): elif before_key is None: next_key = digests.pop() next_key_date = normalize_date( - parse_date(extract_digest_key_date(next_key))) + parse_date(extract_digest_key_date(next_key)) + ) return next_key, next_key_date # find a key before the given key. before_key_date = parse_date(extract_digest_key_date(before_key)) while digests: next_key = digests.pop() next_key_date = normalize_date( - parse_date(extract_digest_key_date(next_key))) + parse_date(extract_digest_key_date(next_key)) + ) if next_key_date < before_key_date: - LOG.debug("Next found key: %s", next_key) + LOG.debug(f"Next found key: {next_key}") return next_key, next_key_date return None, None - def _load_and_validate_digest(self, public_keys, bucket, key): + def _load_and_validate_digest( + self, public_keys, bucket, key, is_backfill=False + ): """Loads and validates a digest from S3. :param public_keys: Public key dictionary of fingerprint to dict. + :param bucket: S3 bucket name + :param key: S3 key for the digest file + :param is_backfill: Flag indicating if this is a backfill digest :return: Returns a tuple of the digest data as a dict and end_date :rtype: tuple """ digest_data, digest = self.digest_provider.fetch_digest(bucket, key) + + # Validate required keys are present for required_key in self.required_digest_keys: if required_key not in digest_data: raise InvalidDigestFormat(bucket, key) - # Ensure the bucket and key are the same as what's expected. - if digest_data['digestS3Bucket'] != bucket \ - or digest_data['digestS3Object'] != key: + + # Ensure the bucket and key are the same as what's expected + if ( + digest_data['digestS3Bucket'] != bucket + or digest_data['digestS3Object'] != key + ): raise DigestError( - ('Digest file\ts3://%s/%s\tINVALID: has been moved from its ' - 'original location') % (bucket, key)) - # Get the public keys in the given time range. + f'Digest file\ts3://{bucket}/{key}\tINVALID: has been moved from its ' + 'original location' + ) + fingerprint = digest_data['digestPublicKeyFingerprint'] + if fingerprint not in public_keys and is_backfill: + # Backfill-specific logic to fetch public keys + backfill_timestamp = normalize_date( + parse_date(digest_data['_backfill_generation_timestamp']) + ) + start_time = backfill_timestamp - timedelta(hours=1) + end_time = backfill_timestamp + timedelta(hours=1) + public_keys.update(self._load_public_keys(start_time, end_time)) + if fingerprint not in public_keys: - raise DigestError( - ('Digest file\ts3://%s/%s\tINVALID: public key not found in ' - 'region %s for fingerprint %s') % - (bucket, key, self.digest_provider.trail_home_region, - fingerprint)) + error_message = ( + f'Digest file\ts3://{bucket}/{key}\tINVALID: public key not found in ' + f'region {self.digest_provider.trail_home_region} for fingerprint {fingerprint}' + ) + raise DigestError(error_message) + public_key_hex = public_keys[fingerprint]['Value'] self._digest_validator.validate( - bucket, key, public_key_hex, digest_data, digest) + bucket, key, public_key_hex, digest_data, digest + ) + end_date = normalize_date(parse_date(digest_data['digestEndTime'])) return digest_data, end_date def _load_public_keys(self, start_date, end_date): public_keys = self._public_key_provider.get_public_keys( - start_date, end_date) + start_date, end_date + ) if not public_keys: raise RuntimeError( - 'No public keys found between %s and %s' % - (format_display_date(start_date), - format_display_date(end_date))) + f'No public keys found between {format_display_date(start_date)} and {format_display_date(end_date)}' + ) return public_keys -class Sha256RSADigestValidator(object): +class Sha256RSADigestValidator: """ Validates SHA256withRSA signed digests. @@ -577,9 +841,9 @@ def validate(self, bucket, key, public_key, digest_data, inflated_digest): rsa.verify(to_sign, signature_bytes, public_key) except PyAsn1Error: raise DigestError( - ('Digest file\ts3://%s/%s\tINVALID: Unable to load PKCS #1 key' - ' with fingerprint %s') - % (bucket, key, digest_data['digestPublicKeyFingerprint'])) + f'Digest file\ts3://{bucket}/{key}\tINVALID: Unable to load PKCS #1 key' + f' with fingerprint {digest_data["digestPublicKeyFingerprint"]}' + ) except rsa.pkcs1.VerificationError: # Note from the Python-RSA docs: Never display the stack trace of # a rsa.pkcs1.VerificationError exception. It shows where in the @@ -592,13 +856,9 @@ def _create_string_to_sign(self, digest_data, inflated_digest): if previous_signature is None: # The value must be 'null' to match the Java implementation. previous_signature = 'null' - string_to_sign = "%s\n%s/%s\n%s\n%s" % ( - digest_data['digestEndTime'], - digest_data['digestS3Bucket'], - digest_data['digestS3Object'], - hashlib.sha256(inflated_digest).hexdigest(), - previous_signature) - LOG.debug('Digest string to sign: %s', string_to_sign) + + string_to_sign = f"{digest_data['digestEndTime']}\n{digest_data['digestS3Bucket']}/{digest_data['digestS3Object']}\n{hashlib.sha256(inflated_digest).hexdigest()}\n{previous_signature}" + LOG.debug(f'Digest string to sign: {string_to_sign}') return string_to_sign.encode() @@ -606,12 +866,14 @@ class CloudTrailValidateLogs(BasicCommand): """ Validates log digests and log files, optionally saving them to disk. """ + NAME = 'validate-logs' DESCRIPTION = """ Validates CloudTrail logs for a given period of time. This command uses the digest files delivered to your S3 bucket to perform - the validation. + the validation. It supports validation of both digest files and + backfill digest files in a single run. The AWS CLI allows you to detect the following types of changes: @@ -652,38 +914,71 @@ class CloudTrailValidateLogs(BasicCommand): """ ARG_TABLE = [ - {'name': 'trail-arn', 'required': True, 'cli_type_name': 'string', - 'help_text': 'Specifies the ARN of the trail to be validated'}, - {'name': 'start-time', 'required': True, 'cli_type_name': 'string', - 'help_text': ('Specifies that log files delivered on or after the ' - 'specified UTC timestamp value will be validated. ' - 'Example: "2015-01-08T05:21:42Z".')}, - {'name': 'end-time', 'cli_type_name': 'string', - 'help_text': ('Optionally specifies that log files delivered on or ' - 'before the specified UTC timestamp value will be ' - 'validated. The default value is the current time. ' - 'Example: "2015-01-08T12:31:41Z".')}, - {'name': 's3-bucket', 'cli_type_name': 'string', - 'help_text': ('Optionally specifies the S3 bucket where the digest ' - 'files are stored. If a bucket name is not specified, ' - 'the CLI will retrieve it by calling describe_trails')}, - {'name': 's3-prefix', 'cli_type_name': 'string', - 'help_text': ('Optionally specifies the optional S3 prefix where the ' - 'digest files are stored. If not specified, the CLI ' - 'will determine the prefix automatically by calling ' - 'describe_trails.')}, - {'name': 'account-id', 'cli_type_name': 'string', - 'help_text': ('Optionally specifies the account for validating logs. ' - 'This parameter is needed for organization trails ' - 'for validating logs for specific account inside an ' - 'organization')}, - {'name': 'verbose', 'cli_type_name': 'boolean', - 'action': 'store_true', - 'help_text': 'Display verbose log validation information'} + { + 'name': 'trail-arn', + 'required': True, + 'cli_type_name': 'string', + 'help_text': 'Specifies the ARN of the trail to be validated', + }, + { + 'name': 'start-time', + 'required': True, + 'cli_type_name': 'string', + 'help_text': ( + 'Specifies that log files delivered on or after the ' + 'specified UTC timestamp value will be validated. ' + 'Example: "2015-01-08T05:21:42Z".' + ), + }, + { + 'name': 'end-time', + 'cli_type_name': 'string', + 'help_text': ( + 'Optionally specifies that log files delivered on or ' + 'before the specified UTC timestamp value will be ' + 'validated. The default value is the current time. ' + 'Example: "2015-01-08T12:31:41Z".' + ), + }, + { + 'name': 's3-bucket', + 'cli_type_name': 'string', + 'help_text': ( + 'Optionally specifies the S3 bucket where the digest ' + 'files are stored. If a bucket name is not specified, ' + 'the CLI will retrieve it by calling describe_trails' + ), + }, + { + 'name': 's3-prefix', + 'cli_type_name': 'string', + 'help_text': ( + 'Optionally specifies the optional S3 prefix where the ' + 'digest files are stored. If not specified, the CLI ' + 'will determine the prefix automatically by calling ' + 'describe_trails.' + ), + }, + { + 'name': 'account-id', + 'cli_type_name': 'string', + 'help_text': ( + 'Optionally specifies the account for validating logs. ' + 'This parameter is needed for organization trails ' + 'for validating logs for specific account inside an ' + 'organization' + ), + }, + { + 'name': 'verbose', + 'cli_type_name': 'boolean', + 'action': 'store_true', + 'help_text': 'Display verbose log validation information', + }, ] def __init__(self, session): - super(CloudTrailValidateLogs, self).__init__(session) + super().__init__(session) self.trail_arn = None self.is_verbose = False self.start_time = None @@ -696,6 +991,8 @@ def __init__(self, session): self._source_region = None self._valid_digests = 0 self._invalid_digests = 0 + self._valid_backfill_digests = 0 + self._invalid_backfill_digests = 0 self._valid_logs = 0 self._invalid_logs = 0 self._is_last_status_double_space = True @@ -706,7 +1003,10 @@ def _run_main(self, args, parsed_globals): self.handle_args(args) self.setup_services(parsed_globals) self._call() - if self._invalid_digests > 0 or self._invalid_logs > 0: + total_invalid_digests = ( + self._invalid_digests + self._invalid_backfill_digests + ) + if total_invalid_digests > 0 or self._invalid_logs > 0: return 1 return 0 @@ -720,76 +1020,114 @@ def handle_args(self, args): if args.end_time: self.end_time = normalize_date(parse_date(args.end_time)) else: - self.end_time = normalize_date(datetime.utcnow()) + self.end_time = normalize_date(get_current_datetime()) if self.start_time > self.end_time: - raise ValueError(('Invalid time range specified: start-time must ' - 'occur before end-time')) - # Found start time always defaults to the given start time. This value - # may change if the earliest found digest is after the given start - # time. Note that the summary output report of what date ranges were - # actually found is only shown if a valid digest is encountered, - # thereby setting self._found_end_time to a value. - self._found_start_time = self.start_time + raise ValueError( + 'Invalid time range specified: start-time must ' + 'occur before end-time' + ) def setup_services(self, parsed_globals): self._source_region = parsed_globals.region # Use the the same region as the region of the CLI to get locations. self.s3_client_provider = S3ClientProvider( - self._session, self._source_region) - client_args = {'region_name': parsed_globals.region, - 'verify': parsed_globals.verify_ssl} - self.organization_client = self._session.create_client( - 'organizations', **client_args) + self._session, self._source_region + ) + client_args = { + 'region_name': parsed_globals.region, + 'verify': parsed_globals.verify_ssl, + } + self.organization_client = create_nested_client( + self._session, 'organizations', **client_args + ) if parsed_globals.endpoint_url is not None: client_args['endpoint_url'] = parsed_globals.endpoint_url - self.cloudtrail_client = self._session.create_client( - 'cloudtrail', **client_args) + self.cloudtrail_client = create_nested_client( + self._session, 'cloudtrail', **client_args + ) def _call(self): traverser = create_digest_traverser( - trail_arn=self.trail_arn, cloudtrail_client=self.cloudtrail_client, + trail_arn=self.trail_arn, + cloudtrail_client=self.cloudtrail_client, organization_client=self.organization_client, trail_source_region=self._source_region, - s3_client_provider=self.s3_client_provider, bucket=self.s3_bucket, - prefix=self.s3_prefix, on_missing=self._on_missing_digest, - on_invalid=self._on_invalid_digest, on_gap=self._on_digest_gap, - account_id=self.account_id) + s3_client_provider=self.s3_client_provider, + bucket=self.s3_bucket, + prefix=self.s3_prefix, + on_missing=self._on_missing_digest, + on_invalid=self._on_invalid_digest, + on_gap=self._on_digest_gap, + account_id=self.account_id, + ) self._write_startup_text() - digests = traverser.traverse(self.start_time, self.end_time) + + digests = traverser.traverse_digests( + self.start_time, self.end_time, is_backfill=False + ) for digest in digests: # Only valid digests are yielded and only valid digests can adjust # the found times that are reported in the CLI output summary. self._track_found_times(digest) + self._valid_digests += 1 + + self._write_status( + f'Digest file\ts3://{digest["digestS3Bucket"]}/{digest["digestS3Object"]}\tvalid' + ) + + if not digest['logFiles']: + continue + for log in digest['logFiles']: + self._download_log(log) + + backfill_digests = traverser.traverse_digests( + self.start_time, self.end_time, is_backfill=True + ) + for digest in backfill_digests: + # Only valid digests are yielded and only valid digests can adjust + # the found times that are reported in the CLI output summary. + self._track_found_times(digest) + + self._valid_backfill_digests += 1 + self._write_status( - 'Digest file\ts3://%s/%s\tvalid' - % (digest['digestS3Bucket'], digest['digestS3Object'])) + f'(backfill) Digest file\ts3://{digest["digestS3Bucket"]}/{digest["digestS3Object"]}\tvalid' + ) + if not digest['logFiles']: continue for log in digest['logFiles']: self._download_log(log) + self._write_summary_text() def _track_found_times(self, digest): # Track the earliest found start time, but do not use a date before # the user supplied start date. digest_start_time = parse_date(digest['digestStartTime']) - if digest_start_time > self.start_time: - self._found_start_time = digest_start_time - # Only use the last found end time if it is less than the - # user supplied end time (or the current date). - if not self._found_end_time: - digest_end_time = parse_date(digest['digestEndTime']) - self._found_end_time = min(digest_end_time, self.end_time) + earliest_start_time = max(digest_start_time, self.start_time) + if ( + not self._found_start_time + or earliest_start_time < self._found_start_time + ): + self._found_start_time = earliest_start_time + # Track the latest found end time from all digest types, but do not exceed + # the user supplied end time (or the current date). + digest_end_time = parse_date(digest['digestEndTime']) + latest_end_time = min(digest_end_time, self.end_time) + if not self._found_end_time or latest_end_time > self._found_end_time: + self._found_end_time = latest_end_time def _download_log(self, log): - """ Download a log, decompress, and compare SHA256 checksums""" + """Download a log, decompress, and compare SHA256 checksums""" try: # Create a client that can work with this bucket. client = self.s3_client_provider.get_client(log['s3Bucket']) response = client.get_object( - Bucket=log['s3Bucket'], Key=log['s3Object']) + Bucket=log['s3Bucket'], Key=log['s3Object'] + ) gzip_inflater = zlib.decompressobj(zlib.MAX_WBITS | 16) rolling_hash = hashlib.sha256() for chunk in iter(lambda: response['Body'].read(2048), b""): @@ -803,8 +1141,9 @@ def _download_log(self, log): self._on_log_invalid(log) else: self._valid_logs += 1 - self._write_status(('Log file\ts3://%s/%s\tvalid' - % (log['s3Bucket'], log['s3Object']))) + self._write_status( + f'Log file\ts3://{log["s3Bucket"]}/{log["s3Object"]}\tvalid' + ) except ClientError as e: if e.response['Error']['Code'] != 'NoSuchKey': raise @@ -815,76 +1154,105 @@ def _download_log(self, log): def _write_status(self, message, is_error=False): if is_error: if self._is_last_status_double_space: - sys.stderr.write("%s\n\n" % message) + sys.stderr.write(f"{message}\n\n") else: - sys.stderr.write("\n%s\n\n" % message) + sys.stderr.write(f"\n{message}\n\n") self._is_last_status_double_space = True elif self.is_verbose: self._is_last_status_double_space = False - sys.stdout.write("%s\n" % message) + sys.stdout.write(f"{message}\n") def _write_startup_text(self): sys.stdout.write( - 'Validating log files for trail %s between %s and %s\n\n' - % (self.trail_arn, format_display_date(self.start_time), - format_display_date(self.end_time))) + f'Validating log files for trail {self.trail_arn} between {format_display_date(self.start_time)} and {format_display_date(self.end_time)}\n\n' + ) def _write_summary_text(self): if not self._is_last_status_double_space: sys.stdout.write('\n') - sys.stdout.write('Results requested for %s to %s\n' - % (format_display_date(self.start_time), - format_display_date(self.end_time))) - if not self._valid_digests and not self._invalid_digests: + sys.stdout.write( + f'Results requested for {format_display_date(self.start_time)} to {format_display_date(self.end_time)}\n' + ) + + total_valid_digests = ( + self._valid_digests + self._valid_backfill_digests + ) + total_invalid_digests = ( + self._invalid_digests + self._invalid_backfill_digests + ) + + if not total_valid_digests and not total_invalid_digests: sys.stdout.write('No digests found\n') return if not self._found_start_time or not self._found_end_time: sys.stdout.write('No valid digests found in range\n') else: - sys.stdout.write('Results found for %s to %s:\n' - % (format_display_date(self._found_start_time), - format_display_date(self._found_end_time))) + sys.stdout.write( + f'Results found for {format_display_date(self._found_start_time)} to {format_display_date(self._found_end_time)}:\n' + ) + self._write_ratio(self._valid_digests, self._invalid_digests, 'digest') + self._write_ratio( + self._valid_backfill_digests, + self._invalid_backfill_digests, + 'backfill digest', + ) self._write_ratio(self._valid_logs, self._invalid_logs, 'log') + sys.stdout.write('\n') def _write_ratio(self, valid, invalid, name): total = valid + invalid if total > 0: - sys.stdout.write('\n%d/%d %s files valid' % (valid, total, name)) + sys.stdout.write(f'\n{valid}/{total} {name} files valid') if invalid > 0: - sys.stdout.write(', %d/%d %s files INVALID' % (invalid, total, - name)) + sys.stdout.write(f', {invalid}/{total} {name} files INVALID') - def _on_missing_digest(self, bucket, last_key, **kwargs): - self._invalid_digests += 1 - self._write_status('Digest file\ts3://%s/%s\tINVALID: not found' - % (bucket, last_key), True) + def _on_missing_digest( + self, bucket, last_key, is_backfill=False, **kwargs + ): + if is_backfill: + self._invalid_backfill_digests += 1 + else: + self._invalid_digests += 1 + digest_type = '(backfill) ' if is_backfill else '' + self._write_status( + f'{digest_type}Digest file\ts3://{bucket}/{last_key}\tINVALID: not found', + True, + ) - def _on_digest_gap(self, **kwargs): + def _on_digest_gap(self, is_backfill=False, **kwargs): + log_type = '(backfill) ' if is_backfill else '' self._write_status( - 'No log files were delivered by CloudTrail between %s and %s' - % (format_display_date(kwargs['next_end_date']), - format_display_date(kwargs['last_start_date'])), True) + f'{log_type}No log files were delivered by CloudTrail between {format_display_date(kwargs["next_end_date"])} and {format_display_date(kwargs["last_start_date"])}', + True, + ) - def _on_invalid_digest(self, message, **kwargs): - self._invalid_digests += 1 - self._write_status(message, True) + def _on_invalid_digest(self, message, is_backfill=False, **kwargs): + if is_backfill: + self._invalid_backfill_digests += 1 + else: + self._invalid_digests += 1 + digest_type = '(backfill) ' if is_backfill else '' + self._write_status(f'{digest_type}{message}', True) def _on_invalid_log_format(self, log_data): self._invalid_logs += 1 self._write_status( - ('Log file\ts3://%s/%s\tINVALID: invalid format' - % (log_data['s3Bucket'], log_data['s3Object'])), True) + f'Log file\ts3://{log_data["s3Bucket"]}/{log_data["s3Object"]}\tINVALID: invalid format', + True, + ) def _on_log_invalid(self, log_data): self._invalid_logs += 1 self._write_status( - "Log file\ts3://%s/%s\tINVALID: hash value doesn't match" - % (log_data['s3Bucket'], log_data['s3Object']), True) + f"Log file\ts3://{log_data['s3Bucket']}/{log_data['s3Object']}\tINVALID: hash value doesn't match", + True, + ) def _on_missing_log(self, log_data): self._invalid_logs += 1 self._write_status( - 'Log file\ts3://%s/%s\tINVALID: not found' - % (log_data['s3Bucket'], log_data['s3Object']), True) + f'Log file\ts3://{log_data["s3Bucket"]}/{log_data["s3Object"]}\tINVALID: not found', + True, + ) diff --git a/awscli/customizations/codeartifact/login.py b/awscli/customizations/codeartifact/login.py index d030bcb32eb5..c6816db1e00a 100644 --- a/awscli/customizations/codeartifact/login.py +++ b/awscli/customizations/codeartifact/login.py @@ -38,8 +38,8 @@ def get_relative_expiration_time(remaining): class CommandFailedError(Exception): - def __init__(self, called_process_error): - msg = str(called_process_error) + def __init__(self, called_process_error, auth_token): + msg = str(called_process_error).replace(auth_token, '******') if called_process_error.stderr is not None: msg +=( f' Stderr from command:\n' @@ -105,7 +105,7 @@ def _run_command(self, tool, command, *, ignore_errors=False): ) except subprocess.CalledProcessError as ex: if not ignore_errors: - raise CommandFailedError(ex) + raise CommandFailedError(ex, self.auth_token) except OSError as ex: if ex.errno == errno.ENOENT: raise ValueError( @@ -305,7 +305,7 @@ def login(self, dry_run=False): ) except subprocess.CalledProcessError as e: uni_print('Failed to update the NuGet.Config\n') - raise CommandFailedError(e) + raise CommandFailedError(e, self.auth_token) uni_print(source_configured_message % source_name) self._write_success_message('nuget') @@ -720,12 +720,18 @@ class CodeArtifactLogin(BasicCommand): 'help_text': 'Your CodeArtifact repository name', 'required': True, }, + { + 'name': 'endpoint-type', + 'help_text': 'The type of endpoint you want the tool to interact with', + 'required': False + }, { 'name': 'dry-run', 'action': 'store_true', 'help_text': 'Only print the commands that would be executed ' 'to connect your tool with your repository without ' - 'making any changes to your configuration', + 'making any changes to your configuration. Note that ' + 'this prints the unredacted auth token as part of the output', 'required': False, 'default': False }, @@ -749,6 +755,8 @@ def _get_repository_endpoint( 'repository': parsed_args.repository, 'format': package_format } + if parsed_args.endpoint_type: + kwargs['endpointType'] = parsed_args.endpoint_type if parsed_args.domain_owner: kwargs['domainOwner'] = parsed_args.domain_owner diff --git a/awscli/customizations/codecommit.py b/awscli/customizations/codecommit.py index 73b9e97764fa..f9c6ad7316a8 100644 --- a/awscli/customizations/codecommit.py +++ b/awscli/customizations/codecommit.py @@ -16,13 +16,12 @@ import sys import logging import fileinput -import datetime from botocore.auth import SigV4Auth from botocore.awsrequest import AWSRequest from botocore.compat import urlsplit from awscli.customizations.commands import BasicCommand -from awscli.compat import NonTranslatedStdout +from awscli.compat import NonTranslatedStdout, get_current_datetime logger = logging.getLogger('botocore.credentials') @@ -150,7 +149,7 @@ def sign_request(self, region, url_to_sign): request = AWSRequest() request.url = url_to_sign request.method = 'GIT' - now = datetime.datetime.utcnow() + now = get_current_datetime() request.context['timestamp'] = now.strftime('%Y%m%dT%H%M%S') split = urlsplit(request.url) # we don't want to include the port number in the signature diff --git a/awscli/customizations/codedeploy/deregister.py b/awscli/customizations/codedeploy/deregister.py index d9facbae4629..b1b300e74740 100644 --- a/awscli/customizations/codedeploy/deregister.py +++ b/awscli/customizations/codedeploy/deregister.py @@ -18,6 +18,7 @@ from awscli.customizations.commands import BasicCommand from awscli.customizations.codedeploy.utils import \ validate_region, validate_instance_name, INSTANCE_NAME_ARG +from awscli.utils import create_nested_client class Deregister(BasicCommand): @@ -48,13 +49,15 @@ def _run_main(self, parsed_args, parsed_globals): validate_region(params, parsed_globals) validate_instance_name(params) - self.codedeploy = self._session.create_client( + self.codedeploy = create_nested_client( + self._session, 'codedeploy', region_name=params.region, endpoint_url=parsed_globals.endpoint_url, verify=parsed_globals.verify_ssl ) - self.iam = self._session.create_client( + self.iam = create_nested_client( + self._session, 'iam', region_name=params.region ) diff --git a/awscli/customizations/codedeploy/push.py b/awscli/customizations/codedeploy/push.py index 046c3b37636d..fc92f535eb6b 100644 --- a/awscli/customizations/codedeploy/push.py +++ b/awscli/customizations/codedeploy/push.py @@ -16,15 +16,13 @@ import zipfile import tempfile import contextlib -from datetime import datetime from botocore.exceptions import ClientError -from awscli.compat import six from awscli.customizations.codedeploy.utils import validate_s3_location from awscli.customizations.commands import BasicCommand -from awscli.compat import ZIP_COMPRESSION_MODE - +from awscli.compat import BytesIO, ZIP_COMPRESSION_MODE, get_current_datetime +from awscli.utils import create_nested_client ONE_MB = 1 << 20 MULTIPART_LIMIT = 6 * ONE_MB @@ -62,8 +60,8 @@ class Push(BasicCommand): 'revision to be uploaded to Amazon S3. You must specify both ' 'a bucket and a key that represent the Amazon S3 bucket name ' 'and the object key name. Content will be zipped before ' - 'uploading. Use the format s3://\/\' - ) + 'uploading. Use the format s3:///' + ), }, { 'name': 'ignore-hidden-files', @@ -108,13 +106,15 @@ class Push(BasicCommand): def _run_main(self, parsed_args, parsed_globals): self._validate_args(parsed_args) - self.codedeploy = self._session.create_client( + self.codedeploy = create_nested_client( + self._session, 'codedeploy', region_name=parsed_globals.region, endpoint_url=parsed_globals.endpoint_url, verify=parsed_globals.verify_ssl ) - self.s3 = self._session.create_client( + self.s3 = create_nested_client( + self._session, 's3', region_name=parsed_globals.region ) @@ -131,7 +131,7 @@ def _validate_args(self, parsed_args): if not parsed_args.description: parsed_args.description = ( 'Uploaded by AWS CLI {0} UTC'.format( - datetime.utcnow().isoformat() + get_current_datetime().isoformat() ) ) @@ -246,7 +246,7 @@ def _multipart_upload_to_s3(self, params, bundle, size_remaining): Key=params.key, UploadId=upload_id, PartNumber=part_num, - Body=six.BytesIO(data) + Body=BytesIO(data) ) multipart_list.append({ 'PartNumber': part_num, diff --git a/awscli/customizations/codedeploy/register.py b/awscli/customizations/codedeploy/register.py index a41135c334a2..e959044c1cf9 100644 --- a/awscli/customizations/codedeploy/register.py +++ b/awscli/customizations/codedeploy/register.py @@ -18,6 +18,7 @@ from awscli.customizations.codedeploy.utils import \ validate_region, validate_instance_name, validate_tags, \ validate_iam_user_arn, INSTANCE_NAME_ARG, IAM_USER_ARN_ARG +from awscli.utils import create_nested_client class Register(BasicCommand): @@ -73,13 +74,15 @@ def _run_main(self, parsed_args, parsed_globals): validate_tags(params) validate_iam_user_arn(params) - self.codedeploy = self._session.create_client( + self.codedeploy = create_nested_client( + self._session, 'codedeploy', region_name=params.region, endpoint_url=parsed_globals.endpoint_url, verify=parsed_globals.verify_ssl ) - self.iam = self._session.create_client( + self.iam = create_nested_client( + self._session, 'iam', region_name=params.region ) diff --git a/awscli/customizations/codedeploy/systems.py b/awscli/customizations/codedeploy/systems.py index 3d3f671f6d9c..19e24f6fbdeb 100644 --- a/awscli/customizations/codedeploy/systems.py +++ b/awscli/customizations/codedeploy/systems.py @@ -14,6 +14,7 @@ import ctypes import os import subprocess +from awscli.utils import create_nested_client DEFAULT_CONFIG_FILE = 'codedeploy.onpremises.yml' @@ -26,7 +27,8 @@ class System: def __init__(self, params): self.session = params.session - self.s3 = self.session.create_client( + self.s3 = create_nested_client( + self.session, 's3', region_name=params.region ) diff --git a/awscli/customizations/commands.py b/awscli/customizations/commands.py index 45ac54e565ff..8bec7017731a 100644 --- a/awscli/customizations/commands.py +++ b/awscli/customizations/commands.py @@ -154,7 +154,8 @@ def __call__(self, args, parsed_globals): 'custom', self.name, cli_argument, - value + value, + parsed_globals ) # If this parameter has a schema defined, then allow plugins diff --git a/awscli/customizations/configservice/getstatus.py b/awscli/customizations/configservice/getstatus.py index d3a2dd8ce2e9..da5119890f5b 100644 --- a/awscli/customizations/configservice/getstatus.py +++ b/awscli/customizations/configservice/getstatus.py @@ -13,7 +13,7 @@ import sys from awscli.customizations.commands import BasicCommand - +from awscli.utils import create_nested_client def register_get_status(cli): cli.register('building-command-table.configservice', add_get_status) @@ -44,8 +44,8 @@ def _setup_client(self, parsed_globals): 'region_name': parsed_globals.region, 'endpoint_url': parsed_globals.endpoint_url } - self._config_client = self._session.create_client('config', - **client_args) + self._config_client = create_nested_client(self._session, 'config', + **client_args) def _check_configuration_recorders(self): status = self._config_client.describe_configuration_recorder_status() diff --git a/awscli/customizations/configure/__init__.py b/awscli/customizations/configure/__init__.py index ea49773888da..46aeed5f53db 100644 --- a/awscli/customizations/configure/__init__.py +++ b/awscli/customizations/configure/__init__.py @@ -11,7 +11,7 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. import string -from botocore.vendored.six.moves import shlex_quote +from awscli.compat import shlex NOT_SET = '' PREDEFINED_SECTION_NAMES = ('preview', 'plugins') @@ -45,5 +45,5 @@ def mask_value(current_value): def profile_to_section(profile_name): """Converts a profile name to a section header to be used in the config.""" if any(c in _WHITESPACE for c in profile_name): - profile_name = shlex_quote(profile_name) + profile_name = shlex.quote(profile_name) return 'profile %s' % profile_name diff --git a/awscli/customizations/configure/get.py b/awscli/customizations/configure/get.py index a8c55f743473..1d48e06fa46d 100644 --- a/awscli/customizations/configure/get.py +++ b/awscli/customizations/configure/get.py @@ -14,7 +14,6 @@ import logging from awscli.customizations.commands import BasicCommand -from awscli.compat import six from . import PREDEFINED_SECTION_NAMES @@ -56,7 +55,7 @@ def _run_main(self, args, parsed_globals): LOG.debug(u'Config value retrieved: %s' % value) - if isinstance(value, six.string_types): + if isinstance(value, str): self._stream.write(value) self._stream.write('\n') return 0 diff --git a/awscli/customizations/datapipeline/__init__.py b/awscli/customizations/datapipeline/__init__.py index 3a9ad8a69485..59b139ac2ac5 100644 --- a/awscli/customizations/datapipeline/__init__.py +++ b/awscli/customizations/datapipeline/__init__.py @@ -12,17 +12,18 @@ # language governing permissions and limitations under the License. import json -from datetime import datetime, timedelta +from datetime import timedelta from awscli.formatter import get_formatter from awscli.arguments import CustomArgument +from awscli.compat import get_current_datetime from awscli.customizations.commands import BasicCommand from awscli.customizations.datapipeline import translator from awscli.customizations.datapipeline.createdefaultroles \ import CreateDefaultRoles from awscli.customizations.datapipeline.listrunsformatter \ import ListRunsFormatter - +from awscli.utils import create_nested_client DEFINITION_HELP_TEXT = """\ The JSON pipeline definition. If the pipeline definition @@ -184,7 +185,7 @@ class QueryArgBuilder(object): """ def __init__(self, current_time=None): if current_time is None: - current_time = datetime.utcnow() + current_time = get_current_datetime() self.current_time = current_time def build_query(self, parsed_args): @@ -361,7 +362,9 @@ def _run_main(self, parsed_args, parsed_globals, **kwargs): def _set_client(self, parsed_globals): # This is called from _run_main and is used to ensure that we have # a service/endpoint object to work with. - self.client = self._session.create_client( + from awscli.utils import create_nested_client + self.client = create_nested_client( + self._session, 'datapipeline', region_name=parsed_globals.region, endpoint_url=parsed_globals.endpoint_url, diff --git a/awscli/customizations/datapipeline/createdefaultroles.py b/awscli/customizations/datapipeline/createdefaultroles.py index be234eaeb66a..bc473696773e 100644 --- a/awscli/customizations/datapipeline/createdefaultroles.py +++ b/awscli/customizations/datapipeline/createdefaultroles.py @@ -25,6 +25,8 @@ from awscli.customizations.commands import BasicCommand from awscli.customizations.datapipeline.translator \ import display_response, dict_to_string, get_region +from awscli.utils import create_nested_client + from botocore.exceptions import ClientError LOG = logging.getLogger(__name__) @@ -69,8 +71,8 @@ def _run_main(self, parsed_args, parsed_globals, **kwargs): """Call to run the commands""" self._region = get_region(self._session, parsed_globals) self._endpoint_url = parsed_globals.endpoint_url - self._iam_client = self._session.create_client( - 'iam', + self._iam_client = create_nested_client( + self._session, 'iam', region_name=self._region, endpoint_url=self._endpoint_url, verify=parsed_globals.verify_ssl diff --git a/awscli/customizations/dlm/createdefaultrole.py b/awscli/customizations/dlm/createdefaultrole.py index f6cc1913ed3f..0b07ac80c70c 100644 --- a/awscli/customizations/dlm/createdefaultrole.py +++ b/awscli/customizations/dlm/createdefaultrole.py @@ -23,6 +23,7 @@ POLICY_ARN_PATTERN, \ RESOURCE_TYPE_SNAPSHOT, \ RESOURCE_TYPE_IMAGE +from awscli.utils import create_nested_client LOG = logging.getLogger(__name__) @@ -98,8 +99,9 @@ def _run_main(self, parsed_args, parsed_globals): self._region = get_region(self._session, parsed_globals) self._endpoint_url = parsed_args.iam_endpoint self._resource_type = parsed_args.resource_type - self._iam_client = IAM(self._session.create_client( - 'iam', + from awscli.utils import create_nested_client + self._iam_client = IAM(create_nested_client( + self._session, 'iam', region_name=self._region, endpoint_url=self._endpoint_url, verify=parsed_globals.verify_ssl diff --git a/awscli/customizations/dynamodb.py b/awscli/customizations/dynamodb.py index 90aaab1d39df..2d22b6f1bb4f 100644 --- a/awscli/customizations/dynamodb.py +++ b/awscli/customizations/dynamodb.py @@ -14,8 +14,6 @@ import binascii import logging -from awscli.compat import six - logger = logging.getLogger(__name__) @@ -28,7 +26,7 @@ def parse_last_evaluated_key_binary(parsed, **kwargs): # a base64 string if a binary field is present in the continuation token # as is the case with dynamodb the binary will be double encoded. This # ensures that the continuation token is properly converted to binary to - # avoid double encoding the contination token. + # avoid double encoding the continuation token. last_evaluated_key = parsed.get('LastEvaluatedKey', None) if last_evaluated_key is None: return diff --git a/awscli/customizations/ec2/addcount.py b/awscli/customizations/ec2/addcount.py index a1a20c80e258..9ce5f57d3eb5 100644 --- a/awscli/customizations/ec2/addcount.py +++ b/awscli/customizations/ec2/addcount.py @@ -90,7 +90,7 @@ def add_to_params(self, parameters, value): minstr, maxstr = (value, value) parameters['MinCount'] = int(minstr) parameters['MaxCount'] = int(maxstr) - except: + except Exception: msg = ('count parameter should be of ' 'form min[:max] (e.g. 1 or 1:10)') raise ValueError(msg) diff --git a/awscli/customizations/ec2/bundleinstance.py b/awscli/customizations/ec2/bundleinstance.py index 37c3461258c8..130b660453ac 100644 --- a/awscli/customizations/ec2/bundleinstance.py +++ b/awscli/customizations/ec2/bundleinstance.py @@ -17,9 +17,8 @@ import base64 import datetime -from awscli.compat import six - from awscli.arguments import CustomArgument +from awscli.compat import get_current_datetime logger = logging.getLogger('ec2bundleinstance') @@ -119,7 +118,7 @@ def _generate_policy(params): # Called if there is no policy supplied by the user. # Creates a policy that provides access for 24 hours. delta = datetime.timedelta(hours=24) - expires = datetime.datetime.utcnow() + delta + expires = get_current_datetime() + delta expires_iso = expires.strftime("%Y-%m-%dT%H:%M:%S.%fZ") policy = POLICY.format(expires=expires_iso, bucket=params['Bucket'], @@ -132,9 +131,9 @@ def _generate_signature(params): policy = params.get('UploadPolicy') sak = params.get('_SAK') if policy and sak: - policy = base64.b64encode(six.b(policy)).decode('utf-8') + policy = base64.b64encode(policy.encode('latin-1')).decode('utf-8') new_hmac = hmac.new(sak.encode('utf-8'), digestmod=sha1) - new_hmac.update(six.b(policy)) + new_hmac.update(policy.encode('latin-1')) ps = base64.encodebytes(new_hmac.digest()).strip().decode('utf-8') params['UploadPolicySignature'] = ps del params['_SAK'] diff --git a/awscli/customizations/ec2/decryptpassword.py b/awscli/customizations/ec2/decryptpassword.py index 9d110636463d..a62a3493ce6d 100644 --- a/awscli/customizations/ec2/decryptpassword.py +++ b/awscli/customizations/ec2/decryptpassword.py @@ -14,7 +14,6 @@ import os import base64 import rsa -from awscli.compat import six from botocore import model @@ -109,7 +108,7 @@ def _decrypt_password_data(self, parsed, **kwargs): try: with open(self._key_path) as pk_file: pk_contents = pk_file.read() - private_key = rsa.PrivateKey.load_pkcs1(six.b(pk_contents)) + private_key = rsa.PrivateKey.load_pkcs1(pk_contents.encode("latin-1")) value = base64.b64decode(value) value = rsa.decrypt(value, private_key) logger.debug(parsed) diff --git a/awscli/customizations/eks/get_token.py b/awscli/customizations/eks/get_token.py index c85b86dd7d0e..7d1dc7f68a75 100644 --- a/awscli/customizations/eks/get_token.py +++ b/awscli/customizations/eks/get_token.py @@ -16,11 +16,13 @@ import os import sys -from datetime import datetime, timedelta +from datetime import timedelta from botocore.signers import RequestSigner from botocore.model import ServiceId from awscli.formatter import get_formatter +from awscli.utils import create_nested_client +from awscli.compat import get_current_datetime from awscli.customizations.commands import BasicCommand from awscli.customizations.utils import uni_print from awscli.customizations.utils import validate_mutually_exclusive @@ -106,7 +108,7 @@ class GetTokenCommand(BasicCommand): ] def get_expiration_time(self): - token_expiration = datetime.utcnow() + timedelta( + token_expiration = get_current_datetime() + timedelta( minutes=TOKEN_EXPIRATION_MINS ) return token_expiration.strftime('%Y-%m-%dT%H:%M:%SZ') @@ -247,12 +249,12 @@ def get_sts_client(self, region_name=None, role_arn=None): client_kwargs['aws_access_key_id'] = creds['AccessKeyId'] client_kwargs['aws_secret_access_key'] = creds['SecretAccessKey'] client_kwargs['aws_session_token'] = creds['SessionToken'] - sts = self._session.create_client('sts', **client_kwargs) + sts = create_nested_client(self._session, 'sts', **client_kwargs) self._register_k8s_aws_id_handlers(sts) return sts def _get_role_credentials(self, region_name, role_arn): - sts = self._session.create_client('sts', region_name) + sts = create_nested_client(self._session, 'sts', region_name=region_name) return sts.assume_role( RoleArn=role_arn, RoleSessionName='EKSGetTokenAuth' )['Credentials'] diff --git a/awscli/customizations/eks/update_kubeconfig.py b/awscli/customizations/eks/update_kubeconfig.py index 0e6971b85f2b..b5f6601eba4a 100644 --- a/awscli/customizations/eks/update_kubeconfig.py +++ b/awscli/customizations/eks/update_kubeconfig.py @@ -26,6 +26,7 @@ KubeconfigValidator, KubeconfigAppender) from awscli.customizations.eks.ordered_yaml import ordered_yaml_dump +from awscli.utils import create_nested_client LOG = logging.getLogger(__name__) @@ -76,6 +77,12 @@ class UpdateKubeconfigCommand(BasicCommand): "connect to the cluster the first time."), 'required': False }, + { + 'name': 'proxy-url', + 'help_text': ("Optionally specify a proxy url to route " + "traffic via when connecting to a cluster."), + 'required': False + }, { 'name': 'dry-run', 'action': 'store_true', @@ -103,6 +110,14 @@ class UpdateKubeconfigCommand(BasicCommand): 'help_text': ("Alias for the generated user name. " "Defaults to match cluster ARN."), 'required': False + }, + { + 'name': 'assume-role-arn', + 'help_text': ('To assume a role for retrieving cluster information, ' + 'specify an IAM role ARN with this option. ' + 'Use this for cross-account access to get cluster details ' + 'from the account where the cluster resides.'), + 'required': False } ] @@ -249,27 +264,42 @@ def cluster_description(self): Cache the response in self._cluster_description. describe-cluster will only be called once. """ - if self._cluster_description is None: - if self._parsed_globals is None: - client = self._session.create_client("eks") - else: - client = self._session.create_client( - "eks", - region_name=self._parsed_globals.region, - endpoint_url=self._parsed_globals.endpoint_url, - verify=self._parsed_globals.verify_ssl - ) - full_description = client.describe_cluster(name=self._cluster_name) - self._cluster_description = full_description["cluster"] - - if "status" not in self._cluster_description: - raise EKSClusterError("Cluster not found") - if self._cluster_description["status"] not in ["ACTIVE", "UPDATING"]: - raise EKSClusterError("Cluster status is {0}".format( - self._cluster_description["status"] - )) - - return self._cluster_description + if self._cluster_description is not None: + return self._cluster_description + + client_kwargs = {} + if self._parsed_globals: + client_kwargs.update({ + "region_name": self._parsed_globals.region, + "endpoint_url": self._parsed_globals.endpoint_url, + "verify": self._parsed_globals.verify_ssl, + }) + + # Handle role assumption if needed + if getattr(self._parsed_args, 'assume_role_arn', None): + sts_client = create_nested_client(self._session, 'sts') + credentials = sts_client.assume_role( + RoleArn=self._parsed_args.assume_role_arn, + RoleSessionName='EKSDescribeClusterSession' + )["Credentials"] + + client_kwargs.update({ + "aws_access_key_id": credentials["AccessKeyId"], + "aws_secret_access_key": credentials["SecretAccessKey"], + "aws_session_token": credentials["SessionToken"], + }) + + client = create_nested_client(self._session, "eks", **client_kwargs) + full_description = client.describe_cluster(name=self._cluster_name) + cluster = full_description.get("cluster") + + if not cluster or "status" not in cluster: + raise EKSClusterError("Cluster not found") + if cluster["status"] not in ["ACTIVE", "UPDATING"]: + raise EKSClusterError(f"Cluster status is {cluster['status']}") + + self._cluster_description = cluster + return cluster def get_cluster_entry(self): """ @@ -281,7 +311,7 @@ def get_cluster_entry(self): endpoint = self.cluster_description.get("endpoint") arn = self.cluster_description.get("arn") - return OrderedDict([ + generated_cluster = OrderedDict([ ("cluster", OrderedDict([ ("certificate-authority-data", cert_data), ("server", endpoint) @@ -289,6 +319,11 @@ def get_cluster_entry(self): ("name", arn) ]) + if self._parsed_args.proxy_url is not None: + generated_cluster["cluster"]["proxy-url"] = self._parsed_args.proxy_url + + return generated_cluster + def get_user_entry(self, user_alias=None): """ Return a user entry generated using diff --git a/awscli/customizations/emr/argumentschema.py b/awscli/customizations/emr/argumentschema.py index 3c85e7cdd6c6..b5497e4c50d1 100644 --- a/awscli/customizations/emr/argumentschema.py +++ b/awscli/customizations/emr/argumentschema.py @@ -16,15 +16,9 @@ CONFIGURATIONS_PROPERTIES_SCHEMA = { "type": "map", - "key": { - "type": "string", - "description": "Configuration key" - }, - "value": { - "type": "string", - "description": "Configuration value" - }, - "description": "Application configuration properties" + "key": {"type": "string", "description": "Configuration key"}, + "value": {"type": "string", "description": "Configuration value"}, + "description": "Application configuration properties", } CONFIGURATIONS_CLASSIFICATION_SCHEMA = { @@ -38,10 +32,10 @@ "type": "object", "properties": { "Classification": CONFIGURATIONS_CLASSIFICATION_SCHEMA, - "Properties": CONFIGURATIONS_PROPERTIES_SCHEMA - } + "Properties": CONFIGURATIONS_PROPERTIES_SCHEMA, + }, }, - "description": "Instance group application configurations." + "description": "Instance group application configurations.", } OUTER_CONFIGURATIONS_SCHEMA = { @@ -51,10 +45,48 @@ "properties": { "Classification": CONFIGURATIONS_CLASSIFICATION_SCHEMA, "Properties": CONFIGURATIONS_PROPERTIES_SCHEMA, - "Configurations": INNER_CONFIGURATIONS_SCHEMA - } + "Configurations": INNER_CONFIGURATIONS_SCHEMA, + }, }, - "description": "Instance group application configurations." + "description": "Instance group application configurations.", +} + +ONDEMAND_CAPACITY_RESERVATION_OPTIONS_SCHEMA = { + "type": "object", + "properties": { + "UsageStrategy": { + "type": "string", + "description": "The strategy of whether to use available capacity reservations to fulfill On-Demand capacity.", + "enum": ["use-capacity-reservations-first"], + }, + "CapacityReservationPreference": { + "type": "string", + "description": "The preference of the capacity reservation of the instance.", + "enum": ["open", "none"], + }, + "CapacityReservationResourceGroupArn": { + "type": "string", + "description": "The ARN of the capacity reservation resource group in which to run the instance.", + }, + }, +} + +SPOT_ALLOCATION_STRATEGY_SCHEMA = { + "type": "string", + "description": "The strategy to use to launch Spot instance fleets.", + "enum": [ + "capacity-optimized", + "price-capacity-optimized", + "lowest-price", + "diversified", + "capacity-optimized-prioritized", + ], +} + +ONDEMAND_ALLOCATION_STRATEGY_SCHEMA = { + "type": "string", + "description": "The strategy to use to launch On-Demand instance fleets.", + "enum": ["lowest-price", "prioritized"], } INSTANCE_GROUPS_SCHEMA = { @@ -64,39 +96,35 @@ "properties": { "Name": { "type": "string", - "description": - "Friendly name given to the instance group." + "description": "Friendly name given to the instance group.", }, "InstanceGroupType": { "type": "string", - "description": - "The type of the instance group in the cluster.", + "description": "The type of the instance group in the cluster.", "enum": ["MASTER", "CORE", "TASK"], - "required": True + "required": True, }, "BidPrice": { "type": "string", - "description": - "Bid price for each Amazon EC2 instance in the " - "instance group when launching nodes as Spot Instances, " - "expressed in USD." + "description": "Bid price for each Amazon EC2 instance in the " + "instance group when launching nodes as Spot Instances, " + "expressed in USD.", }, "InstanceType": { "type": "string", - "description": - "The Amazon EC2 instance type for all instances " - "in the instance group.", - "required": True + "description": "The Amazon EC2 instance type for all instances " + "in the instance group.", + "required": True, }, "InstanceCount": { "type": "integer", "description": "Target number of Amazon EC2 instances " "for the instance group", - "required": True + "required": True, }, "CustomAmiId": { "type": "string", - "description": "The AMI ID of a custom AMI to use when Amazon EMR provisions EC2 instances." + "description": "The AMI ID of a custom AMI to use when Amazon EMR provisions EC2 instances.", }, "EbsConfiguration": { "type": "object", @@ -111,19 +139,19 @@ "items": { "type": "object", "properties": { - "VolumeSpecification" : { + "VolumeSpecification": { "type": "object", "description": "The EBS volume specification that will be created and attached to every instance in this instance group.", "properties": { "VolumeType": { "type": "string", "description": "The EBS volume type that is attached to all the instances in the instance group. Valid types are: gp2, io1, and standard.", - "required": True + "required": True, }, "SizeInGB": { "type": "integer", "description": "The EBS volume size, in GB, that is attached to all the instances in the instance group.", - "required": True + "required": True, }, "Iops": { "type": "integer", @@ -132,17 +160,17 @@ "Throughput": { "type": "integer", "description": "The throughput of the EBS volume that is attached to all the instances in the instance group.", - } - } + }, + }, }, "VolumesPerInstance": { "type": "integer", "description": "The number of EBS volumes that will be created and attached to each instance in the instance group.", - } - } - } - } - } + }, + }, + }, + }, + }, }, "AutoScalingPolicy": { "type": "object", @@ -155,14 +183,14 @@ "MinCapacity": { "type": "integer", "description": "The minimum value for the instances to scale in" - " to in response to scaling activities." + " to in response to scaling activities.", }, "MaxCapacity": { "type": "integer", "description": "The maximum value for the instances to scale out to in response" - " to scaling activities" - } - } + " to scaling activities", + }, + }, }, "Rules": { "type": "array", @@ -172,11 +200,11 @@ "properties": { "Name": { "type": "string", - "description": "Name of the Auto Scaling rule." + "description": "Name of the Auto Scaling rule.", }, "Description": { "type": "string", - "description": "Description of the Auto Scaling rule." + "description": "Description of the Auto Scaling rule.", }, "Action": { "type": "object", @@ -185,35 +213,38 @@ "Market": { # Required for Instance Fleets "type": "string", "description": "Market type of the Amazon EC2 instances used to create a " - "cluster node by Auto Scaling action.", - "enum": ["ON_DEMAND", "SPOT"] + "cluster node by Auto Scaling action.", + "enum": ["ON_DEMAND", "SPOT"], }, "SimpleScalingPolicyConfiguration": { "type": "object", "description": "The Simple scaling configuration that will be associated" - "to Auto Scaling action.", + "to Auto Scaling action.", "properties": { "AdjustmentType": { "type": "string", "description": "Specifies how the ScalingAdjustment parameter is " - "interpreted.", - "enum": ["CHANGE_IN_CAPACITY", "PERCENT_CHANGE_IN_CAPACITY", - "EXACT_CAPACITY"] + "interpreted.", + "enum": [ + "CHANGE_IN_CAPACITY", + "PERCENT_CHANGE_IN_CAPACITY", + "EXACT_CAPACITY", + ], }, "ScalingAdjustment": { "type": "integer", "description": "The amount by which to scale, based on the " - "specified adjustment type." + "specified adjustment type.", }, "CoolDown": { "type": "integer", "description": "The amount of time, in seconds, after a scaling " - "activity completes and before the next scaling " - "activity can start." - } - } - } - } + "activity completes and before the next scaling " + "activity can start.", + }, + }, + }, + }, }, "Trigger": { "type": "object", @@ -222,44 +253,44 @@ "CloudWatchAlarmDefinition": { "type": "object", "description": "The Alarm to be registered with CloudWatch, to trigger" - " scaling activities.", + " scaling activities.", "properties": { "ComparisonOperator": { "type": "string", "description": "The arithmetic operation to use when comparing the" - " specified Statistic and Threshold." + " specified Statistic and Threshold.", }, "EvaluationPeriods": { "type": "integer", "description": "The number of periods over which data is compared" - " to the specified threshold." + " to the specified threshold.", }, "MetricName": { "type": "string", - "description": "The name for the alarm's associated metric." + "description": "The name for the alarm's associated metric.", }, "Namespace": { "type": "string", - "description": "The namespace for the alarm's associated metric." + "description": "The namespace for the alarm's associated metric.", }, "Period": { "type": "integer", "description": "The period in seconds over which the specified " - "statistic is applied." + "statistic is applied.", }, "Statistic": { "type": "string", "description": "The statistic to apply to the alarm's associated " - "metric." + "metric.", }, "Threshold": { "type": "double", "description": "The value against which the specified statistic is " - "compared." + "compared.", }, "Unit": { "type": "string", - "description": "The statistic's unit of measure." + "description": "The statistic's unit of measure.", }, "Dimensions": { "type": "array", @@ -269,27 +300,27 @@ "properties": { "Key": { "type": "string", - "description": "Dimension Key." + "description": "Dimension Key.", }, "Value": { "type": "string", - "description": "Dimension Value." - } - } - } - } - } + "description": "Dimension Value.", + }, + }, + }, + }, + }, } - } - } - } - } - } - } + }, + }, + }, + }, + }, + }, }, - "Configurations": OUTER_CONFIGURATIONS_SCHEMA - } - } + "Configurations": OUTER_CONFIGURATIONS_SCHEMA, + }, + }, } INSTANCE_FLEETS_SCHEMA = { @@ -299,21 +330,21 @@ "properties": { "Name": { "type": "string", - "description": "Friendly name given to the instance fleet." + "description": "Friendly name given to the instance fleet.", }, "InstanceFleetType": { "type": "string", "description": "The type of the instance fleet in the cluster.", "enum": ["MASTER", "CORE", "TASK"], - "required": True + "required": True, }, "TargetOnDemandCapacity": { "type": "integer", - "description": "Target on-demand capacity for the instance fleet." + "description": "Target on-demand capacity for the instance fleet.", }, "TargetSpotCapacity": { "type": "integer", - "description": "Target spot capacity for the instance fleet." + "description": "Target spot capacity for the instance fleet.", }, "InstanceTypeConfigs": { "type": "array", @@ -323,25 +354,30 @@ "InstanceType": { "type": "string", "description": "The Amazon EC2 instance type for the instance fleet.", - "required": True + "required": True, }, "WeightedCapacity": { "type": "integer", - "description": "The weight assigned to an instance type, which will impact the overall fulfillment of the capacity." + "description": "The weight assigned to an instance type, which will impact the overall fulfillment of the capacity.", }, "BidPrice": { "type": "string", "description": "Bid price for each Amazon EC2 instance in the " - "instance fleet when launching nodes as Spot Instances, " - "expressed in USD." + "instance fleet when launching nodes as Spot Instances, " + "expressed in USD.", }, "BidPriceAsPercentageOfOnDemandPrice": { "type": "double", - "description": "Bid price as percentage of on-demand price." + "description": "Bid price as percentage of on-demand price.", }, "CustomAmiId": { "type": "string", - "description": "The AMI ID of a custom AMI to use when Amazon EMR provisions EC2 instances." + "description": "The AMI ID of a custom AMI to use when Amazon EMR provisions EC2 instances.", + }, + "Priority": { + "type": "double", + "description": "The priority at which Amazon EMR launches the EC2 instances with this instance type. " + "Priority starts at 0, which is the highest priority. Amazon EMR considers the highest priority first.", }, "EbsConfiguration": { "type": "object", @@ -356,112 +392,83 @@ "items": { "type": "object", "properties": { - "VolumeSpecification" : { + "VolumeSpecification": { "type": "object", "description": "The EBS volume specification that is created " - "and attached to each instance in the instance group.", + "and attached to each instance in the instance group.", "properties": { "VolumeType": { "type": "string", "description": "The EBS volume type that is attached to all " - "the instances in the instance group. Valid types are: " - "gp2, io1, and standard.", - "required": True + "the instances in the instance group. Valid types are: " + "gp2, io1, and standard.", + "required": True, }, "SizeInGB": { "type": "integer", "description": "The EBS volume size, in GB, that is attached " - "to all the instances in the instance group.", - "required": True + "to all the instances in the instance group.", + "required": True, }, "Iops": { "type": "integer", "description": "The IOPS of the EBS volume that is attached to " - "all the instances in the instance group.", + "all the instances in the instance group.", }, "Throughput": { - "type": "integer", - "description": "The throughput of the EBS volume that is attached to " - "all the instances in the instance group.", - } - } + "type": "integer", + "description": "The throughput of the EBS volume that is attached to " + "all the instances in the instance group.", + }, + }, }, "VolumesPerInstance": { "type": "integer", "description": "The number of EBS volumes that will be created and " - "attached to each instance in the instance group.", - } - } - } - } - } + "attached to each instance in the instance group.", + }, + }, + }, + }, + }, }, - "Configurations": OUTER_CONFIGURATIONS_SCHEMA - } - } + "Configurations": OUTER_CONFIGURATIONS_SCHEMA, + }, + }, }, "LaunchSpecifications": { "type": "object", - "properties" : { + "properties": { "OnDemandSpecification": { "type": "object", "properties": { - "AllocationStrategy": { - "type": "string", - "description": "The strategy to use in launching On-Demand instance fleets.", - "enum": ["lowest-price"] - }, - "CapacityReservationOptions": { - "type": "object", - "properties" : { - "UsageStrategy": { - "type": "string", - "description": "The strategy of whether to use unused Capacity Reservations for fulfilling On-Demand capacity.", - "enum": ["use-capacity-reservations-first"] - }, - "CapacityReservationPreference": { - "type": "string", - "description": "The preference of the instance's Capacity Reservation.", - "enum": [ - "open", - "none" - ] - }, - "CapacityReservationResourceGroupArn": { - "type": "string", - "description": "The ARN of the Capacity Reservation resource group in which to run the instance." - } - } - } - } + "AllocationStrategy": ONDEMAND_ALLOCATION_STRATEGY_SCHEMA, + "CapacityReservationOptions": ONDEMAND_CAPACITY_RESERVATION_OPTIONS_SCHEMA, + }, }, "SpotSpecification": { "type": "object", "properties": { "TimeoutDurationMinutes": { "type": "integer", - "description": "The time, in minutes, after which the action specified in TimeoutAction field will be performed if requested resources are unavailable." + "description": "The time, in minutes, after which the action specified in TimeoutAction field will be performed if requested resources are unavailable.", }, "TimeoutAction": { "type": "string", "description": "The action that is performed after TimeoutDurationMinutes.", "enum": [ "TERMINATE_CLUSTER", - "SWITCH_TO_ONDEMAND" - ] + "SWITCH_TO_ONDEMAND", + ], }, "BlockDurationMinutes": { "type": "integer", - "description": "Block duration in minutes." + "description": "Block duration in minutes.", }, - "AllocationStrategy": { - "type": "string", - "description": "The strategy to use in launching Spot instance fleets.", - "enum": ["capacity-optimized", "price-capacity-optimized", "lowest-price", "diversified"] - } - } - } - } + "AllocationStrategy": SPOT_ALLOCATION_STRATEGY_SCHEMA, + }, + }, + }, }, "ResizeSpecifications": { "type": "object", @@ -470,24 +477,28 @@ "type": "object", "properties": { "TimeoutDurationMinutes": { - "type" : "integer", - "description": "The time, in minutes, after which the resize will be stopped if requested resources are unavailable." - } - } + "type": "integer", + "description": "The time, in minutes, after which the resize will be stopped if requested resources are unavailable.", + }, + "AllocationStrategy": SPOT_ALLOCATION_STRATEGY_SCHEMA, + }, }, "OnDemandResizeSpecification": { "type": "object", "properties": { "TimeoutDurationMinutes": { - "type" : "integer", - "description": "The time, in minutes, after which the resize will be stopped if requested resources are unavailable." - } - } - } - } - } - } - } + "type": "integer", + "description": "The time, in minutes, after which the resize will be stopped if requested resources are unavailable.", + }, + "AllocationStrategy": ONDEMAND_ALLOCATION_STRATEGY_SCHEMA, + "CapacityReservationOptions": ONDEMAND_CAPACITY_RESERVATION_OPTIONS_SCHEMA, + }, + }, + }, + }, + "Context": {"type": "string", "description": "Reserved."}, + }, + }, } EC2_ATTRIBUTES_SCHEMA = { @@ -495,75 +506,64 @@ "properties": { "KeyName": { "type": "string", - "description": - "The name of the Amazon EC2 key pair that can " - "be used to ssh to the master node as the user 'hadoop'." + "description": "The name of the Amazon EC2 key pair that can " + "be used to ssh to the master node as the user 'hadoop'.", }, "SubnetId": { "type": "string", - "description": - "To launch the cluster in Amazon " - "Virtual Private Cloud (Amazon VPC), set this parameter to " - "the identifier of the Amazon VPC subnet where you want " - "the cluster to launch. If you do not specify this value, " - "the cluster is launched in the normal Amazon Web Services " - "cloud, outside of an Amazon VPC. " + "description": "To launch the cluster in Amazon " + "Virtual Private Cloud (Amazon VPC), set this parameter to " + "the identifier of the Amazon VPC subnet where you want " + "the cluster to launch. If you do not specify this value, " + "the cluster is launched in the normal Amazon Web Services " + "cloud, outside of an Amazon VPC. ", }, "SubnetIds": { "type": "array", - "description": - "List of SubnetIds.", - "items": { - "type": "string" - } + "description": "List of SubnetIds.", + "items": {"type": "string"}, }, "AvailabilityZone": { "type": "string", - "description": "The Availability Zone the cluster will run in." + "description": "The Availability Zone the cluster will run in.", }, "AvailabilityZones": { "type": "array", "description": "List of AvailabilityZones.", - "items": { - "type": "string" - } + "items": {"type": "string"}, }, "InstanceProfile": { "type": "string", - "description": - "An IAM role for the cluster. The EC2 instances of the cluster" - " assume this role. The default role is " + - EC2_ROLE_NAME + ". In order to use the default" - " role, you must have already created it using the " - "create-default-roles command. " + "description": "An IAM role for the cluster. The EC2 instances of the cluster" + " assume this role. The default role is " + + EC2_ROLE_NAME + + ". In order to use the default" + " role, you must have already created it using the " + "create-default-roles command. ", }, "EmrManagedMasterSecurityGroup": { "type": "string", - "description": helptext.EMR_MANAGED_MASTER_SECURITY_GROUP + "description": helptext.EMR_MANAGED_MASTER_SECURITY_GROUP, }, "EmrManagedSlaveSecurityGroup": { "type": "string", - "description": helptext.EMR_MANAGED_SLAVE_SECURITY_GROUP + "description": helptext.EMR_MANAGED_SLAVE_SECURITY_GROUP, }, "ServiceAccessSecurityGroup": { "type": "string", - "description": helptext.SERVICE_ACCESS_SECURITY_GROUP + "description": helptext.SERVICE_ACCESS_SECURITY_GROUP, }, "AdditionalMasterSecurityGroups": { "type": "array", "description": helptext.ADDITIONAL_MASTER_SECURITY_GROUPS, - "items": { - "type": "string" - } + "items": {"type": "string"}, }, "AdditionalSlaveSecurityGroups": { "type": "array", "description": helptext.ADDITIONAL_SLAVE_SECURITY_GROUPS, - "items": { - "type": "string" - } - } - } + "items": {"type": "string"}, + }, + }, } @@ -575,20 +575,26 @@ "Name": { "type": "string", "description": "Application name.", - "enum": ["MapR", "HUE", "HIVE", "PIG", "HBASE", - "IMPALA", "GANGLIA", "HADOOP", "SPARK"], - "required": True + "enum": [ + "MapR", + "HUE", + "HIVE", + "PIG", + "HBASE", + "IMPALA", + "GANGLIA", + "HADOOP", + "SPARK", + ], + "required": True, }, "Args": { "type": "array", - "description": - "A list of arguments to pass to the application.", - "items": { - "type": "string" - } - } - } - } + "description": "A list of arguments to pass to the application.", + "items": {"type": "string"}, + }, + }, + }, } BOOTSTRAP_ACTIONS_SCHEMA = { @@ -596,29 +602,22 @@ "items": { "type": "object", "properties": { - "Name": { - "type": "string", - "default": "Bootstrap Action" - }, + "Name": {"type": "string", "default": "Bootstrap Action"}, "Path": { "type": "string", - "description": - "Location of the script to run during a bootstrap action. " - "Can be either a location in Amazon S3 or " - "on a local file system.", - "required": True + "description": "Location of the script to run during a bootstrap action. " + "Can be either a location in Amazon S3 or " + "on a local file system.", + "required": True, }, "Args": { "type": "array", - "description": - "A list of command line arguments to pass to " - "the bootstrap action script", - "items": { - "type": "string" - } - } - } - } + "description": "A list of command line arguments to pass to " + "the bootstrap action script", + "items": {"type": "string"}, + }, + }, + }, } @@ -629,8 +628,7 @@ "properties": { "Type": { "type": "string", - "description": - "The type of a step to be added to the cluster.", + "description": "The type of a step to be added to the cluster.", "default": "custom_jar", "enum": ["CUSTOM_JAR", "STREAMING", "HIVE", "PIG", "IMPALA"], }, @@ -642,7 +640,7 @@ "type": "string", "description": "The action to take if the cluster step fails.", "enum": ["TERMINATE_CLUSTER", "CANCEL_AND_WAIT", "CONTINUE"], - "default": "CONTINUE" + "default": "CONTINUE", }, "Jar": { "type": "string", @@ -650,42 +648,45 @@ }, "Args": { "type": "array", - "description": - "A list of command line arguments to pass to the step.", - "items": { - "type": "string" - } + "description": "A list of command line arguments to pass to the step.", + "items": {"type": "string"}, }, "MainClass": { "type": "string", - "description": - "The name of the main class in the specified " - "Java file. If not specified, the JAR file should " - "specify a Main-Class in its manifest file." + "description": "The name of the main class in the specified " + "Java file. If not specified, the JAR file should " + "specify a Main-Class in its manifest file.", }, "Properties": { "type": "string", - "description": - "A list of Java properties that are set when the step " - "runs. You can use these properties to pass key value " - "pairs to your main function." - } - } - } + "description": "A list of Java properties that are set when the step " + "runs. You can use these properties to pass key value " + "pairs to your main function.", + }, + "LogUri": { + "type": "string", + "description": "The Amazon S3 destination URI for log publishing. If " + "not specified, the cluster logging location is used.", + }, + "EncryptionKeyArn": { + "type": "string", + "description": "The KMS key ARN to encrypt the logs published to the " + "given Amazon S3 destination. If not specified, the " + "cluster KMS key is used.", + }, + }, + }, } HBASE_RESTORE_FROM_BACKUP_SCHEMA = { "type": "object", "properties": { - "Dir": { - "type": "string", - "description": helptext.HBASE_BACKUP_DIR - }, + "Dir": {"type": "string", "description": helptext.HBASE_BACKUP_DIR}, "BackupVersion": { "type": "string", - "description": helptext.HBASE_BACKUP_VERSION - } - } + "description": helptext.HBASE_BACKUP_VERSION, + }, + }, } EMR_FS_SCHEMA = { @@ -693,41 +694,38 @@ "properties": { "Consistent": { "type": "boolean", - "description": "Enable EMRFS consistent view." + "description": "Enable EMRFS consistent view.", }, "SSE": { "type": "boolean", "description": "Enable Amazon S3 server-side encryption on files " - "written to S3 by EMRFS." + "written to S3 by EMRFS.", }, "RetryCount": { "type": "integer", - "description": - "The maximum number of times to retry upon S3 inconsistency." + "description": "The maximum number of times to retry upon S3 inconsistency.", }, "RetryPeriod": { "type": "integer", "description": "The amount of time (in seconds) until the first " - "retry. Subsequent retries use an exponential " - "back-off." + "retry. Subsequent retries use an exponential " + "back-off.", }, "Args": { "type": "array", "description": "A list of arguments to pass for additional " - "EMRFS configuration.", - "items": { - "type": "string" - } + "EMRFS configuration.", + "items": {"type": "string"}, }, "Encryption": { "type": "string", "description": "EMRFS encryption type.", - "enum": ["SERVERSIDE", "CLIENTSIDE"] + "enum": ["SERVERSIDE", "CLIENTSIDE"], }, "ProviderType": { "type": "string", "description": "EMRFS client-side encryption provider type.", - "enum": ["KMS", "CUSTOM"] + "enum": ["KMS", "CUSTOM"], }, "KMSKeyId": { "type": "string", @@ -735,46 +733,41 @@ }, "CustomProviderLocation": { "type": "string", - "description": "Custom encryption provider JAR location." + "description": "Custom encryption provider JAR location.", }, "CustomProviderClass": { "type": "string", - "description": "Custom encryption provider full class name." - } - } + "description": "Custom encryption provider full class name.", + }, + }, } -TAGS_SCHEMA = { - "type": "array", - "items": { - "type": "string" - } -} +TAGS_SCHEMA = {"type": "array", "items": {"type": "string"}} KERBEROS_ATTRIBUTES_SCHEMA = { "type": "object", "properties": { "Realm": { "type": "string", - "description": "The name of Kerberos realm." + "description": "The name of Kerberos realm.", }, "KdcAdminPassword": { "type": "string", - "description": "The password of Kerberos administrator." + "description": "The password of Kerberos administrator.", }, "CrossRealmTrustPrincipalPassword": { "type": "string", - "description": "The password to establish cross-realm trusts." + "description": "The password to establish cross-realm trusts.", }, "ADDomainJoinUser": { "type": "string", - "description": "The name of the user with privileges to join instances to Active Directory." + "description": "The name of the user with privileges to join instances to Active Directory.", }, "ADDomainJoinPassword": { "type": "string", - "description": "The password of the user with privileges to join instances to Active Directory." - } - } + "description": "The password of the user with privileges to join instances to Active Directory.", + }, + }, } MANAGED_SCALING_POLICY_SCHEMA = { @@ -782,57 +775,66 @@ "properties": { "ComputeLimits": { "type": "object", - "description": - "The EC2 unit limits for a managed scaling policy. " - "The managed scaling activity of a cluster is not allowed to go above " - "or below these limits. The limits apply to CORE and TASK groups " - "and exclude the capacity of the MASTER group.", + "description": "The EC2 unit limits for a managed scaling policy. " + "The managed scaling activity of a cluster is not allowed to go above " + "or below these limits. The limits apply to CORE and TASK groups " + "and exclude the capacity of the MASTER group.", "properties": { - "MinimumCapacityUnits": { - "type": "integer", - "description": - "The lower boundary of EC2 units. It is measured through " - "VCPU cores or instances for instance groups and measured " - "through units for instance fleets. Managed scaling " - "activities are not allowed beyond this boundary.", - "required": True - }, - "MaximumCapacityUnits": { - "type": "integer", - "description": - "The upper boundary of EC2 units. It is measured through " - "VCPU cores or instances for instance groups and measured " - "through units for instance fleets. Managed scaling " - "activities are not allowed beyond this boundary.", - "required": True - }, - "MaximumOnDemandCapacityUnits": { - "type": "integer", - "description": - "The upper boundary of on-demand EC2 units. It is measured through " - "VCPU cores or instances for instance groups and measured " - "through units for instance fleets. The on-demand units are not " - "allowed to scale beyond this boundary. " - "This value must be lower than MaximumCapacityUnits." - }, - "UnitType": { - "type": "string", - "description": "The unit type used for specifying a managed scaling policy.", - "enum": ["VCPU", "Instances", "InstanceFleetUnits"], - "required": True - }, - "MaximumCoreCapacityUnits": { - "type": "integer", - "description": - "The upper boundary of EC2 units for core node type in a cluster. " - "It is measured through VCPU cores or instances for instance groups " - "and measured through units for instance fleets. " - "The core units are not allowed to scale beyond this boundary. " - "The parameter is used to split capacity allocation between core and task nodes." - } - } - } - } + "MinimumCapacityUnits": { + "type": "integer", + "description": "The lower boundary of EC2 units. It is measured through " + "VCPU cores or instances for instance groups and measured " + "through units for instance fleets. Managed scaling " + "activities are not allowed beyond this boundary.", + "required": True, + }, + "MaximumCapacityUnits": { + "type": "integer", + "description": "The upper boundary of EC2 units. It is measured through " + "VCPU cores or instances for instance groups and measured " + "through units for instance fleets. Managed scaling " + "activities are not allowed beyond this boundary.", + "required": True, + }, + "MaximumOnDemandCapacityUnits": { + "type": "integer", + "description": "The upper boundary of on-demand EC2 units. It is measured through " + "VCPU cores or instances for instance groups and measured " + "through units for instance fleets. The on-demand units are not " + "allowed to scale beyond this boundary. " + "This value must be lower than MaximumCapacityUnits.", + }, + "UnitType": { + "type": "string", + "description": "The unit type used for specifying a managed scaling policy.", + "enum": ["VCPU", "Instances", "InstanceFleetUnits"], + "required": True, + }, + "MaximumCoreCapacityUnits": { + "type": "integer", + "description": "The upper boundary of EC2 units for core node type in a cluster. " + "It is measured through VCPU cores or instances for instance groups " + "and measured through units for instance fleets. " + "The core units are not allowed to scale beyond this boundary. " + "The parameter is used to split capacity allocation between core and task nodes.", + }, + }, + }, + "ScalingStrategy": { + "type": "string", + "enum": ["DEFAULT", "ADVANCED"], + "description": "Determines whether a custom scaling utilization performance index can be set. " + "Possible values include ADVANCED or DEFAULT.", + }, + "UtilizationPerformanceIndex": { + "type": "integer", + "description": "An integer value that represents an advanced scaling strategy. " + "Setting a higher value optimizes for performance. " + "Setting a lower value optimizes for resource conservation. " + "Setting the value to 50 balances performance and resource conservation. " + "Possible values are 1, 25, 50, 75, and 100.", + }, + }, } PLACEMENT_GROUP_CONFIGS_SCHEMA = { @@ -844,26 +846,69 @@ "type": "string", "description": "Role of the instance in the cluster.", "enum": ["MASTER", "CORE", "TASK"], - "required": True + "required": True, }, "PlacementStrategy": { "type": "string", "description": "EC2 Placement Group strategy associated " - "with instance role.", - "enum": ["SPREAD", "PARTITION", "CLUSTER", "NONE"] - } - } - } + "with instance role.", + "enum": ["SPREAD", "PARTITION", "CLUSTER", "NONE"], + }, + }, + }, } AUTO_TERMINATION_POLICY_SCHEMA = { "type": "object", - "properties": { + "properties": { "IdleTimeout": { "type": "long", - "description": - "Specifies the amount of idle time in seconds after which the cluster automatically terminates. " - "You can specify a minimum of 60 seconds and a maximum of 604800 seconds (seven days).", + "description": "Specifies the amount of idle time in seconds after which the cluster automatically terminates. " + "You can specify a minimum of 60 seconds and a maximum of 604800 seconds (seven days).", + } + }, +} + +MONITORING_CONFIGURATION_SCHEMA = { + "type": "object", + "properties": { + "CloudWatchLogConfiguration": { + "type": "object", + "description": "CloudWatch log configuration settings and metadata that specify settings like log files to monitor and where to send them.", + "properties": { + "Enabled": { + "type": "boolean", + "description": "Specifies if CloudWatch logging is enabled.", + "required": True + }, + "LogGroupName": { + "type": "string", + "description": "The name of the CloudWatch log group where logs are published." + }, + "LogStreamNamePrefix": { + "type": "string", + "description": "The prefix of the log stream name." + }, + "EncryptionKeyArn": { + "type": "string", + "description": "The ARN of the encryption key used to encrypt the logs." + }, + "LogTypes": { + "type": "map", + "key": { + "type": "string", + "description": "Log type category" + }, + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "File names (STDOUT or STDERR) for the log type" + }, + "description": "A map of log types to file names for publishing logs to the standard output or standard error streams for CloudWatch. Valid log types include STEP_LOGS, SPARK_DRIVER, and SPARK_EXECUTOR. Valid file names for each type include STDOUT and STDERR." + } + } } } } diff --git a/awscli/customizations/emr/constants.py b/awscli/customizations/emr/constants.py index 25c18b46ec87..8d2bb51a6bbe 100644 --- a/awscli/customizations/emr/constants.py +++ b/awscli/customizations/emr/constants.py @@ -22,6 +22,7 @@ EMR_AUTOSCALING_ROLE_POLICY_NAME = "AmazonElasticMapReduceforAutoScalingRole" EMR_AUTOSCALING_SERVICE_NAME = "application-autoscaling" EMR_AUTOSCALING_SERVICE_PRINCIPAL = "application-autoscaling.amazonaws.com" +EC2_SERVICE_PRINCIPAL = "ec2.amazonaws.com" # Action on failure CONTINUE = 'CONTINUE' diff --git a/awscli/customizations/emr/createcluster.py b/awscli/customizations/emr/createcluster.py index b5a0924cc69a..88164bc122c2 100644 --- a/awscli/customizations/emr/createcluster.py +++ b/awscli/customizations/emr/createcluster.py @@ -12,136 +12,222 @@ # language governing permissions and limitations under the License. import re + +from botocore.compat import json + from awscli.customizations.commands import BasicCommand -from awscli.customizations.emr import applicationutils -from awscli.customizations.emr import argumentschema -from awscli.customizations.emr import constants -from awscli.customizations.emr import emrfsutils -from awscli.customizations.emr import emrutils -from awscli.customizations.emr import exceptions -from awscli.customizations.emr import hbaseutils -from awscli.customizations.emr import helptext -from awscli.customizations.emr import instancegroupsutils -from awscli.customizations.emr import instancefleetsutils -from awscli.customizations.emr import steputils +from awscli.customizations.emr import ( + applicationutils, + argumentschema, + constants, + emrfsutils, + emrutils, + exceptions, + hbaseutils, + helptext, + instancefleetsutils, + instancegroupsutils, + steputils, +) from awscli.customizations.emr.command import Command -from awscli.customizations.emr.constants import EC2_ROLE_NAME -from awscli.customizations.emr.constants import EMR_ROLE_NAME -from botocore.compat import json +from awscli.customizations.emr.constants import EC2_ROLE_NAME, EMR_ROLE_NAME class CreateCluster(Command): NAME = 'create-cluster' DESCRIPTION = helptext.CREATE_CLUSTER_DESCRIPTION ARG_TABLE = [ - {'name': 'release-label', - 'help_text': helptext.RELEASE_LABEL}, - {'name': 'os-release-label', - 'help_text': helptext.OS_RELEASE_LABEL}, - {'name': 'ami-version', - 'help_text': helptext.AMI_VERSION}, - {'name': 'instance-groups', - 'schema': argumentschema.INSTANCE_GROUPS_SCHEMA, - 'help_text': helptext.INSTANCE_GROUPS}, - {'name': 'instance-type', - 'help_text': helptext.INSTANCE_TYPE}, - {'name': 'instance-count', - 'help_text': helptext.INSTANCE_COUNT}, - {'name': 'auto-terminate', 'action': 'store_true', - 'group_name': 'auto_terminate', - 'help_text': helptext.AUTO_TERMINATE}, - {'name': 'no-auto-terminate', 'action': 'store_true', - 'group_name': 'auto_terminate'}, - {'name': 'instance-fleets', - 'schema': argumentschema.INSTANCE_FLEETS_SCHEMA, - 'help_text': helptext.INSTANCE_FLEETS}, - {'name': 'name', - 'default': 'Development Cluster', - 'help_text': helptext.CLUSTER_NAME}, - {'name': 'log-uri', - 'help_text': helptext.LOG_URI}, - {'name': 'log-encryption-kms-key-id', - 'help_text': helptext.LOG_ENCRYPTION_KMS_KEY_ID}, - {'name': 'service-role', - 'help_text': helptext.SERVICE_ROLE}, - {'name': 'auto-scaling-role', - 'help_text': helptext.AUTOSCALING_ROLE}, - {'name': 'use-default-roles', 'action': 'store_true', - 'help_text': helptext.USE_DEFAULT_ROLES}, - {'name': 'configurations', - 'help_text': helptext.CONFIGURATIONS}, - {'name': 'ec2-attributes', - 'help_text': helptext.EC2_ATTRIBUTES, - 'schema': argumentschema.EC2_ATTRIBUTES_SCHEMA}, - {'name': 'termination-protected', 'action': 'store_true', - 'group_name': 'termination_protected', - 'help_text': helptext.TERMINATION_PROTECTED}, - {'name': 'no-termination-protected', 'action': 'store_true', - 'group_name': 'termination_protected'}, - {'name': 'unhealthy-node-replacement', 'action': 'store_true', - 'group_name': 'unhealthy_node_replacement', - 'help_text': helptext.UNHEALTHY_NODE_REPLACEMENT}, - {'name': 'no-unhealthy-node-replacement', 'action': 'store_true', - 'group_name': 'unhealthy_node_replacement'}, - {'name': 'scale-down-behavior', - 'help_text': helptext.SCALE_DOWN_BEHAVIOR}, - {'name': 'visible-to-all-users', 'action': 'store_true', - 'group_name': 'visibility', - 'help_text': helptext.VISIBILITY}, - {'name': 'no-visible-to-all-users', 'action': 'store_true', - 'group_name': 'visibility'}, - {'name': 'enable-debugging', 'action': 'store_true', - 'group_name': 'debug', - 'help_text': helptext.DEBUGGING}, - {'name': 'no-enable-debugging', 'action': 'store_true', - 'group_name': 'debug'}, - {'name': 'tags', 'nargs': '+', - 'help_text': helptext.TAGS, - 'schema': argumentschema.TAGS_SCHEMA}, - {'name': 'bootstrap-actions', - 'help_text': helptext.BOOTSTRAP_ACTIONS, - 'schema': argumentschema.BOOTSTRAP_ACTIONS_SCHEMA}, - {'name': 'applications', - 'help_text': helptext.APPLICATIONS, - 'schema': argumentschema.APPLICATIONS_SCHEMA}, - {'name': 'emrfs', - 'help_text': helptext.EMR_FS, - 'schema': argumentschema.EMR_FS_SCHEMA}, - {'name': 'steps', - 'schema': argumentschema.STEPS_SCHEMA, - 'help_text': helptext.STEPS}, - {'name': 'additional-info', - 'help_text': helptext.ADDITIONAL_INFO}, - {'name': 'restore-from-hbase-backup', - 'schema': argumentschema.HBASE_RESTORE_FROM_BACKUP_SCHEMA, - 'help_text': helptext.RESTORE_FROM_HBASE}, - {'name': 'security-configuration', - 'help_text': helptext.SECURITY_CONFIG}, - {'name': 'custom-ami-id', - 'help_text' : helptext.CUSTOM_AMI_ID}, - {'name': 'ebs-root-volume-size', - 'help_text' : helptext.EBS_ROOT_VOLUME_SIZE}, - {'name': 'ebs-root-volume-iops', - 'help_text' : helptext.EBS_ROOT_VOLUME_IOPS}, - {'name': 'ebs-root-volume-throughput', - 'help_text' : helptext.EBS_ROOT_VOLUME_THROUGHPUT}, - {'name': 'repo-upgrade-on-boot', - 'help_text' : helptext.REPO_UPGRADE_ON_BOOT}, - {'name': 'kerberos-attributes', - 'schema': argumentschema.KERBEROS_ATTRIBUTES_SCHEMA, - 'help_text': helptext.KERBEROS_ATTRIBUTES}, - {'name': 'step-concurrency-level', - 'cli_type_name': 'integer', - 'help_text': helptext.STEP_CONCURRENCY_LEVEL}, - {'name': 'managed-scaling-policy', - 'schema': argumentschema.MANAGED_SCALING_POLICY_SCHEMA, - 'help_text': helptext.MANAGED_SCALING_POLICY}, - {'name': 'placement-group-configs', - 'schema': argumentschema.PLACEMENT_GROUP_CONFIGS_SCHEMA, - 'help_text': helptext.PLACEMENT_GROUP_CONFIGS}, - {'name': 'auto-termination-policy', - 'schema': argumentschema.AUTO_TERMINATION_POLICY_SCHEMA, - 'help_text': helptext.AUTO_TERMINATION_POLICY} + {'name': 'release-label', 'help_text': helptext.RELEASE_LABEL}, + {'name': 'os-release-label', 'help_text': helptext.OS_RELEASE_LABEL}, + {'name': 'ami-version', 'help_text': helptext.AMI_VERSION}, + { + 'name': 'instance-groups', + 'schema': argumentschema.INSTANCE_GROUPS_SCHEMA, + 'help_text': helptext.INSTANCE_GROUPS, + }, + {'name': 'instance-type', 'help_text': helptext.INSTANCE_TYPE}, + {'name': 'instance-count', 'help_text': helptext.INSTANCE_COUNT}, + { + 'name': 'auto-terminate', + 'action': 'store_true', + 'group_name': 'auto_terminate', + 'help_text': helptext.AUTO_TERMINATE, + }, + { + 'name': 'no-auto-terminate', + 'action': 'store_true', + 'group_name': 'auto_terminate', + }, + { + 'name': 'instance-fleets', + 'schema': argumentschema.INSTANCE_FLEETS_SCHEMA, + 'help_text': helptext.INSTANCE_FLEETS, + }, + { + 'name': 'name', + 'default': 'Development Cluster', + 'help_text': helptext.CLUSTER_NAME, + }, + {'name': 'log-uri', 'help_text': helptext.LOG_URI}, + { + 'name': 'log-encryption-kms-key-id', + 'help_text': helptext.LOG_ENCRYPTION_KMS_KEY_ID, + }, + {'name': 'service-role', 'help_text': helptext.SERVICE_ROLE}, + {'name': 'auto-scaling-role', 'help_text': helptext.AUTOSCALING_ROLE}, + { + 'name': 'use-default-roles', + 'action': 'store_true', + 'help_text': helptext.USE_DEFAULT_ROLES, + }, + {'name': 'configurations', 'help_text': helptext.CONFIGURATIONS}, + { + 'name': 'ec2-attributes', + 'help_text': helptext.EC2_ATTRIBUTES, + 'schema': argumentschema.EC2_ATTRIBUTES_SCHEMA, + }, + { + 'name': 'termination-protected', + 'action': 'store_true', + 'group_name': 'termination_protected', + 'help_text': helptext.TERMINATION_PROTECTED, + }, + { + 'name': 'no-termination-protected', + 'action': 'store_true', + 'group_name': 'termination_protected', + }, + { + 'name': 'unhealthy-node-replacement', + 'action': 'store_true', + 'group_name': 'unhealthy_node_replacement', + 'help_text': helptext.UNHEALTHY_NODE_REPLACEMENT, + }, + { + 'name': 'no-unhealthy-node-replacement', + 'action': 'store_true', + 'group_name': 'unhealthy_node_replacement', + }, + { + 'name': 'scale-down-behavior', + 'help_text': helptext.SCALE_DOWN_BEHAVIOR, + }, + { + 'name': 'visible-to-all-users', + 'action': 'store_true', + 'group_name': 'visibility', + 'help_text': helptext.VISIBILITY, + }, + { + 'name': 'no-visible-to-all-users', + 'action': 'store_true', + 'group_name': 'visibility', + }, + { + 'name': 'enable-debugging', + 'action': 'store_true', + 'group_name': 'debug', + 'help_text': helptext.DEBUGGING, + }, + { + 'name': 'no-enable-debugging', + 'action': 'store_true', + 'group_name': 'debug', + }, + { + 'name': 'tags', + 'nargs': '+', + 'help_text': helptext.TAGS, + 'schema': argumentschema.TAGS_SCHEMA, + }, + { + 'name': 'bootstrap-actions', + 'help_text': helptext.BOOTSTRAP_ACTIONS, + 'schema': argumentschema.BOOTSTRAP_ACTIONS_SCHEMA, + }, + { + 'name': 'applications', + 'help_text': helptext.APPLICATIONS, + 'schema': argumentschema.APPLICATIONS_SCHEMA, + }, + { + 'name': 'emrfs', + 'help_text': helptext.EMR_FS, + 'schema': argumentschema.EMR_FS_SCHEMA, + }, + { + 'name': 'steps', + 'schema': argumentschema.STEPS_SCHEMA, + 'help_text': helptext.STEPS, + }, + {'name': 'additional-info', 'help_text': helptext.ADDITIONAL_INFO}, + { + 'name': 'restore-from-hbase-backup', + 'schema': argumentschema.HBASE_RESTORE_FROM_BACKUP_SCHEMA, + 'help_text': helptext.RESTORE_FROM_HBASE, + }, + { + 'name': 'security-configuration', + 'help_text': helptext.SECURITY_CONFIG, + }, + {'name': 'custom-ami-id', 'help_text': helptext.CUSTOM_AMI_ID}, + { + 'name': 'ebs-root-volume-size', + 'help_text': helptext.EBS_ROOT_VOLUME_SIZE, + }, + { + 'name': 'ebs-root-volume-iops', + 'help_text': helptext.EBS_ROOT_VOLUME_IOPS, + }, + { + 'name': 'ebs-root-volume-throughput', + 'help_text': helptext.EBS_ROOT_VOLUME_THROUGHPUT, + }, + { + 'name': 'repo-upgrade-on-boot', + 'help_text': helptext.REPO_UPGRADE_ON_BOOT, + }, + { + 'name': 'kerberos-attributes', + 'schema': argumentschema.KERBEROS_ATTRIBUTES_SCHEMA, + 'help_text': helptext.KERBEROS_ATTRIBUTES, + }, + { + 'name': 'step-concurrency-level', + 'cli_type_name': 'integer', + 'help_text': helptext.STEP_CONCURRENCY_LEVEL, + }, + { + 'name': 'managed-scaling-policy', + 'schema': argumentschema.MANAGED_SCALING_POLICY_SCHEMA, + 'help_text': helptext.MANAGED_SCALING_POLICY, + }, + { + 'name': 'placement-group-configs', + 'schema': argumentschema.PLACEMENT_GROUP_CONFIGS_SCHEMA, + 'help_text': helptext.PLACEMENT_GROUP_CONFIGS, + }, + { + 'name': 'auto-termination-policy', + 'schema': argumentschema.AUTO_TERMINATION_POLICY_SCHEMA, + 'help_text': helptext.AUTO_TERMINATION_POLICY, + }, + { + 'name': 'monitoring-configuration', + 'schema': argumentschema.MONITORING_CONFIGURATION_SCHEMA, + 'help_text': helptext.MONITORING_CONFIGURATION, + }, + { + 'name': 'extended-support', + 'action': 'store_true', + 'group_name': 'extended-support', + 'help_text': helptext.EXTENDED_SUPPORT, + }, + { + 'name': 'no-extended-support', + 'action': 'store_true', + 'group_name': 'extended-support', + }, ] SYNOPSIS = BasicCommand.FROM_FILE('emr', 'create-cluster-synopsis.txt') EXAMPLES = BasicCommand.FROM_FILE('emr', 'create-cluster-examples.rst') @@ -154,69 +240,95 @@ def _run_main_command(self, parsed_args, parsed_globals): service_role_validation_message = ( " Either choose --use-default-roles or use both --service-role " - " and --ec2-attributes InstanceProfile=.") + " and --ec2-attributes InstanceProfile=." + ) - if parsed_args.use_default_roles is True and \ - parsed_args.service_role is not None: + if ( + parsed_args.use_default_roles is True + and parsed_args.service_role is not None + ): raise exceptions.MutualExclusiveOptionError( option1="--use-default-roles", option2="--service-role", - message=service_role_validation_message) + message=service_role_validation_message, + ) - if parsed_args.use_default_roles is True and \ - parsed_args.ec2_attributes is not None and \ - 'InstanceProfile' in parsed_args.ec2_attributes: + if ( + parsed_args.use_default_roles is True + and parsed_args.ec2_attributes is not None + and 'InstanceProfile' in parsed_args.ec2_attributes + ): raise exceptions.MutualExclusiveOptionError( option1="--use-default-roles", option2="--ec2-attributes InstanceProfile", - message=service_role_validation_message) + message=service_role_validation_message, + ) - if parsed_args.instance_groups is not None and \ - parsed_args.instance_fleets is not None: + if ( + parsed_args.instance_groups is not None + and parsed_args.instance_fleets is not None + ): raise exceptions.MutualExclusiveOptionError( - option1="--instance-groups", - option2="--instance-fleets") + option1="--instance-groups", option2="--instance-fleets" + ) instances_config = {} if parsed_args.instance_fleets is not None: - instances_config['InstanceFleets'] = \ + instances_config['InstanceFleets'] = ( instancefleetsutils.validate_and_build_instance_fleets( - parsed_args.instance_fleets) + parsed_args.instance_fleets + ) + ) else: - instances_config['InstanceGroups'] = \ + instances_config['InstanceGroups'] = ( instancegroupsutils.validate_and_build_instance_groups( instance_groups=parsed_args.instance_groups, instance_type=parsed_args.instance_type, - instance_count=parsed_args.instance_count) + instance_count=parsed_args.instance_count, + ) + ) if parsed_args.release_label is not None: params["ReleaseLabel"] = parsed_args.release_label if parsed_args.configurations is not None: try: params["Configurations"] = json.loads( - parsed_args.configurations) + parsed_args.configurations + ) except ValueError: - raise ValueError('aws: error: invalid json argument for ' - 'option --configurations') + raise ValueError( + 'aws: error: invalid json argument for ' + 'option --configurations' + ) - if (parsed_args.release_label is None and - parsed_args.ami_version is not None): - is_valid_ami_version = re.match('\d?\..*', parsed_args.ami_version) + if ( + parsed_args.release_label is None + and parsed_args.ami_version is not None + ): + is_valid_ami_version = re.match( + r'\d?\..*', parsed_args.ami_version + ) if is_valid_ami_version is None: raise exceptions.InvalidAmiVersionError( - ami_version=parsed_args.ami_version) + ami_version=parsed_args.ami_version + ) params['AmiVersion'] = parsed_args.ami_version emrutils.apply_dict( - params, 'AdditionalInfo', parsed_args.additional_info) + params, 'AdditionalInfo', parsed_args.additional_info + ) emrutils.apply_dict(params, 'LogUri', parsed_args.log_uri) if parsed_args.os_release_label is not None: - emrutils.apply_dict(params, 'OSReleaseLabel', - parsed_args.os_release_label) + emrutils.apply_dict( + params, 'OSReleaseLabel', parsed_args.os_release_label + ) if parsed_args.log_encryption_kms_key_id is not None: - emrutils.apply_dict(params, 'LogEncryptionKmsKeyId', - parsed_args.log_encryption_kms_key_id) + emrutils.apply_dict( + params, + 'LogEncryptionKmsKeyId', + parsed_args.log_encryption_kms_key_id, + ) if parsed_args.use_default_roles is True: parsed_args.service_role = EMR_ROLE_NAME @@ -232,61 +344,79 @@ def _run_main_command(self, parsed_args, parsed_globals): if parsed_args.auto_scaling_role is None: raise exceptions.MissingAutoScalingRoleError() - emrutils.apply_dict(params, 'AutoScalingRole', parsed_args.auto_scaling_role) + emrutils.apply_dict( + params, 'AutoScalingRole', parsed_args.auto_scaling_role + ) if parsed_args.scale_down_behavior is not None: - emrutils.apply_dict(params, 'ScaleDownBehavior', parsed_args.scale_down_behavior) + emrutils.apply_dict( + params, 'ScaleDownBehavior', parsed_args.scale_down_behavior + ) if ( - parsed_args.no_auto_terminate is False and - parsed_args.auto_terminate is False): + parsed_args.no_auto_terminate is False + and parsed_args.auto_terminate is False + ): parsed_args.no_auto_terminate = True - instances_config['KeepJobFlowAliveWhenNoSteps'] = \ + instances_config['KeepJobFlowAliveWhenNoSteps'] = ( emrutils.apply_boolean_options( parsed_args.no_auto_terminate, '--no-auto-terminate', parsed_args.auto_terminate, - '--auto-terminate') + '--auto-terminate', + ) + ) - instances_config['TerminationProtected'] = \ + instances_config['TerminationProtected'] = ( emrutils.apply_boolean_options( parsed_args.termination_protected, '--termination-protected', parsed_args.no_termination_protected, - '--no-termination-protected') - - if (parsed_args.unhealthy_node_replacement or parsed_args.no_unhealthy_node_replacement): - instances_config['UnhealthyNodeReplacement'] = \ - emrutils.apply_boolean_options( - parsed_args.unhealthy_node_replacement, - '--unhealthy-node-replacement', - parsed_args.no_unhealthy_node_replacement, - '--no-unhealthy-node-replacement') + '--no-termination-protected', + ) + ) + + if ( + parsed_args.unhealthy_node_replacement + or parsed_args.no_unhealthy_node_replacement + ): + instances_config['UnhealthyNodeReplacement'] = ( + emrutils.apply_boolean_options( + parsed_args.unhealthy_node_replacement, + '--unhealthy-node-replacement', + parsed_args.no_unhealthy_node_replacement, + '--no-unhealthy-node-replacement', + ) + ) - if (parsed_args.visible_to_all_users is False and - parsed_args.no_visible_to_all_users is False): + if ( + parsed_args.visible_to_all_users is False + and parsed_args.no_visible_to_all_users is False + ): parsed_args.visible_to_all_users = True - params['VisibleToAllUsers'] = \ - emrutils.apply_boolean_options( - parsed_args.visible_to_all_users, - '--visible-to-all-users', - parsed_args.no_visible_to_all_users, - '--no-visible-to-all-users') + params['VisibleToAllUsers'] = emrutils.apply_boolean_options( + parsed_args.visible_to_all_users, + '--visible-to-all-users', + parsed_args.no_visible_to_all_users, + '--no-visible-to-all-users', + ) params['Tags'] = emrutils.parse_tags(parsed_args.tags) params['Instances'] = instances_config if parsed_args.ec2_attributes is not None: self._build_ec2_attributes( - cluster=params, parsed_attrs=parsed_args.ec2_attributes) + cluster=params, parsed_attrs=parsed_args.ec2_attributes + ) debugging_enabled = emrutils.apply_boolean_options( parsed_args.enable_debugging, '--enable-debugging', parsed_args.no_enable_debugging, - '--no-enable-debugging') + '--no-enable-debugging', + ) if parsed_args.log_uri is None and debugging_enabled is True: raise exceptions.LogUriError @@ -296,21 +426,24 @@ def _run_main_command(self, parsed_args, parsed_globals): cluster=params, key='Steps', value=[ - self._build_enable_debugging(parsed_args, parsed_globals)]) + self._build_enable_debugging(parsed_args, parsed_globals) + ], + ) if parsed_args.applications is not None: if parsed_args.release_label is None: - app_list, ba_list, step_list = \ + app_list, ba_list, step_list = ( applicationutils.build_applications( region=self.region, parsed_applications=parsed_args.applications, - ami_version=params['AmiVersion']) + ami_version=params['AmiVersion'], + ) + ) self._update_cluster_dict( - params, 'NewSupportedProducts', app_list) - self._update_cluster_dict( - params, 'BootstrapActions', ba_list) - self._update_cluster_dict( - params, 'Steps', step_list) + params, 'NewSupportedProducts', app_list + ) + self._update_cluster_dict(params, 'BootstrapActions', ba_list) + self._update_cluster_dict(params, 'Steps', step_list) else: params["Applications"] = [] for application in parsed_args.applications: @@ -320,37 +453,45 @@ def _run_main_command(self, parsed_args, parsed_globals): if hbase_restore_config is not None: args = hbaseutils.build_hbase_restore_from_backup_args( dir=hbase_restore_config.get('Dir'), - backup_version=hbase_restore_config.get('BackupVersion')) + backup_version=hbase_restore_config.get('BackupVersion'), + ) step_config = emrutils.build_step( jar=constants.HBASE_JAR_PATH, name=constants.HBASE_RESTORE_STEP_NAME, action_on_failure=constants.CANCEL_AND_WAIT, - args=args) - self._update_cluster_dict( - params, 'Steps', [step_config]) + args=args, + ) + self._update_cluster_dict(params, 'Steps', [step_config]) if parsed_args.bootstrap_actions is not None: self._build_bootstrap_actions( cluster=params, - parsed_boostrap_actions=parsed_args.bootstrap_actions) + parsed_boostrap_actions=parsed_args.bootstrap_actions, + ) if parsed_args.emrfs is not None: self._handle_emrfs_parameters( cluster=params, emrfs_args=parsed_args.emrfs, - release_label=parsed_args.release_label) + release_label=parsed_args.release_label, + ) if parsed_args.steps is not None: steps_list = steputils.build_step_config_list( parsed_step_list=parsed_args.steps, region=self.region, - release_label=parsed_args.release_label) + release_label=parsed_args.release_label, + ) self._update_cluster_dict( - cluster=params, key='Steps', value=steps_list) + cluster=params, key='Steps', value=steps_list + ) if parsed_args.security_configuration is not None: emrutils.apply_dict( - params, 'SecurityConfiguration', parsed_args.security_configuration) + params, + 'SecurityConfiguration', + parsed_args.security_configuration, + ) if parsed_args.custom_ami_id is not None: emrutils.apply_dict( @@ -358,15 +499,21 @@ def _run_main_command(self, parsed_args, parsed_globals): ) if parsed_args.ebs_root_volume_size is not None: emrutils.apply_dict( - params, 'EbsRootVolumeSize', int(parsed_args.ebs_root_volume_size) + params, + 'EbsRootVolumeSize', + int(parsed_args.ebs_root_volume_size), ) if parsed_args.ebs_root_volume_iops is not None: emrutils.apply_dict( - params, 'EbsRootVolumeIops', int(parsed_args.ebs_root_volume_iops) + params, + 'EbsRootVolumeIops', + int(parsed_args.ebs_root_volume_iops), ) if parsed_args.ebs_root_volume_throughput is not None: emrutils.apply_dict( - params, 'EbsRootVolumeThroughput', int(parsed_args.ebs_root_volume_throughput) + params, + 'EbsRootVolumeThroughput', + int(parsed_args.ebs_root_volume_throughput), ) if parsed_args.repo_upgrade_on_boot is not None: @@ -376,34 +523,63 @@ def _run_main_command(self, parsed_args, parsed_globals): if parsed_args.kerberos_attributes is not None: emrutils.apply_dict( - params, 'KerberosAttributes', parsed_args.kerberos_attributes) + params, 'KerberosAttributes', parsed_args.kerberos_attributes + ) if parsed_args.step_concurrency_level is not None: params['StepConcurrencyLevel'] = parsed_args.step_concurrency_level + if parsed_args.extended_support or parsed_args.no_extended_support: + params['ExtendedSupport'] = emrutils.apply_boolean_options( + parsed_args.extended_support, + '--extended-support', + parsed_args.no_extended_support, + '--no-extended-support', + ) + if parsed_args.managed_scaling_policy is not None: emrutils.apply_dict( - params, 'ManagedScalingPolicy', parsed_args.managed_scaling_policy) + params, + 'ManagedScalingPolicy', + parsed_args.managed_scaling_policy, + ) if parsed_args.placement_group_configs is not None: emrutils.apply_dict( - params, 'PlacementGroupConfigs', - parsed_args.placement_group_configs) + params, + 'PlacementGroupConfigs', + parsed_args.placement_group_configs, + ) if parsed_args.auto_termination_policy is not None: emrutils.apply_dict( - params, 'AutoTerminationPolicy', - parsed_args.auto_termination_policy) + params, + 'AutoTerminationPolicy', + parsed_args.auto_termination_policy, + ) + + if parsed_args.monitoring_configuration is not None: + emrutils.apply_dict( + params, + 'MonitoringConfiguration', + parsed_args.monitoring_configuration, + ) self._validate_required_applications(parsed_args) run_job_flow_response = emrutils.call( - self._session, 'run_job_flow', params, self.region, - parsed_globals.endpoint_url, parsed_globals.verify_ssl) + self._session, + 'run_job_flow', + params, + self.region, + parsed_globals.endpoint_url, + parsed_globals.verify_ssl, + ) constructed_result = self._construct_result(run_job_flow_response) - emrutils.display_response(self._session, 'run_job_flow', - constructed_result, parsed_globals) + emrutils.display_response( + self._session, 'run_job_flow', constructed_result, parsed_globals + ) return 0 @@ -415,8 +591,7 @@ def _construct_result(self, run_job_flow_result): clusterArn = run_job_flow_result.get('ClusterArn') if jobFlowId is not None: - return {'ClusterId': jobFlowId, - 'ClusterArn': clusterArn } + return {'ClusterId': jobFlowId, 'ClusterArn': clusterArn} else: return {} @@ -424,83 +599,118 @@ def _build_ec2_attributes(self, cluster, parsed_attrs): keys = parsed_attrs.keys() instances = cluster['Instances'] - if ('SubnetId' in keys and 'SubnetIds' in keys): + if 'SubnetId' in keys and 'SubnetIds' in keys: raise exceptions.MutualExclusiveOptionError( - option1="SubnetId", - option2="SubnetIds") + option1="SubnetId", option2="SubnetIds" + ) - if ('AvailabilityZone' in keys and 'AvailabilityZones' in keys): + if 'AvailabilityZone' in keys and 'AvailabilityZones' in keys: raise exceptions.MutualExclusiveOptionError( - option1="AvailabilityZone", - option2="AvailabilityZones") + option1="AvailabilityZone", option2="AvailabilityZones" + ) - if ('SubnetId' in keys or 'SubnetIds' in keys) \ - and ('AvailabilityZone' in keys or 'AvailabilityZones' in keys): + if ('SubnetId' in keys or 'SubnetIds' in keys) and ( + 'AvailabilityZone' in keys or 'AvailabilityZones' in keys + ): raise exceptions.SubnetAndAzValidationError emrutils.apply_params( - src_params=parsed_attrs, src_key='KeyName', - dest_params=instances, dest_key='Ec2KeyName') + src_params=parsed_attrs, + src_key='KeyName', + dest_params=instances, + dest_key='Ec2KeyName', + ) emrutils.apply_params( - src_params=parsed_attrs, src_key='SubnetId', - dest_params=instances, dest_key='Ec2SubnetId') + src_params=parsed_attrs, + src_key='SubnetId', + dest_params=instances, + dest_key='Ec2SubnetId', + ) emrutils.apply_params( - src_params=parsed_attrs, src_key='SubnetIds', - dest_params=instances, dest_key='Ec2SubnetIds') + src_params=parsed_attrs, + src_key='SubnetIds', + dest_params=instances, + dest_key='Ec2SubnetIds', + ) if 'AvailabilityZone' in keys: instances['Placement'] = dict() emrutils.apply_params( - src_params=parsed_attrs, src_key='AvailabilityZone', + src_params=parsed_attrs, + src_key='AvailabilityZone', dest_params=instances['Placement'], - dest_key='AvailabilityZone') + dest_key='AvailabilityZone', + ) if 'AvailabilityZones' in keys: instances['Placement'] = dict() emrutils.apply_params( - src_params=parsed_attrs, src_key='AvailabilityZones', + src_params=parsed_attrs, + src_key='AvailabilityZones', dest_params=instances['Placement'], - dest_key='AvailabilityZones') + dest_key='AvailabilityZones', + ) emrutils.apply_params( - src_params=parsed_attrs, src_key='InstanceProfile', - dest_params=cluster, dest_key='JobFlowRole') + src_params=parsed_attrs, + src_key='InstanceProfile', + dest_params=cluster, + dest_key='JobFlowRole', + ) emrutils.apply_params( - src_params=parsed_attrs, src_key='EmrManagedMasterSecurityGroup', - dest_params=instances, dest_key='EmrManagedMasterSecurityGroup') + src_params=parsed_attrs, + src_key='EmrManagedMasterSecurityGroup', + dest_params=instances, + dest_key='EmrManagedMasterSecurityGroup', + ) emrutils.apply_params( - src_params=parsed_attrs, src_key='EmrManagedSlaveSecurityGroup', - dest_params=instances, dest_key='EmrManagedSlaveSecurityGroup') + src_params=parsed_attrs, + src_key='EmrManagedSlaveSecurityGroup', + dest_params=instances, + dest_key='EmrManagedSlaveSecurityGroup', + ) emrutils.apply_params( - src_params=parsed_attrs, src_key='ServiceAccessSecurityGroup', - dest_params=instances, dest_key='ServiceAccessSecurityGroup') + src_params=parsed_attrs, + src_key='ServiceAccessSecurityGroup', + dest_params=instances, + dest_key='ServiceAccessSecurityGroup', + ) emrutils.apply_params( - src_params=parsed_attrs, src_key='AdditionalMasterSecurityGroups', - dest_params=instances, dest_key='AdditionalMasterSecurityGroups') + src_params=parsed_attrs, + src_key='AdditionalMasterSecurityGroups', + dest_params=instances, + dest_key='AdditionalMasterSecurityGroups', + ) emrutils.apply_params( - src_params=parsed_attrs, src_key='AdditionalSlaveSecurityGroups', - dest_params=instances, dest_key='AdditionalSlaveSecurityGroups') + src_params=parsed_attrs, + src_key='AdditionalSlaveSecurityGroups', + dest_params=instances, + dest_key='AdditionalSlaveSecurityGroups', + ) emrutils.apply(params=cluster, key='Instances', value=instances) return cluster - def _build_bootstrap_actions( - self, cluster, parsed_boostrap_actions): + def _build_bootstrap_actions(self, cluster, parsed_boostrap_actions): cluster_ba_list = cluster.get('BootstrapActions') if cluster_ba_list is None: cluster_ba_list = [] bootstrap_actions = [] - if len(cluster_ba_list) + len(parsed_boostrap_actions) \ - > constants.MAX_BOOTSTRAP_ACTION_NUMBER: - raise ValueError('aws: error: maximum number of ' - 'bootstrap actions for a cluster exceeded.') + if ( + len(cluster_ba_list) + len(parsed_boostrap_actions) + > constants.MAX_BOOTSTRAP_ACTION_NUMBER + ): + raise ValueError( + 'aws: error: maximum number of ' + 'bootstrap actions for a cluster exceeded.' + ) for ba in parsed_boostrap_actions: ba_config = {} @@ -510,15 +720,22 @@ def _build_bootstrap_actions( ba_config['Name'] = constants.BOOTSTRAP_ACTION_NAME script_arg_config = {} emrutils.apply_params( - src_params=ba, src_key='Path', - dest_params=script_arg_config, dest_key='Path') + src_params=ba, + src_key='Path', + dest_params=script_arg_config, + dest_key='Path', + ) emrutils.apply_params( - src_params=ba, src_key='Args', - dest_params=script_arg_config, dest_key='Args') + src_params=ba, + src_key='Args', + dest_params=script_arg_config, + dest_key='Args', + ) emrutils.apply( params=ba_config, key='ScriptBootstrapAction', - value=script_arg_config) + value=script_arg_config, + ) bootstrap_actions.append(ba_config) result = cluster_ba_list + bootstrap_actions @@ -533,15 +750,18 @@ def _build_enable_debugging(self, parsed_args, parsed_globals): args = [constants.DEBUGGING_COMMAND] else: jar = emrutils.get_script_runner(self.region) - args = [emrutils.build_s3_link( - relative_path=constants.DEBUGGING_PATH, - region=self.region)] + args = [ + emrutils.build_s3_link( + relative_path=constants.DEBUGGING_PATH, region=self.region + ) + ] return emrutils.build_step( name=constants.DEBUGGING_NAME, action_on_failure=constants.TERMINATE_CLUSTER, jar=jar, - args=args) + args=args, + ) def _update_cluster_dict(self, cluster, key, value): if key in cluster: @@ -551,29 +771,34 @@ def _update_cluster_dict(self, cluster, key, value): return cluster def _validate_release_label_ami_version(self, parsed_args): - if parsed_args.ami_version is not None and \ - parsed_args.release_label is not None: + if ( + parsed_args.ami_version is not None + and parsed_args.release_label is not None + ): raise exceptions.MutualExclusiveOptionError( - option1="--ami-version", - option2="--release-label") + option1="--ami-version", option2="--release-label" + ) - if parsed_args.ami_version is None and \ - parsed_args.release_label is None: + if ( + parsed_args.ami_version is None + and parsed_args.release_label is None + ): raise exceptions.RequiredOptionsError( - option1="--ami-version", - option2="--release-label") + option1="--ami-version", option2="--release-label" + ) # Checks if the applications required by steps are specified # using the --applications option. def _validate_required_applications(self, parsed_args): - specified_apps = set([]) if parsed_args.applications is not None: - specified_apps = \ - set([app['Name'].lower() for app in parsed_args.applications]) + specified_apps = set( + [app['Name'].lower() for app in parsed_args.applications] + ) - missing_apps = self._get_missing_applications_for_steps(specified_apps, - parsed_args) + missing_apps = self._get_missing_applications_for_steps( + specified_apps, parsed_args + ) # Check for HBase. if parsed_args.restore_from_hbase_backup is not None: if constants.HBASE not in specified_apps: @@ -581,11 +806,13 @@ def _validate_required_applications(self, parsed_args): if missing_apps: raise exceptions.MissingApplicationsError( - applications=missing_apps) + applications=missing_apps + ) def _get_missing_applications_for_steps(self, specified_apps, parsed_args): - allowed_app_steps = set([constants.HIVE, constants.PIG, - constants.IMPALA]) + allowed_app_steps = set( + [constants.HIVE, constants.PIG, constants.IMPALA] + ) missing_apps = set() if parsed_args.steps is not None: for step in parsed_args.steps: @@ -595,38 +822,51 @@ def _get_missing_applications_for_steps(self, specified_apps, parsed_args): if step_type is not None: step_type = step_type.lower() - if step_type in allowed_app_steps and \ - step_type not in specified_apps: + if ( + step_type in allowed_app_steps + and step_type not in specified_apps + ): missing_apps.add(step['Type'].title()) return missing_apps - def _filter_configurations_in_special_cases(self, configurations, - parsed_args, parsed_configs): + def _filter_configurations_in_special_cases( + self, configurations, parsed_args, parsed_configs + ): if parsed_args.use_default_roles: - configurations = [x for x in configurations - if x.name != 'service_role' and - x.name != 'instance_profile'] + configurations = [ + x + for x in configurations + if x.name != 'service_role' and x.name != 'instance_profile' + ] return configurations def _handle_emrfs_parameters(self, cluster, emrfs_args, release_label): if release_label: self.validate_no_emrfs_configuration(cluster) emrfs_configuration = emrfsutils.build_emrfs_confiuration( - emrfs_args) + emrfs_args + ) self._update_cluster_dict( - cluster=cluster, key='Configurations', - value=[emrfs_configuration]) + cluster=cluster, + key='Configurations', + value=[emrfs_configuration], + ) else: emrfs_ba_config_list = emrfsutils.build_bootstrap_action_configs( - self.region, emrfs_args) + self.region, emrfs_args + ) self._update_cluster_dict( - cluster=cluster, key='BootstrapActions', - value=emrfs_ba_config_list) + cluster=cluster, + key='BootstrapActions', + value=emrfs_ba_config_list, + ) def validate_no_emrfs_configuration(self, cluster): if 'Configurations' in cluster: for config in cluster['Configurations']: - if config is not None and \ - config.get('Classification') == constants.EMRFS_SITE: + if ( + config is not None + and config.get('Classification') == constants.EMRFS_SITE + ): raise exceptions.DuplicateEmrFsConfigurationError diff --git a/awscli/customizations/emr/createdefaultroles.py b/awscli/customizations/emr/createdefaultroles.py index 164f97354575..11c7c0e0580a 100644 --- a/awscli/customizations/emr/createdefaultroles.py +++ b/awscli/customizations/emr/createdefaultroles.py @@ -24,6 +24,7 @@ from awscli.customizations.emr.command import Command from awscli.customizations.emr.constants import EC2 from awscli.customizations.emr.constants import EC2_ROLE_NAME +from awscli.customizations.emr.constants import EC2_SERVICE_PRINCIPAL from awscli.customizations.emr.constants import ROLE_ARN_PATTERN from awscli.customizations.emr.constants import EMR from awscli.customizations.emr.constants import EMR_ROLE_NAME @@ -64,6 +65,9 @@ def get_role_policy_arn(region, policy_name): def get_service_principal(service, endpoint_host, session=None): + if service == EC2: + return EC2_SERVICE_PRINCIPAL + suffix, region = _get_suffix_and_region_from_endpoint_host(endpoint_host) if session is None: session = botocore.session.Session() @@ -277,7 +281,7 @@ def _create_role_with_role_policy( service_principal.append(get_service_principal( service, self.emr_endpoint_url, self._session)) - LOG.debug(service_principal) + LOG.debug(f'Adding service principal(s) to trust policy: {service_principal}') parameters = {'RoleName': role_name} _assume_role_policy = \ diff --git a/awscli/customizations/emr/emrutils.py b/awscli/customizations/emr/emrutils.py index cb0397a641a2..cef79ad11262 100644 --- a/awscli/customizations/emr/emrutils.py +++ b/awscli/customizations/emr/emrutils.py @@ -15,12 +15,10 @@ import logging import os +from botocore.exceptions import NoCredentialsError from awscli.clidriver import CLIOperationCaller -from awscli.customizations.emr import constants -from awscli.customizations.emr import exceptions -from botocore.exceptions import WaiterError, NoCredentialsError -from botocore import xform_name +from awscli.customizations.emr import constants, exceptions LOG = logging.getLogger(__name__) @@ -56,11 +54,16 @@ def parse_key_value_string(key_value_string): def apply_boolean_options( - true_option, true_option_name, false_option, false_option_name): + true_option, true_option_name, false_option, false_option_name +): if true_option and false_option: - error_message = \ - 'aws: error: cannot use both ' + true_option_name + \ - ' and ' + false_option_name + ' options together.' + error_message = ( + 'aws: error: cannot use both ' + + true_option_name + + ' and ' + + false_option_name + + ' options together.' + ) raise ValueError(error_message) elif true_option: return True @@ -91,13 +94,16 @@ def apply_params(src_params, src_key, dest_params, dest_key): def build_step( - jar, name='Step', - action_on_failure=constants.DEFAULT_FAILURE_ACTION, - args=None, - main_class=None, - properties=None): - check_required_field( - structure='HadoopJarStep', name='Jar', value=jar) + jar, + name='Step', + action_on_failure=constants.DEFAULT_FAILURE_ACTION, + args=None, + main_class=None, + properties=None, + log_uri=None, + encryption_key_arn=None, +): + check_required_field(structure='HadoopJarStep', name='Jar', value=jar) step = {} apply_dict(step, 'Name', name) @@ -108,17 +114,26 @@ def build_step( apply_dict(jar_config, 'MainClass', main_class) apply_dict(jar_config, 'Properties', properties) step['HadoopJarStep'] = jar_config + step_monitoring_config = {} + s3_monitoring_configuration = {} + apply_dict(s3_monitoring_configuration, 'LogUri', log_uri) + apply_dict( + s3_monitoring_configuration, 'EncryptionKeyArn', encryption_key_arn + ) + if s3_monitoring_configuration: + step_monitoring_config['S3MonitoringConfiguration'] = ( + s3_monitoring_configuration + ) + step['StepMonitoringConfiguration'] = step_monitoring_config return step -def build_bootstrap_action( - path, - name='Bootstrap Action', - args=None): +def build_bootstrap_action(path, name='Bootstrap Action', args=None): if path is None: raise exceptions.MissingParametersError( - object_name='ScriptBootstrapActionConfig', missing='Path') + object_name='ScriptBootstrapActionConfig', missing='Path' + ) ba_config = {} apply_dict(ba_config, 'Name', name) script_config = {} @@ -132,20 +147,22 @@ def build_bootstrap_action( def build_s3_link(relative_path='', region='us-east-1'): if region is None: region = 'us-east-1' - return 's3://{0}.elasticmapreduce{1}'.format(region, relative_path) + return f's3://{region}.elasticmapreduce{relative_path}' def get_script_runner(region='us-east-1'): if region is None: region = 'us-east-1' return build_s3_link( - relative_path=constants.SCRIPT_RUNNER_PATH, region=region) + relative_path=constants.SCRIPT_RUNNER_PATH, region=region + ) def check_required_field(structure, name, value): if not value: raise exceptions.MissingParametersError( - object_name=structure, missing=name) + object_name=structure, missing=name + ) def check_empty_string_list(name, value): @@ -153,8 +170,14 @@ def check_empty_string_list(name, value): raise exceptions.EmptyListError(param=name) -def call(session, operation_name, parameters, region_name=None, - endpoint_url=None, verify=None): +def call( + session, + operation_name, + parameters, + region_name=None, + endpoint_url=None, + verify=None, +): # We could get an error from get_endpoint() about not having # a region configured. Before this happens we want to check # for credentials so we can give a good error message. @@ -162,8 +185,11 @@ def call(session, operation_name, parameters, region_name=None, raise NoCredentialsError() client = session.create_client( - 'emr', region_name=region_name, endpoint_url=endpoint_url, - verify=verify) + 'emr', + region_name=region_name, + endpoint_url=endpoint_url, + verify=verify, + ) LOG.debug('Calling ' + str(operation_name)) return getattr(client, operation_name)(**parameters) @@ -181,7 +207,8 @@ def get_client(session, parsed_globals): 'emr', region_name=get_region(session, parsed_globals), endpoint_url=parsed_globals.endpoint_url, - verify=parsed_globals.verify_ssl) + verify=parsed_globals.verify_ssl, + ) def get_cluster_state(session, parsed_globals, cluster_id): @@ -209,12 +236,13 @@ def which(program): return None -def call_and_display_response(session, operation_name, parameters, - parsed_globals): +def call_and_display_response( + session, operation_name, parameters, parsed_globals +): cli_operation_caller = CLIOperationCaller(session) cli_operation_caller.invoke( - 'emr', operation_name, - parameters, parsed_globals) + 'emr', operation_name, parameters, parsed_globals + ) def display_response(session, operation_name, result, parsed_globals): @@ -222,7 +250,8 @@ def display_response(session, operation_name, result, parsed_globals): # Calling a private method. Should be changed after the functionality # is moved outside CliOperationCaller. cli_operation_caller._display_response( - operation_name, result, parsed_globals) + operation_name, result, parsed_globals + ) def get_region(session, parsed_globals): @@ -244,8 +273,9 @@ def join(values, separator=',', lastSeparator='and'): return values[0] else: separator = '%s ' % separator - return ' '.join([separator.join(values[:-1]), - lastSeparator, values[-1]]) + return ' '.join( + [separator.join(values[:-1]), lastSeparator, values[-1]] + ) def split_to_key_value(string): @@ -255,21 +285,24 @@ def split_to_key_value(string): return string.split('=', 1) -def get_cluster(cluster_id, session, region, - endpoint_url, verify_ssl): - describe_cluster_params = {'ClusterId': cluster_id} - describe_cluster_response = call( - session, 'describe_cluster', describe_cluster_params, - region, endpoint_url, - verify_ssl) +def get_cluster(cluster_id, session, region, endpoint_url, verify_ssl): + describe_cluster_params = {'ClusterId': cluster_id} + describe_cluster_response = call( + session, + 'describe_cluster', + describe_cluster_params, + region, + endpoint_url, + verify_ssl, + ) - if describe_cluster_response is not None: - return describe_cluster_response.get('Cluster') + if describe_cluster_response is not None: + return describe_cluster_response.get('Cluster') -def get_release_label(cluster_id, session, region, - endpoint_url, verify_ssl): - cluster = get_cluster(cluster_id, session, region, - endpoint_url, verify_ssl) - if cluster is not None: - return cluster.get('ReleaseLabel') +def get_release_label(cluster_id, session, region, endpoint_url, verify_ssl): + cluster = get_cluster( + cluster_id, session, region, endpoint_url, verify_ssl + ) + if cluster is not None: + return cluster.get('ReleaseLabel') diff --git a/awscli/customizations/emr/exceptions.py b/awscli/customizations/emr/exceptions.py index 9aba3d053331..070ebcf9eeab 100644 --- a/awscli/customizations/emr/exceptions.py +++ b/awscli/customizations/emr/exceptions.py @@ -50,7 +50,7 @@ class EmptyListError(EmrError): :ivar param: The provided list parameter """ - fmt = ('aws: error: The prameter {param} cannot be an empty list.') + fmt = ('aws: error: The parameter {param} cannot be an empty list.') class MissingRequiredInstanceGroupsError(EmrError): diff --git a/awscli/customizations/emr/helptext.py b/awscli/customizations/emr/helptext.py index cf8f587bfa7a..f58235c2162c 100755 --- a/awscli/customizations/emr/helptext.py +++ b/awscli/customizations/emr/helptext.py @@ -11,8 +11,6 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -from awscli.customizations.emr.createdefaultroles import EMR_ROLE_NAME -from awscli.customizations.emr.createdefaultroles import EC2_ROLE_NAME TERMINATE_CLUSTERS = ( 'Shuts down one or more clusters, each specified by cluster ID. ' @@ -27,28 +25,33 @@ 'The command is asynchronous. Depending on the ' 'configuration of the cluster, it may take from 5 to 20 minutes for the ' 'cluster to terminate completely and release allocated resources such as ' - 'Amazon EC2 instances.') + 'Amazon EC2 instances.' +) CLUSTER_ID = ( '

A unique string that identifies a cluster. The ' 'create-cluster command returns this identifier. You can ' - 'use the list-clusters command to get cluster IDs.

') + 'use the list-clusters command to get cluster IDs.

' +) HBASE_BACKUP_DIR = ( '

The Amazon S3 location of the Hbase backup. Example: ' 's3://mybucket/mybackup, where mybucket is the ' 'specified Amazon S3 bucket and mybackup is the specified backup ' 'location. The path argument must begin with s3://, which ' - 'refers to an Amazon S3 bucket.

') + 'refers to an Amazon S3 bucket.

' +) HBASE_BACKUP_VERSION = ( '

The backup version to restore from. If not specified, the latest backup ' - 'in the specified location is used.

') + 'in the specified location is used.

' +) # create-cluster options help text CREATE_CLUSTER_DESCRIPTION = ( - 'Creates an Amazon EMR cluster with the specified configurations.') + 'Creates an Amazon EMR cluster with the specified configurations.' +) DESCRIBE_CLUSTER_DESCRIPTION = ( 'Provides cluster-level details including status, hardware ' @@ -58,22 +61,24 @@ 'elasticmapreduce:ListBootstrapActions, ' 'elasticmapreduce:ListInstanceFleets, ' 'elasticmapreduce:DescribeCluster, ' - 'and elasticmapreduce:ListInstanceGroups.') + 'and elasticmapreduce:ListInstanceGroups.' +) -CLUSTER_NAME = ( - '

The name of the cluster. If not provided, the default is "Development Cluster".

') +CLUSTER_NAME = '

The name of the cluster. If not provided, the default is "Development Cluster".

' LOG_URI = ( '

Specifies the location in Amazon S3 to which log files ' 'are periodically written. If a value is not provided, ' 'logs files are not written to Amazon S3 from the master node ' - 'and are lost if the master node terminates.

') + 'and are lost if the master node terminates.

' +) LOG_ENCRYPTION_KMS_KEY_ID = ( '

Specifies the KMS Id utilized for log encryption. If a value is ' 'not provided, log files will be encrypted by default encryption method ' 'AES-256. This attribute is only available with EMR version 5.30.0 and later, ' - 'excluding EMR 6.0.0.

') + 'excluding EMR 6.0.0.

' +) SERVICE_ROLE = ( '

Specifies an IAM service role, which Amazon EMR requires to call other AWS services ' @@ -82,28 +87,32 @@ 'To specify the default service role, as well as the default instance ' 'profile, use the --use-default-roles parameter. ' 'If the role and instance profile do not already exist, use the ' - 'aws emr create-default-roles command to create them.

') + 'aws emr create-default-roles command to create them.

' +) AUTOSCALING_ROLE = ( '

Specify --auto-scaling-role EMR_AutoScaling_DefaultRole' ' if an automatic scaling policy is specified for an instance group' ' using the --instance-groups parameter. This default' ' IAM role allows the automatic scaling feature' - ' to launch and terminate Amazon EC2 instances during scaling operations.

') + ' to launch and terminate Amazon EC2 instances during scaling operations.

' +) USE_DEFAULT_ROLES = ( '

Specifies that the cluster should use the default' ' service role (EMR_DefaultRole) and instance profile (EMR_EC2_DefaultRole)' ' for permissions to access other AWS services.

' '

Make sure that the role and instance profile exist first. To create them,' - ' use the create-default-roles command.

') + ' use the create-default-roles command.

' +) AMI_VERSION = ( '

Applies only to Amazon EMR release versions earlier than 4.0. Use' ' --release-label for 4.0 and later. Specifies' ' the version of Amazon Linux Amazon Machine Image (AMI)' ' to use when launching Amazon EC2 instances in the cluster.' - ' For example, --ami-version 3.1.0.') + ' For example, --ami-version 3.1.0.' +) RELEASE_LABEL = ( '

Specifies the Amazon EMR release version, which determines' @@ -115,12 +124,14 @@ '

https://docs.aws.amazon.com/emr/latest/ReleaseGuide

' '

Use --release-label only for Amazon EMR release version 4.0' ' and later. Use --ami-version for earlier versions.' - ' You cannot specify both a release label and AMI version.

') + ' You cannot specify both a release label and AMI version.

' +) OS_RELEASE_LABEL = ( '

Specifies a particular Amazon Linux release for all nodes in a cluster' - ' launch request. If a release is not specified, EMR uses the latest validated' - ' Amazon Linux release for cluster launch.

') + ' launch request. If a release is not specified, EMR uses the latest validated' + ' Amazon Linux release for cluster launch.

' +) CONFIGURATIONS = ( '

Specifies a JSON file that contains configuration classifications,' @@ -134,7 +145,8 @@ ' file for an application, such as yarn-site for YARN. For a list of' ' available configuration classifications and example JSON, see' ' the following topic in the Amazon EMR Release Guide:

' - '

https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html

') + '

https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html

' +) INSTANCE_GROUPS = ( '

Specifies the number and type of Amazon EC2 instances' @@ -163,7 +175,8 @@ '

  • [EbsConfiguration] - Specifies additional Amazon EBS storage volumes attached' ' to EC2 instances using an inline JSON structure.
  • ' '
  • [AutoScalingPolicy] - Specifies an automatic scaling policy for the' - ' instance group using an inline JSON structure.
  • ') + ' instance group using an inline JSON structure.' +) INSTANCE_FLEETS = ( '

    Applies only to Amazon EMR release version 5.0 and later. Specifies' @@ -195,7 +208,8 @@ '

  • InstanceTypeConfigs - Specify up to five EC2 instance types to' ' use in the instance fleet, including details such as Spot price and Amazon EBS configuration.' ' When you use an On-Demand or Spot Instance allocation strategy,' - ' you can specify up to 30 instance types per instance fleet.
  • ') + ' you can specify up to 30 instance types per instance fleet.' +) INSTANCE_TYPE = ( '

    Shortcut parameter as an alternative to --instance-groups.' @@ -204,18 +218,21 @@ ' the cluster consists of a single master node running on the EC2 instance type' ' specified. When used together with --instance-count,' ' one instance is used for the master node, and the remainder' - ' are used for the core node type.

    ') + ' are used for the core node type.

    ' +) INSTANCE_COUNT = ( '

    Shortcut parameter as an alternative to --instance-groups' ' when used together with --instance-type. Specifies the' ' number of Amazon EC2 instances to create for a cluster.' ' One instance is used for the master node, and the remainder' - ' are used for the core node type.

    ') + ' are used for the core node type.

    ' +) ADDITIONAL_INFO = ( '

    Specifies additional information during cluster creation. To set development mode when starting your EMR cluster,' - ' set this parameter to {"clusterType":"development"}.

    ') + ' set this parameter to {"clusterType":"development"}.

    ' +) EC2_ATTRIBUTES = ( '

    Configures cluster and Amazon EC2 instance configurations. Accepts' @@ -227,10 +244,10 @@ ' For example, us-west-1b. AvailabilityZone is used for uniform instance groups,' ' while AvailabilityZones (plural) is used for instance fleets.' '

  • AvailabilityZones - Applies to clusters that use the instance fleet configuration.' - ' When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances' + ' When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances' ' in the optimal Availability Zone. AvailabilityZone is used for uniform instance groups,' ' while AvailabilityZones (plural) is used for instance fleets.
  • ' - '
  • SubnetId - Applies to clusters that use the uniform instance group configuration.' + '
  • SubnetId - Applies to clusters that use the uniform instance group configuration.' ' Specify the VPC subnet in which to create the cluster. SubnetId is used for uniform instance groups,' ' while SubnetIds (plural) is used for instance fleets.
  • ' '
  • SubnetIds - Applies to clusters that use the instance fleet configuration.' @@ -249,16 +266,19 @@ '
  • AdditionalMasterSecurityGroups - A list of additional Amazon EC2' ' security group IDs for the master node.
  • ' '
  • AdditionalSlaveSecurityGroups - A list of additional Amazon EC2' - ' security group IDs for the slave nodes.
  • ') + ' security group IDs for the slave nodes.' +) AUTO_TERMINATE = ( '

    Specifies whether the cluster should terminate after' - ' completing all the steps. Auto termination is off by default.

    ') + ' completing all the steps. Auto termination is off by default.

    ' +) TERMINATION_PROTECTED = ( '

    Specifies whether to lock the cluster to prevent the' ' Amazon EC2 instances from being terminated by API call,' - ' user intervention, or an error.

    ') + ' user intervention, or an error.

    ' +) SCALE_DOWN_BEHAVIOR = ( '

    Specifies the way that individual Amazon EC2 instances terminate' @@ -276,7 +296,8 @@ ' of the AWS account associated with the cluster. If a user' ' has the proper policy permissions set, they can also manage the cluster.

    ' '

    Visibility is on by default. The --no-visible-to-all-users option' - ' is no longer supported. To restrict cluster visibility, use an IAM policy.

    ') + ' is no longer supported. To restrict cluster visibility, use an IAM policy.

    ' +) DEBUGGING = ( '

    Specifies that the debugging tool is enabled for the cluster,' @@ -284,7 +305,8 @@ ' Turning debugging on requires that you specify --log-uri' ' because log files must be stored in Amazon S3 so that' ' Amazon EMR can index them for viewing in the console.' - ' Effective January 23, 2023, Amazon EMR will discontinue the debugging tool for all versions.

    ') + ' Effective January 23, 2023, Amazon EMR will discontinue the debugging tool for all versions.

    ' +) TAGS = ( '

    A list of tags to associate with a cluster, which apply to' @@ -294,7 +316,8 @@ ' with a maximum of 256 characters.

    ' '

    You can specify tags in key=value format or you can add a' ' tag without a value using only the key name, for example key.' - ' Use a space to separate multiple tags.

    ') + ' Use a space to separate multiple tags.

    ' +) BOOTSTRAP_ACTIONS = ( '

    Specifies a list of bootstrap actions to run on each EC2 instance when' @@ -317,7 +340,8 @@ ' to pass to the bootstrap action script. Arguments can be' ' either a list of values (Args=arg1,arg2,arg3)' ' or a list of key-value pairs, as well as optional values,' - ' enclosed in square brackets (Args=[arg1,arg2=arg2value,arg3]).') + ' enclosed in square brackets (Args=[arg1,arg2=arg2value,arg3]).' +) APPLICATIONS = ( '

    Specifies the applications to install on the cluster.' @@ -329,7 +353,8 @@ ' some applications take optional arguments for configuration.' ' Arguments should either be a comma-separated list of values' ' (Args=arg1,arg2,arg3) or a bracket-enclosed list of values' - ' and key-value pairs (Args=[arg1,arg2=arg3,arg4]).

    ') + ' and key-value pairs (Args=[arg1,arg2=arg3,arg4]).

    ' +) EMR_FS = ( '

    Specifies EMRFS configuration options, such as consistent view' @@ -340,13 +365,15 @@ ' to configure EMRFS, and use security configurations' ' to configure encryption for EMRFS data in Amazon S3 instead.' ' For more information, see the following topic in the Amazon EMR Management Guide:

    ' - '

    https://docs.aws.amazon.com/emr/latest/ManagementGuide/emrfs-configure-consistent-view.html

    ') + '

    https://docs.aws.amazon.com/emr/latest/ManagementGuide/emrfs-configure-consistent-view.html

    ' +) RESTORE_FROM_HBASE = ( '

    Applies only when using Amazon EMR release versions earlier than 4.0.' ' Launches a new HBase cluster and populates it with' ' data from a previous backup of an HBase cluster. HBase' - ' must be installed using the --applications option.

    ') + ' must be installed using the --applications option.

    ' +) STEPS = ( '

    Specifies a list of steps to be executed by the cluster. Steps run' @@ -356,27 +383,32 @@ ' or by specifying an inline JSON structure. Args supplied with steps' ' should be a comma-separated list of values (Args=arg1,arg2,arg3) or' ' a bracket-enclosed list of values and key-value' - ' pairs (Args=[arg1,arg2=value,arg4).

    ') + ' pairs (Args=[arg1,arg2=value,arg4).

    ' +) INSTALL_APPLICATIONS = ( '

    The applications to be installed.' ' Takes the following parameters: ' - 'Name and Args.

    ') + 'Name and Args.

    ' +) EBS_ROOT_VOLUME_SIZE = ( '

    This option is available only with Amazon EMR version 4.x and later. Specifies the size,' ' in GiB, of the EBS root device volume of the Amazon Linux AMI' - ' that is used for each EC2 instance in the cluster.

    ') + ' that is used for each EC2 instance in the cluster.

    ' +) EBS_ROOT_VOLUME_IOPS = ( '

    This option is available only with Amazon EMR version 6.15.0 and later. Specifies the IOPS,' ' of the EBS root device volume of the Amazon Linux AMI' - ' that is used for each EC2 instance in the cluster.

    ') + ' that is used for each EC2 instance in the cluster.

    ' +) EBS_ROOT_VOLUME_THROUGHPUT = ( '

    This option is available only with Amazon EMR version 6.15.0 and later. Specifies the throughput,' ' in MiB/s, of the EBS root device volume of the Amazon Linux AMI' - ' that is used for each EC2 instance in the cluster.

    ') + ' that is used for each EC2 instance in the cluster.

    ' +) SECURITY_CONFIG = ( @@ -386,7 +418,8 @@ ' the following topic in the Amazon EMR Management Guide:

    ' '

    https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-encryption-enable-security-configuration.html

    ' '

    Use list-security-configurations to get a list of available' - ' security configurations in the active account.

    ') + ' security configurations in the active account.

    ' +) CUSTOM_AMI_ID = ( '

    Applies only to Amazon EMR release version 5.7.0 and later.' @@ -396,7 +429,8 @@ ' can also be used instead of bootstrap actions to customize' ' cluster node configurations. For more information, see' ' the following topic in the Amazon EMR Management Guide:

    ' - '

    https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html

    ') + '

    https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html

    ' +) REPO_UPGRADE_ON_BOOT = ( '

    Applies only when a --custom-ami-id is' @@ -405,24 +439,26 @@ ' before other services start. You can set this parameter' ' using --rep-upgrade-on-boot NONE to' ' disable these updates. CAUTION: This creates additional' - ' security risks.

    ') + ' security risks.

    ' +) KERBEROS_ATTRIBUTES = ( - '

    Specifies required cluster attributes for Kerberos when Kerberos authentication' - ' is enabled in the specified --security-configuration.' - ' Takes the following arguments:

    ' - '
  • Realm - Specifies the name of the Kerberos' - ' realm to which all nodes in a cluster belong. For example,' - ' Realm=EC2.INTERNAL.
  • ' - '
  • KdcAdminPassword - Specifies the password used within the cluster' - ' for the kadmin service, which maintains Kerberos principals, password' - ' policies, and keytabs for the cluster.
  • ' - '
  • CrossRealmTrustPrincipalPassword - Required when establishing a cross-realm trust' - ' with a KDC in a different realm. This is the cross-realm principal password,' - ' which must be identical across realms.
  • ' - '
  • ADDomainJoinUser - Required when establishing trust with an Active Directory' - ' domain. This is the User logon name of an AD account with sufficient privileges to join resources to the domain.
  • ' - '
  • ADDomainJoinPassword - The AD password for ADDomainJoinUser.
  • ') + '

    Specifies required cluster attributes for Kerberos when Kerberos authentication' + ' is enabled in the specified --security-configuration.' + ' Takes the following arguments:

    ' + '
  • Realm - Specifies the name of the Kerberos' + ' realm to which all nodes in a cluster belong. For example,' + ' Realm=EC2.INTERNAL.
  • ' + '
  • KdcAdminPassword - Specifies the password used within the cluster' + ' for the kadmin service, which maintains Kerberos principals, password' + ' policies, and keytabs for the cluster.
  • ' + '
  • CrossRealmTrustPrincipalPassword - Required when establishing a cross-realm trust' + ' with a KDC in a different realm. This is the cross-realm principal password,' + ' which must be identical across realms.
  • ' + '
  • ADDomainJoinUser - Required when establishing trust with an Active Directory' + ' domain. This is the User logon name of an AD account with sufficient privileges to join resources to the domain.
  • ' + '
  • ADDomainJoinPassword - The AD password for ADDomainJoinUser.
  • ' +) # end create-cluster options help descriptions @@ -437,7 +473,8 @@ '
  • WAITING
  • ' '
  • TERMINATING
  • ' '
  • TERMINATED
  • ' - '
  • TERMINATED_WITH_ERRORS
  • ') + '
  • TERMINATED_WITH_ERRORS
  • ' +) LIST_CLUSTERS_STATE_FILTERS = ( '

    Shortcut options for --cluster-states. The' @@ -446,41 +483,50 @@ ' are STARTING,BOOTSTRAPPING,' ' RUNNING, WAITING, or TERMINATING. ' '

  • --terminated - list only clusters that are TERMINATED.
  • ' - '
  • --failed - list only clusters that are TERMINATED_WITH_ERRORS.
  • ') + '
  • --failed - list only clusters that are TERMINATED_WITH_ERRORS.
  • ' +) LIST_CLUSTERS_CREATED_AFTER = ( '

    List only those clusters created after the date and time' ' specified in the format yyyy-mm-ddThh:mm:ss. For example,' - ' --created-after 2017-07-04T00:01:30.

    ') + ' --created-after 2017-07-04T00:01:30.

    ' +) LIST_CLUSTERS_CREATED_BEFORE = ( '

    List only those clusters created before the date and time' ' specified in the format yyyy-mm-ddThh:mm:ss. For example,' - ' --created-before 2017-07-04T00:01:30.

    ') + ' --created-before 2017-07-04T00:01:30.

    ' +) EMR_MANAGED_MASTER_SECURITY_GROUP = ( '

    The identifier of the Amazon EC2 security group ' - 'for the master node.

    ') + 'for the master node.

    ' +) EMR_MANAGED_SLAVE_SECURITY_GROUP = ( '

    The identifier of the Amazon EC2 security group ' - 'for the slave nodes.

    ') + 'for the slave nodes.

    ' +) SERVICE_ACCESS_SECURITY_GROUP = ( '

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

    ') + 'for Amazon EMR to access clusters in VPC private subnets.

    ' +) ADDITIONAL_MASTER_SECURITY_GROUPS = ( '

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

    ') + 'the master node

    ' +) ADDITIONAL_SLAVE_SECURITY_GROUPS = ( '

    A list of additional Amazon EC2 security group IDs for ' - 'the slave nodes.

    ') + 'the slave nodes.

    ' +) AVAILABLE_ONLY_FOR_AMI_VERSIONS = ( 'This command is only available when using Amazon EMR versions' - 'earlier than 4.0.') + 'earlier than 4.0.' +) STEP_CONCURRENCY_LEVEL = ( 'This command specifies the step concurrency level of the cluster.' @@ -498,10 +544,10 @@ ) PLACEMENT_GROUP_CONFIGS = ( - '

    Placement group configuration for an Amazon EMR ' - 'cluster. The configuration specifies the EC2 placement group ' - 'strategy associated with each EMR Instance Role.

    ' - '

    Currently, we support placement group only for MASTER ' + '

    Placement group configuration for an Amazon EMR ' + 'cluster. The configuration specifies the EC2 placement group ' + 'strategy associated with each EMR Instance Role.

    ' + '

    Currently, we support placement group only for MASTER ' 'role with SPREAD strategy by default. You can opt-in by ' 'passing --placement-group-configs InstanceRole=MASTER ' 'during cluster creation.

    ' @@ -522,3 +568,15 @@ UNHEALTHY_NODE_REPLACEMENT = ( '

    Unhealthy node replacement for an Amazon EMR cluster.

    ' ) + +EXTENDED_SUPPORT = '

    Reserved.

    ' + +MONITORING_CONFIGURATION = ( + '

    Monitoring configuration for an Amazon EMR cluster. ' + 'The configuration specifies CloudWatch logging settings for the cluster. ' + 'You can configure the CloudWatchLogConfiguration which includes ' + 'the Enabled flag (required), LogGroupName, LogStreamNamePrefix, ' + 'EncryptionKeyArn, and LogTypes. The LogTypes parameter is a map ' + 'of log type categories (e.g., "STEP_LOGS", "SPARK_DRIVER", ' + '"SPARK_EXECUTOR") to a list of file names (e.g., "STDOUT", "STDERR").

    ' +) diff --git a/awscli/customizations/emr/instancefleetsutils.py b/awscli/customizations/emr/instancefleetsutils.py index 6c098803dfd1..02d8f0b7a826 100644 --- a/awscli/customizations/emr/instancefleetsutils.py +++ b/awscli/customizations/emr/instancefleetsutils.py @@ -65,6 +65,9 @@ def validate_and_build_instance_fleets(parsed_instance_fleets): if 'OnDemandResizeSpecification' in instanceFleetResizeSpecifications: instance_fleet_config['ResizeSpecifications']['OnDemandResizeSpecification'] = \ instanceFleetResizeSpecifications['OnDemandResizeSpecification'] + + if 'Context' in keys: + instance_fleet_config['Context'] = instance_fleet['Context'] instance_fleets.append(instance_fleet_config) return instance_fleets diff --git a/awscli/customizations/emr/steputils.py b/awscli/customizations/emr/steputils.py index 3a9e6b99bfa2..6bc10172238a 100644 --- a/awscli/customizations/emr/steputils.py +++ b/awscli/customizations/emr/steputils.py @@ -11,9 +11,7 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -from awscli.customizations.emr import emrutils -from awscli.customizations.emr import constants -from awscli.customizations.emr import exceptions +from awscli.customizations.emr import constants, emrutils, exceptions def build_step_config_list(parsed_step_list, region, release_label): @@ -29,23 +27,24 @@ def build_step_config_list(parsed_step_list, region, release_label): step_config = build_custom_jar_step(parsed_step=step) elif step_type == constants.STREAMING: step_config = build_streaming_step( - parsed_step=step, release_label=release_label) + parsed_step=step, release_label=release_label + ) elif step_type == constants.HIVE: step_config = build_hive_step( - parsed_step=step, region=region, - release_label=release_label) + parsed_step=step, region=region, release_label=release_label + ) elif step_type == constants.PIG: step_config = build_pig_step( - parsed_step=step, region=region, - release_label=release_label) + parsed_step=step, region=region, release_label=release_label + ) elif step_type == constants.IMPALA: step_config = build_impala_step( - parsed_step=step, region=region, - release_label=release_label) + parsed_step=step, region=region, release_label=release_label + ) elif step_type == constants.SPARK: step_config = build_spark_step( - parsed_step=step, region=region, - release_label=release_label) + parsed_step=step, region=region, release_label=release_label + ) else: raise exceptions.UnknownStepTypeError(step_type=step_type) @@ -57,14 +56,17 @@ def build_step_config_list(parsed_step_list, region, release_label): def build_custom_jar_step(parsed_step): name = _apply_default_value( arg=parsed_step.get('Name'), - value=constants.DEFAULT_CUSTOM_JAR_STEP_NAME) + value=constants.DEFAULT_CUSTOM_JAR_STEP_NAME, + ) action_on_failure = _apply_default_value( arg=parsed_step.get('ActionOnFailure'), - value=constants.DEFAULT_FAILURE_ACTION) + value=constants.DEFAULT_FAILURE_ACTION, + ) emrutils.check_required_field( structure=constants.CUSTOM_JAR_STEP_CONFIG, name='Jar', - value=parsed_step.get('Jar')) + value=parsed_step.get('Jar'), + ) return emrutils.build_step( jar=parsed_step.get('Jar'), args=parsed_step.get('Args'), @@ -72,22 +74,27 @@ def build_custom_jar_step(parsed_step): action_on_failure=action_on_failure, main_class=parsed_step.get('MainClass'), properties=emrutils.parse_key_value_string( - parsed_step.get('Properties'))) + parsed_step.get('Properties') + ), + log_uri=parsed_step.get('LogUri'), + encryption_key_arn=parsed_step.get('EncryptionKeyArn'), + ) def build_streaming_step(parsed_step, release_label): name = _apply_default_value( arg=parsed_step.get('Name'), - value=constants.DEFAULT_STREAMING_STEP_NAME) + value=constants.DEFAULT_STREAMING_STEP_NAME, + ) action_on_failure = _apply_default_value( arg=parsed_step.get('ActionOnFailure'), - value=constants.DEFAULT_FAILURE_ACTION) + value=constants.DEFAULT_FAILURE_ACTION, + ) args = parsed_step.get('Args') emrutils.check_required_field( - structure=constants.STREAMING_STEP_CONFIG, - name='Args', - value=args) + structure=constants.STREAMING_STEP_CONFIG, name='Args', value=args + ) emrutils.check_empty_string_list(name='Args', value=args) args_list = [] @@ -103,27 +110,34 @@ def build_streaming_step(parsed_step, release_label): jar=jar, args=args_list, name=name, - action_on_failure=action_on_failure) + action_on_failure=action_on_failure, + log_uri=parsed_step.get('LogUri'), + encryption_key_arn=parsed_step.get('EncryptionKeyArn'), + ) def build_hive_step(parsed_step, release_label, region=None): args = parsed_step.get('Args') emrutils.check_required_field( - structure=constants.HIVE_STEP_CONFIG, name='Args', value=args) + structure=constants.HIVE_STEP_CONFIG, name='Args', value=args + ) emrutils.check_empty_string_list(name='Args', value=args) name = _apply_default_value( - arg=parsed_step.get('Name'), - value=constants.DEFAULT_HIVE_STEP_NAME) - action_on_failure = \ - _apply_default_value( - arg=parsed_step.get('ActionOnFailure'), - value=constants.DEFAULT_FAILURE_ACTION) + arg=parsed_step.get('Name'), value=constants.DEFAULT_HIVE_STEP_NAME + ) + action_on_failure = _apply_default_value( + arg=parsed_step.get('ActionOnFailure'), + value=constants.DEFAULT_FAILURE_ACTION, + ) return emrutils.build_step( jar=_get_runner_jar(release_label, region), args=_build_hive_args(args, release_label, region), name=name, - action_on_failure=action_on_failure) + action_on_failure=action_on_failure, + log_uri=parsed_step.get('LogUri'), + encryption_key_arn=parsed_step.get('EncryptionKeyArn'), + ) def _build_hive_args(args, release_label, region): @@ -131,8 +145,11 @@ def _build_hive_args(args, release_label, region): if release_label: args_list.append(constants.HIVE_SCRIPT_COMMAND) else: - args_list.append(emrutils.build_s3_link( - relative_path=constants.HIVE_SCRIPT_PATH, region=region)) + args_list.append( + emrutils.build_s3_link( + relative_path=constants.HIVE_SCRIPT_PATH, region=region + ) + ) args_list.append(constants.RUN_HIVE_SCRIPT) @@ -149,20 +166,25 @@ def _build_hive_args(args, release_label, region): def build_pig_step(parsed_step, release_label, region=None): args = parsed_step.get('Args') emrutils.check_required_field( - structure=constants.PIG_STEP_CONFIG, name='Args', value=args) + structure=constants.PIG_STEP_CONFIG, name='Args', value=args + ) emrutils.check_empty_string_list(name='Args', value=args) name = _apply_default_value( - arg=parsed_step.get('Name'), - value=constants.DEFAULT_PIG_STEP_NAME) + arg=parsed_step.get('Name'), value=constants.DEFAULT_PIG_STEP_NAME + ) action_on_failure = _apply_default_value( arg=parsed_step.get('ActionOnFailure'), - value=constants.DEFAULT_FAILURE_ACTION) + value=constants.DEFAULT_FAILURE_ACTION, + ) return emrutils.build_step( jar=_get_runner_jar(release_label, region), args=_build_pig_args(args, release_label, region), name=name, - action_on_failure=action_on_failure) + action_on_failure=action_on_failure, + log_uri=parsed_step.get('LogUri'), + encryption_key_arn=parsed_step.get('EncryptionKeyArn'), + ) def _build_pig_args(args, release_label, region): @@ -170,8 +192,11 @@ def _build_pig_args(args, release_label, region): if release_label: args_list.append(constants.PIG_SCRIPT_COMMAND) else: - args_list.append(emrutils.build_s3_link( - relative_path=constants.PIG_SCRIPT_PATH, region=region)) + args_list.append( + emrutils.build_s3_link( + relative_path=constants.PIG_SCRIPT_PATH, region=region + ) + ) args_list.append(constants.RUN_PIG_SCRIPT) @@ -189,43 +214,55 @@ def build_impala_step(parsed_step, release_label, region=None): if release_label: raise exceptions.UnknownStepTypeError(step_type=constants.IMPALA) name = _apply_default_value( - arg=parsed_step.get('Name'), - value=constants.DEFAULT_IMPALA_STEP_NAME) + arg=parsed_step.get('Name'), value=constants.DEFAULT_IMPALA_STEP_NAME + ) action_on_failure = _apply_default_value( arg=parsed_step.get('ActionOnFailure'), - value=constants.DEFAULT_FAILURE_ACTION) + value=constants.DEFAULT_FAILURE_ACTION, + ) args_list = [ emrutils.build_s3_link( - relative_path=constants.IMPALA_INSTALL_PATH, region=region), - constants.RUN_IMPALA_SCRIPT] + relative_path=constants.IMPALA_INSTALL_PATH, region=region + ), + constants.RUN_IMPALA_SCRIPT, + ] args = parsed_step.get('Args') emrutils.check_required_field( - structure=constants.IMPALA_STEP_CONFIG, name='Args', value=args) + structure=constants.IMPALA_STEP_CONFIG, name='Args', value=args + ) args_list += args return emrutils.build_step( jar=emrutils.get_script_runner(region), args=args_list, name=name, - action_on_failure=action_on_failure) + action_on_failure=action_on_failure, + log_uri=parsed_step.get('LogUri'), + encryption_key_arn=parsed_step.get('EncryptionKeyArn'), + ) def build_spark_step(parsed_step, release_label, region=None): name = _apply_default_value( - arg=parsed_step.get('Name'), - value=constants.DEFAULT_SPARK_STEP_NAME) + arg=parsed_step.get('Name'), value=constants.DEFAULT_SPARK_STEP_NAME + ) action_on_failure = _apply_default_value( arg=parsed_step.get('ActionOnFailure'), - value=constants.DEFAULT_FAILURE_ACTION) + value=constants.DEFAULT_FAILURE_ACTION, + ) args = parsed_step.get('Args') emrutils.check_required_field( - structure=constants.SPARK_STEP_CONFIG, name='Args', value=args) + structure=constants.SPARK_STEP_CONFIG, name='Args', value=args + ) return emrutils.build_step( jar=_get_runner_jar(release_label, region), args=_build_spark_args(args, release_label, region), name=name, - action_on_failure=action_on_failure) + action_on_failure=action_on_failure, + log_uri=parsed_step.get('LogUri'), + encryption_key_arn=parsed_step.get('EncryptionKeyArn'), + ) def _build_spark_args(args, release_label, region): @@ -247,5 +284,8 @@ def _apply_default_value(arg, value): def _get_runner_jar(release_label, region): - return constants.COMMAND_RUNNER if release_label \ + return ( + constants.COMMAND_RUNNER + if release_label else emrutils.get_script_runner(region) + ) diff --git a/awscli/customizations/gamelift/getlog.py b/awscli/customizations/gamelift/getlog.py index 3bded0e9dc13..14793987c436 100644 --- a/awscli/customizations/gamelift/getlog.py +++ b/awscli/customizations/gamelift/getlog.py @@ -15,6 +15,7 @@ from awscli.compat import urlopen from awscli.customizations.commands import BasicCommand +from awscli.utils import create_nested_client class GetGameSessionLogCommand(BasicCommand): @@ -28,8 +29,8 @@ class GetGameSessionLogCommand(BasicCommand): ] def _run_main(self, args, parsed_globals): - client = self._session.create_client( - 'gamelift', region_name=parsed_globals.region, + client = create_nested_client( + self._session, 'gamelift', region_name=parsed_globals.region, endpoint_url=parsed_globals.endpoint_url, verify=parsed_globals.verify_ssl ) diff --git a/awscli/customizations/gamelift/uploadbuild.py b/awscli/customizations/gamelift/uploadbuild.py index 369317c5ffd9..896d56bc46ba 100644 --- a/awscli/customizations/gamelift/uploadbuild.py +++ b/awscli/customizations/gamelift/uploadbuild.py @@ -21,6 +21,20 @@ from awscli.customizations.commands import BasicCommand from awscli.customizations.s3.utils import human_readable_size +from awscli.utils import create_nested_client + + +def parse_tags(raw_tags_list): + """Parse tags from Key=Value format to GameLift API format.""" + tags_list = [] + if raw_tags_list: + for tag in raw_tags_list: + if '=' in tag: + key, value = tag.split('=', 1) + else: + key, value = tag, '' + tags_list.append({'Key': key, 'Value': value}) + return tags_list class UploadBuildCommand(BasicCommand): @@ -39,21 +53,22 @@ class UploadBuildCommand(BasicCommand): 'The version of the GameLift server SDK used to ' 'create the game server'}, {'name': 'operating-system', 'required': False, - 'help_text': 'The operating system the build runs on'} + 'help_text': 'The operating system the build runs on'}, + {'name': 'tags', 'required': False, 'nargs': '+', + 'help_text': 'Tags to assign to the build. Format: Key=Value'} ] def _run_main(self, args, parsed_globals): - gamelift_client = self._session.create_client( - 'gamelift', region_name=parsed_globals.region, + gamelift_client = create_nested_client( + self._session, 'gamelift', region_name=parsed_globals.region, endpoint_url=parsed_globals.endpoint_url, verify=parsed_globals.verify_ssl ) # Validate a build directory if not validate_directory(args.build_root): sys.stderr.write( - 'Fail to upload %s. ' + f'Fail to upload {args.build_root}. ' 'The build root directory is empty or does not exist.\n' - % (args.build_root) ) return 255 @@ -66,6 +81,8 @@ def _run_main(self, args, parsed_globals): create_build_kwargs['OperatingSystem'] = args.operating_system if args.server_sdk_version: create_build_kwargs['ServerSdkVersion'] = args.server_sdk_version + if args.tags: + create_build_kwargs['Tags'] = parse_tags(args.tags) response = gamelift_client.create_build(**create_build_kwargs) build_id = response['Build']['BuildId'] @@ -81,8 +98,9 @@ def _run_main(self, args, parsed_globals): access_key = upload_credentials['AccessKeyId'] secret_key = upload_credentials['SecretAccessKey'] session_token = upload_credentials['SessionToken'] - s3_client = self._session.create_client( - 's3', aws_access_key_id=access_key, + s3_client = create_nested_client( + self._session, 's3', + aws_access_key_id=access_key, aws_secret_access_key=secret_key, aws_session_token=session_token, region_name=parsed_globals.region, @@ -92,7 +110,7 @@ def _run_main(self, args, parsed_globals): s3_transfer_mgr = S3Transfer(s3_client) try: - fd, temporary_zipfile = tempfile.mkstemp('%s.zip' % build_id) + fd, temporary_zipfile = tempfile.mkstemp(f'{build_id}.zip') zip_directory(temporary_zipfile, args.build_root) s3_transfer_mgr.upload_file( temporary_zipfile, bucket, key, @@ -106,8 +124,8 @@ def _run_main(self, args, parsed_globals): os.remove(temporary_zipfile) sys.stdout.write( - 'Successfully uploaded %s to AWS GameLift\n' - 'Build ID: %s\n' % (args.build_root, build_id)) + f'Successfully uploaded {args.build_root} to AWS GameLift\n' + f'Build ID: {build_id}\n') return 0 @@ -140,7 +158,7 @@ def validate_directory(source_root): # TODO: Remove this class once available to CLI from s3transfer # docstring. -class ProgressPercentage(object): +class ProgressPercentage: def __init__(self, filename, label=None): self._filename = filename self._label = label @@ -156,9 +174,6 @@ def __call__(self, bytes_amount): if self._size > 0: percentage = (self._seen_so_far / self._size) * 100 sys.stdout.write( - "\r%s %s / %s (%.2f%%)" % ( - self._label, human_readable_size(self._seen_so_far), - human_readable_size(self._size), percentage - ) + f"\r{self._label} {human_readable_size(self._seen_so_far)} / {human_readable_size(self._size)} ({percentage:.2f}%)" ) sys.stdout.flush() diff --git a/awscli/customizations/globalargs.py b/awscli/customizations/globalargs.py index af11c9335e86..5384f14d4ecd 100644 --- a/awscli/customizations/globalargs.py +++ b/awscli/customizations/globalargs.py @@ -13,12 +13,16 @@ import sys import os +from awscli.customizations.argrename import HIDDEN_ALIASES +from awscli.customizations.utils import uni_print from botocore.client import Config +from botocore import UNSIGNED from botocore.endpoint import DEFAULT_TIMEOUT -from botocore.handlers import disable_signing +from botocore.useragent import register_feature_id import jmespath from awscli.compat import urlparse +from awscli.utils import resolve_v2_debug_mode def register_parse_global_args(cli): @@ -32,6 +36,8 @@ def register_parse_global_args(cli): unique_id='resolve-cli-read-timeout') cli.register('top-level-args-parsed', resolve_cli_connect_timeout, unique_id='resolve-cli-connect-timeout') + cli.register('top-level-args-parsed', detect_migration_breakage, + unique_id='detect-migration-breakage') def resolve_types(parsed_args, **kwargs): @@ -81,28 +87,183 @@ def resolve_verify_ssl(parsed_args, session, **kwargs): verify = getattr(parsed_args, 'ca_bundle', None) setattr(parsed_args, arg_name, verify) - def no_sign_request(parsed_args, session, **kwargs): if not parsed_args.sign_request: - # In order to make signing disabled for all requests - # we need to use botocore's ``disable_signing()`` handler. - # Register this first to override other handlers. - emitter = session.get_component('event_emitter') - emitter.register_first( - 'choose-signer', disable_signing, unique_id='disable-signing', - ) - + # Disable request signing by setting the signature version to UNSIGNED + # in the default client configuration. This ensures all new clients + # will be created with signing disabled. + _update_default_client_config(session, 'signature_version', UNSIGNED) def resolve_cli_connect_timeout(parsed_args, session, **kwargs): arg_name = 'connect_timeout' _resolve_timeout(session, parsed_args, arg_name) +def detect_migration_breakage(parsed_args, session, remaining_args, **kwargs): + if not resolve_v2_debug_mode(parsed_args): + return + region = parsed_args.region or session.get_config_variable('region') + s3_config = session.get_config_variable('s3') + if ( + not session.get_scoped_config().get('cli_pager', None) + == '' and 'AWS_PAGER' not in os.environ + ): + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: By default, the AWS CLI v2 returns ' + 'all output through your operating system’s default pager ' + 'program. This is different from v1 behavior, where the system ' + 'pager is not used by default. To retain AWS CLI v1 behavior in ' + 'AWS CLI v2, set the `cli_pager` configuration setting, or the ' + '`AWS_PAGER` environment variable, to the empty string. See ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html#cliv2-migration-output-pager.\n', + out_file=sys.stderr + ) + if 'PYTHONUTF8' in os.environ or 'PYTHONIOENCODING' in os.environ: + if 'AWS_CLI_FILE_ENCODING' not in os.environ: + uni_print( + '\nThe AWS CLI v2 does not support The `PYTHONUTF8` and ' + '`PYTHONIOENCODING` environment variables, and instead uses ' + 'the `AWS_CLI_FILE_ENCODING` variable. This is different from ' + 'v1 behavior, where the former two variables are used ' + 'instead. To retain AWS CLI v1 behavior in AWS CLI v2, set ' + 'the `AWS_CLI_FILE_ENCODING` environment variable instead. ' + 'See https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html' + '#cliv2-migration-encodingenvvar.\n', + out_file=sys.stderr + ) + if ( + ( + s3_config is None + or s3_config.get('us_east_1_regional_endpoint', 'legacy') + == 'legacy' + ) + and region in ('us-east-1', None) + ): + session.register( + 'request-created.s3.*', + warn_if_east_configured_global_endpoint + ) + session.register( + 'request-created.s3api.*', + warn_if_east_configured_global_endpoint + ) + if session.get_config_variable('api_versions'): + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: AWS CLI v2 UPGRADE WARNING: ' + 'The AWS CLI v2 does not support calling older versions of AWS ' + 'service APIs via the `api_versions` configuration file setting. This ' + 'is different from v1 behavior, where this configuration setting ' + 'can be used to pin older API versions. To migrate to v2 ' + 'behavior, remove the `api_versions` configuration setting, and ' + 'test against the latest service API versions. See ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html#cliv2-migration-api-versions.\n', + out_file = sys.stderr + ) + if session.full_config.get('plugins', {}): + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: In AWS CLI v2, plugins are ' + 'disabled by default, and support for plugins is provisional. ' + 'This is different from v1 behavior, where plugin support is URL ' + 'below to update your configuration to enable plugins in AWS CLI ' + 'v2. Also, be sure to lock into a particular version of the AWS ' + 'CLI and test the functionality of your plugins every time AWS ' + 'CLI v2 is upgraded. See https://docs.aws.amazon.com/cli/latest/' + 'userguide/cliv2-migration-changes.html' + '#cliv2-migration-profile-plugins.\n', + out_file=sys.stderr + ) + if ( + parsed_args.command == 'ecr' and + remaining_args is not None and + remaining_args[0] == 'get-login' + ): + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: The `ecr get-login` command has ' + 'been removed in AWS CLI v2. You must use `ecr get-login-password` ' + 'instead. See https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html#cliv2-migration-ecr-get-login.\n', + out_file=sys.stderr + ) + for working, obsolete in HIDDEN_ALIASES.items(): + working_split = working.split('.') + working_service = working_split[0] + working_cmd = working_split[1] + working_param = working_split[2] + if ( + parsed_args.command == working_service + and remaining_args is not None + and remaining_args[0] == working_cmd + and f"--{working_param}" in remaining_args + ): + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: You have entered command ' + 'arguments that use at least 1 of 21 built-in ("hidden") ' + 'aliases that were removed in AWS CLI v2. For this command ' + 'to work in AWS CLI v2, you must replace usage of the alias ' + 'with the corresponding parameter in AWS CLI v2. See ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html#cliv2-migration-aliases.\n', + out_file=sys.stderr + ) + # Register against the provide-client-params event to ensure that the + # feature ID is registered before any API requests are made. We + # cannot register the feature ID in this function because no + # botocore context is created at this point. + session.register( + 'provide-client-params.*.*', + _register_v2_debug_feature_id + ) + session.register('choose-signer.s3.*', warn_if_sigv2) + + +def _register_v2_debug_feature_id(params, model, **kwargs): + register_feature_id('CLI_V1_TO_V2_MIGRATION_DEBUG_MODE') + +def warn_if_east_configured_global_endpoint(request, operation_name, **kwargs): + # The regional us-east-1 endpoint is used in certain cases (e.g. + # FIPS/Dual-Stack is enabled). Rather than duplicating this logic + # from botocore, we check the endpoint URL directly. + parsed_url = urlparse.urlparse(request.url) + if parsed_url.hostname.endswith('s3.amazonaws.com'): + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: When you configure AWS CLI v2 to ' + 'use the `us-east-1` region, it uses the true regional endpoint ' + 'rather than the global endpoint. This is different from v1 ' + 'behavior, where the global endpoint would be used when the ' + 'region is `us-east-1`. To retain AWS CLI v1 behavior in AWS ' + 'CLI v2, configure the region setting to `aws-global`. See ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html' + '#cliv2-migration-s3-regional-endpoint.\n', + out_file=sys.stderr + ) + +def warn_if_sigv2( + signing_name, + region_name, + signature_version, + context, + **kwargs +): + if context.get('auth_type', None) == 'v2': + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: The AWS CLI v2 only uses Signature ' + 'v4 to authenticate Amazon S3 requests. This is different from ' + 'v1 behavior, where the signature used for Amazon S3 requests may ' + 'vary depending on configuration settings, region, and the ' + 'bucket being used. To migrate to AWS CLI v2 behavior, configure ' + 'the Signature Version S3 setting to version 4. See ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html#cliv2-migration-sigv4.\n', + out_file=sys.stderr + ) def resolve_cli_read_timeout(parsed_args, session, **kwargs): arg_name = 'read_timeout' _resolve_timeout(session, parsed_args, arg_name) - def _resolve_timeout(session, parsed_args, arg_name): arg_value = getattr(parsed_args, arg_name, None) if arg_value is None: diff --git a/awscli/customizations/history/__init__.py b/awscli/customizations/history/__init__.py index a3e580827493..30091f036188 100644 --- a/awscli/customizations/history/__init__.py +++ b/awscli/customizations/history/__init__.py @@ -10,37 +10,40 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import logging import os import sys -import logging -from botocore.history import get_global_history_recorder from botocore.exceptions import ProfileNotFound +from botocore.history import get_global_history_recorder from awscli.compat import sqlite3 from awscli.customizations.commands import BasicCommand -from awscli.customizations.history.constants import HISTORY_FILENAME_ENV_VAR -from awscli.customizations.history.constants import DEFAULT_HISTORY_FILENAME -from awscli.customizations.history.db import DatabaseConnection -from awscli.customizations.history.db import DatabaseRecordWriter -from awscli.customizations.history.db import RecordBuilder -from awscli.customizations.history.db import DatabaseHistoryHandler -from awscli.customizations.history.show import ShowCommand +from awscli.customizations.history.constants import ( + DEFAULT_HISTORY_FILENAME, + HISTORY_FILENAME_ENV_VAR, +) +from awscli.customizations.history.db import ( + DatabaseConnection, + DatabaseHistoryHandler, + DatabaseRecordWriter, + RecordBuilder, +) from awscli.customizations.history.list import ListCommand - +from awscli.customizations.history.show import ShowCommand LOG = logging.getLogger(__name__) HISTORY_RECORDER = get_global_history_recorder() def register_history_mode(event_handlers): - event_handlers.register( - 'session-initialized', attach_history_handler) + event_handlers.register('session-initialized', attach_history_handler) def register_history_commands(event_handlers): event_handlers.register( - "building-command-table.main", add_history_commands) + "building-command-table.main", add_history_commands + ) def attach_history_handler(session, parsed_args, **kwargs): @@ -48,11 +51,21 @@ def attach_history_handler(session, parsed_args, **kwargs): LOG.debug('Enabling CLI history') history_filename = os.environ.get( - HISTORY_FILENAME_ENV_VAR, DEFAULT_HISTORY_FILENAME) - if not os.path.isdir(os.path.dirname(history_filename)): - os.makedirs(os.path.dirname(history_filename)) - - connection = DatabaseConnection(history_filename) + HISTORY_FILENAME_ENV_VAR, DEFAULT_HISTORY_FILENAME + ) + history_dir = os.path.dirname(history_filename) + if not os.path.isdir(history_dir): + os.makedirs(history_dir) + + try: + connection = DatabaseConnection(history_filename) + except Exception as e: + LOG.debug('Unable to open history database: %s', e) + sys.stderr.write( + 'Warning: Unable to record CLI history. ' + 'Check file permissions for %s\n' % history_filename + ) + return writer = DatabaseRecordWriter(connection) record_builder = RecordBuilder() db_handler = DatabaseHistoryHandler(writer, record_builder) @@ -98,10 +111,12 @@ class HistoryCommand(BasicCommand): ) SUBCOMMANDS = [ {'name': 'show', 'command_class': ShowCommand}, - {'name': 'list', 'command_class': ListCommand} + {'name': 'list', 'command_class': ListCommand}, ] def _run_main(self, parsed_args, parsed_globals): if parsed_args.subcommand is None: - raise ValueError("usage: aws [options] " - "[parameters]\naws: error: too few arguments") + raise ValueError( + "usage: aws [options] " + "[parameters]\naws: error: too few arguments" + ) diff --git a/awscli/customizations/history/db.py b/awscli/customizations/history/db.py index bdb96d1dc4bd..bd1a292da57b 100644 --- a/awscli/customizations/history/db.py +++ b/awscli/customizations/history/db.py @@ -10,24 +10,22 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import uuid -import time -import json import datetime -import threading +import json import logging -from awscli.compat import collections_abc +import os +import threading +import time +import uuid from botocore.history import BaseHistoryHandler -from awscli.compat import sqlite3 -from awscli.compat import binary_type - +from awscli.compat import binary_type, collections_abc, sqlite3 LOG = logging.getLogger(__name__) -class DatabaseConnection(object): +class DatabaseConnection: _CREATE_TABLE = """ CREATE TABLE IF NOT EXISTS records ( id TEXT, @@ -40,13 +38,26 @@ class DatabaseConnection(object): _ENABLE_WAL = 'PRAGMA journal_mode=WAL' def __init__(self, db_filename): + self._db_filename = db_filename self._connection = sqlite3.connect( - db_filename, check_same_thread=False, isolation_level=None) + db_filename, check_same_thread=False, isolation_level=None + ) + self._set_file_permissions() self._ensure_database_setup() def close(self): self._connection.close() + def _set_file_permissions(self): + for suffix in ('', '-wal', '-shm'): + path = self._db_filename + suffix + if not os.path.exists(path): + continue + try: + os.chmod(path, 0o600) + except OSError as e: + LOG.debug('Unable to set file permissions for %s: %s', path, e) + def execute(self, query, *parameters): return self._connection.execute(query, *parameters) @@ -92,8 +103,9 @@ def _remove_non_unicode_stings(self, obj): if isinstance(obj, str): obj = self._try_decode_bytes(obj) elif isinstance(obj, dict): - obj = dict((k, self._remove_non_unicode_stings(v)) for k, v - in obj.items()) + obj = dict( + (k, self._remove_non_unicode_stings(v)) for k, v in obj.items() + ) elif isinstance(obj, (list, tuple)): obj = [self._remove_non_unicode_stings(o) for o in obj] return obj @@ -132,7 +144,7 @@ def default(self, obj): return repr(obj) -class DatabaseRecordWriter(object): +class DatabaseRecordWriter: _WRITE_RECORD = """ INSERT INTO records( id, request_id, source, event_type, timestamp, payload) @@ -152,26 +164,30 @@ def write_record(self, record): def _create_db_record(self, record): event_type = record['event_type'] - json_serialized_payload = json.dumps(record['payload'], - cls=PayloadSerializer) + json_serialized_payload = json.dumps( + record['payload'], cls=PayloadSerializer + ) db_record = ( record['command_id'], record.get('request_id'), record['source'], event_type, record['timestamp'], - json_serialized_payload + json_serialized_payload, ) return db_record -class DatabaseRecordReader(object): +class DatabaseRecordReader: _ORDERING = 'ORDER BY timestamp' - _GET_LAST_ID_RECORDS = """ + _GET_LAST_ID_RECORDS = ( + """ SELECT * FROM records WHERE id = (SELECT id FROM records WHERE timestamp = - (SELECT max(timestamp) FROM records)) %s;""" % _ORDERING + (SELECT max(timestamp) FROM records)) %s;""" + % _ORDERING + ) _GET_RECORDS_BY_ID = 'SELECT * from records where id = ? %s' % _ORDERING _GET_ALL_RECORDS = ( 'SELECT a.id AS id_a, ' @@ -218,9 +234,10 @@ def iter_all_records(self): yield row -class RecordBuilder(object): +class RecordBuilder: _REQUEST_LIFECYCLE_EVENTS = set( - ['API_CALL', 'HTTP_REQUEST', 'HTTP_RESPONSE', 'PARSED_RESPONSE']) + ['API_CALL', 'HTTP_REQUEST', 'HTTP_RESPONSE', 'PARSED_RESPONSE'] + ) _START_OF_REQUEST_LIFECYCLE_EVENT = 'API_CALL' def __init__(self): @@ -254,7 +271,7 @@ def build_record(self, event_type, payload, source): 'event_type': event_type, 'payload': payload, 'source': source, - 'timestamp': int(time.time() * 1000) + 'timestamp': int(time.time() * 1000), } request_id = self._get_request_id(event_type) if request_id: diff --git a/awscli/customizations/history/show.py b/awscli/customizations/history/show.py index da8bb84fec1b..771e1678e0f8 100644 --- a/awscli/customizations/history/show.py +++ b/awscli/customizations/history/show.py @@ -19,7 +19,6 @@ import colorama from awscli.table import COLORAMA_KWARGS -from awscli.compat import six from awscli.customizations.history.commands import HistorySubcommand from awscli.customizations.history.filters import RegexFilter @@ -213,7 +212,7 @@ def _display_value(self, value_definition, event_record): self._write_output(formatted_value) def _write_output(self, content): - if isinstance(content, six.text_type): + if isinstance(content, str): content = content.encode('utf-8') self._output.write(content) diff --git a/awscli/customizations/logs/__init__.py b/awscli/customizations/logs/__init__.py new file mode 100644 index 000000000000..d6672092735e --- /dev/null +++ b/awscli/customizations/logs/__init__.py @@ -0,0 +1,9 @@ +from awscli.customizations.logs.startlivetail import StartLiveTailCommand + + +def register_logs_commands(cli): + cli.register('building-command-table.logs', inject_start_live_tail_command) + + +def inject_start_live_tail_command(command_table, session, **kwargs): + command_table['start-live-tail'] = StartLiveTailCommand(session) \ No newline at end of file diff --git a/awscli/customizations/logs/startlivetail.py b/awscli/customizations/logs/startlivetail.py new file mode 100644 index 000000000000..1fccca49dfdf --- /dev/null +++ b/awscli/customizations/logs/startlivetail.py @@ -0,0 +1,289 @@ +# Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from functools import partial +from threading import Thread +import contextlib +import signal +import sys +import time + +from awscli.compat import get_stdout_text_writer +from awscli.customizations.commands import BasicCommand +from awscli.utils import is_a_tty, create_nested_client + + +DESCRIPTION = ( + "Starts a Live Tail streaming session for one or more log groups. " + "A Live Tail session provides a near real-time streaming of " + "log events as they are ingested into selected log groups. " + "A session can go on for a maximum of 3 hours.\n\n" + "You must have logs:StartLiveTail permission to perform this operation. " + "If the log events matching the filters are more than 500 events per second, " + "we sample the events to provide the real-time tailing experience.\n\n" + "If you are using CloudWatch cross-account observability, " + "you can use this operation in a monitoring account and start tailing on " + "Log Group(s) present in the linked source accounts. " + "For more information, see " + "https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html.\n\n" + "Live Tail sessions incur charges by session usage time, per minute. " + "For pricing details, please refer to " + "https://aws.amazon.com/cloudwatch/pricing/." +) + +LIST_SCHEMA = {"type": "array", "items": {"type": "string"}} + +LOG_GROUP_IDENTIFIERS = { + "name": "log-group-identifiers", + "required": True, + "positional_arg": False, + "nargs": "+", + "schema": LIST_SCHEMA, + "help_text": ( + "The Log Group Identifiers are the ARNs for the CloudWatch Logs groups to tail. " + "You can provide up to 10 Log Group Identifiers.\n\n" + "Logs can be filtered by Log Stream(s) by providing " + "--log-stream-names or --log-stream-name-prefixes. " + "If more than one Log Group is provided " + "--log-stream-names and --log-stream-name-prefixes is disabled. " + "--log-stream-names and --log-stream-name-prefixes can't be provided simultaneously.\n\n" + "Note - The Log Group ARN must be in the following format. " + "Replace REGION and ACCOUNT_ID with your Region and account ID. " + "``arn:aws:logs:REGION :ACCOUNT_ID :log-group:LOG_GROUP_NAME``. " + "A ``:*`` after the ARN is prohibited." + "For more information about ARN format, " + 'see CloudWatch Logs resources and operations.' + ), +} + +LOG_STREAM_NAMES = { + "name": "log-stream-names", + "positional_arg": False, + "nargs": "+", + "schema": LIST_SCHEMA, + "help_text": ( + "The list of stream names to filter logs by.\n\n This parameter cannot be " + "specified when --log-stream-name-prefixes are also specified. " + "This parameter cannot be specified when multiple log-group-identifiers are specified" + ), +} + +LOG_STREAM_NAME_PREFIXES = { + "name": "log-stream-name-prefixes", + "positional_arg": False, + "nargs": "+", + "schema": LIST_SCHEMA, + "help_text": ( + "The prefix to filter logs by. Only events from log streams with names beginning " + "with this prefix will be returned. \n\nThis parameter cannot be specified when " + "--log-stream-names is also specified. This parameter cannot be specified when " + "multiple log-group-identifiers are specified" + ), +} + +LOG_EVENT_FILTER_PATTERN = { + "name": "log-event-filter-pattern", + "positional_arg": False, + "cli_type_name": "string", + "help_text": ( + "The filter pattern to use. " + 'See Filter and Pattern Syntax ' + "for details. If not provided, all the events are matched. " + "This option can be used to include or exclude log events patterns. " + "Additionally, when multiple filter patterns are provided, they must be encapsulated by quotes." + ), +} + + +def signal_handler(printer, signum, frame): + printer.interrupt_session = True + + +@contextlib.contextmanager +def handle_signal(printer): + signal_list = [signal.SIGINT, signal.SIGTERM] + if sys.platform != "win32": + signal_list.append(signal.SIGPIPE) + actual_signals = [] + for user_signal in signal_list: + actual_signals.append( + signal.signal(user_signal, partial(signal_handler, printer)) + ) + try: + yield + finally: + for sig, user_signal in enumerate(signal_list): + signal.signal(user_signal, actual_signals[sig]) + + +class LiveTailSessionMetadata: + def __init__(self) -> None: + self._session_start_time = time.time() + self._is_sampled = False + + @property + def session_start_time(self): + return self._session_start_time + + @property + def is_sampled(self): + return self._is_sampled + + def update_metadata(self, session_metadata): + self._is_sampled = session_metadata["sampled"] + + +class PrintOnlyPrinter: + def __init__(self, output, log_events) -> None: + self._output = output + self._log_events = log_events + self.interrupt_session = False + + def _print_log_events(self): + for log_event in self._log_events: + self._output.write(log_event + "\n") + self._output.flush() + + self._log_events.clear() + + def run(self): + try: + while True: + self._print_log_events() + + if self.interrupt_session: + break + + time.sleep(1) + except (BrokenPipeError, KeyboardInterrupt): + pass + + +class PrintOnlyUI: + def __init__(self, output, log_events) -> None: + self._log_events = log_events + self._printer = PrintOnlyPrinter(output, self._log_events) + + def exit(self): + self._printer.interrupt_session = True + + def run(self): + with handle_signal(self._printer): + self._printer.run() + + +class LiveTailLogEventsCollector(Thread): + def __init__( + self, + output, + ui, + response_stream, + log_events: list, + session_metadata: LiveTailSessionMetadata, + ) -> None: + super().__init__() + self._output = output + self._ui = ui + self._response_stream = response_stream + self._log_events = log_events + self._session_metadata = session_metadata + self._exception = None + + def _collect_log_events(self): + try: + for event in self._response_stream: + if not "sessionUpdate" in event: + continue + + session_update = event["sessionUpdate"] + self._session_metadata.update_metadata( + session_update["sessionMetadata"] + ) + logEvents = session_update["sessionResults"] + for logEvent in logEvents: + self._log_events.append(logEvent["message"]) + except Exception as e: + self._exception = e + + self._ui.exit() + + def stop(self): + if self._exception is not None: + self._output.write(str(self._exception) + "\n") + self._output.flush() + + def run(self): + self._collect_log_events() + + +class StartLiveTailCommand(BasicCommand): + NAME = "start-live-tail" + DESCRIPTION = DESCRIPTION + ARG_TABLE = [ + LOG_GROUP_IDENTIFIERS, + LOG_STREAM_NAMES, + LOG_STREAM_NAME_PREFIXES, + LOG_EVENT_FILTER_PATTERN, + ] + + def __init__(self, session): + super(StartLiveTailCommand, self).__init__(session) + self._output = get_stdout_text_writer() + + def _get_client(self, parsed_globals): + return create_nested_client( + self._session, "logs", + region_name=parsed_globals.region, + endpoint_url=parsed_globals.endpoint_url, + verify=parsed_globals.verify_ssl, + ) + + def _get_start_live_tail_kwargs(self, parsed_args): + kwargs = {"logGroupIdentifiers": parsed_args.log_group_identifiers} + + if parsed_args.log_stream_names is not None: + kwargs["logStreamNames"] = parsed_args.log_stream_names + if parsed_args.log_stream_name_prefixes is not None: + kwargs["logStreamNamePrefixes"] = parsed_args.log_stream_name_prefixes + if parsed_args.log_event_filter_pattern is not None: + kwargs["logEventFilterPattern"] = parsed_args.log_event_filter_pattern + + return kwargs + + def _is_color_allowed(self, color): + if color == "on": + return True + elif color == "off": + return False + return is_a_tty() + + def _run_main(self, parsed_args, parsed_globals): + self._client = self._get_client(parsed_globals) + + start_live_tail_kwargs = self._get_start_live_tail_kwargs(parsed_args) + response = self._client.start_live_tail(**start_live_tail_kwargs) + + log_events = [] + session_metadata = LiveTailSessionMetadata() + + ui = PrintOnlyUI(self._output, log_events) + + log_events_collector = LiveTailLogEventsCollector( + self._output, ui, response["responseStream"], log_events, session_metadata + ) + log_events_collector.daemon = True + + log_events_collector.start() + ui.run() + + log_events_collector.stop() + sys.exit(0) diff --git a/awscli/customizations/opsworks.py b/awscli/customizations/opsworks.py deleted file mode 100644 index 604109cdf6c7..000000000000 --- a/awscli/customizations/opsworks.py +++ /dev/null @@ -1,543 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import datetime -import json -import logging -import os -import platform -import re -import shlex -import socket -import subprocess -import tempfile -import textwrap - -from botocore.exceptions import ClientError - -from awscli.compat import shlex_quote, urlopen, ensure_text_type -from awscli.customizations.commands import BasicCommand -from awscli.customizations.utils import create_client_from_parsed_globals - - -LOG = logging.getLogger(__name__) - -IAM_USER_POLICY_NAME = "OpsWorks-Instance" -IAM_USER_POLICY_TIMEOUT = datetime.timedelta(minutes=15) -IAM_PATH = '/AWS/OpsWorks/' -IAM_POLICY_ARN = 'arn:aws:iam::aws:policy/AWSOpsWorksInstanceRegistration' - -HOSTNAME_RE = re.compile(r"^(?!-)[a-z0-9-]{1,63}(?$AGENT_TMP_DIR/opsworks-agent-installer/preconfig <]', - 'help_text': """Either the EC2 instance ID or the hostname of the - instance or machine to be registered with OpsWorks. - Cannot be used together with `--local`."""}, - ] - - def __init__(self, session): - super(OpsWorksRegister, self).__init__(session) - self._stack = None - self._ec2_instance = None - self._prov_params = None - self._use_address = None - self._use_hostname = None - self._name_for_iam = None - self.access_key = None - - def _create_clients(self, args, parsed_globals): - self.iam = self._session.create_client('iam') - self.opsworks = create_client_from_parsed_globals( - self._session, 'opsworks', parsed_globals) - - def _run_main(self, args, parsed_globals): - self._create_clients(args, parsed_globals) - - self.prevalidate_arguments(args) - self.retrieve_stack(args) - self.validate_arguments(args) - self.determine_details(args) - self.create_iam_entities(args) - self.setup_target_machine(args) - - def prevalidate_arguments(self, args): - """ - Validates command line arguments before doing anything else. - """ - if not args.target and not args.local: - raise ValueError("One of target or --local is required.") - elif args.target and args.local: - raise ValueError( - "Arguments target and --local are mutually exclusive.") - - if args.local and platform.system() != 'Linux': - raise ValueError( - "Non-Linux instances are not supported by AWS OpsWorks.") - - if args.ssh and (args.username or args.private_key): - raise ValueError( - "Argument --override-ssh cannot be used together with " - "--ssh-username or --ssh-private-key.") - - if args.infrastructure_class == 'ec2': - if args.private_ip: - raise ValueError( - "--override-private-ip is not supported for EC2.") - if args.public_ip: - raise ValueError( - "--override-public-ip is not supported for EC2.") - - if args.infrastructure_class == 'on-premises' and \ - args.use_instance_profile: - raise ValueError( - "--use-instance-profile is only supported for EC2.") - - if args.hostname: - if not HOSTNAME_RE.match(args.hostname): - raise ValueError( - "Invalid hostname: '%s'. Hostnames must consist of " - "letters, digits and dashes only and must not start or " - "end with a dash." % args.hostname) - - def retrieve_stack(self, args): - """ - Retrieves the stack from the API, thereby ensures that it exists. - - Provides `self._stack`, `self._prov_params`, `self._use_address`, and - `self._ec2_instance`. - """ - - LOG.debug("Retrieving stack and provisioning parameters") - self._stack = self.opsworks.describe_stacks( - StackIds=[args.stack_id] - )['Stacks'][0] - self._prov_params = \ - self.opsworks.describe_stack_provisioning_parameters( - StackId=self._stack['StackId'] - ) - - if args.infrastructure_class == 'ec2' and not args.local: - LOG.debug("Retrieving EC2 instance information") - ec2 = self._session.create_client( - 'ec2', region_name=self._stack['Region']) - - # `desc_args` are arguments for the describe_instances call, - # whereas `conditions` is a list of lambdas for further filtering - # on the results of the call. - desc_args = {'Filters': []} - conditions = [] - - # make sure that the platforms (EC2/VPC) and VPC IDs of the stack - # and the instance match - if 'VpcId' in self._stack: - desc_args['Filters'].append( - {'Name': 'vpc-id', 'Values': [self._stack['VpcId']]} - ) - else: - # Cannot search for non-VPC instances directly, thus filter - # afterwards - conditions.append(lambda instance: 'VpcId' not in instance) - - # target may be an instance ID, an IP address, or a name - if INSTANCE_ID_RE.match(args.target): - desc_args['InstanceIds'] = [args.target] - elif IP_ADDRESS_RE.match(args.target): - # Cannot search for either private or public IP at the same - # time, thus filter afterwards - conditions.append( - lambda instance: - instance.get('PrivateIpAddress') == args.target or - instance.get('PublicIpAddress') == args.target) - # also use the given address to connect - self._use_address = args.target - else: - # names are tags - desc_args['Filters'].append( - {'Name': 'tag:Name', 'Values': [args.target]} - ) - - # find all matching instances - instances = [ - i - for r in ec2.describe_instances(**desc_args)['Reservations'] - for i in r['Instances'] - if all(c(i) for c in conditions) - ] - - if not instances: - raise ValueError( - "Did not find any instance matching %s." % args.target) - elif len(instances) > 1: - raise ValueError( - "Found multiple instances matching %s: %s." % ( - args.target, - ", ".join(i['InstanceId'] for i in instances))) - - self._ec2_instance = instances[0] - - def validate_arguments(self, args): - """ - Validates command line arguments using the retrieved information. - """ - - if args.hostname: - instances = self.opsworks.describe_instances( - StackId=self._stack['StackId'] - )['Instances'] - if any(args.hostname.lower() == instance['Hostname'] - for instance in instances): - raise ValueError( - "Invalid hostname: '%s'. Hostnames must be unique within " - "a stack." % args.hostname) - - if args.infrastructure_class == 'ec2' and args.local: - # make sure the regions match - region = json.loads( - ensure_text_type(urlopen(IDENTITY_URL).read()))['region'] - if region != self._stack['Region']: - raise ValueError( - "The stack's and the instance's region must match.") - - def determine_details(self, args): - """ - Determine details (like the address to connect to and the hostname to - use) from the given arguments and the retrieved data. - - Provides `self._use_address` (if not provided already), - `self._use_hostname` and `self._name_for_iam`. - """ - - # determine the address to connect to - if not self._use_address: - if args.local: - pass - elif args.infrastructure_class == 'ec2': - if 'PublicIpAddress' in self._ec2_instance: - self._use_address = self._ec2_instance['PublicIpAddress'] - elif 'PrivateIpAddress' in self._ec2_instance: - LOG.warning( - "Instance does not have a public IP address. Trying " - "to use the private address to connect.") - self._use_address = self._ec2_instance['PrivateIpAddress'] - else: - # Should never happen - raise ValueError( - "The instance does not seem to have an IP address.") - elif args.infrastructure_class == 'on-premises': - self._use_address = args.target - - # determine the names to use - if args.hostname: - self._use_hostname = args.hostname - self._name_for_iam = args.hostname - elif args.local: - self._use_hostname = None - self._name_for_iam = socket.gethostname() - else: - self._use_hostname = None - self._name_for_iam = args.target - - def create_iam_entities(self, args): - """ - Creates an IAM group, user and corresponding credentials. - - Provides `self.access_key`. - """ - - if args.use_instance_profile: - LOG.debug("Skipping IAM entity creation") - self.access_key = None - return - - LOG.debug("Creating the IAM group if necessary") - group_name = "OpsWorks-%s" % clean_for_iam(self._stack['StackId']) - try: - self.iam.create_group(GroupName=group_name, Path=IAM_PATH) - LOG.debug("Created IAM group %s", group_name) - except ClientError as e: - if e.response.get('Error', {}).get('Code') == 'EntityAlreadyExists': - LOG.debug("IAM group %s exists, continuing", group_name) - # group already exists, good - pass - else: - raise - - # create the IAM user, trying alternatives if it already exists - LOG.debug("Creating an IAM user") - base_username = "OpsWorks-%s-%s" % ( - shorten_name(clean_for_iam(self._stack['Name']), 25), - shorten_name(clean_for_iam(self._name_for_iam), 25) - ) - for try_ in range(20): - username = base_username + ("+%s" % try_ if try_ else "") - try: - self.iam.create_user(UserName=username, Path=IAM_PATH) - except ClientError as e: - if e.response.get('Error', {}).get('Code') == 'EntityAlreadyExists': - LOG.debug( - "IAM user %s already exists, trying another name", - username - ) - # user already exists, try the next one - pass - else: - raise - else: - LOG.debug("Created IAM user %s", username) - break - else: - raise ValueError("Couldn't find an unused IAM user name.") - - LOG.debug("Adding the user to the group and attaching a policy") - self.iam.add_user_to_group(GroupName=group_name, UserName=username) - - try: - self.iam.attach_user_policy( - PolicyArn=IAM_POLICY_ARN, - UserName=username - ) - except ClientError as e: - if e.response.get('Error', {}).get('Code') == 'AccessDenied': - LOG.debug( - "Unauthorized to attach policy %s to user %s. Trying " - "to put user policy", - IAM_POLICY_ARN, - username - ) - self.iam.put_user_policy( - PolicyName=IAM_USER_POLICY_NAME, - PolicyDocument=self._iam_policy_document( - self._stack['Arn'], IAM_USER_POLICY_TIMEOUT), - UserName=username - ) - LOG.debug( - "Put policy %s to user %s", - IAM_USER_POLICY_NAME, - username - ) - else: - raise - else: - LOG.debug( - "Attached policy %s to user %s", - IAM_POLICY_ARN, - username - ) - - LOG.debug("Creating an access key") - self.access_key = self.iam.create_access_key( - UserName=username - )['AccessKey'] - - def setup_target_machine(self, args): - """ - Setups the target machine by copying over the credentials and starting - the installation process. - """ - - remote_script = REMOTE_SCRIPT % { - 'agent_installer_url': - self._prov_params['AgentInstallerUrl'], - 'preconfig': - self._to_ruby_yaml(self._pre_config_document(args)), - 'assets_download_bucket': - self._prov_params['Parameters']['assets_download_bucket'] - } - - if args.local: - LOG.debug("Running the installer locally") - subprocess.check_call(["/bin/sh", "-c", remote_script]) - else: - LOG.debug("Connecting to the target machine to run the installer.") - self.ssh(args, remote_script) - - def ssh(self, args, remote_script): - """ - Runs a (sh) script on a remote machine via SSH. - """ - - if platform.system() == 'Windows': - try: - script_file = tempfile.NamedTemporaryFile("wt", delete=False) - script_file.write(remote_script) - script_file.close() - if args.ssh: - call = args.ssh - else: - call = 'plink' - if args.username: - call += ' -l "%s"' % args.username - if args.private_key: - call += ' -i "%s"' % args.private_key - call += ' "%s"' % self._use_address - call += ' -m' - call += ' "%s"' % script_file.name - - subprocess.check_call(call, shell=True) - finally: - os.remove(script_file.name) - else: - if args.ssh: - call = shlex.split(str(args.ssh)) - else: - call = ['ssh', '-tt'] - if args.username: - call.extend(['-l', args.username]) - if args.private_key: - call.extend(['-i', args.private_key]) - call.append(self._use_address) - - remote_call = ["/bin/sh", "-c", remote_script] - call.append(" ".join(shlex_quote(word) for word in remote_call)) - subprocess.check_call(call) - - def _pre_config_document(self, args): - parameters = dict( - stack_id=self._stack['StackId'], - **self._prov_params["Parameters"] - ) - if self.access_key: - parameters['access_key_id'] = self.access_key['AccessKeyId'] - parameters['secret_access_key'] = \ - self.access_key['SecretAccessKey'] - if self._use_hostname: - parameters['hostname'] = self._use_hostname - if args.private_ip: - parameters['private_ip'] = args.private_ip - if args.public_ip: - parameters['public_ip'] = args.public_ip - parameters['import'] = args.infrastructure_class == 'ec2' - LOG.debug("Using pre-config: %r", parameters) - return parameters - - @staticmethod - def _iam_policy_document(arn, timeout=None): - statement = { - "Action": "opsworks:RegisterInstance", - "Effect": "Allow", - "Resource": arn, - } - if timeout is not None: - valid_until = datetime.datetime.utcnow() + timeout - statement["Condition"] = { - "DateLessThan": { - "aws:CurrentTime": - valid_until.strftime("%Y-%m-%dT%H:%M:%SZ") - } - } - policy_document = { - "Statement": [statement], - "Version": "2012-10-17" - } - return json.dumps(policy_document) - - @staticmethod - def _to_ruby_yaml(parameters): - return "\n".join(":%s: %s" % (k, json.dumps(v)) - for k, v in sorted(parameters.items())) - - -def clean_for_iam(name): - """ - Cleans a name to fit IAM's naming requirements. - """ - - return re.sub(r'[^A-Za-z0-9+=,.@_-]+', '-', name) - - -def shorten_name(name, max_length): - """ - Shortens a name to the given number of characters. - """ - - if len(name) <= max_length: - return name - q, r = divmod(max_length - 3, 2) - return name[:q + r] + "..." + name[-q:] diff --git a/awscli/customizations/opsworkscm.py b/awscli/customizations/opsworkscm.py deleted file mode 100644 index e3bad659ffa6..000000000000 --- a/awscli/customizations/opsworkscm.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from awscli.customizations.utils import alias_command - - -def register_alias_opsworks_cm(event_emitter): - event_emitter.register('building-command-table.main', alias_opsworks_cm) - - -def alias_opsworks_cm(command_table, **kwargs): - alias_command(command_table, 'opsworkscm', 'opsworks-cm') diff --git a/awscli/customizations/paginate.py b/awscli/customizations/paginate.py index c1400c5758e3..3bae390d7b18 100644 --- a/awscli/customizations/paginate.py +++ b/awscli/customizations/paginate.py @@ -24,14 +24,16 @@ """ import logging +import sys from functools import partial +from awscli.customizations.utils import uni_print from botocore import xform_name from botocore.exceptions import DataNotFoundError, PaginationError from botocore import model from awscli.arguments import BaseCLIArgument - +from awscli.utils import resolve_v2_debug_mode logger = logging.getLogger(__name__) @@ -133,6 +135,9 @@ def unify_paging_params(argument_table, operation_model, event_name, _remove_existing_paging_arguments(argument_table, paginator_config) parsed_args_event = event_name.replace('building-argument-table.', 'operation-args-parsed.') + call_parameters_event = event_name.replace( + 'building-argument-table', 'calling-command' + ) shadowed_args = {} add_paging_argument(argument_table, 'starting-token', PageArgument('starting-token', STARTING_TOKEN_HELP, @@ -166,6 +171,14 @@ def unify_paging_params(argument_table, operation_model, event_name, partial(check_should_enable_pagination, list(_get_all_cli_input_tokens(paginator_config)), shadowed_args, argument_table)) + session.register( + call_parameters_event, + partial( + check_should_enable_pagination_call_parameters, + session, + list(_get_all_input_tokens(paginator_config)), + ), + ) def add_paging_argument(argument_table, arg_name, argument, shadowed_args): @@ -238,6 +251,18 @@ def _get_all_cli_input_tokens(pagination_config): yield cli_name +# Get all tokens but return them in API namespace rather than CLI namespace +def _get_all_input_tokens(pagination_config): + # Get all input tokens including the limit_key + # if it exists. + tokens = _get_input_tokens(pagination_config) + for token_name in tokens: + yield token_name + if 'limit_key' in pagination_config: + key_name = pagination_config['limit_key'] + yield key_name + + def _get_input_tokens(pagination_config): tokens = pagination_config['input_token'] if not isinstance(tokens, list): @@ -251,6 +276,48 @@ def _get_cli_name(param_objects, token_name): return param.cli_name.lstrip('-') +def check_should_enable_pagination_call_parameters( + session, + input_tokens, + call_parameters, + parsed_args, + parsed_globals, + **kwargs +): + """ + Check for pagination args in the actual calling arguments passed to + the function. + + If the user is using the --cli-input-json parameter to provide JSON + parameters they are all in the API naming space rather than the CLI + naming space and would be missed by the processing above. This function + gets called on the calling-command event. + """ + if resolve_v2_debug_mode(parsed_globals): + cli_input_json_data = session.emit_first_non_none_response( + f"get-cli-input-json-data", + ) + if cli_input_json_data is None: + cli_input_json_data = {} + pagination_params_in_input_tokens = [ + param for param in cli_input_json_data if param in input_tokens + ] + if pagination_params_in_input_tokens: + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: In AWS CLI v2, if you specify ' + 'pagination parameters by using a file with the ' + '`--cli-input-json` parameter, automatic pagination will be ' + 'turned off. This is different from v1 behavior, where ' + 'pagination parameters specified via the `--cli-input-json` ' + 'parameter are ignored. To retain AWS CLI v1 behavior in ' + 'AWS CLI v2, remove all pagination parameters from the input ' + 'JSON. See https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html' + '#cliv2-migration-skeleton-paging.\n', + out_file=sys.stderr + ) + + class PageArgument(BaseCLIArgument): type_map = { 'string': str, @@ -266,6 +333,11 @@ def __init__(self, name, documentation, parse_type, serialized_name): self._parse_type = parse_type self._required = False + def _emit_non_positive_max_items_warning(self): + uni_print( + "warning: Non-positive values for --max-items may result in undefined behavior.\n", + sys.stderr) + @property def cli_name(self): return '--' + self._name @@ -292,6 +364,8 @@ def add_to_parser(self, parser): def add_to_params(self, parameters, value): if value is not None: + if self._serialized_name == 'MaxItems' and int(value) <= 0: + self._emit_non_positive_max_items_warning() pagination_config = parameters.get('PaginationConfig', {}) pagination_config[self._serialized_name] = value parameters['PaginationConfig'] = pagination_config diff --git a/awscli/customizations/rds.py b/awscli/customizations/rds.py index 5b62a79ef9c1..a3bf937252a7 100644 --- a/awscli/customizations/rds.py +++ b/awscli/customizations/rds.py @@ -29,6 +29,7 @@ from awscli.customizations import utils from awscli.customizations.commands import BasicCommand from awscli.customizations.utils import uni_print +from awscli.utils import create_nested_client def register_rds_modify_split(cli): @@ -95,7 +96,8 @@ class GenerateDBAuthTokenCommand(BasicCommand): ] def _run_main(self, parsed_args, parsed_globals): - rds = self._session.create_client( + rds = create_nested_client( + self._session, 'rds', region_name=parsed_globals.region, endpoint_url=parsed_globals.endpoint_url, diff --git a/awscli/customizations/removals.py b/awscli/customizations/removals.py index 128a67b36319..583664d17feb 100644 --- a/awscli/customizations/removals.py +++ b/awscli/customizations/removals.py @@ -51,13 +51,23 @@ def register_removals(event_handler): cmd_remover.remove(on_event='building-command-table.sagemaker-runtime', remove_commands=['invoke-endpoint-with-response-stream']) cmd_remover.remove(on_event='building-command-table.bedrock-runtime', - remove_commands=['invoke-model-with-response-stream']) + remove_commands=['invoke-model-with-response-stream', + 'invoke-model-with-bidirectional-stream', + 'converse-stream']) cmd_remover.remove(on_event='building-command-table.bedrock-agent-runtime', - remove_commands=['invoke-agent']) - cmd_remover.remove(on_event='building-command-table.logs', - remove_commands=['start-live-tail']) + remove_commands=['invoke-agent', + 'invoke-flow', + 'invoke-inline-agent', + 'optimize-prompt', + 'retrieve-and-generate-stream']) + cmd_remover.remove(on_event='building-command-table.bedrock-agentcore', + remove_commands=['invoke-code-interpreter']) cmd_remover.remove(on_event='building-command-table.qbusiness', remove_commands=['chat']) + cmd_remover.remove(on_event='building-command-table.iotsitewise', + remove_commands=['invoke-assistant']) + cmd_remover.remove(on_event='building-command-table.logs', + remove_commands=['get-log-object']) class CommandRemover(object): diff --git a/awscli/customizations/s3/comparator.py b/awscli/customizations/s3/comparator.py index efe49c63a120..bc29b438911d 100644 --- a/awscli/customizations/s3/comparator.py +++ b/awscli/customizations/s3/comparator.py @@ -31,7 +31,7 @@ def __init__(self, file_at_src_and_dest_sync_strategy, def call(self, src_files, dest_files): """ - This function preforms the actual comparisons. The parameters it takes + This function performs the actual comparisons. The parameters it takes are the generated files for both the source and the destination. The key concept in this function is that no matter the type of where the files are coming from, they are listed in the same order, least to diff --git a/awscli/customizations/s3/fileformat.py b/awscli/customizations/s3/fileformat.py index ef15fd6785af..f7452aa7af1e 100644 --- a/awscli/customizations/s3/fileformat.py +++ b/awscli/customizations/s3/fileformat.py @@ -73,11 +73,11 @@ def local_format(self, path, dir_op): 2) If the path of the destination exists and is a directory it will always use the name of the source file. 3) If the destination path ends with the appropriate operating - system seperator but is not an existing directory, the + system separator but is not an existing directory, the appropriate directories will be made and the file will use the source's name. 4) If the destination path does not end with the appropriate - operating system seperator and is not an existing directory, the + operating system separator and is not an existing directory, the appropriate directories will be created and the file name will be of the one provided. """ diff --git a/awscli/customizations/s3/filegenerator.py b/awscli/customizations/s3/filegenerator.py index ad0ab4f27c62..4571973d410c 100644 --- a/awscli/customizations/s3/filegenerator.py +++ b/awscli/customizations/s3/filegenerator.py @@ -21,7 +21,6 @@ from awscli.customizations.s3.utils import find_bucket_key, get_file_stat from awscli.customizations.s3.utils import BucketLister, create_warning, \ find_dest_path_comp_key, EPOCH_TIME -from awscli.compat import six from awscli.compat import queue _open = open @@ -95,7 +94,8 @@ def __init__(self, directory, filename): class FileStat(object): def __init__(self, src, dest=None, compare_key=None, size=None, last_update=None, src_type=None, dest_type=None, - operation_name=None, response_data=None): + operation_name=None, response_data=None, etag=None, + case_conflict_submitted=None, case_conflict_key=None,): self.src = src self.dest = dest self.compare_key = compare_key @@ -105,6 +105,9 @@ def __init__(self, src, dest=None, compare_key=None, size=None, self.dest_type = dest_type self.operation_name = operation_name self.response_data = response_data + self.etag = etag + self.case_conflict_submitted = case_conflict_submitted + self.case_conflict_key = case_conflict_key class FileGenerator(object): @@ -153,6 +156,7 @@ def _inject_extra_information(self, file_stat_kwargs, extra_information): src_type = file_stat_kwargs['src_type'] file_stat_kwargs['size'] = extra_information['Size'] file_stat_kwargs['last_update'] = extra_information['LastModified'] + file_stat_kwargs['etag'] = extra_information.get('ETag') # S3 objects require the response data retrieved from HeadObject # and ListObject @@ -250,7 +254,7 @@ def should_ignore_file_with_decoding_warnings(self, dirname, filename): happens we warn using a FileDecodingError that provides more information into what's going on. """ - if not isinstance(filename, six.text_type): + if not isinstance(filename, str): decoding_error = FileDecodingError(dirname, filename) warning = create_warning(repr(filename), decoding_error.error_message) @@ -367,4 +371,5 @@ def _list_single_object(self, s3_path): response['Size'] = int(response.pop('ContentLength')) last_update = parse(response['LastModified']) response['LastModified'] = last_update.astimezone(tzlocal()) + response['ETag'] = response.pop('ETag', None) return s3_path, response diff --git a/awscli/customizations/s3/fileinfo.py b/awscli/customizations/s3/fileinfo.py index 615be15e81f6..c77cf5803ebb 100644 --- a/awscli/customizations/s3/fileinfo.py +++ b/awscli/customizations/s3/fileinfo.py @@ -42,7 +42,8 @@ def __init__(self, src, dest=None, compare_key=None, size=None, last_update=None, src_type=None, dest_type=None, operation_name=None, client=None, parameters=None, source_client=None, is_stream=False, - associated_response_data=None): + associated_response_data=None, etag=None, + case_conflict_submitted=None, case_conflict_key=None,): self.src = src self.src_type = src_type self.operation_name = operation_name @@ -59,6 +60,9 @@ def __init__(self, src, dest=None, compare_key=None, size=None, self.source_client = source_client self.is_stream = is_stream self.associated_response_data = associated_response_data + self.etag = etag + self.case_conflict_submitted = case_conflict_submitted + self.case_conflict_key = case_conflict_key def is_glacier_compatible(self): """Determines if a file info object is glacier compatible diff --git a/awscli/customizations/s3/fileinfobuilder.py b/awscli/customizations/s3/fileinfobuilder.py index d539bbb051ef..9a34b0a5ac20 100644 --- a/awscli/customizations/s3/fileinfobuilder.py +++ b/awscli/customizations/s3/fileinfobuilder.py @@ -45,6 +45,13 @@ def _inject_info(self, file_base): file_info_attr['parameters'] = self._parameters file_info_attr['is_stream'] = self._is_stream file_info_attr['associated_response_data'] = file_base.response_data + file_info_attr['etag'] = file_base.etag + file_info_attr['case_conflict_submitted'] = getattr( + file_base, 'case_conflict_submitted', None + ) + file_info_attr['case_conflict_key'] = getattr( + file_base, 'case_conflict_key', None + ) # This is a bit quirky. The below conditional hinges on the --delete # flag being set, which only occurs during a sync command. The source diff --git a/awscli/customizations/s3/s3handler.py b/awscli/customizations/s3/s3handler.py index 3a1cf52998fb..84c42cd729f8 100644 --- a/awscli/customizations/s3/s3handler.py +++ b/awscli/customizations/s3/s3handler.py @@ -39,6 +39,7 @@ from awscli.customizations.s3.utils import RequestParamsMapper from awscli.customizations.s3.utils import StdoutBytesWriter from awscli.customizations.s3.utils import ProvideSizeSubscriber +from awscli.customizations.s3.utils import ProvideETagSubscriber from awscli.customizations.s3.utils import ProvideUploadContentTypeSubscriber from awscli.customizations.s3.utils import ProvideCopyContentTypeSubscriber from awscli.customizations.s3.utils import ProvideLastModifiedTimeSubscriber @@ -46,6 +47,7 @@ from awscli.customizations.s3.utils import DeleteSourceFileSubscriber from awscli.customizations.s3.utils import DeleteSourceObjectSubscriber from awscli.customizations.s3.utils import DeleteCopySourceObjectSubscriber +from awscli.customizations.s3.utils import CaseConflictCleanupSubscriber from awscli.compat import get_binary_stdin @@ -395,12 +397,20 @@ def can_submit(self, fileinfo): def _add_additional_subscribers(self, subscribers, fileinfo): subscribers.append(ProvideSizeSubscriber(fileinfo.size)) + subscribers.append(ProvideETagSubscriber(fileinfo.etag)) subscribers.append(DirectoryCreatorSubscriber()) subscribers.append(ProvideLastModifiedTimeSubscriber( fileinfo.last_update, self._result_queue)) if self._cli_params.get('is_move', False): subscribers.append(DeleteSourceObjectSubscriber( fileinfo.source_client)) + if fileinfo.case_conflict_submitted is not None: + subscribers.append( + CaseConflictCleanupSubscriber( + fileinfo.case_conflict_submitted, + fileinfo.case_conflict_key, + ) + ) def _submit_transfer_request(self, fileinfo, extra_args, subscribers): bucket, key = find_bucket_key(fileinfo.src) @@ -431,6 +441,7 @@ def can_submit(self, fileinfo): def _add_additional_subscribers(self, subscribers, fileinfo): subscribers.append(ProvideSizeSubscriber(fileinfo.size)) + subscribers.append(ProvideETagSubscriber(fileinfo.etag)) if self._should_inject_content_type(): subscribers.append(ProvideCopyContentTypeSubscriber()) if self._cli_params.get('is_move', False): diff --git a/awscli/customizations/s3/subcommands.py b/awscli/customizations/s3/subcommands.py index 996d103309a0..f77d7196e488 100644 --- a/awscli/customizations/s3/subcommands.py +++ b/awscli/customizations/s3/subcommands.py @@ -19,7 +19,6 @@ from dateutil.parser import parse from dateutil.tz import tzlocal -from awscli.compat import six from awscli.compat import queue from awscli.customizations.commands import BasicCommand from awscli.customizations.s3.comparator import Comparator @@ -35,9 +34,10 @@ S3PathResolver from awscli.customizations.utils import uni_print from awscli.customizations.s3.syncstrategy.base import MissingFileSync, \ - SizeAndLastModifiedSync, NeverSync + SizeAndLastModifiedSync, NeverSync, AlwaysSync +from awscli.customizations.s3.syncstrategy.caseconflict import CaseConflictSync from awscli.customizations.s3 import transferconfig - +from awscli.utils import resolve_v2_debug_mode LOGGER = logging.getLogger(__name__) @@ -452,6 +452,64 @@ ) } +CHECKSUM_MODE = { + 'name': 'checksum-mode', 'choices': ['ENABLED'], + 'help_text': 'To retrieve the checksum, this mode must be enabled. If the object has a ' + 'checksum, it will be verified.' +} + +CHECKSUM_ALGORITHM = { + 'name': 'checksum-algorithm', 'choices': ['CRC64NVME', 'CRC32', 'SHA256', 'SHA1', 'CRC32C'], + 'help_text': 'Indicates the algorithm used to create the checksum for the object.' +} + +BUCKET_NAME_PREFIX = { + 'name': 'bucket-name-prefix', + 'help_text': ( + 'Limits the response to bucket names that begin with the specified ' + 'bucket name prefix.' + ) +} + +BUCKET_REGION = { + 'name': 'bucket-region', + 'help_text': ( + 'Limits the response to buckets that are located in the specified ' + 'Amazon Web Services Region. The Amazon Web Services Region must be ' + 'expressed according to the Amazon Web Services Region code, such as ' + 'us-west-2 for the US West (Oregon) Region. For a list of the valid ' + 'values for all of the Amazon Web Services Regions, see ' + 'https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region' + ) +} + +CASE_CONFLICT = { + 'name': 'case-conflict', + 'choices': [ + 'ignore', + 'skip', + 'warn', + 'error', + ], + 'default': 'ignore', + 'help_text': ( + "Configures behavior when attempting to download multiple objects " + "whose keys differ only by case, which can cause undefined behavior " + "on case-insensitive filesystems. " + "This parameter only applies for commands that perform multiple S3 " + "to local downloads. " + f"See Handling case " + "conflicts for details. Valid values are: " + "
      " + "
    • ``error`` - Raise an error and abort downloads.
    • " + "
    • ``warn`` - Emit a warning and download the object.
    • " + "
    • ``skip`` - Skip downloading the object.
    • " + "
    • ``ignore`` - The default value. Ignore the conflict and " + "download the object.
    • " + "
    " + ), + } + TRANSFER_ARGS = [DRYRUN, QUIET, INCLUDE, EXCLUDE, ACL, FOLLOW_SYMLINKS, NO_FOLLOW_SYMLINKS, NO_GUESS_MIME_TYPE, SSE, SSE_C, SSE_C_KEY, SSE_KMS_KEY_ID, SSE_C_COPY_SOURCE, @@ -460,7 +518,7 @@ CONTENT_DISPOSITION, CONTENT_ENCODING, CONTENT_LANGUAGE, EXPIRES, SOURCE_REGION, ONLY_SHOW_ERRORS, NO_PROGRESS, PAGE_SIZE, IGNORE_GLACIER_WARNINGS, FORCE_GLACIER_TRANSFER, - REQUEST_PAYER] + REQUEST_PAYER, CHECKSUM_MODE, CHECKSUM_ALGORITHM] def get_client(session, region, endpoint_url, verify, config=None): @@ -484,7 +542,8 @@ class ListCommand(S3Command): USAGE = " or NONE" ARG_TABLE = [{'name': 'paths', 'nargs': '?', 'default': 's3://', 'positional_arg': True, 'synopsis': USAGE}, RECURSIVE, - PAGE_SIZE, HUMAN_READABLE, SUMMARIZE, REQUEST_PAYER] + PAGE_SIZE, HUMAN_READABLE, SUMMARIZE, REQUEST_PAYER, + BUCKET_NAME_PREFIX, BUCKET_REGION] def _run_main(self, parsed_args, parsed_globals): super(ListCommand, self)._run_main(parsed_args, parsed_globals) @@ -498,7 +557,11 @@ def _run_main(self, parsed_args, parsed_globals): path = path[5:] bucket, key = find_bucket_key(path) if not bucket: - self._list_all_buckets() + self._list_all_buckets( + parsed_args.page_size, + parsed_args.bucket_name_prefix, + parsed_args.bucket_region, + ) elif parsed_args.dir_op: # Then --recursive was specified. self._list_all_objects_recursive( @@ -562,13 +625,30 @@ def _display_page(self, response_data, use_basename=True): uni_print(print_str) self._at_first_page = False - def _list_all_buckets(self): - response_data = self.client.list_buckets() - buckets = response_data['Buckets'] - for bucket in buckets: - last_mod_str = self._make_last_mod_str(bucket['CreationDate']) - print_str = last_mod_str + ' ' + bucket['Name'] + '\n' - uni_print(print_str) + def _list_all_buckets( + self, + page_size=None, + prefix=None, + bucket_region=None, + ): + paginator = self.client.get_paginator('list_buckets') + paging_args = { + 'PaginationConfig': {'PageSize': page_size} + } + if prefix: + paging_args['Prefix'] = prefix + if bucket_region: + paging_args['BucketRegion'] = bucket_region + + iterator = paginator.paginate(**paging_args) + + for response_data in iterator: + buckets = response_data.get('Buckets', []) + + for bucket in buckets: + last_mod_str = self._make_last_mod_str(bucket['CreationDate']) + print_str = last_mod_str + ' ' + bucket['Name'] + '\n' + uni_print(print_str) def _list_all_objects_recursive(self, bucket, key, page_size=None, request_payer=None): @@ -715,6 +795,7 @@ def _run_main(self, parsed_args, parsed_globals): cmd_params.add_verify_ssl(parsed_globals) cmd_params.add_page_size(parsed_args) cmd_params.add_paths(parsed_args.paths) + cmd_params.add_v2_debug(parsed_globals) runtime_config = transferconfig.RuntimeConfig().build_config( **self._session.get_scoped_config().get('s3', {})) @@ -739,7 +820,7 @@ def _convert_path_args(self, parsed_args): parsed_args.paths = [parsed_args.paths] for i in range(len(parsed_args.paths)): path = parsed_args.paths[i] - if isinstance(path, six.binary_type): + if isinstance(path, bytes): dec_path = path.decode(sys.getfilesystemencoding()) enc_path = dec_path.encode('utf-8') new_path = enc_path.decode('utf-8') @@ -754,7 +835,8 @@ class CpCommand(S3TransferCommand): "or " ARG_TABLE = [{'name': 'paths', 'nargs': 2, 'positional_arg': True, 'synopsis': USAGE}] + TRANSFER_ARGS + \ - [METADATA, METADATA_DIRECTIVE, EXPECTED_SIZE, RECURSIVE] + [METADATA, METADATA_DIRECTIVE, EXPECTED_SIZE, RECURSIVE, + CASE_CONFLICT] class MvCommand(S3TransferCommand): @@ -764,7 +846,8 @@ class MvCommand(S3TransferCommand): "or " ARG_TABLE = [{'name': 'paths', 'nargs': 2, 'positional_arg': True, 'synopsis': USAGE}] + TRANSFER_ARGS +\ - [METADATA, METADATA_DIRECTIVE, RECURSIVE, VALIDATE_SAME_S3_PATHS] + [METADATA, METADATA_DIRECTIVE, RECURSIVE, VALIDATE_SAME_S3_PATHS, + CASE_CONFLICT] class RmCommand(S3TransferCommand): @@ -786,7 +869,7 @@ class SyncCommand(S3TransferCommand): " or " ARG_TABLE = [{'name': 'paths', 'nargs': 2, 'positional_arg': True, 'synopsis': USAGE}] + TRANSFER_ARGS + \ - [METADATA, METADATA_DIRECTIVE] + [METADATA, METADATA_DIRECTIVE, CASE_CONFLICT] class MbCommand(S3Command): @@ -802,6 +885,9 @@ def _run_main(self, parsed_args, parsed_globals): raise TypeError("%s\nError: Invalid argument type" % self.USAGE) bucket, _ = split_s3_bucket_key(parsed_args.path) + if is_s3express_bucket(bucket): + raise ValueError("Cannot use mb command with a directory bucket.") + bucket_config = {'LocationConstraint': self.client.meta.region_name} params = {'Bucket': bucket} if self.client.meta.region_name != 'us-east-1': @@ -948,7 +1034,16 @@ def choose_sync_strategies(self): # Set the default strategies. sync_strategies['file_at_src_and_dest_sync_strategy'] = \ SizeAndLastModifiedSync() - sync_strategies['file_not_at_dest_sync_strategy'] = MissingFileSync() + if self._should_handle_case_conflicts(): + sync_strategies['file_not_at_dest_sync_strategy'] = ( + CaseConflictSync( + on_case_conflict=self.parameters['case_conflict'] + ) + ) + else: + sync_strategies['file_not_at_dest_sync_strategy'] = ( + MissingFileSync() + ) sync_strategies['file_not_at_src_sync_strategy'] = NeverSync() # Determine what strategies to override if any. @@ -1001,6 +1096,24 @@ def run(self): result_queue = queue.Queue() operation_name = cmd_translation[paths_type] + if self.parameters['v2_debug']: + if operation_name == 'copy': + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: In AWS CLI v2, object ' + 'properties will be copied from the source in multipart ' + 'copies between S3 buckets initiated via `aws s3` ' + 'commands, resulting in additional S3 API calls to ' + 'transfer the metadata. Note that the principal must ' + 'have permission to call these APIs, or the command may ' + 'fail. This is different from v1 behavior, where metadata ' + 'is not copied. For guidance on retaining v1 behavior in ' + 'AWS CLI v2, or for more details, see ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html' + '#cliv2-migration-s3-copy-metadata.\n\n', + out_file=sys.stderr + ) + fgen_kwargs = { 'client': self._source_client, 'operation_name': operation_name, 'follow_symlinks': self.parameters['follow_symlinks'], @@ -1064,6 +1177,12 @@ def run(self): 'filters': [create_filter(self.parameters)], 'file_info_builder': [file_info_builder], 's3_handler': [s3_transfer_handler]} + if self._should_handle_case_conflicts(): + self._handle_case_conflicts( + command_dict, + rev_files, + rev_generator, + ) elif self.cmd == 'rm': command_dict = {'setup': [files], 'file_generator': [file_generator], @@ -1076,6 +1195,12 @@ def run(self): 'filters': [create_filter(self.parameters)], 'file_info_builder': [file_info_builder], 's3_handler': [s3_transfer_handler]} + if self._should_handle_case_conflicts(): + self._handle_case_conflicts( + command_dict, + rev_files, + rev_generator, + ) files = command_dict['setup'] while self.instructions: @@ -1141,6 +1266,74 @@ def _map_sse_c_params(self, request_parameters, paths_type): } ) + def _should_handle_case_conflicts(self): + return ( + self.cmd in {'sync', 'cp', 'mv'} + and self.parameters.get('paths_type') == 's3local' + and self.parameters['case_conflict'] != 'ignore' + and self.parameters.get('dir_op') + ) + + def _handle_case_conflicts(self, command_dict, rev_files, rev_generator): + # Objects are not returned in lexicographical order when + # operated on S3 Express directory buckets. This is required + # for sync operations to behave correctly, which is what + # recursive copies and moves fall back to so potential case + # conflicts can be detected and handled. + if not is_s3express_bucket( + split_s3_bucket_key(self.parameters['src'])[0] + ): + self._modify_instructions_for_case_conflicts( + command_dict, rev_files, rev_generator + ) + return + # `skip` and `error` are not valid choices in this case because + # it's not possible to detect case conflicts. + if self.parameters['case_conflict'] not in {'ignore', 'warn'}: + raise ValueError( + f"`{self.parameters['case_conflict']}` is not a valid value " + "for `--case-conflict` when operating on S3 Express " + "directory buckets. Valid values: `warn`, `ignore`." + ) + msg = ( + "warning: Recursive copies/moves from an S3 Express " + "directory bucket to a case-insensitive local filesystem " + "may result in undefined behavior if there are " + "S3 object key names that differ only by case. To disable " + "this warning, set the `--case-conflict` parameter to `ignore`. " + f"For more information, see {CaseConflictSync.DOC_URI}." + ) + uni_print(msg, sys.stderr) + + def _modify_instructions_for_case_conflicts( + self, command_dict, rev_files, rev_generator + ): + # Command will perform recursive S3 to local downloads. + # Checking for potential case conflicts requires knowledge + # of local files. Instead of writing a separate validation + # mechanism for recursive downloads, we modify the instructions + # to mimic a sync command. + sync_strategies = { + # Local filename exists with exact case match. Always sync + # because it's a copy operation. + 'file_at_src_and_dest_sync_strategy': AlwaysSync(), + # Local filename either doesn't exist or differs only by case. + # Let `CaseConflictSync` determine which it is and handle it + # according to configured `--case-conflict` parameter. + 'file_not_at_dest_sync_strategy': CaseConflictSync( + on_case_conflict=self.parameters['case_conflict'] + ), + # Copy is one-way so never sync if not at source. + 'file_not_at_src_sync_strategy': NeverSync(), + } + command_dict['setup'].append(rev_files) + command_dict['file_generator'].append(rev_generator) + command_dict['filters'].append(create_filter(self.parameters)) + command_dict['comparator'] = [Comparator(**sync_strategies)] + self.instructions.insert( + self.instructions.index('file_info_builder'), 'comparator' + ) + class CommandParameters(object): """ @@ -1232,6 +1425,17 @@ def _validate_path_args(self): if self._should_emit_validate_s3_paths_warning(): self._emit_validate_s3_paths_warning() + if params.get('checksum_algorithm'): + self._raise_if_paths_type_incorrect_for_param( + CHECKSUM_ALGORITHM['name'], + params['paths_type'], + ['locals3', 's3s3']) + if params.get('checksum_mode'): + self._raise_if_paths_type_incorrect_for_param( + CHECKSUM_MODE['name'], + params['paths_type'], + ['s3local']) + # If the user provided local path does not exist, hard fail because # we know that we will not be able to upload the file. if 'locals3' == params['paths_type'] and not params['is_stream']: @@ -1315,6 +1519,19 @@ def _raise_if_mv_same_paths(self, src, dest): f"{self.parameters['src']} - {self.parameters['dest']}" ) + def _raise_if_paths_type_incorrect_for_param(self, param, paths_type, allowed_paths): + if paths_type not in allowed_paths: + expected_usage_map = { + 'locals3': ' ', + 's3s3': ' ', + 's3local': ' ', + 's3': '' + } + raise ValueError( + f"Expected {param} parameter to be used with one of following path formats: " + f"{', '.join([expected_usage_map[path] for path in allowed_paths])}. Instead, received {expected_usage_map[paths_type]}." + ) + def _normalize_s3_trailing_slash(self, paths): for i, path in enumerate(paths): if path.startswith('s3://'): @@ -1368,6 +1585,9 @@ def add_verify_ssl(self, parsed_globals): def add_page_size(self, parsed_args): self.parameters['page_size'] = getattr(parsed_args, 'page_size', None) + def add_v2_debug(self, parsed_globals): + self.parameters['v2_debug'] = resolve_v2_debug_mode(parsed_globals) + def _validate_sse_c_args(self): self._validate_sse_c_arg() self._validate_sse_c_arg('sse_c_copy_source') diff --git a/awscli/customizations/s3/syncstrategy/base.py b/awscli/customizations/s3/syncstrategy/base.py index 3d6a3a663ae2..a3d653849d75 100644 --- a/awscli/customizations/s3/syncstrategy/base.py +++ b/awscli/customizations/s3/syncstrategy/base.py @@ -254,3 +254,12 @@ def determine_should_sync(self, src_file, dest_file): LOG.debug("syncing: %s -> %s, file does not exist at destination", src_file.src, src_file.dest) return True + + +class AlwaysSync(BaseSync): + def __init__(self, sync_type='file_at_src_and_dest'): + super(AlwaysSync, self).__init__(sync_type) + + def determine_should_sync(self, src_file, dest_file): + LOG.debug(f"syncing: {src_file.src} -> {src_file.dest}") + return True diff --git a/awscli/customizations/s3/syncstrategy/caseconflict.py b/awscli/customizations/s3/syncstrategy/caseconflict.py new file mode 100644 index 000000000000..8c8520a0c793 --- /dev/null +++ b/awscli/customizations/s3/syncstrategy/caseconflict.py @@ -0,0 +1,96 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +import logging +import os +import sys + +from awscli.customizations.s3.syncstrategy.base import BaseSync +from awscli.customizations.utils import uni_print + +LOG = logging.getLogger(__name__) + + +class CaseConflictException(Exception): + pass + + +class CaseConflictSync(BaseSync): + DOC_URI = ( + "https://docs.aws.amazon.com/cli/v1/topic/" + "s3-case-insensitivity.html" + ) + + def __init__( + self, + sync_type='file_not_at_dest', + on_case_conflict='ignore', + submitted=None, + ): + super().__init__(sync_type) + self._on_case_conflict = on_case_conflict + if submitted is None: + submitted = set() + self._submitted = submitted + + @property + def submitted(self): + return self._submitted + + def determine_should_sync(self, src_file, dest_file): + # `src_file.compare_key` and `dest_file.compare_key` are not equal. + # This could mean that they're completely different or differ + # only by case. eg, `/tmp/a` and `/tmp/b` versus `/tmp/a` and `/tmp/A`. + # If the source file's destination already exists, that means it + # differs only by case and the conflict needs to be handled. + should_sync = True + # Normalize compare key for case sensitivity. + lower_compare_key = src_file.compare_key.lower() + if lower_compare_key in self._submitted or os.path.exists( + src_file.dest + ): + handler = getattr(self, f"_handle_{self._on_case_conflict}") + should_sync = handler(src_file) + if should_sync: + LOG.debug(f"syncing: {src_file.src} -> {src_file.dest}") + self._submitted.add(lower_compare_key) + # Set properties so that a subscriber can be created + # that removes the key from the set after download finishes. + src_file.case_conflict_submitted = self._submitted + src_file.case_conflict_key = lower_compare_key + return should_sync + + @staticmethod + def _handle_ignore(src_file): + return True + + @staticmethod + def _handle_skip(src_file): + msg = ( + f"warning: Skipping {src_file.src} -> {src_file.dest} " + "because a file whose name differs only by case either exists " + "or is being downloaded.\n" + ) + uni_print(msg, sys.stderr) + return False + + @staticmethod + def _handle_warn(src_file): + msg = ( + f"warning: Downloading {src_file.src} -> {src_file.dest} " + "despite a file whose name differs only by case either existing " + "or being downloaded. This behavior is not defined on " + "case-insensitive filesystems and may result in overwriting " + "existing files or race conditions between concurrent downloads. " + f"For more information, see {CaseConflictSync.DOC_URI}.\n" + ) + uni_print(msg, sys.stderr) + return True + + @staticmethod + def _handle_error(src_file): + msg = ( + f"Failed to download {src_file.src} -> {src_file.dest} " + "because a file whose name differs only by case either exists " + "or is being downloaded." + ) + raise CaseConflictException(msg) diff --git a/awscli/customizations/s3/transferconfig.py b/awscli/customizations/s3/transferconfig.py index d65d21d5bca5..b533aee4eced 100644 --- a/awscli/customizations/s3/transferconfig.py +++ b/awscli/customizations/s3/transferconfig.py @@ -13,7 +13,6 @@ from s3transfer.manager import TransferConfig from awscli.customizations.s3.utils import human_readable_to_bytes -from awscli.compat import six # If the user does not specify any overrides, # these are the default values we use for the s3 transfer # commands. @@ -64,13 +63,13 @@ def build_config(self, **kwargs): def _convert_human_readable_sizes(self, runtime_config): for attr in self.HUMAN_READABLE_SIZES: value = runtime_config.get(attr) - if value is not None and not isinstance(value, six.integer_types): + if value is not None and not isinstance(value, int): runtime_config[attr] = human_readable_to_bytes(value) def _convert_human_readable_rates(self, runtime_config): for attr in self.HUMAN_READABLE_RATES: value = runtime_config.get(attr) - if value is not None and not isinstance(value, six.integer_types): + if value is not None and not isinstance(value, int): if not value.endswith('B/s'): raise InvalidConfigError( 'Invalid rate: %s. The value must be expressed ' diff --git a/awscli/customizations/s3/utils.py b/awscli/customizations/s3/utils.py index 8dda7331c4c0..b31e3f1a1443 100644 --- a/awscli/customizations/s3/utils.py +++ b/awscli/customizations/s3/utils.py @@ -32,7 +32,7 @@ EPOCH_TIME = datetime(1970, 1, 1, tzinfo=tzutc()) # Maximum object size allowed in S3. # See: http://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html -MAX_UPLOAD_SIZE = 5 * (1024 ** 4) +MAX_UPLOAD_SIZE = 5 * (1024 ** 3) * 10000 SIZE_SUFFIX = { 'kb': 1024, 'mb': 1024 ** 2, @@ -474,12 +474,14 @@ def map_put_object_params(cls, request_params, cli_params): cls._set_sse_request_params(request_params, cli_params) cls._set_sse_c_request_params(request_params, cli_params) cls._set_request_payer_param(request_params, cli_params) + cls._set_checksum_algorithm_param(request_params, cli_params) @classmethod def map_get_object_params(cls, request_params, cli_params): """Map CLI params to GetObject request params""" cls._set_sse_c_request_params(request_params, cli_params) cls._set_request_payer_param(request_params, cli_params) + cls._set_checksum_mode_param(request_params, cli_params) @classmethod def map_copy_object_params(cls, request_params, cli_params): @@ -492,6 +494,7 @@ def map_copy_object_params(cls, request_params, cli_params): cls._set_sse_c_and_copy_source_request_params( request_params, cli_params) cls._set_request_payer_param(request_params, cli_params) + cls._set_checksum_algorithm_param(request_params, cli_params) @classmethod def map_head_object_params(cls, request_params, cli_params): @@ -534,6 +537,16 @@ def _set_request_payer_param(cls, request_params, cli_params): if cli_params.get('request_payer'): request_params['RequestPayer'] = cli_params['request_payer'] + @classmethod + def _set_checksum_mode_param(cls, request_params, cli_params): + if cli_params.get('checksum_mode'): + request_params['ChecksumMode'] = cli_params['checksum_mode'] + + @classmethod + def _set_checksum_algorithm_param(cls, request_params, cli_params): + if cli_params.get('checksum_algorithm'): + request_params['ChecksumAlgorithm'] = cli_params['checksum_algorithm'] + @classmethod def _set_general_object_params(cls, request_params, cli_params): # Parameters set in this method should be applicable to the following @@ -636,6 +649,17 @@ def on_queued(self, future, **kwargs): future.meta.provide_transfer_size(self.size) +class ProvideETagSubscriber(BaseSubscriber): + """ + A subscriber which provides the object ETag before it's queued. + """ + def __init__(self, etag): + self.etag = etag + + def on_queued(self, future, **kwargs): + future.meta.provide_object_etag(self.etag) + + # TODO: Eventually port this down to the BaseSubscriber or a new subscriber # class in s3transfer. The functionality is very convenient but may need # some further design decisions to make it a feature in s3transfer. @@ -666,6 +690,20 @@ def _on_failure(self, future, e): pass +class CaseConflictCleanupSubscriber(BaseSubscriber): + """ + A subscriber which removes object compare key from case conflict set + when download finishes. + """ + + def __init__(self, submitted, case_conflict_key): + self._submitted = submitted + self._key = case_conflict_key + + def on_done(self, future, **kwargs): + self._submitted.discard(self._key) + + class DeleteSourceSubscriber(OnDoneFilteredSubscriber): """A subscriber which deletes the source of the transfer.""" def _on_success(self, future): diff --git a/awscli/customizations/s3events.py b/awscli/customizations/s3events.py index 5895a7e7c77c..a0522cb31f06 100644 --- a/awscli/customizations/s3events.py +++ b/awscli/customizations/s3events.py @@ -31,6 +31,12 @@ def register_event_stream_arg(event_handlers): ) +def register_document_expires_string(event_handlers): + event_handlers.register_last( + 'doc-output.s3api', + document_expires_string + ) + def add_event_stream_output_arg(argument_table, operation_model, session, **kwargs): argument_table['outfile'] = S3SelectStreamOutputArgument( @@ -56,6 +62,30 @@ def replace_event_stream_docs(help_command, **kwargs): doc.write("This command generates no output. The selected " "object content is written to the specified outfile.\n") +def document_expires_string(help_command, **kwargs): + doc = help_command.doc + expires_field_idx = doc.find_last_write('Expires -> (timestamp)') + + if expires_field_idx is None: + return + + deprecation_note_and_expires_string = [ + f'\n\n\n{" " * doc.style.indentation * doc.style.indent_width}', + '.. note::', + f'\n\n\n{" " * (doc.style.indentation + 1) * doc.style.indent_width}', + 'This member has been deprecated. Please use `ExpiresString` instead.\n', + f'\n\n{" " * doc.style.indentation * doc.style.indent_width}', + f'\n\n{" " * doc.style.indentation * doc.style.indent_width}', + 'ExpiresString -> (string)\n\n', + '\tThe raw, unparsed value of the ``Expires`` field.', + f'\n\n{" " * doc.style.indentation * doc.style.indent_width}' + ] + + for idx, write in enumerate(deprecation_note_and_expires_string): + # We add 4 to the index of the expires field name because each + # field in the output section consists of exactly 4 elements. + doc.insert_write(expires_field_idx + idx + 4, write) + class S3SelectStreamOutputArgument(CustomArgument): _DOCUMENT_AS_REQUIRED = True diff --git a/awscli/customizations/s3uploader.py b/awscli/customizations/s3uploader.py index e640b94ba55a..5e277c50b536 100644 --- a/awscli/customizations/s3uploader.py +++ b/awscli/customizations/s3uploader.py @@ -11,7 +11,6 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import hashlib import logging import threading import os @@ -19,6 +18,7 @@ import botocore import botocore.exceptions +from botocore.compat import get_md5 from s3transfer.manager import TransferManager from s3transfer.subscribers import BaseSubscriber @@ -27,6 +27,16 @@ LOG = logging.getLogger(__name__) +def _get_checksum(): + hashlib_params = {"usedforsecurity": False} + try: + checksum = get_md5(**hashlib_params) + except botocore.exceptions.MD5UnavailableError: + import hashlib + checksum = hashlib.sha256(**hashlib_params) + return checksum + + class NoSuchBucketError(Exception): def __init__(self, **kwargs): msg = self.fmt.format(**kwargs) @@ -81,7 +91,7 @@ def upload(self, file_name, remote_path): """ Uploads given file to S3 :param file_name: Path to the file that will be uploaded - :param remote_path: be uploaded + :param remote_path: Path where the file will be uploaded :return: VersionId of the latest upload """ @@ -128,7 +138,7 @@ def upload(self, file_name, remote_path): def upload_with_dedup(self, file_name, extension=None): """ - Makes and returns name of the S3 object based on the file's MD5 sum + Makes and returns name of the S3 object based on the file's checksum :param file_name: file to upload :param extension: String of file extension to append to the object @@ -140,8 +150,8 @@ def upload_with_dedup(self, file_name, extension=None): # and re-upload only if necessary. So the template points to same file # in multiple places, this will upload only once - filemd5 = self.file_checksum(file_name) - remote_path = filemd5 + file_checksum = self.file_checksum(file_name) + remote_path = file_checksum if extension: remote_path = remote_path + "." + extension @@ -172,7 +182,7 @@ def make_url(self, obj_path): def file_checksum(self, file_name): with open(file_name, "rb") as file_handle: - md5 = hashlib.md5() + checksum = _get_checksum() # Read file in chunks of 4096 bytes block_size = 4096 @@ -182,13 +192,13 @@ def file_checksum(self, file_name): buf = file_handle.read(block_size) while len(buf) > 0: - md5.update(buf) + checksum.update(buf) buf = file_handle.read(block_size) # Restore file cursor's position file_handle.seek(curpos) - return md5.hexdigest() + return checksum.hexdigest() def to_path_style_s3_url(self, key, version=None): """ diff --git a/awscli/customizations/scalarparse.py b/awscli/customizations/scalarparse.py index 20266f41b91e..ca958c52cd88 100644 --- a/awscli/customizations/scalarparse.py +++ b/awscli/customizations/scalarparse.py @@ -27,9 +27,14 @@ in the future. """ +import sys + from botocore.utils import parse_timestamp from botocore.exceptions import ProfileNotFound +from awscli.customizations.utils import uni_print +from awscli.utils import resolve_v2_debug_mode + def register_scalar_parser(event_handlers): event_handlers.register_first( @@ -44,12 +49,20 @@ def iso_format(value): return parse_timestamp(value).isoformat() -def add_timestamp_parser(session): +def add_timestamp_parser(session, v2_debug=False): factory = session.get_component('response_parser_factory') + print_v2_debug_warnings = v2_debug try: timestamp_format = session.get_scoped_config().get( 'cli_timestamp_format', - 'none') + None) + if timestamp_format is not None: + # We do not want to print v2 debug warnings if the user explicitly + # configured the cli_timestamp_format, they would not be + # broken in that case. + print_v2_debug_warnings = False + else: + timestamp_format = 'wire' except ProfileNotFound: # If a --profile is provided that does not exist, loading # a value from get_scoped_config will crash the CLI. @@ -57,23 +70,49 @@ def add_timestamp_parser(session): # the session-initialized event, which happens before a # profile can be created, even if the command would have # successfully created a profile. Instead of crashing here - # on a ProfileNotFound the CLI should just use 'none'. - timestamp_format = 'none' - if timestamp_format == 'none': + # on a ProfileNotFound the CLI should just use 'wire'. + timestamp_format = 'wire' + # We also support 'none' for backwards compatibility reasons, though we + # document 'wire' instead. + if timestamp_format == 'wire' or timestamp_format == 'none': # For backwards compatibility reasons, we replace botocore's timestamp # parser (which parses to a datetime.datetime object) with the # identity function which prints the date exactly the same as it comes # across the wire. - timestamp_parser = identity + encountered_timestamp = False + def identity_with_warning(x): + # To prevent printing the same warning for each timestamp in the + # response, we utilize a reference to a nonlocal variable to track + # if we have already printed the warning. + nonlocal encountered_timestamp + if not encountered_timestamp: + encountered_timestamp = True + uni_print( + '\nAWS CLI v2 UPGRADE WARNING: In AWS CLI v2, all ' + 'timestamp response values are returned in the ISO 8601 ' + 'format. This is different from v1 behavior, where the ' + 'timestamps are returned as they appear in the service ' + 'API response. To retain AWS CLI v1 behavior in AWS CLI ' + 'v2, set the configuration variable ' + '`cli_timestamp_format` to `wire`. See ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html' + '#cliv2-migration-timestamp.\n', + out_file=sys.stderr + ) + return identity(x) + + timestamp_parser = identity_with_warning \ + if print_v2_debug_warnings else identity elif timestamp_format == 'iso8601': timestamp_parser = iso_format else: raise ValueError('Unknown cli_timestamp_format value: %s, valid values' - ' are "none" or "iso8601"' % timestamp_format) + ' are "none", "wire" or "iso8601"' % timestamp_format) factory.set_parser_defaults(timestamp_parser=timestamp_parser) -def add_scalar_parsers(session, **kwargs): +def add_scalar_parsers(session, parsed_args=None, **kwargs): factory = session.get_component('response_parser_factory') factory.set_parser_defaults(blob_parser=identity) - add_timestamp_parser(session) + add_timestamp_parser(session, resolve_v2_debug_mode(parsed_args)) diff --git a/awscli/customizations/sessionmanager.py b/awscli/customizations/sessionmanager.py index 92a8f8ffbe8a..cfbffe22a298 100644 --- a/awscli/customizations/sessionmanager.py +++ b/awscli/customizations/sessionmanager.py @@ -104,11 +104,12 @@ def invoke(self, service_name, operation_name, parameters, response = client.start_session(**parameters) session_id = response['SessionId'] region_name = client.meta.region_name - # profile_name is used to passed on to session manager plugin + # Profile_name is used to passed on to session manager plugin # to fetch same profile credentials to make an api call in the plugin. - # If no profile is passed then pass on empty string - profile_name = self._session.profile \ - if self._session.profile is not None else '' + # If --profile flag is configured, pass it to Session Manager plugin. + # If not, set empty string. + profile_name = parsed_globals.profile \ + if parsed_globals.profile is not None else '' endpoint_url = client.meta.endpoint_url ssm_env_name = self.DEFAULT_SSM_ENV_NAME diff --git a/awscli/customizations/socialmessaging.py b/awscli/customizations/socialmessaging.py new file mode 100644 index 000000000000..d872fed05c3b --- /dev/null +++ b/awscli/customizations/socialmessaging.py @@ -0,0 +1,28 @@ +# Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from awscli.customizations.utils import make_hidden_command_alias + + +def register_alias_socialmessaging_command(event_emitter): + event_emitter.register( + 'building-command-table.socialmessaging', + alias_socialmessaging_command + ) + + +def alias_socialmessaging_command(command_table, **kwargs): + make_hidden_command_alias( + command_table, + existing_name='delete-whatsapp-message-media', + alias_name='delete-whatsapp-media-message', + ) diff --git a/awscli/customizations/utils.py b/awscli/customizations/utils.py index 216960702a86..c5055418c4c3 100644 --- a/awscli/customizations/utils.py +++ b/awscli/customizations/utils.py @@ -18,6 +18,7 @@ import sys from botocore.exceptions import ClientError +from awscli.utils import create_nested_client def rename_argument(argument_table, existing_name, new_name): @@ -172,7 +173,7 @@ def create_client_from_parsed_globals(session, service_name, parsed_globals, client_args['verify'] = parsed_globals.verify_ssl if overrides: client_args.update(overrides) - return session.create_client(service_name, **client_args) + return create_nested_client(session, service_name, **client_args) def uni_print(statement, out_file=None): diff --git a/awscli/customizations/waiters.py b/awscli/customizations/waiters.py index f36eff85284e..1ea632cfd2af 100644 --- a/awscli/customizations/waiters.py +++ b/awscli/customizations/waiters.py @@ -16,6 +16,7 @@ from awscli.clidriver import ServiceOperation from awscli.customizations.commands import BasicCommand, BasicHelp, \ BasicDocHandler +from awscli.utils import create_nested_client def register_add_waiters(cli): @@ -200,8 +201,8 @@ def __init__(self, session, waiter_name): self._waiter_name = waiter_name def invoke(self, service_name, operation_name, parameters, parsed_globals): - client = self._session.create_client( - service_name, region_name=parsed_globals.region, + client = create_nested_client( + self._session, service_name, region_name=parsed_globals.region, endpoint_url=parsed_globals.endpoint_url, verify=parsed_globals.verify_ssl) waiter = client.get_waiter(xform_name(self._waiter_name)) diff --git a/awscli/data/cli.json b/awscli/data/cli.json index 9e4a91795d7a..25687399d05c 100644 --- a/awscli/data/cli.json +++ b/awscli/data/cli.json @@ -17,7 +17,7 @@ }, "no-paginate": { "action": "store_false", - "help": "

    Disable automatic pagination.

    ", + "help": "

    Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

    ", "dest": "paginate" }, "output": { @@ -64,6 +64,11 @@ "dest": "connect_timeout", "type": "int", "help": "

    The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

    " + }, + "v2-debug": { + "action": "store_true", + "dest": "v2_debug", + "help": "

    Enable AWS CLI v2 migration assistance. Prints warnings if the command would face a breaking change after swapping AWS CLI v1 for AWS CLI v2 in the current environment. Prints one warning for each breaking change detected.

    " } } } diff --git a/awscli/errorhandler.py b/awscli/errorhandler.py index 20f38bac640e..0984cf40aa64 100644 --- a/awscli/errorhandler.py +++ b/awscli/errorhandler.py @@ -16,16 +16,27 @@ class BaseOperationError(Exception): - MSG_TEMPLATE = ("A {error_type} error ({error_code}) occurred " - "when calling the {operation_name} operation: " - "{error_message}") + MSG_TEMPLATE = ( + "A {error_type} error ({error_code}) occurred " + "when calling the {operation_name} operation: " + "{error_message}" + ) - def __init__(self, error_code, error_message, error_type, operation_name, - http_status_code): + def __init__( + self, + error_code, + error_message, + error_type, + operation_name, + http_status_code, + ): msg = self.MSG_TEMPLATE.format( - error_code=error_code, error_message=error_message, - error_type=error_type, operation_name=operation_name) - super(BaseOperationError, self).__init__(msg) + error_code=error_code, + error_message=error_message, + error_type=error_type, + operation_name=operation_name, + ) + super().__init__(msg) self.error_code = error_code self.error_message = error_message self.error_type = error_type @@ -41,7 +52,7 @@ class ServerError(BaseOperationError): pass -class ErrorHandler(object): +class ErrorHandler: """ This class is responsible for handling any HTTP errors that occur when a service operation is called. It is registered for the @@ -59,15 +70,21 @@ def __call__(self, http_response, parsed, model, **kwargs): if http_response.status_code >= 500: error_type = 'server' error_class = ServerError - elif http_response.status_code >= 400 or http_response.status_code == 301: + elif ( + http_response.status_code >= 400 + or http_response.status_code == 301 + ): error_type = 'client' error_class = ClientError if error_class is not None: code, message = self._get_error_code_and_message(parsed) raise error_class( - error_code=code, error_message=message, - error_type=error_type, operation_name=model.name, - http_status_code=http_response.status_code) + error_code=code, + error_message=message, + error_type=error_type, + operation_name=model.name, + http_status_code=http_response.status_code, + ) def _get_error_code_and_message(self, response): code = 'Unknown' diff --git a/awscli/examples/accessanalyzer/check-access-not-granted.rst b/awscli/examples/accessanalyzer/check-access-not-granted.rst index 559fd63e30fd..06eb1924c8b3 100644 --- a/awscli/examples/accessanalyzer/check-access-not-granted.rst +++ b/awscli/examples/accessanalyzer/check-access-not-granted.rst @@ -19,8 +19,8 @@ Contents of ``myfile.json``:: "s3:ListBucket" ], "Resource": [ - "arn:aws:s3:::DOC-EXAMPLE-BUCKET", - "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" + "arn:aws:s3:::amzn-s3-demo-bucket", + "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] @@ -30,7 +30,7 @@ Output:: { "result": "PASS", - "message": "The policy document does not grant access to perform the listed actions." + "message": "The policy document does not grant access to perform one or more of the listed actions." } For more information, see `Previewing access with IAM Access Analyzer APIs `__ in the *AWS IAM User Guide*. \ No newline at end of file diff --git a/awscli/examples/accessanalyzer/check-no-new-access.rst b/awscli/examples/accessanalyzer/check-no-new-access.rst index d87d7085370f..2f339afaa0ee 100644 --- a/awscli/examples/accessanalyzer/check-no-new-access.rst +++ b/awscli/examples/accessanalyzer/check-no-new-access.rst @@ -19,8 +19,8 @@ Contents of ``existing-policy.json``:: "s3:ListBucket" ], "Resource": [ - "arn:aws:s3:::DOC-EXAMPLE-BUCKET", - "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" + "arn:aws:s3:::amzn-s3-demo-bucket", + "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] @@ -39,8 +39,8 @@ Contents of ``new-policy.json``:: "s3:ListBucket" ], "Resource": [ - "arn:aws:s3:::DOC-EXAMPLE-BUCKET", - "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" + "arn:aws:s3:::amzn-s3-demo-bucket", + "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] diff --git a/awscli/examples/accessanalyzer/check-no-public-access.rst b/awscli/examples/accessanalyzer/check-no-public-access.rst new file mode 100644 index 000000000000..bcba8b657f69 --- /dev/null +++ b/awscli/examples/accessanalyzer/check-no-public-access.rst @@ -0,0 +1,32 @@ +**To check whether a resource policy can grant public access to the specified resource type** + +The following ``check-no-public-access`` example checks whether a resource policy can grant public access to the specified resource type. :: + + aws accessanalyzer check-no-public-access \ + --policy-document file://check-no-public-access-myfile.json \ + --resource-type AWS::S3::Bucket + +Contents of ``myfile.json``:: + + { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "CheckNoPublicAccess", + "Effect": "Allow", + "Principal": { "AWS": "arn:aws:iam::111122223333:user/JohnDoe" }, + "Action": [ + "s3:GetObject" + ] + } + ] + } + +Output:: + + { + "result": "PASS", + "message": "The resource policy does not grant public access for the given resource type." + } + +For more information, see `Previewing access with IAM Access Analyzer APIs `__ in the *AWS IAM User Guide*. diff --git a/awscli/examples/accessanalyzer/create-access-preview.rst b/awscli/examples/accessanalyzer/create-access-preview.rst index 0a9c93bb6f0c..2a12685763af 100644 --- a/awscli/examples/accessanalyzer/create-access-preview.rst +++ b/awscli/examples/accessanalyzer/create-access-preview.rst @@ -9,9 +9,9 @@ The following ``create-access-preview`` example creates an access preview that a Contents of ``myfile.json``:: { - "arn:aws:s3:::DOC-EXAMPLE-BUCKET": { + "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { - "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*\"}]}", + "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketPublicAccessBlock": { "ignorePublicAcls": true, "restrictPublicBuckets": true diff --git a/awscli/examples/accessanalyzer/get-access-preview.rst b/awscli/examples/accessanalyzer/get-access-preview.rst index 6ce66cfe0623..519f4bbff485 100644 --- a/awscli/examples/accessanalyzer/get-access-preview.rst +++ b/awscli/examples/accessanalyzer/get-access-preview.rst @@ -13,9 +13,9 @@ Output:: "id": "3c65eb13-6ef9-4629-8919-a32043619e6b", "analyzerArn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account", "configurations": { - "arn:aws:s3:::DOC-EXAMPLE-BUCKET": { + "arn:aws:s3:::amzn-s3-demo-bucket": { "s3Bucket": { - "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*\"}]}", + "bucketPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\"]},\"Action\":[\"s3:PutObject\",\"s3:PutObjectAcl\"],\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"}]}", "bucketAclGrants": [ { "permission": "READ", diff --git a/awscli/examples/accessanalyzer/get-analyzed-resource.rst b/awscli/examples/accessanalyzer/get-analyzed-resource.rst index 50f3eb9092ac..b05ac7fffab9 100644 --- a/awscli/examples/accessanalyzer/get-analyzed-resource.rst +++ b/awscli/examples/accessanalyzer/get-analyzed-resource.rst @@ -4,7 +4,7 @@ The following ``get-analyzed-resource`` example retrieves information about a re aws accessanalyzer get-analyzed-resource \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ - --resource-arn arn:aws:s3:::DOC-EXAMPLE-BUCKET + --resource-arn arn:aws:s3:::amzn-s3-demo-bucket Output:: @@ -12,7 +12,7 @@ Output:: "resource": { "analyzedAt": "2024-02-15T18:01:53.002000+00:00", "isPublic": false, - "resourceArn": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", + "resourceArn": "arn:aws:s3:::amzn-s3-demo-bucket", "resourceOwnerAccount": "111122223333", "resourceType": "AWS::S3::Bucket" } diff --git a/awscli/examples/accessanalyzer/list-access-preview-findings.rst b/awscli/examples/accessanalyzer/list-access-preview-findings.rst index cc814303985c..23383c510767 100644 --- a/awscli/examples/accessanalyzer/list-access-preview-findings.rst +++ b/awscli/examples/accessanalyzer/list-access-preview-findings.rst @@ -20,7 +20,7 @@ Output:: "s3:PutObjectAcl" ], "condition": {}, - "resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", + "resource": "arn:aws:s3:::amzn-s3-demo-bucket", "isPublic": false, "resourceType": "AWS::S3::Bucket", "createdAt": "2024-02-17T00:18:46+00:00", diff --git a/awscli/examples/accessanalyzer/list-analyzers.rst b/awscli/examples/accessanalyzer/list-analyzers.rst index b2c68ea8134c..95b595c7e420 100644 --- a/awscli/examples/accessanalyzer/list-analyzers.rst +++ b/awscli/examples/accessanalyzer/list-analyzers.rst @@ -21,7 +21,7 @@ Output:: { "arn": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-organization", "createdAt": "2020-04-25T07:43:28+00:00", - "lastResourceAnalyzed": "arn:aws:s3:::DOC-EXAMPLE-BUCKET", + "lastResourceAnalyzed": "arn:aws:s3:::amzn-s3-demo-bucket", "lastResourceAnalyzedAt": "2024-02-15T21:51:56.517000+00:00", "name": "ConsoleAnalyzer-organization", "status": "ACTIVE", diff --git a/awscli/examples/apigateway/create-domain-name-access-association.rst b/awscli/examples/apigateway/create-domain-name-access-association.rst new file mode 100644 index 000000000000..6f09062431a7 --- /dev/null +++ b/awscli/examples/apigateway/create-domain-name-access-association.rst @@ -0,0 +1,19 @@ +**To create a domain name access association** + +The following ``create-domain-name-access-association`` example creates a domain name access association between a private custom domain name and VPC endpoint. :: + + aws apigateway create-domain-name-access-association \ + --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/my.private.domain.tld+abcd1234 \ + --access-association-source vpce-abcd1234efg \ + --access-association-source-type VPCE + +Output:: + + { + "domainNameAccessAssociationArn": "arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg + "accessAssociationSource": "vpce-abcd1234efg", + "accessAssociationSourceType": "VPCE", + "domainNameArn" : "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234" + } + +For more information, see `Custom domain names for private APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/apigateway/create-domain-name.rst b/awscli/examples/apigateway/create-domain-name.rst index 96f62d02f541..9970cbf30c25 100644 --- a/awscli/examples/apigateway/create-domain-name.rst +++ b/awscli/examples/apigateway/create-domain-name.rst @@ -1,5 +1,89 @@ -**To create the custom domain name** +**Example 1: To create a public custom domain name** -Command:: +The following ``create-domain-name`` example creates a public custom domain name. :: - aws apigateway create-domain-name --domain-name 'my.domain.tld' --certificate-name 'my.domain.tld cert' --certificate-arn 'arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3' + aws apigateway create-domain-name \ + --domain-name 'my.domain.tld' \ + --certificate-name 'my.domain.tld cert'\ + --certificate-arn 'arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3' + +Output:: + + { + "domainName": "my.domain.tld", + "certificateName": "my.domain.tld cert", + "certificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", + "certificateUploadDate": "2024-10-08T11:29:49-07:00", + "distributionDomainName": "abcd1234.cloudfront.net", + "distributionHostedZoneId": "Z2FDTNDATAQYW2", + "endpointConfiguration": { + "types": [ + "EDGE" + ] + }, + "domainNameStatus": "AVAILABLE", + "securityPolicy": "TLS_1_2" + } + +For more information, see `Custom domain name for public REST APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. + +**Example 2: To create a private custom domain name** + +The following ``create-domain-name`` example creates a private custom domain name. :: + + aws apigateway create-domain-name \ + --domain-name 'my.private.domain.tld' \ + --certificate-name 'my.domain.tld cert' \ + --certificate-arn 'arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3' \ + --endpoint-configuration '{"types": ["PRIVATE"]}' \ + --security-policy 'TLS_1_2' \ + --policy file://policy.json + +Contents of ``policy.json``:: + + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": "*", + "Action": "execute-api:Invoke", + "Resource": [ + "execute-api:/*" + ] + }, + { + "Effect": "Deny", + "Principal": "*", + "Action": "execute-api:Invoke", + "Resource": [ + "execute-api:/*" + ], + "Condition" : { + "StringNotEquals": { + "aws:SourceVpce": "vpce-abcd1234efg" + } + } + } + ] + } + +Output:: + + { + "domainName": "my.private.domain.tld", + "domainNameId": "abcd1234", + "domainNameArn": "arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234", + "certificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", + "certificateUploadDate": "2024-09-10T10:31:20-07:00", + "endpointConfiguration": { + "types": [ + "PRIVATE" + ] + }, + "domainNameStatus": "AVAILABLE", + "securityPolicy": "TLS_1_2", + "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpc\":\"vpc-1a2b3c4d\"}}}]}" + } + +For more information, see `Custom domain name for public REST APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/apigateway/delete-domain-name-access-association.rst b/awscli/examples/apigateway/delete-domain-name-access-association.rst new file mode 100644 index 000000000000..a958eff6dd5b --- /dev/null +++ b/awscli/examples/apigateway/delete-domain-name-access-association.rst @@ -0,0 +1,10 @@ +**To delete a domain name access association** + +The following ``delete-domain-name-access-association`` example deletes a domain name access association between a private custom domain name and VPC endpoint. :: + + aws apigateway delete-domain-name-access-association \ + --domain-name-access-association-arn arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg + +This command produces no output. + +For more information, see `Custom domain names for private APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/apigateway/flush-stage-cache.rst b/awscli/examples/apigateway/flush-stage-cache.rst index 3fdae72763f1..57bd049418c6 100644 --- a/awscli/examples/apigateway/flush-stage-cache.rst +++ b/awscli/examples/apigateway/flush-stage-cache.rst @@ -1,5 +1,11 @@ **To flush the cache for an API's stage** -Command:: +The following ``flush-stage-cache`` example flushes the cache of a stage. :: - aws apigateway flush-stage-cache --rest-api-id 1234123412 --stage-name dev + aws apigateway flush-stage-cache \ + --rest-api-id 1234123412 \ + --stage-name dev + +This command produces no output. + +For more information, see `Flush the API stage cache in API Gateway `_ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/apigateway/get-domain-name-access-associations.rst b/awscli/examples/apigateway/get-domain-name-access-associations.rst new file mode 100644 index 000000000000..a0954fc9f7e8 --- /dev/null +++ b/awscli/examples/apigateway/get-domain-name-access-associations.rst @@ -0,0 +1,42 @@ +**Example 1: To list all domain name access associations** + +The following ``get-domain-name-access-associations`` example lists all domain name access associations. :: + + aws apigateway get-domain-name-access-associations + +Output:: + + { + "items": [ + { + "domainNameAccessAssociationArn": "arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg + "accessAssociationSource": "vpce-abcd1234efg", + "accessAssociationSourceType": "VPCE", + "domainNameArn" : "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234" + } + ] + } + +For more information, see `Custom domain names for private APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. + +**Example 2: To list all domain name access associations owned by this AWS account** + +The following ``get-domain-name-access-associations`` example lists all the domain name access associations owned by the current AWS account. :: + + aws apigateway get-domain-name-access-associations \ + --resource-owner SELF + +Output:: + + { + "items": [ + { + "domainNameAccessAssociationArn": "arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg + "accessAssociationSource": "vpce-abcd1234efg", + "accessAssociationSourceType": "VPCE", + "domainNameArn" : "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234" + } + ] + } + +For more information, see `Custom domain names for private APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/apigateway/get-domain-name.rst b/awscli/examples/apigateway/get-domain-name.rst index ac87fd04f646..0a53f006c23a 100644 --- a/awscli/examples/apigateway/get-domain-name.rst +++ b/awscli/examples/apigateway/get-domain-name.rst @@ -1,14 +1,45 @@ -**To get information about a custom domain name** +**Example 1: To get information about a public custom domain name** -Command:: +The following ``get-domain-name`` example gets information about a public custom domain name. :: - aws apigateway get-domain-name --domain-name api.domain.tld + aws apigateway get-domain-name \ + --domain-name api.domain.tld Output:: - { - "domainName": "api.domain.tld", - "distributionDomainName": "d1a2f3a4c5o6d.cloudfront.net", - "certificateName": "uploadedCertificate", - "certificateUploadDate": 1462565487 - } + { + "domainName": "api.domain.tld", + "distributionDomainName": "d1a2f3a4c5o6d.cloudfront.net", + "certificateName": "uploadedCertificate", + "certificateUploadDate": 1462565487 + } + +For more information, see `Custom domain name for public REST APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. + +**Example 2: To get information about a private custom domain name** + +The following ``get-domain-name`` example gets information about a private custom domain name. :: + + aws apigateway get-domain-name \ + --domain-name api.private.domain.tld \ + --domain-name-id abcd1234 + +Output:: + + { + "domainName": "my.private.domain.tld", + "domainNameId": "abcd1234", + "domainNameArn": "arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234", + "certificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", + "certificateUploadDate": "2024-09-10T10:31:20-07:00", + "endpointConfiguration": { + "types": [ + "PRIVATE" + ] + }, + "domainNameStatus": "AVAILABLE", + "securityPolicy": "TLS_1_2", + "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpc\":\"vpc-1a2b3c4d\"}}}]}" + } + +For more information, see `Custom domain name for public REST APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/apigateway/get-domain-names.rst b/awscli/examples/apigateway/get-domain-names.rst index b3d2b4a33e2f..fe6444fe6820 100644 --- a/awscli/examples/apigateway/get-domain-names.rst +++ b/awscli/examples/apigateway/get-domain-names.rst @@ -1,18 +1,86 @@ -**To get a list of custom domain names** +**Example 1: To get a list of custom domain names** -Command:: +The following ``get-domain-names`` command gets a list of domain names. :: - aws apigateway get-domain-names + aws apigateway get-domain-names Output:: - { - "items": [ - { - "distributionDomainName": "d9511k3l09bkd.cloudfront.net", - "certificateUploadDate": 1452812505, - "certificateName": "my_custom_domain-certificate", - "domainName": "subdomain.domain.tld" - } - ] - } + { + "items": [ + { + "distributionDomainName": "d9511k3l09bkd.cloudfront.net", + "certificateUploadDate": 1452812505, + "certificateName": "my_custom_domain-certificate", + "domainName": "subdomain.domain.tld" + } + ] + } + +For more information, see `Custom domain names for private APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. + +**Example 2: To get a list of custom domain names owned by this AWS account** + +The following ``get-domain-names`` command gets a list of domain names owned by this AWS account. :: + + aws apigateway get-domain-names \ + --resource-owner SELF + +Output:: + + { + "items": [ + { + "domainName": "my.domain.tld", + "domainNameArn": "arn:aws:apigateway:us-east-1::/domainnames/my.private.domain.tld", + "certificateUploadDate": "2024-08-15T17:02:55-07:00", + "regionalDomainName": "d-abcd1234.execute-api.us-east-1.amazonaws.com", + "regionalHostedZoneId": "Z1UJRXOUMOOFQ8", + "regionalCertificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", + "endpointConfiguration": { + "types": [ + "REGIONAL" + ] + }, + "domainNameStatus": "AVAILABLE", + "securityPolicy": "TLS_1_2" + }, + { + "domainName": "my.private.domain.tld", + "domainNameId": "abcd1234", + "domainNameArn": "arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234", + "certificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", + "certificateUploadDate": "2024-11-26T11:44:40-08:00", + "endpointConfiguration": { + "types": [ + "PRIVATE" + ] + }, + "domainNameStatus": "AVAILABLE", + "securityPolicy": "TLS_1_2" + } + ] + } + +For more information, see `Custom domain names for private APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. + +**Example 3: To get a list of custom domain names owned by other AWS accounts that you can create a domain name access association with.** + +The following ``get-domain-names`` command gets a list of domain names owned by other AWS accounts that you have access to create a domain name access association with. :: + + aws apigateway get-domain-names \ + --resource-owner OTHER_ACCOUNTS + +Output:: + + { + "items": [ + { + "domainName": "my.private.domain.tld", + "domainNameId": "abcd1234", + "domainNameArn": "arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234" + } + ] + } + +For more information, see `Custom domain names for private APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/apigateway/get-export.rst b/awscli/examples/apigateway/get-export.rst index 557424024d41..1b329726f8c2 100644 --- a/awscli/examples/apigateway/get-export.rst +++ b/awscli/examples/apigateway/get-export.rst @@ -4,7 +4,7 @@ Command:: aws apigateway get-export --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json -**To get the JSON Swagger template + API Gateway Extentions for a stage** +**To get the JSON Swagger template + API Gateway Extensions for a stage** Command:: diff --git a/awscli/examples/apigateway/reject-domain-name-access-association.rst b/awscli/examples/apigateway/reject-domain-name-access-association.rst new file mode 100644 index 000000000000..2c8b3f983ea8 --- /dev/null +++ b/awscli/examples/apigateway/reject-domain-name-access-association.rst @@ -0,0 +1,11 @@ +**To reject a domain name access association** + +The following ``reject-domain-name-access-association`` example rejects a domain name access association between a private custom domain name and VPC endpoint. :: + + aws apigateway reject-domain-name-access-association \ + --domain-name-access-association-arn arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg \ + --domain-name-arn arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234 + +This command produces no output. + +For more information, see `Custom domain names for private APIs in API Gateway `__ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/apigateway/update-vpc-link.rst b/awscli/examples/apigateway/update-vpc-link.rst new file mode 100644 index 000000000000..19c86490b815 --- /dev/null +++ b/awscli/examples/apigateway/update-vpc-link.rst @@ -0,0 +1,47 @@ +**Example 1: To update an existing VPC link name** + +The following ``update-vpc-link`` example updates the name of the specified VPC link. :: + + aws apigateway update-vpc-link \ + --vpc-link-id ab3de6 \ + --patch-operations op=replace,path=/name,value=my-vpc-link + +Output:: + + { + "id": "ab3de6", + "name": "my-vpc-link", + "targetArns": [ + "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-lb/12a456s89aaa12345" + ], + "status": "AVAILABLE", + "statusMessage": "Your vpc link is ready for use", + "tags": {} + } + +For more information, see `Updating existing VPC link `__ in the *AWS CLI Command Reference*. + + +**Example 2: To update an existing VPC link name and description** + +The following ``update-vpc-link`` example updates name of the specified VPC link. :: + + aws apigateway update-vpc-link \ + --vpc-link-id ab3de6 \ + --patch-operations op=replace,path=/name,value=my-vpc-link op=replace,path=/description,value="My custom description" + +Output:: + + { + "id": "ab3de6", + "name": "my-vpc-link", + "description": "My custom description", + "targetArns": [ + "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-lb/12a456s89aaa12345" + ], + "status": "AVAILABLE", + "statusMessage": "Your vpc link is ready for use", + "tags": {} + } + +For more information, see `Updating existing VPC link `__ in the *AWS CLI Command Reference*. diff --git a/awscli/examples/apigatewayv2/create-routing-rule.rst b/awscli/examples/apigatewayv2/create-routing-rule.rst new file mode 100644 index 000000000000..c333827f979d --- /dev/null +++ b/awscli/examples/apigatewayv2/create-routing-rule.rst @@ -0,0 +1,52 @@ +**To create a routing rule** + +The following ``create-routing-rule`` example creates a routing rule with a priority of ``50``. :: + + aws apigatewayv2 create-routing-rule \ + --domain-name 'regional.example.com' \ + --priority 50 \ + --conditions '[ \ + { \ + "MatchBasePaths": { \ + "AnyOf": [ \ + "PetStoreShopper" \ + ] \ + } \ + } \ + ]' \ + --actions '[ \ + { \ + "InvokeApi": { \ + "ApiId": "abcd1234", \ + "Stage": "prod" \ + } \ + } \ + ]' + +Output:: + + { + "Actions": [ + { + "InvokeApi": { + "ApiId": "abcd1234", + "Stage": "prod", + "StripBasePath": false + } + } + ], + "Conditions": [ + { + "MatchBasePaths": { + "AnyOf": [ + "PetStoreShopper" + ] + } + } + ], + "Priority": 50, + "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", + "RoutingRuleId": "aaa111" + } + +For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs `__ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/apigatewayv2/delete-access-log-settings.rst b/awscli/examples/apigatewayv2/delete-access-log-settings.rst index de19c1d281c3..f6f897078a61 100644 --- a/awscli/examples/apigatewayv2/delete-access-log-settings.rst +++ b/awscli/examples/apigatewayv2/delete-access-log-settings.rst @@ -1,11 +1,11 @@ -**To disable access logging for an API** - -The following ``delete-access-log-settings`` example deletes the access log settings for the ``$default`` stage of an API. To disable access logging for a stage, delete its access log settings. :: - - aws apigatewayv2 delete-access-log-settings \ - --api-id a1b2c3d4 \ - --stage-name '$default' - -This command produces no output. - -For more information, see `Configuring logging for an HTTP API `__ in the *Amazon API Gateway Developer Guide*. +**To disable access logging for an API** + +The following ``delete-access-log-settings`` example deletes the access log settings for the ``$default`` stage of an API. To disable access logging for a stage, delete its access log settings. :: + + aws apigatewayv2 delete-access-log-settings \ + --api-id a1b2c3d4 \ + --stage-name '$default' + +This command produces no output. + +For more information, see `Configuring logging for an HTTP API `__ in the *Amazon API Gateway Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/apigatewayv2/delete-routing-rule.rst b/awscli/examples/apigatewayv2/delete-routing-rule.rst new file mode 100644 index 000000000000..cb1ef1ffd88f --- /dev/null +++ b/awscli/examples/apigatewayv2/delete-routing-rule.rst @@ -0,0 +1,11 @@ +**To delete a routing rule** + +The following ``delete-routing-rule`` example deletes a routing rule for a custom domain name. :: + + aws apigatewayv2 delete-routing-rule \ + --domain-name 'regional.example.com' \ + --routing-rule-id aaa111 + +This command produces no output. + +For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs `__ in the *Amazon API Gateway Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/apigatewayv2/get-api-mapping.rst b/awscli/examples/apigatewayv2/get-api-mapping.rst index 46ac4f368d4a..16b5b3372cc2 100644 --- a/awscli/examples/apigatewayv2/get-api-mapping.rst +++ b/awscli/examples/apigatewayv2/get-api-mapping.rst @@ -1,6 +1,6 @@ **To get information about an API mapping for a custom domain name** -The following ``get-api-mapping`` example displays infomation about an API mapping for the ``api.example.com`` custom domain name. :: +The following ``get-api-mapping`` example displays information about an API mapping for the ``api.example.com`` custom domain name. :: aws apigatewayv2 get-api-mapping \ --api-mapping-id a1b2c3 \ diff --git a/awscli/examples/apigatewayv2/get-routing-rule.rst b/awscli/examples/apigatewayv2/get-routing-rule.rst new file mode 100644 index 000000000000..03b1f3edbbdc --- /dev/null +++ b/awscli/examples/apigatewayv2/get-routing-rule.rst @@ -0,0 +1,35 @@ +**To get a routing rule** + +The following ``get-routing-rule`` example gets a routing rule for a domain name. :: + + aws apigatewayv2 get-routing-rule \ + --domain-name 'regional.example.com' \ + --routing-rule-id aaa111 + +Output:: + + { + "Actions": [ + { + "InvokeApi": { + "ApiId": "abcd1234", + "Stage": "prod", + "StripBasePath": false + } + } + ], + "Conditions": [ + { + "MatchBasePaths": { + "AnyOf": [ + "PetStoreShopper" + ] + } + } + ], + "Priority": 50, + "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", + "RoutingRuleId": "aaa111" + } + +For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs `__ in the *Amazon API Gateway Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/apigatewayv2/list-routing-rules.rst b/awscli/examples/apigatewayv2/list-routing-rules.rst new file mode 100644 index 000000000000..3cd9c707be69 --- /dev/null +++ b/awscli/examples/apigatewayv2/list-routing-rules.rst @@ -0,0 +1,38 @@ +**To list routing rules** + +The following ``list-routing-rules`` example lists the routing rules for a domain name. :: + + aws apigatewayv2 list-routing-rules \ + --domain-name 'regional.example.com' + +Output:: + + { + "RoutingRules": [ + { + "Actions": [ + { + "InvokeApi": { + "ApiId": "abcd1234", + "Stage": "prod", + "StripBasePath": false + } + } + ], + "Conditions": [ + { + "MatchBasePaths": { + "AnyOf": [ + "PetStoreShopper" + ] + } + } + ], + "Priority": 150, + "RoutingRuleArn": "arn:aws:apigateway:us-east-1:123456789012:/domainnames/regional.example.com/routingrules/aaa111", + "RoutingRuleId": "aaa111" + } + ] + } + +For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs `__ in the *Amazon API Gateway Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/apigatewayv2/put-routing-rule.rst b/awscli/examples/apigatewayv2/put-routing-rule.rst new file mode 100644 index 000000000000..c65634c4eb3d --- /dev/null +++ b/awscli/examples/apigatewayv2/put-routing-rule.rst @@ -0,0 +1,52 @@ +**To update a routing rule** + +The following ``put-routing-rule`` example updates the priority of a routing rule. :: + + aws apigatewayv2 put-routing-rule \ + --domain-name 'regional.example.com' \ + --priority 150 \ + --conditions '[ \ + { \ + "MatchBasePaths": { \ + "AnyOf": [ \ + "PetStoreShopper" \ + ] \ + } \ + } \ + ]' \ + --actions '[ \ + { \ + "InvokeApi": { \ + "ApiId": "abcd1234", \ + "Stage": "prod" \ + } \ + } \ + ]' + +Output:: + + { + "Actions": [ + { + "InvokeApi": { + "ApiId": "abcd1234", + "Stage": "prod", + "StripBasePath": false + } + } + ], + "Conditions": [ + { + "MatchBasePaths": { + "AnyOf": [ + "PetStoreShopper" + ] + } + } + ], + "Priority": 150, + "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", + "RoutingRuleId": "aaa111" + } + +For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs `__ in the *Amazon API Gateway Developer Guide*. diff --git a/awscli/examples/appconfig/get-hosted-configuration-version.rst b/awscli/examples/appconfig/get-hosted-configuration-version.rst index 2200b1245d03..051acae0425b 100644 --- a/awscli/examples/appconfig/get-hosted-configuration-version.rst +++ b/awscli/examples/appconfig/get-hosted-configuration-version.rst @@ -1,4 +1,4 @@ -**To retreive hosted configuration details** +**To retrieve hosted configuration details** The following ``get-hosted-configuration-version`` example retrieves the configuration details of the AWS AppConfig hosted configuration. :: diff --git a/awscli/examples/application-autoscaling/delete-scheduled-action.rst b/awscli/examples/application-autoscaling/delete-scheduled-action.rst index 6f3aacaf7120..874e43bc28a4 100644 --- a/awscli/examples/application-autoscaling/delete-scheduled-action.rst +++ b/awscli/examples/application-autoscaling/delete-scheduled-action.rst @@ -1,6 +1,6 @@ **To delete a scheduled action** -The follwing ``delete-scheduled-action`` example deletes the specified scheduled action from the specified Amazon AppStream 2.0 fleet:: +The following ``delete-scheduled-action`` example deletes the specified scheduled action from the specified Amazon AppStream 2.0 fleet:: aws application-autoscaling delete-scheduled-action \ --service-namespace appstream \ diff --git a/awscli/examples/application-signals/batch-get-service-level-objective-budget-report.rst b/awscli/examples/application-signals/batch-get-service-level-objective-budget-report.rst new file mode 100644 index 000000000000..92768a110176 --- /dev/null +++ b/awscli/examples/application-signals/batch-get-service-level-objective-budget-report.rst @@ -0,0 +1,99 @@ +**To retrieve one or more service level objective (SLO) budget reports.** + +The following ``batch-get-service-level-objective-budget-report`` example retrieves one or more service level objective (SLO) budget reports. :: + + aws application-signals batch-get-service-level-objective-budget-report \ + --timestamp 1735059869 \ + --slo-ids "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1" "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2" + +Output:: + + { + "Timestamp": "2024-12-24T22:34:29+05:30", + "Reports": [{ + "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1", + "Name": "Your SLO Name", + "EvaluationType": "PeriodBased", + "BudgetStatus": "OK", + "Attainment": 100.0, + "TotalBudgetSeconds": 6048, + "BudgetSecondsRemaining": 6048, + "Sli": { + "SliMetric": { + "MetricDataQueries": [{ + "Id": "m1", + "MetricStat": { + "Metric": { + "Namespace": "AWS/EC2", + "MetricName": "CPUUtilization", + "Dimensions": [{ + "Name": "InstanceId", + "Value": "i-0e098765432522" + }] + }, + "Period": 60, + "Stat": "Average" + }, + "ReturnData": true + }] + }, + "MetricThreshold": 200.0, + "ComparisonOperator": "LessThanOrEqualTo" + }, + "Goal": { + "Interval": { + "RollingInterval": { + "DurationUnit": "DAY", + "Duration": 7 + } + }, + "AttainmentGoal": 99.0, + "WarningThreshold": 50.0 + } + }, + { + "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2", + "Name": "test", + "EvaluationType": "PeriodBased", + "BudgetStatus": "BREACHED", + "Attainment": 97.39583275, + "TotalBudgetSeconds": 86, + "BudgetSecondsRemaining": -2154, + "Sli": { + "SliMetric": { + "MetricDataQueries": [{ + "Id": "cwMetric", + "MetricStat": { + "Metric": { + "Namespace": "AWS/EC2", + "MetricName": "CPUUtilization", + "Dimensions": [{ + "Name": "InstanceId", + "Value": "i-0e12345678922" + }] + }, + "Period": 300, + "Stat": "Average" + }, + "ReturnData": true + }] + }, + "MetricThreshold": 5.0, + "ComparisonOperator": "GreaterThan" + }, + "Goal": { + "Interval": { + "RollingInterval": { + "DurationUnit": "DAY", + "Duration": 1 + } + }, + "AttainmentGoal": 99.9, + "WarningThreshold": 30.0 + } + } + ], + "Errors": [] + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/create-service-level-objective.rst b/awscli/examples/application-signals/create-service-level-objective.rst new file mode 100644 index 000000000000..bb6aed94cee0 --- /dev/null +++ b/awscli/examples/application-signals/create-service-level-objective.rst @@ -0,0 +1,88 @@ +**To create a service level objective (SLO)** + +The following ``create-service-level-objective`` example creates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations. :: + + aws application-signals create-service-level-objective \ + --name "SLOName" \ + --description "Description of your SLO" \ + --sli-config file://sli-config.json + +Contents of ``sli-config.json``:: + + { + "SliMetricConfig": { + "MetricDataQueries": [ + { + "Id": "m1", + "MetricStat": { + "Metric": { + "Namespace": "AWS/EC2", + "MetricName": "CPUUtilization", + "Dimensions": [ + { + "Name": "InstanceId", + "Value": "i-0e5a1234561522" + } + ] + }, + "Period": 60, + "Stat": "Average" + }, + "ReturnData": true + } + ] + }, + "MetricThreshold": 200, + "ComparisonOperator": "LessThanOrEqualTo" + } + +Output:: + + { + "Slo": { + "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", + "Name": "SLOName", + "Description": "Description of your SLO", + "CreatedTime": "2024-12-27T08:16:09.032000+05:30", + "LastUpdatedTime": "2024-12-27T08:16:09.032000+05:30", + "Sli": { + "SliMetric": { + "MetricDataQueries": [ + { + "Id": "m1", + "MetricStat": { + "Metric": { + "Namespace": "AWS/EC2", + "MetricName": "CPUUtilization", + "Dimensions": [ + { + "Name": "InstanceId", + "Value": "i-0e59876543234522" + } + ] + }, + "Period": 60, + "Stat": "Average" + }, + "ReturnData": true + } + ] + }, + "MetricThreshold": 200.0, + "ComparisonOperator": "LessThanOrEqualTo" + }, + "EvaluationType": "PeriodBased", + "Goal": { + "Interval": { + "RollingInterval": { + "DurationUnit": "DAY", + "Duration": 7 + } + }, + "AttainmentGoal": 99.0, + "WarningThreshold": 50.0 + } + } + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/delete-service-level-objective.rst b/awscli/examples/application-signals/delete-service-level-objective.rst new file mode 100644 index 000000000000..0305c19ee29b --- /dev/null +++ b/awscli/examples/application-signals/delete-service-level-objective.rst @@ -0,0 +1,10 @@ +**To delete the specified service level objective.** + +The following ``delete-service-level-objective`` example deletes the specified service level objective. :: + + aws application-signals delete-service-level-objective \ + --id "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" + +This command produces no output. + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/get-service-level-objective.rst b/awscli/examples/application-signals/get-service-level-objective.rst new file mode 100644 index 000000000000..078d618064c7 --- /dev/null +++ b/awscli/examples/application-signals/get-service-level-objective.rst @@ -0,0 +1,53 @@ +**To return information about one SLO created in the account** + +The following ``get-service-level-objective`` example returns information about one SLO created in the account. :: + + aws application-signals get-service-level-objective \ + --id "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" + +Output:: + + { + "Slo": { + "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", + "Name": "SLOName", + "Description": "Description of your SLO", + "CreatedTime": "2024-12-24T22:19:18.624000+05:30", + "LastUpdatedTime": "2024-12-24T22:19:55.280000+05:30", + "Sli": { + "SliMetric": { + "MetricDataQueries": [{ + "Id": "m1", + "MetricStat": { + "Metric": { + "Namespace": "AWS/EC2", + "MetricName": "CPUUtilization", + "Dimensions": [{ + "Name": "InstanceId", + "Value": "i-0e0987654321522" + }] + }, + "Period": 60, + "Stat": "Average" + }, + "ReturnData": true + }] + }, + "MetricThreshold": 200.0, + "ComparisonOperator": "LessThanOrEqualTo" + }, + "EvaluationType": "PeriodBased", + "Goal": { + "Interval": { + "RollingInterval": { + "DurationUnit": "DAY", + "Duration": 7 + } + }, + "AttainmentGoal": 99.0, + "WarningThreshold": 50.0 + } + } + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/get-service.rst b/awscli/examples/application-signals/get-service.rst new file mode 100644 index 000000000000..699f23ec8472 --- /dev/null +++ b/awscli/examples/application-signals/get-service.rst @@ -0,0 +1,72 @@ +**To return information about a service discovered by Application Signals** + +The following ``get-service`` example returns information about a service discovered by Application Signals. :: + + aws application-signals get-service \ + --start-time 1732704000 \ + --end-time 1732714500 \ + --key-attributes Environment=lambda:default,Name=hello-world-python,Type=Service + +Output:: + + { + "Service": { + "KeyAttributes": { + "Environment": "lambda:default", + "Name": "hello-world-python", + "Type": "Service" + }, + "AttributeMaps": [{ + "Lambda.Function.Name": "hello-world-python", + "PlatformType": "AWS::Lambda" + }], + "MetricReferences": [{ + "Namespace": "ApplicationSignals", + "MetricType": "LATENCY", + "Dimensions": [{ + "Name": "Environment", + "Value": "lambda:default" + }, { + "Name": "Service", + "Value": "hello-world-python" + }], + "MetricName": "Latency" + }, { + "Namespace": "ApplicationSignals", + "MetricType": "FAULT", + "Dimensions": [{ + "Name": "Environment", + "Value": "lambda:default" + }, { + "Name": "Service", + "Value": "hello-world-python" + }], + "MetricName": "Fault" + }, { + "Namespace": "ApplicationSignals", + "MetricType": "ERROR", + "Dimensions": [{ + "Name": "Environment", + "Value": "lambda:default" + }, { + "Name": "Service", + "Value": "hello-world-python" + }], + "MetricName": "Error" + }], + "LogGroupReferences": [{ + "Identifier": "/aws/lambda/hello-world-python", + "ResourceType": "AWS::Logs::LogGroup", + "Type": "AWS::Resource" + }] + }, + "StartTime": "2024-11-27T10:00:00+00:00", + "EndTime": "2024-11-27T14:00:01+00:00", + "LogGroupReferences": [{ + "Identifier": "/aws/lambda/hello-world-python", + "ResourceType": "AWS::Logs::LogGroup", + "Type": "AWS::Resource" + }] + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/list-service-dependencies.rst b/awscli/examples/application-signals/list-service-dependencies.rst new file mode 100644 index 000000000000..8759d0709424 --- /dev/null +++ b/awscli/examples/application-signals/list-service-dependencies.rst @@ -0,0 +1,96 @@ +**To return a list of service dependencies of the service that you specify** + +The following ``list-service-dependencies`` example returns a list of service dependencies of the service that you specify. :: + + aws application-signals list-service-dependencies \ + --start-time 1732021200 \ + --end-time 1732107600 \ + --key-attributes Environment=api-gateway:prod, Name=PetAdoptionStatusUpdater,Type=Service + +Output:: + + { + "ServiceDependencies": [{ + "OperationName": "PUT /prod", + "DependencyKeyAttributes": { + "Environment": "lambda:default", + "Name": "Services-name", + "Type": "Service" + }, + "DependencyOperationName": "Invoke", + "MetricReferences": [{ + "Namespace": "ApplicationSignals", + "MetricType": "LATENCY", + "Dimensions": [{ + "Name": "Environment", + "Value": "api-gateway:prod" + }, { + "Name": "Operation", + "Value": "PUT /prod" + }, { + "Name": "RemoteEnvironment", + "Value": "lambda:default" + }, { + "Name": "RemoteOperation", + "Value": "Invoke" + }, { + "Name": "RemoteService", + "Value": "Services-name" + }, { + "Name": "Service", + "Value": "PetAdoptionStatusUpdater" + }], + "MetricName": "Latency" + }, { + "Namespace": "ApplicationSignals", + "MetricType": "FAULT", + "Dimensions": [{ + "Name": "Environment", + "Value": "api-gateway:prod" + }, { + "Name": "Operation", + "Value": "PUT /prod" + }, { + "Name": "RemoteEnvironment", + "Value": "lambda:default" + }, { + "Name": "RemoteOperation", + "Value": "Invoke" + }, { + "Name": "RemoteService", + "Value": "Services-name" + }, { + "Name": "Service", + "Value": "PetAdoptionStatusUpdater" + }], + "MetricName": "Fault" + }, { + "Namespace": "ApplicationSignals", + "MetricType": "ERROR", + "Dimensions": [{ + "Name": "Environment", + "Value": "api-gateway:prod" + }, { + "Name": "Operation", + "Value": "PUT /prod" + }, { + "Name": "RemoteEnvironment", + "Value": "lambda:default" + }, { + "Name": "RemoteOperation", + "Value": "Invoke" + }, { + "Name": "RemoteService", + "Value": "Services-name" + }, { + "Name": "Service", + "Value": "PetAdoptionStatusUpdater" + }], + "MetricName": "Error" + }] + }], + "StartTime": "2024-11-19T13:00:00+00:00", + "EndTime": "2024-11-20T13:00:01+00:00" + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/list-service-dependents.rst b/awscli/examples/application-signals/list-service-dependents.rst new file mode 100644 index 000000000000..3f5bfd72e628 --- /dev/null +++ b/awscli/examples/application-signals/list-service-dependents.rst @@ -0,0 +1,36 @@ +**To return the list of dependents that invoked the specified service during the provided time range** + +The following ``list-service-dependents`` example returns the list of dependents that invoked the specified service during the provided time range. :: + + aws application-signals list-service-dependents \ + --start-time 1732021200 \ + --end-time 1732107600 \ + --key-attributes Environment=generic:default,Name=PetSite,Type=Service + +Output:: + + { + "ServiceDependents": [{ + "OperationName": "", + "DependentKeyAttributes": { + "Identifier": "pet-api-canary-hao", + "ResourceType": "AWS::Synthetics::Canary", + "Type": "AWS::Resource" + }, + "DependentOperationName": "", + "MetricReferences": [] + }, { + "OperationName": "", + "DependentKeyAttributes": { + "Identifier": "PetSite", + "ResourceType": "AWS::Synthetics::Canary", + "Type": "AWS::Resource" + }, + "DependentOperationName": "", + "MetricReferences": [] + }], + "StartTime": "2024-12-24T05:00:00+00:00", + "EndTime": "2024-12-25T06:00:01+00:00" + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/list-service-level-objectives.rst b/awscli/examples/application-signals/list-service-level-objectives.rst new file mode 100644 index 000000000000..c96de5744c14 --- /dev/null +++ b/awscli/examples/application-signals/list-service-level-objectives.rst @@ -0,0 +1,17 @@ +**To return a list of SLOs created in this account.** + +The following ``list-service-level-objectives`` example returns a list of SLOs created in this account. :: + + aws application-signals list-service-level-objectives + +Output:: + + { + "SloSummaries": [{ + "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/test", + "Name": "test", + "CreatedTime": "2024-12-24T22:01:21.116000+05:30" + }] + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/list-service-operations.rst b/awscli/examples/application-signals/list-service-operations.rst new file mode 100644 index 000000000000..4a779c690df5 --- /dev/null +++ b/awscli/examples/application-signals/list-service-operations.rst @@ -0,0 +1,63 @@ +**To return a list of the operations of this service that have been discovered by Application Signals** + +The following ``list-service-operations`` example returns a list of the operations of this service that have been discovered by Application Signals. :: + + aws application-signals list-service-operations \ + --start-time 1735017423 \ + --end-time 1735103823 \ + --key-attributes Environment=generic:default,Name=payforadoption,Type=Service + +Output:: + + { + "ServiceOperations": [{ + "Name": "POST /api", + "MetricReferences": [{ + "Namespace": "ApplicationSignals", + "MetricType": "LATENCY", + "Dimensions": [{ + "Name": "Environment", + "Value": "generic:default" + }, { + "Name": "Operation", + "Value": "POST /api" + }, { + "Name": "Service", + "Value": "payforadoption" + }], + "MetricName": "Latency" + }, { + "Namespace": "ApplicationSignals", + "MetricType": "FAULT", + "Dimensions": [{ + "Name": "Environment", + "Value": "generic:default" + }, { + "Name": "Operation", + "Value": "POST /api" + }, { + "Name": "Service", + "Value": "payforadoption" + }], + "MetricName": "Fault" + }, { + "Namespace": "ApplicationSignals", + "MetricType": "ERROR", + "Dimensions": [{ + "Name": "Environment", + "Value": "generic:default" + }, { + "Name": "Operation", + "Value": "POST /api" + }, { + "Name": "Service", + "Value": "payforadoption" + }], + "MetricName": "Error" + }] + }], + "StartTime": "2024-12-24T05:00:00+00:00", + "EndTime": "2024-12-25T06:00:01+00:00" + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/list-services.rst b/awscli/examples/application-signals/list-services.rst new file mode 100644 index 000000000000..dad259f2a342 --- /dev/null +++ b/awscli/examples/application-signals/list-services.rst @@ -0,0 +1,61 @@ +**To return a list of services that have been discovered by Application Signals** + +The following ``list-services`` example returns a list of services that have been discovered by Application Signals. :: + + aws application-signals list-services \ + --start-time 1734918791 \ + --end-time 1734965591 + +Output:: + + { + "ServiceSummaries": [{ + "KeyAttributes": { + "Environment": "lambda:default", + "Name": "hello-world-python", + "Type": "Service" + }, + "AttributeMaps": [{ + "Lambda.Function.Name": "hello-world-python", + "PlatformType": "AWS::Lambda" + }], + "MetricReferences": [{ + "Namespace": "ApplicationSignals", + "MetricType": "LATENCY", + "Dimensions": [{ + "Name": "Environment", + "Value": "lambda:default" + }, { + "Name": "Service", + "Value": "hello-world-python" + }], + "MetricName": "Latency" + }, { + "Namespace": "ApplicationSignals", + "MetricType": "FAULT", + "Dimensions": [{ + "Name": "Environment", + "Value": "lambda:default" + }, { + "Name": "Service", + "Value": "hello-world-python" + }], + "MetricName": "Fault" + }, { + "Namespace": "ApplicationSignals", + "MetricType": "ERROR", + "Dimensions": [{ + "Name": "Environment", + "Value": "lambda:default" + }, { + "Name": "Service", + "Value": "hello-world-python" + }], + "MetricName": "Error" + }] + }], + "StartTime": "2024-11-27T10:00:00+00:00", + "EndTime": "2024-11-27T14:00:01+00:00" + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/list-tags-for-resource.rst b/awscli/examples/application-signals/list-tags-for-resource.rst new file mode 100644 index 000000000000..e8bb1d50b982 --- /dev/null +++ b/awscli/examples/application-signals/list-tags-for-resource.rst @@ -0,0 +1,17 @@ +**To display the tags associated with a CloudWatch resource** + +The following ``list-tags-for-resource`` example displays the tags associated with a CloudWatch resource. :: + + aws application-signals list-tags-for-resource \ + --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" + +Output:: + + { + "Tags": [{ + "Key": "test", + "Value": "value" + }] + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/start-discovery.rst b/awscli/examples/application-signals/start-discovery.rst new file mode 100644 index 000000000000..f17cef4555fd --- /dev/null +++ b/awscli/examples/application-signals/start-discovery.rst @@ -0,0 +1,9 @@ +**To enable this Amazon Web Services account to be able to use CloudWatch Application Signals** + +The following ``start-discovery`` example enables this Amazon Web Services account to be able to use CloudWatch Application Signals by creating the *AWSServiceRoleForCloudWatchApplicationSignals* service-linked role. :: + + aws application-signals start-discovery + +This command produces no output. + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/tag-resource.rst b/awscli/examples/application-signals/tag-resource.rst new file mode 100644 index 000000000000..361123afe4e3 --- /dev/null +++ b/awscli/examples/application-signals/tag-resource.rst @@ -0,0 +1,11 @@ +**To assigns one or more tags (key-value pairs) to the specified CloudWatch resource, such as a service level objective** + +The following ``tag-resource`` example assigns one or more tags (key-value pairs) to the specified CloudWatch resource, such as a service level objective. :: + + aws application-signals tag-resource \ + --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" \ + --tags '{"Key":"test","Value":"value"}' + +This command produces no output. + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/untag-resource.rst b/awscli/examples/application-signals/untag-resource.rst new file mode 100644 index 000000000000..c352c58de4d2 --- /dev/null +++ b/awscli/examples/application-signals/untag-resource.rst @@ -0,0 +1,11 @@ +**To remove one or more tags from the specified resource** + +The following ``untag-resource`` example removes one or more tags from the specified resource. :: + + aws application-signals untag-resource \ + --resource-arn "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName" \ + --tag-keys "test" + +This command produces no output. + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/application-signals/update-service-level-objective.rst b/awscli/examples/application-signals/update-service-level-objective.rst new file mode 100644 index 000000000000..da8d84c382ab --- /dev/null +++ b/awscli/examples/application-signals/update-service-level-objective.rst @@ -0,0 +1,69 @@ +**To update an existing service level objective (SLO)** + +The following ``update-service-level-objective`` example updates an existing service level objective (SLO). :: + + aws application-signals update-service-level-objective \ + --cli-input-json file://update-slo.json + +Contents of ``update-slo.json``:: + + { + "id": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", + "goal": { + "Interval": { + "RollingInterval": { + "DurationUnit": "DAY", + "Duration": 7 + } + }, + "AttainmentGoal": 90.0, + "WarningThreshold": 50.0 + } + } + +Output:: + + { + "Slo": { + "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName", + "Name": "SLOName", + "Description": "Description of your SLO", + "CreatedTime": "2024-12-24T22:19:18.624000+05:30", + "LastUpdatedTime": "2024-12-27T08:51:38.278000+05:30", + "Sli": { + "SliMetric": { + "MetricDataQueries": [{ + "Id": "m1", + "MetricStat": { + "Metric": { + "Namespace": "AWS/EC2", + "MetricName": "CPUUtilization", + "Dimensions": [{ + "Name": "InstanceId", + "Value": "i-00987654345222" + }] + }, + "Period": 60, + "Stat": "Average" + }, + "ReturnData": true + }] + }, + "MetricThreshold": 200.0, + "ComparisonOperator": "LessThanOrEqualTo" + }, + "EvaluationType": "PeriodBased", + "Goal": { + "Interval": { + "RollingInterval": { + "DurationUnit": "DAY", + "Duration": 7 + } + }, + "AttainmentGoal": 90.0, + "WarningThreshold": 50.0 + } + } + } + +For more information, see `Application Signals `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/athena/batch-get-query-execution.rst b/awscli/examples/athena/batch-get-query-execution.rst index 39ff3a295984..e42c36633438 100644 --- a/awscli/examples/athena/batch-get-query-execution.rst +++ b/awscli/examples/athena/batch-get-query-execution.rst @@ -14,7 +14,7 @@ Output:: "Query": "create database if not exists webdata", "StatementType": "DDL", "ResultConfiguration": { - "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.txt" + "OutputLocation": "s3://amzn-s3-demo-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.txt" }, "QueryExecutionContext": {}, "Status": { @@ -38,7 +38,7 @@ Output:: "Query": "select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10", "StatementType": "DML", "ResultConfiguration": { - "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222.csv" + "OutputLocation": "s3://amzn-s3-demo-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222.csv" }, "QueryExecutionContext": { "Database": "mydatabase", @@ -62,4 +62,4 @@ Output:: "UnprocessedQueryExecutionIds": [] } -For more information, see `Running SQL Queries Using Amazon Athena `__ in the *Amazon Athena User Guide*. \ No newline at end of file +For more information, see `Running SQL Queries Using Amazon Athena `__ in the *Amazon Athena User Guide*. diff --git a/awscli/examples/athena/create-work-group.rst b/awscli/examples/athena/create-work-group.rst index 14cd639e6861..5ecd82e91267 100644 --- a/awscli/examples/athena/create-work-group.rst +++ b/awscli/examples/athena/create-work-group.rst @@ -1,13 +1,13 @@ **To create a workgroup** -The following ``create-work-group`` example creates a workgroup called ``Data_Analyst_Group`` that has the query results output location ``s3://awsdoc-example-bucket``. The command creates a workgroup that overrides client configuration settings, which includes the query results output location. The command also enables CloudWatch metrics and adds three key-value tag pairs to the workgroup to distinguish it from other workgroups. Note that the ``--configuration`` argument has no spaces before the commas that separate its options. :: +The following ``create-work-group`` example creates a workgroup called ``Data_Analyst_Group`` that has the query results output location ``s3://amzn-s3-demo-bucket``. The command creates a workgroup that overrides client configuration settings, which includes the query results output location. The command also enables CloudWatch metrics and adds three key-value tag pairs to the workgroup to distinguish it from other workgroups. Note that the ``--configuration`` argument has no spaces before the commas that separate its options. :: aws athena create-work-group \ --name Data_Analyst_Group \ - --configuration ResultConfiguration={OutputLocation="s3://awsdoc-example-bucket"},EnforceWorkGroupConfiguration="true",PublishCloudWatchMetricsEnabled="true" \ + --configuration ResultConfiguration={OutputLocation="s3://amzn-s3-demo-bucket"},EnforceWorkGroupConfiguration="true",PublishCloudWatchMetricsEnabled="true" \ --description "Workgroup for data analysts" \ --tags Key=Division,Value=West Key=Location,Value=Seattle Key=Team,Value="Big Data" This command produces no output. To see the results, use ``aws athena get-work-group --work-group Data_Analyst_Group``. -For more information, see `Managing Workgroups `__ in the *Amazon Athena User Guide*. \ No newline at end of file +For more information, see `Managing Workgroups `__ in the *Amazon Athena User Guide*. diff --git a/awscli/examples/athena/get-query-execution.rst b/awscli/examples/athena/get-query-execution.rst index b409a4e9b44a..3b68fd274210 100644 --- a/awscli/examples/athena/get-query-execution.rst +++ b/awscli/examples/athena/get-query-execution.rst @@ -14,7 +14,7 @@ Output:: ' and status = 200 and location like 'SFO%' limit 10", "StatementType": "DML", "ResultConfiguration": { - "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.csv" + "OutputLocation": "s3://amzn-s3-demo-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.csv" }, "QueryExecutionContext": { "Database": "mydatabase", @@ -36,4 +36,4 @@ Output:: } } -For more information, see `Running SQL Queries Using Amazon Athena `__ in the *Amazon Athena User Guide*. \ No newline at end of file +For more information, see `Running SQL Queries Using Amazon Athena `__ in the *Amazon Athena User Guide*. diff --git a/awscli/examples/athena/get-table-metadata.rst b/awscli/examples/athena/get-table-metadata.rst index a377298ea388..c690d8580cce 100644 --- a/awscli/examples/athena/get-table-metadata.rst +++ b/awscli/examples/athena/get-table-metadata.rst @@ -41,7 +41,7 @@ Output:: "Parameters": { "EXTERNAL": "TRUE", "inputformat": "com.esri.json.hadoop.EnclosedJsonInputFormat", - "location": "s3://awsdoc-example-bucket/json", + "location": "s3://amzn-s3-demo-bucket/json", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.serialization.format": "1", "serde.serialization.lib": "com.esri.hadoop.hive.serde.JsonSerde", @@ -50,4 +50,4 @@ Output:: } } -For more information, see `Showing Table Details: get-table-metadata `__ in the *Amazon Athena User Guide*. \ No newline at end of file +For more information, see `Showing Table Details: get-table-metadata `__ in the *Amazon Athena User Guide*. diff --git a/awscli/examples/athena/get-work-group.rst b/awscli/examples/athena/get-work-group.rst index 469f1f859b25..77d07aaf33d6 100644 --- a/awscli/examples/athena/get-work-group.rst +++ b/awscli/examples/athena/get-work-group.rst @@ -13,7 +13,7 @@ Output:: "State": "ENABLED", "Configuration": { "ResultConfiguration": { - "OutputLocation": "s3://awsdoc-example-bucket/" + "OutputLocation": "s3://amzn-s3-demo-bucket/" }, "EnforceWorkGroupConfiguration": false, "PublishCloudWatchMetricsEnabled": true, @@ -24,4 +24,4 @@ Output:: } } -For more information, see `Managing Workgroups `__ in the *Amazon Athena User Guide*. \ No newline at end of file +For more information, see `Managing Workgroups `__ in the *Amazon Athena User Guide*. diff --git a/awscli/examples/athena/list-table-metadata.rst b/awscli/examples/athena/list-table-metadata.rst index 7f602cb40918..56bd18d51dcd 100644 --- a/awscli/examples/athena/list-table-metadata.rst +++ b/awscli/examples/athena/list-table-metadata.rst @@ -54,7 +54,7 @@ Output:: "delimiter": ",", "has_encrypted_data": "false", "inputformat": "org.apache.hadoop.mapred.TextInputFormat", - "location": "s3://awsdoc-example-bucket/csv/countrycode", + "location": "s3://amzn-s3-demo-bucket/csv/countrycode", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.field.delim": ",", "serde.serialization.lib": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", @@ -102,7 +102,7 @@ Output:: "delimiter": ",", "has_encrypted_data": "false", "inputformat": "org.apache.hadoop.mapred.TextInputFormat", - "location": "s3://awsdoc-example-bucket/csv/CountyPopulation", + "location": "s3://amzn-s3-demo-bucket/csv/CountyPopulation", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.field.delim": ",", "serde.serialization.lib": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", diff --git a/awscli/examples/autoscaling/create-launch-configuration.rst b/awscli/examples/autoscaling/create-launch-configuration.rst index 213f10fbeb87..51a566c0b3b1 100644 --- a/awscli/examples/autoscaling/create-launch-configuration.rst +++ b/awscli/examples/autoscaling/create-launch-configuration.rst @@ -11,9 +11,9 @@ This command produces no output. For more information, see `Creating a launch configuration `__ in the *Amazon EC2 Auto Scaling User Guide*. -**Example 2: To create a launch configuration with a security group, key pair, and bootrapping script** +**Example 2: To create a launch configuration with a security group, key pair, and bootstrapping script** -This example creates a launch configuration with a security group, a key pair, and a bootrapping script contained in the user data. :: +This example creates a launch configuration with a security group, a key pair, and a bootstrapping script contained in the user data. :: aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ diff --git a/awscli/examples/autoscaling/describe-auto-scaling-groups.rst b/awscli/examples/autoscaling/describe-auto-scaling-groups.rst index c009486d0c22..2b45661175f4 100644 --- a/awscli/examples/autoscaling/describe-auto-scaling-groups.rst +++ b/awscli/examples/autoscaling/describe-auto-scaling-groups.rst @@ -3,7 +3,7 @@ This example describes the specified Auto Scaling group. :: aws autoscaling describe-auto-scaling-groups \ - --auto-scaling-group-name my-asg + --auto-scaling-group-names my-asg Output:: @@ -66,7 +66,7 @@ This example describes the specified Auto Scaling groups. It allows you to speci aws autoscaling describe-auto-scaling-groups \ --max-items 100 \ - --auto-scaling-group-name "group1" "group2" "group3" "group4" + --auto-scaling-group-names "group1" "group2" "group3" "group4" See example 1 for sample output. diff --git a/awscli/examples/chime/associate-phone-numbers-with-voice-connector-group.rst b/awscli/examples/chime/associate-phone-numbers-with-voice-connector-group.rst deleted file mode 100644 index 8d1569fa9e22..000000000000 --- a/awscli/examples/chime/associate-phone-numbers-with-voice-connector-group.rst +++ /dev/null @@ -1,16 +0,0 @@ -**To associate phone numbers with an Amazon Chime Voice Connector group** - -The following ``associate-phone-numbers-with-voice-connector-group`` example associates the specified phone numbers with an Amazon Chime Voice Connector group. :: - - aws chime associate-phone-numbers-with-voice-connector-group \ - --voice-connector-group-id 123a456b-c7d8-90e1-fg23-4h567jkl8901 \ - --e164-phone-numbers "+12065550100" "+12065550101" \ - --force-associate - -Output:: - - { - "PhoneNumberErrors": [] - } - -For more information, see `Working with Amazon Chime Voice Connector groups `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/associate-phone-numbers-with-voice-connector.rst b/awscli/examples/chime/associate-phone-numbers-with-voice-connector.rst deleted file mode 100644 index 65f4c9598155..000000000000 --- a/awscli/examples/chime/associate-phone-numbers-with-voice-connector.rst +++ /dev/null @@ -1,16 +0,0 @@ -**To associate phone numbers with an Amazon Chime Voice Connector** - -The following ``associate-phone-numbers-with-voice-connector`` example associates the specified phone numbers with an Amazon Chime Voice Connector. :: - - aws chime associate-phone-numbers-with-voice-connector \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --e164-phone-numbers "+12065550100" "+12065550101" - --force-associate - -Output:: - - { - "PhoneNumberErrors": [] - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/create-proxy-session.rst b/awscli/examples/chime/create-proxy-session.rst deleted file mode 100644 index 267390a22c9d..000000000000 --- a/awscli/examples/chime/create-proxy-session.rst +++ /dev/null @@ -1,37 +0,0 @@ -**To create a proxy session** - -The following ``create-proxy-session`` example creates a proxy session with voice and SMS capabilities. :: - - aws chime create-proxy-session \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --participant-phone-numbers "+14015550101" "+12065550100" \ - --capabilities "Voice" "SMS" - -Output:: - - { - "ProxySession": { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "ProxySessionId": "123a4bc5-67d8-901e-2f3g-h4ghjk56789l", - "Status": "Open", - "ExpiryMinutes": 60, - "Capabilities": [ - "SMS", - "Voice" - ], - "CreatedTimestamp": "2020-04-15T16:10:10.288Z", - "UpdatedTimestamp": "2020-04-15T16:10:10.288Z", - "Participants": [ - { - "PhoneNumber": "+12065550100", - "ProxyPhoneNumber": "+19135550199" - }, - { - "PhoneNumber": "+14015550101", - "ProxyPhoneNumber": "+19135550199" - } - ] - } - } - -For more information, see `Proxy Phone Sessions `__ in the *Amazon Chime Developer Guide*. diff --git a/awscli/examples/chime/create-voice-connector-group.rst b/awscli/examples/chime/create-voice-connector-group.rst deleted file mode 100644 index 126c8fc9ea5c..000000000000 --- a/awscli/examples/chime/create-voice-connector-group.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To create an Amazon Chime Voice Connector group** - -The following ``create-voice-connector-group`` example creates an Amazon Chime Voice Connector group that includes the specified Amazon Chime Voice Connector. :: - - aws chime create-voice-connector-group \ - --name myGroup \ - --voice-connector-items VoiceConnectorId=abcdef1ghij2klmno3pqr4,Priority=2 - -Output:: - - { - "VoiceConnectorGroup": { - "VoiceConnectorGroupId": "123a456b-c7d8-90e1-fg23-4h567jkl8901", - "Name": "myGroup", - "VoiceConnectorItems": [], - "CreatedTimestamp": "2019-09-18T16:38:34.734Z", - "UpdatedTimestamp": "2019-09-18T16:38:34.734Z" - } - } - -For more information, see `Working with Amazon Chime Voice Connector Groups `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/create-voice-connector.rst b/awscli/examples/chime/create-voice-connector.rst deleted file mode 100644 index fffc0af2ca01..000000000000 --- a/awscli/examples/chime/create-voice-connector.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To create an Amazon Chime Voice Connector** - -The following ``create-voice-connector`` example creates an Amazon Chime Voice Connector in the specified AWS Region, with encryption enabled. :: - - aws chime create-voice-connector \ - --name newVoiceConnector \ - --aws-region us-west-2 \ - --require-encryption - -Output:: - - { - "VoiceConnector": { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "AwsRegion": "us-west-2", - "Name": "newVoiceConnector", - "OutboundHostName": "abcdef1ghij2klmno3pqr4.voiceconnector.chime.aws", - "RequireEncryption": true, - "CreatedTimestamp": "2019-09-18T20:34:01.352Z", - "UpdatedTimestamp": "2019-09-18T20:34:01.352Z" - } - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/delete-proxy-session.rst b/awscli/examples/chime/delete-proxy-session.rst deleted file mode 100644 index bb6a6770dda4..000000000000 --- a/awscli/examples/chime/delete-proxy-session.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To delete a proxy session** - -The following ``delete-proxy-session`` example deletes the specified proxy session. :: - - aws chime delete-proxy-session \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --proxy-session-id 123a4bc5-67d8-901e-2f3g-h4ghjk56789l - -This command produces no output. - -For more information, see `Proxy Phone Sessions `__ in the *Amazon Chime Developer Guide*. diff --git a/awscli/examples/chime/delete-voice-connector-group.rst b/awscli/examples/chime/delete-voice-connector-group.rst deleted file mode 100644 index e7ff6da11de1..000000000000 --- a/awscli/examples/chime/delete-voice-connector-group.rst +++ /dev/null @@ -1,10 +0,0 @@ -**title** - -The following ``delete-voice-connector-group`` example deletes the specified Amazon Chime Voice Connector group. :: - - aws chime delete-voice-connector-group \ - --voice-connector-group-id 123a456b-c7d8-90e1-fg23-4h567jkl8901 - -This command produces no output. - -For more information, see `Working with Amazon Chime Voice Connector Groups `__ in the *Amazon Chime Administration Guide*. \ No newline at end of file diff --git a/awscli/examples/chime/delete-voice-connector-origination.rst b/awscli/examples/chime/delete-voice-connector-origination.rst deleted file mode 100644 index 76221faf2d0f..000000000000 --- a/awscli/examples/chime/delete-voice-connector-origination.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete origination settings** - -The following ``delete-voice-connector-origination`` example deletes the origination host, port, protocol, priority, and weight from the specified Amazon Chime Voice Connector. :: - - aws chime delete-voice-connector-origination \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -This command produces no output. - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/delete-voice-connector-proxy.rst b/awscli/examples/chime/delete-voice-connector-proxy.rst deleted file mode 100644 index d48f030d804b..000000000000 --- a/awscli/examples/chime/delete-voice-connector-proxy.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete a proxy configuration** - -The following ``delete-voice-connector-proxy`` example deletes the proxy configuration from your Amazon Chime Voice Connector. :: - - aws chime delete-voice-connector-proxy \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -This command produces no output. - -For more information, see `Proxy Phone Sessions `__ in the *Amazon Chime Developer Guide*. diff --git a/awscli/examples/chime/delete-voice-connector-streaming-configuration.rst b/awscli/examples/chime/delete-voice-connector-streaming-configuration.rst deleted file mode 100644 index 957b4c9f93c7..000000000000 --- a/awscli/examples/chime/delete-voice-connector-streaming-configuration.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete a streaming configuration** - -The following ``delete-voice-connector-streaming-configuration`` example deletes the streaming configuration for the specified Amazon Chime Voice Connector. :: - - aws chime delete-voice-connector-streaming-configuration \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -This command produces no output. - -For more information, see `Streaming Amazon Chime Voice Connector Data to Kinesis `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/delete-voice-connector-termination-credentials.rst b/awscli/examples/chime/delete-voice-connector-termination-credentials.rst deleted file mode 100644 index ba0e11a2402f..000000000000 --- a/awscli/examples/chime/delete-voice-connector-termination-credentials.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To delete termination credentials** - -The following ``delete-voice-connector-termination-credentials`` example deletes the termination credentials for the specified user name and Amazon Chime Voice Connector. :: - - aws chime delete-voice-connector-termination-credentials \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --usernames "jdoe" - -This command produces no output. - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/delete-voice-connector-termination.rst b/awscli/examples/chime/delete-voice-connector-termination.rst deleted file mode 100644 index fb7dc10aaef0..000000000000 --- a/awscli/examples/chime/delete-voice-connector-termination.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete termination settings** - -The following ``delete-voice-connector-termination`` example deletes the termination settings for the specified Amazon Chime Voice Connector. :: - - aws chime delete-voice-connector-termination \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -This command produces no output. - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/delete-voice-connector.rst b/awscli/examples/chime/delete-voice-connector.rst deleted file mode 100644 index 6ff00b2e334e..000000000000 --- a/awscli/examples/chime/delete-voice-connector.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete an Amazon Chime Voice Connector** - -The following ``delete-voice-connector`` example doesthis :: - - aws chime delete-voice-connector \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -This command produces no output. - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/disassociate-phone-numbers-from-voice-connector-group.rst b/awscli/examples/chime/disassociate-phone-numbers-from-voice-connector-group.rst deleted file mode 100644 index 96ac4ea58984..000000000000 --- a/awscli/examples/chime/disassociate-phone-numbers-from-voice-connector-group.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To disassociate phone numbers from an Amazon Chime Voice Connector group** - -The following ``disassociate-phone-numbers-from-voice-connector-group`` example disassociates the specified phone numbers from an Amazon Chime Voice Connector group. :: - - aws chime disassociate-phone-numbers-from-voice-connector-group \ - --voice-connector-group-id 123a456b-c7d8-90e1-fg23-4h567jkl8901 \ - --e164-phone-numbers "+12065550100" "+12065550101" - -Output:: - - { - "PhoneNumberErrors": [] - } - -For more information, see `Working with Amazon Chime Voice Connector Groups `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/disassociate-phone-numbers-from-voice-connector.rst b/awscli/examples/chime/disassociate-phone-numbers-from-voice-connector.rst deleted file mode 100644 index 1a002ed8d141..000000000000 --- a/awscli/examples/chime/disassociate-phone-numbers-from-voice-connector.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To disassociate phone numbers from an Amazon Chime Voice Connector** - -The following ``disassociate-phone-numbers-from-voice-connector`` example disassociates the specified phone numbers from an Amazon Chime Voice Connector. :: - - aws chime disassociate-phone-numbers-from-voice-connector \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --e164-phone-numbers "+12065550100" "+12065550101" - -Output:: - - { - "PhoneNumberErrors": [] - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/get-proxy-session.rst b/awscli/examples/chime/get-proxy-session.rst deleted file mode 100644 index 0cff43880c34..000000000000 --- a/awscli/examples/chime/get-proxy-session.rst +++ /dev/null @@ -1,36 +0,0 @@ -**To get proxy session details** - -The following ``get-proxy-session`` example lists the details of the specified proxy session. :: - - aws chime get-proxy-session \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --proxy-session-id 123a4bc5-67d8-901e-2f3g-h4ghjk56789l - -Output:: - - { - "ProxySession": { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "ProxySessionId": "123a4bc5-67d8-901e-2f3g-h4ghjk56789l", - "Status": "Open", - "ExpiryMinutes": 60, - "Capabilities": [ - "SMS", - "Voice" - ], - "CreatedTimestamp": "2020-04-15T16:10:10.288Z", - "UpdatedTimestamp": "2020-04-15T16:10:10.288Z", - "Participants": [ - { - "PhoneNumber": "+12065550100", - "ProxyPhoneNumber": "+19135550199" - }, - { - "PhoneNumber": "+14015550101", - "ProxyPhoneNumber": "+19135550199" - } - ] - } - } - -For more information, see `Proxy Phone Sessions `__ in the *Amazon Chime Developer Guide*. diff --git a/awscli/examples/chime/get-voice-connector-group.rst b/awscli/examples/chime/get-voice-connector-group.rst deleted file mode 100644 index 5194851ae6ec..000000000000 --- a/awscli/examples/chime/get-voice-connector-group.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To get details for an Amazon Chime Voice Connector group** - -The following ``get-voice-connector-group`` example displays details for the specified Amazon Chime Voice Connector group. :: - - aws chime get-voice-connector-group \ - --voice-connector-group-id 123a456b-c7d8-90e1-fg23-4h567jkl8901 - -Output:: - - { - "VoiceConnectorGroup": { - "VoiceConnectorGroupId": "123a456b-c7d8-90e1-fg23-4h567jkl8901", - "Name": "myGroup", - "VoiceConnectorItems": [], - "CreatedTimestamp": "2019-09-18T16:38:34.734Z", - "UpdatedTimestamp": "2019-09-18T16:38:34.734Z" - } - } - -For more information, see `Working with Amazon Chime Voice Connector Groups `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/get-voice-connector-logging-configuration.rst b/awscli/examples/chime/get-voice-connector-logging-configuration.rst deleted file mode 100644 index 1d33ec358849..000000000000 --- a/awscli/examples/chime/get-voice-connector-logging-configuration.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To get logging configuration details** - -The following ``get-voice-connector-logging-configuration`` example retreives the logging configuration details for the specified Amazon Chime Voice Connector. :: - - aws chime get-voice-connector-logging-configuration \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -Output:: - - { - "LoggingConfiguration": { - "EnableSIPLogs": true - } - } - - -For more information, see `Streaming Amazon Chime Voice Connector Media to Kinesis `__ in the *Amazon Chime Administration Guide*. \ No newline at end of file diff --git a/awscli/examples/chime/get-voice-connector-origination.rst b/awscli/examples/chime/get-voice-connector-origination.rst deleted file mode 100644 index e3c6cd099b22..000000000000 --- a/awscli/examples/chime/get-voice-connector-origination.rst +++ /dev/null @@ -1,25 +0,0 @@ -**To retrieve origination settings** - -The following ``get-voice-connector-origination`` example retrieves the origination host, port, protocol, priority, and weight for the specified Amazon Chime Voice Connector. :: - - aws chime get-voice-connector-origination \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -Output:: - - { - "Origination": { - "Routes": [ - { - "Host": "10.24.34.0", - "Port": 1234, - "Protocol": "TCP", - "Priority": 1, - "Weight": 5 - } - ], - "Disabled": false - } - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/get-voice-connector-proxy.rst b/awscli/examples/chime/get-voice-connector-proxy.rst deleted file mode 100644 index 1ebab68d853c..000000000000 --- a/awscli/examples/chime/get-voice-connector-proxy.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To get proxy configuration details** - -The following ``get-voice-connector-proxy`` example gets the proxy configuration details for your Amazon Chime Voice Connector. :: - - aws chime get-voice-connector-proxy \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -Output:: - - { - "Proxy": { - "DefaultSessionExpiryMinutes": 60, - "Disabled": false, - "PhoneNumberCountries": [ - "US" - ] - } - } - -For more information, see `Proxy Phone Sessions `__ in the *Amazon Chime Developer Guide*. diff --git a/awscli/examples/chime/get-voice-connector-streaming-configuration.rst b/awscli/examples/chime/get-voice-connector-streaming-configuration.rst deleted file mode 100644 index f2d2130d7fa9..000000000000 --- a/awscli/examples/chime/get-voice-connector-streaming-configuration.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To get streaming configuration details** - -The following ``get-voice-connector-streaming-configuration`` example gets the streaming configuration details for the specified Amazon Chime Voice Connector. :: - - aws chime get-voice-connector-streaming-configuration \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -Output:: - - { - "StreamingConfiguration": { - "DataRetentionInHours": 24, - "Disabled": false - } - } - -For more information, see `Streaming Amazon Chime Voice Connector Data to Kinesis `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/get-voice-connector-termination-health.rst b/awscli/examples/chime/get-voice-connector-termination-health.rst deleted file mode 100644 index 16865be603a4..000000000000 --- a/awscli/examples/chime/get-voice-connector-termination-health.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To retrieve termination health details** - -The following ``get-voice-connector-termination-health`` example retrieves the termination health details for the specified Amazon Chime Voice Connector. :: - - aws chime get-voice-connector-termination-health \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -Output:: - - { - "TerminationHealth": { - "Timestamp": "Fri Aug 23 16:45:55 UTC 2019", - "Source": "10.24.34.0" - } - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/get-voice-connector-termination.rst b/awscli/examples/chime/get-voice-connector-termination.rst deleted file mode 100644 index f0c7f663cb70..000000000000 --- a/awscli/examples/chime/get-voice-connector-termination.rst +++ /dev/null @@ -1,25 +0,0 @@ -**To retrieve termination settings** - -The following ``get-voice-connector-termination`` example retrieves the termination settings for the specified Amazon Chime Voice Connector. :: - - aws chime get-voice-connector-termination \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -This command produces no output. -Output:: - - { - "Termination": { - "CpsLimit": 1, - "DefaultPhoneNumber": "+12065550100", - "CallingRegions": [ - "US" - ], - "CidrAllowedList": [ - "10.24.34.0/23" - ], - "Disabled": false - } - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/get-voice-connector.rst b/awscli/examples/chime/get-voice-connector.rst deleted file mode 100644 index e949829f1e07..000000000000 --- a/awscli/examples/chime/get-voice-connector.rst +++ /dev/null @@ -1,22 +0,0 @@ -**To get details for an Amazon Chime Voice Connector** - -The following ``get-voice-connector`` example displays the details of the specified Amazon Chime Voice Connector. :: - - aws chime get-voice-connector \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -Output:: - - { - "VoiceConnector": { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "AwsRegion": "us-west-2", - "Name": "newVoiceConnector", - "OutboundHostName": "abcdef1ghij2klmno3pqr4.voiceconnector.chime.aws", - "RequireEncryption": true, - "CreatedTimestamp": "2019-09-18T20:34:01.352Z", - "UpdatedTimestamp": "2019-09-18T20:34:01.352Z" - } - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/list-proxy-sessions.rst b/awscli/examples/chime/list-proxy-sessions.rst deleted file mode 100644 index 45cd08efbd89..000000000000 --- a/awscli/examples/chime/list-proxy-sessions.rst +++ /dev/null @@ -1,35 +0,0 @@ -**To list proxy sessions** - -The following ``list-proxy-sessions`` example lists the proxy sessions for your Amazon Chime Voice Connector. :: - - aws chime list-proxy-sessions \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -Output:: - - { - "ProxySession": { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "ProxySessionId": "123a4bc5-67d8-901e-2f3g-h4ghjk56789l", - "Status": "Open", - "ExpiryMinutes": 60, - "Capabilities": [ - "SMS", - "Voice" - ], - "CreatedTimestamp": "2020-04-15T16:10:10.288Z", - "UpdatedTimestamp": "2020-04-15T16:10:10.288Z", - "Participants": [ - { - "PhoneNumber": "+12065550100", - "ProxyPhoneNumber": "+19135550199" - }, - { - "PhoneNumber": "+14015550101", - "ProxyPhoneNumber": "+19135550199" - } - ] - } - } - -For more information, see `Proxy Phone Sessions `__ in the *Amazon Chime Developer Guide*. diff --git a/awscli/examples/chime/list-voice-connector-groups.rst b/awscli/examples/chime/list-voice-connector-groups.rst deleted file mode 100644 index 74a83dea413e..000000000000 --- a/awscli/examples/chime/list-voice-connector-groups.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To list Amazon Chime Voice Connector groups for an Amazon Chime account** - -The following ``list-voice-connector-groups`` example lists the Amazon Chime Voice Connector groups associated with the administrator's Amazon Chime account. :: - - aws chime list-voice-connector-groups - -Output:: - - { - "VoiceConnectorGroups": [ - { - "VoiceConnectorGroupId": "123a456b-c7d8-90e1-fg23-4h567jkl8901", - "Name": "myGroup", - "VoiceConnectorItems": [], - "CreatedTimestamp": "2019-09-18T16:38:34.734Z", - "UpdatedTimestamp": "2019-09-18T16:38:34.734Z" - } - ] - } - -For more information, see `Working with Amazon Chime Voice Connector groups `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/list-voice-connector-termination-credentials.rst b/awscli/examples/chime/list-voice-connector-termination-credentials.rst deleted file mode 100644 index c52ca1efd046..000000000000 --- a/awscli/examples/chime/list-voice-connector-termination-credentials.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To retrieve a list of termination credentials** - -The following ``list-voice-connector-termination-credentials`` example retrieves a list of the termination credentials for the specified Amazon Chime Voice Connector. :: - - aws chime list-voice-connector-termination-credentials \ - --voice-connector-id abcdef1ghij2klmno3pqr4 - -This command produces no output. -Output:: - - { - "Usernames": [ - "jdoe" - ] - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/list-voice-connectors.rst b/awscli/examples/chime/list-voice-connectors.rst deleted file mode 100644 index 748d14086de3..000000000000 --- a/awscli/examples/chime/list-voice-connectors.rst +++ /dev/null @@ -1,32 +0,0 @@ -**To list Amazon Chime Voice Connectors for an account** - -The following ``list-voice-connectors`` example lists the Amazon Chime Voice Connectors associated with the caller's account. :: - - aws chime list-voice-connectors - -Output:: - - { - "VoiceConnectors": [ - { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "AwsRegion": "us-east-1", - "Name": "MyVoiceConnector", - "OutboundHostName": "abcdef1ghij2klmno3pqr4.voiceconnector.chime.aws", - "RequireEncryption": true, - "CreatedTimestamp": "2019-06-04T18:46:56.508Z", - "UpdatedTimestamp": "2019-09-18T16:33:00.806Z" - }, - { - "VoiceConnectorId": "cbadef1ghij2klmno3pqr5", - "AwsRegion": "us-west-2", - "Name": "newVoiceConnector", - "OutboundHostName": "cbadef1ghij2klmno3pqr5.voiceconnector.chime.aws", - "RequireEncryption": true, - "CreatedTimestamp": "2019-09-18T20:34:01.352Z", - "UpdatedTimestamp": "2019-09-18T20:34:01.352Z" - } - ] - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/put-voice-connector-logging-configuration.rst b/awscli/examples/chime/put-voice-connector-logging-configuration.rst deleted file mode 100644 index b448491370e8..000000000000 --- a/awscli/examples/chime/put-voice-connector-logging-configuration.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To add a logging configuration for an Amazon Chime Voice Connector** - -The following ``put-voice-connector-logging-configuration`` example turns on the SIP logging configuration for the specified Amazon Chime Voice Connector. :: - - aws chime put-voice-connector-logging-configuration \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --logging-configuration EnableSIPLogs=true - -Output:: - - { - "LoggingConfiguration": { - "EnableSIPLogs": true - } - } - -For more information, see `Streaming Amazon Chime Voice Connector Media to Kinesis `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/put-voice-connector-origination.rst b/awscli/examples/chime/put-voice-connector-origination.rst deleted file mode 100644 index a125fe342905..000000000000 --- a/awscli/examples/chime/put-voice-connector-origination.rst +++ /dev/null @@ -1,26 +0,0 @@ -**To set up origination settings** - -The following ``put-voice-connector-origination`` example sets up the origination host, port, protocol, priority, and weight for the specified Amazon Chime Voice Connector. :: - - aws chime put-voice-connector-origination \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --origination Routes=[{Host="10.24.34.0",Port=1234,Protocol="TCP",Priority=1,Weight=5}],Disabled=false - -Output:: - - { - "Origination": { - "Routes": [ - { - "Host": "10.24.34.0", - "Port": 1234, - "Protocol": "TCP", - "Priority": 1, - "Weight": 5 - } - ], - "Disabled": false - } - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/put-voice-connector-proxy.rst b/awscli/examples/chime/put-voice-connector-proxy.rst deleted file mode 100644 index a1496d64d84f..000000000000 --- a/awscli/examples/chime/put-voice-connector-proxy.rst +++ /dev/null @@ -1,22 +0,0 @@ -**To put a proxy configuration** - -The following ``put-voice-connector-proxy`` example sets a proxy configuration to your Amazon Chime Voice Connector. :: - - aws chime put-voice-connector-proxy \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --default-session-expiry-minutes 60 \ - --phone-number-pool-countries "US" - -Output:: - - { - "Proxy": { - "DefaultSessionExpiryMinutes": 60, - "Disabled": false, - "PhoneNumberCountries": [ - "US" - ] - } - } - -For more information, see `Proxy Phone Sessions `__ in the *Amazon Chime Developer Guide*. diff --git a/awscli/examples/chime/put-voice-connector-streaming-configuration.rst b/awscli/examples/chime/put-voice-connector-streaming-configuration.rst deleted file mode 100644 index 8c05056a2de0..000000000000 --- a/awscli/examples/chime/put-voice-connector-streaming-configuration.rst +++ /dev/null @@ -1,18 +0,0 @@ -**To create a streaming configuration** - -The following ``put-voice-connector-streaming-configuration`` example creates a streaming configuration for the specified Amazon Chime Voice Connector. It enables media streaming from the Amazon Chime Voice Connector to Amazon Kinesis, and sets the data retention period to 24 hours. :: - - aws chime put-voice-connector-streaming-configuration \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --streaming-configuration DataRetentionInHours=24,Disabled=false - -Output:: - - { - "StreamingConfiguration": { - "DataRetentionInHours": 24, - "Disabled": false - } - } - -For more information, see `Streaming Amazon Chime Voice Connector Data to Kinesis `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/put-voice-connector-termination-credentials.rst b/awscli/examples/chime/put-voice-connector-termination-credentials.rst deleted file mode 100644 index b42f7f6f6fc3..000000000000 --- a/awscli/examples/chime/put-voice-connector-termination-credentials.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To set up termination credentials** - -The following ``put-voice-connector-termination-credentials`` example sets termination credentials for the specified Amazon Chime Voice Connector. :: - - aws chime put-voice-connector-termination-credentials \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --credentials Username="jdoe",Password="XXXXXXXX" - -This command produces no output. - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/put-voice-connector-termination.rst b/awscli/examples/chime/put-voice-connector-termination.rst deleted file mode 100644 index fb0093e0e41f..000000000000 --- a/awscli/examples/chime/put-voice-connector-termination.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To set up termination settings** - -The following ``put-voice-connector-termination`` example sets the calling regions and allowed IP host termination settings for the specified Amazon Chime Voice Connector. :: - - aws chime put-voice-connector-termination \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --termination CallingRegions="US",CidrAllowedList="10.24.34.0/23",Disabled=false - -Output:: - - { - "Termination": { - "CpsLimit": 0, - "CallingRegions": [ - "US" - ], - "CidrAllowedList": [ - "10.24.34.0/23" - ], - "Disabled": false - } - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/update-proxy-session.rst b/awscli/examples/chime/update-proxy-session.rst deleted file mode 100644 index 94099230ede9..000000000000 --- a/awscli/examples/chime/update-proxy-session.rst +++ /dev/null @@ -1,36 +0,0 @@ -**To update a proxy session** - -The following ``update-proxy-session`` example updates the proxy session capabilities. :: - - aws chime update-proxy-session \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --proxy-session-id 123a4bc5-67d8-901e-2f3g-h4ghjk56789l \ - --capabilities "Voice" - -Output:: - - { - "ProxySession": { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "ProxySessionId": "123a4bc5-67d8-901e-2f3g-h4ghjk56789l", - "Status": "Open", - "ExpiryMinutes": 60, - "Capabilities": [ - "Voice" - ], - "CreatedTimestamp": "2020-04-15T16:10:10.288Z", - "UpdatedTimestamp": "2020-04-15T16:10:10.288Z", - "Participants": [ - { - "PhoneNumber": "+12065550100", - "ProxyPhoneNumber": "+19135550199" - }, - { - "PhoneNumber": "+14015550101", - "ProxyPhoneNumber": "+19135550199" - } - ] - } - } - -For more information, see `Proxy Phone Sessions `__ in the *Amazon Chime Developer Guide*. diff --git a/awscli/examples/chime/update-voice-connector-group.rst b/awscli/examples/chime/update-voice-connector-group.rst deleted file mode 100644 index 428ac65e5b3f..000000000000 --- a/awscli/examples/chime/update-voice-connector-group.rst +++ /dev/null @@ -1,27 +0,0 @@ -**To update the details for an Amazon Chime Voice Connector group** - -The following ``update-voice-connector-group`` example updates the details of the specified Amazon Chime Voice Connector group. :: - - aws chime update-voice-connector-group \ - --voice-connector-group-id 123a456b-c7d8-90e1-fg23-4h567jkl8901 \ - --name "newGroupName" \ - --voice-connector-items VoiceConnectorId=abcdef1ghij2klmno3pqr4,Priority=1 - -Output:: - - { - "VoiceConnectorGroup": { - "VoiceConnectorGroupId": "123a456b-c7d8-90e1-fg23-4h567jkl8901", - "Name": "newGroupName", - "VoiceConnectorItems": [ - { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "Priority": 1 - } - ], - "CreatedTimestamp": "2019-09-18T16:38:34.734Z", - "UpdatedTimestamp": "2019-10-28T19:00:57.081Z" - } - } - -For more information, see `Working with Amazon Chime Voice Connector Groups `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/chime/update-voice-connector.rst b/awscli/examples/chime/update-voice-connector.rst deleted file mode 100644 index a80223f3383e..000000000000 --- a/awscli/examples/chime/update-voice-connector.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To update the details for an Amazon Chime Voice Connector** - -The following ``update-voice-connector`` example updates the name of the specified Amazon Chime Voice Connector. :: - - aws chime update-voice-connector \ - --voice-connector-id abcdef1ghij2klmno3pqr4 \ - --name newName \ - --require-encryption - -Output:: - - { - "VoiceConnector": { - "VoiceConnectorId": "abcdef1ghij2klmno3pqr4", - "AwsRegion": "us-west-2", - "Name": "newName", - "OutboundHostName": "abcdef1ghij2klmno3pqr4.voiceconnector.chime.aws", - "RequireEncryption": true, - "CreatedTimestamp": "2019-09-18T20:34:01.352Z", - "UpdatedTimestamp": "2019-09-18T20:40:52.895Z" - } - } - -For more information, see `Working with Amazon Chime Voice Connectors `__ in the *Amazon Chime Administration Guide*. diff --git a/awscli/examples/cloudformation/_package_description.rst b/awscli/examples/cloudformation/_package_description.rst index f47ec2212916..2eff27560b1c 100644 --- a/awscli/examples/cloudformation/_package_description.rst +++ b/awscli/examples/cloudformation/_package_description.rst @@ -40,7 +40,7 @@ For example, if your AWS Lambda function source code is in the ``/home/user/code/lambdafunction/`` folder, specify ``CodeUri: /home/user/code/lambdafunction`` for the ``AWS::Serverless::Function`` resource. The command returns a template and replaces -the local path with the S3 location: ``CodeUri: s3://mybucket/lambdafunction.zip``. +the local path with the S3 location: ``CodeUri: s3://amzn-s3-demo-bucket/lambdafunction.zip``. If you specify a file, the command directly uploads it to the S3 bucket. If you specify a folder, the command zips the folder and then uploads the .zip file. @@ -49,8 +49,8 @@ current working directory. The exception is ``AWS::ApiGateway::RestApi``; if you don't specify a ``BodyS3Location``, this command will not upload an artifact to S3. Before the command uploads artifacts, it checks if the artifacts are already -present in the S3 bucket to prevent unnecessary uploads. The command uses MD5 -checksums to compare files. If the values match, the command doesn't upload the -artifacts. Use the ``--force-upload flag`` to skip this check and always upload the -artifacts. +present in the S3 bucket to prevent unnecessary uploads. If the values match, the +command doesn't upload the artifacts. Use the ``--force-upload flag`` to skip this +check and always upload the artifacts. The command uses MD5 checksums to compare +files by default. If MD5 is not available in the environment, a SHA256 checksum is used. diff --git a/awscli/examples/cloudformation/create-generated-template.rst b/awscli/examples/cloudformation/create-generated-template.rst new file mode 100644 index 000000000000..9f321fcba5c1 --- /dev/null +++ b/awscli/examples/cloudformation/create-generated-template.rst @@ -0,0 +1,50 @@ +**To create a generated template from scanned resources** + +The following ``create-generated-template`` example creates a generated template named ``MyTemplate`` from scanned resources. :: + + aws cloudformation create-generated-template \ + --generated-template-name MyTemplate \ + --resources file://resources.json + +Contents of ``resources.json``:: + + [ + { + "ResourceType": "AWS::EKS::Cluster", + "LogicalResourceId":"MyCluster", + "ResourceIdentifier": { + "ClusterName": "MyAppClusterName" + } + }, + { + "ResourceType": "AWS::AutoScaling::AutoScalingGroup", + "LogicalResourceId":"MyASG", + "ResourceIdentifier": { + "AutoScalingGroupName": "MyAppASGName" + } + }, + { + "ResourceType": "AWS::EKS::Nodegroup", + "LogicalResourceId":"MyNodegroup", + "ResourceIdentifier": { + "NodegroupName": "MyAppNodegroupName" + } + }, + { + "ResourceType": "AWS::IAM::Role", + "LogicalResourceId":"MyRole", + "ResourceIdentifier": { + "RoleId": "arn:aws::iam::123456789012:role/MyAppIAMRole" + } + } + ] + +Output:: + + { + "Arn": + "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/7fc8512c-d8cb-4e02-b266-d39c48344e48", + "Name": "MyTemplate" + } + +For more information, see `Create a CloudFormation template from resources scanned with IaC generator `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/create-stack-refactor.rst b/awscli/examples/cloudformation/create-stack-refactor.rst new file mode 100644 index 000000000000..0e2d974df7d6 --- /dev/null +++ b/awscli/examples/cloudformation/create-stack-refactor.rst @@ -0,0 +1,16 @@ +**To create the stack definition for a stack refactor operation** + +The following ``create-stack-refactor`` example creates the stack definition for stack refactoring. :: + + aws cloudformation create-stack-refactor \ + --stack-definitions \ + StackName=Stack1,TemplateBody@=file://template1-updated.yaml \ + StackName=Stack2,TemplateBody@=file://template2-updated.yaml + +Output:: + + { + "StackRefactorId": "9c384f70-4e07-4ed7-a65d-fee5eb430841" + } + +For more information, see `Stack refactoring `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/delete-generated-template.rst b/awscli/examples/cloudformation/delete-generated-template.rst new file mode 100644 index 000000000000..817305663b49 --- /dev/null +++ b/awscli/examples/cloudformation/delete-generated-template.rst @@ -0,0 +1,10 @@ +**To delete a generated template** + +The following ``delete-generated-template`` example deletes the specified template. :: + + aws cloudformation delete-generated-template \ + --generated-template-name MyTemplate + +This command produces no output. + +For more information, see `Generating templates from existing resources `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/describe-generated-template.rst b/awscli/examples/cloudformation/describe-generated-template.rst new file mode 100644 index 000000000000..e66305302b62 --- /dev/null +++ b/awscli/examples/cloudformation/describe-generated-template.rst @@ -0,0 +1,62 @@ +**To describe a generated template** + +The following ``describe-generated-template`` example describes the specified template. :: + + aws cloudformation describe-generated-template \ + --generated-template-name MyTemplate + +Output:: + + { + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedTemplate/7d881acf-f307-4ded-910e-f8fb49b96894", + "GeneratedTemplateName": "MyTemplate", + "Resources": [ + { + "ResourceType": "AWS::EC2::SecurityGroup", + "LogicalResourceId": "EC2SecurityGroup", + "ResourceIdentifier": { + "Id": "sg-1234567890abcdef0" + }, + "ResourceStatus": "COMPLETE", + "ResourceStatusReason": "Resource Template complete", + "Warnings": [] + }, + { + "ResourceType": "AWS::EC2::Instance", + "LogicalResourceId": "EC2Instance", + "ResourceIdentifier": { + "InstanceId": "i-1234567890abcdef0" + }, + "ResourceStatus": "COMPLETE", + "ResourceStatusReason": "Resource Template complete", + "Warnings": [] + }, + { + "ResourceType": "AWS::EC2::KeyPair", + "LogicalResourceId": "EC2KeyPairSshkeypair", + "ResourceIdentifier": { + "KeyName": "sshkeypair" + }, + "ResourceStatus": "COMPLETE", + "ResourceStatusReason": "Resource Template complete", + "Warnings": [] + } + ], + "Status": "COMPLETE", + "StatusReason": "All resources complete", + "CreationTime": "2025-09-23T19:38:06.435000+00:00", + "LastUpdatedTime": "2025-09-23T19:38:10.798000+00:00", + "Progress": { + "ResourcesSucceeded": 3, + "ResourcesFailed": 0, + "ResourcesProcessing": 0, + "ResourcesPending": 0 + }, + "TemplateConfiguration": { + "DeletionPolicy": "RETAIN", + "UpdateReplacePolicy": "RETAIN" + }, + "TotalWarnings": 0 + } + +For more information, see `Generating templates from existing resources `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/describe-resource-scan.rst b/awscli/examples/cloudformation/describe-resource-scan.rst new file mode 100644 index 000000000000..bda035638add --- /dev/null +++ b/awscli/examples/cloudformation/describe-resource-scan.rst @@ -0,0 +1,38 @@ +**To describe a resource scan** + +The following ``describe-resource-scan`` example describes the resource scan with the specified scan ID. :: + + aws cloudformation describe-resource-scan --region \ + --resource-scan-id arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60 + +Output:: + + { + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60", + "Status": "COMPLETE", + "StartTime": "2025-08-21T03:10:38.485000+00:00", + "EndTime": "2025-08-21T03:20:28.485000+00:00", + "PercentageCompleted": 100.0, + "ResourceTypes": [ + "AWS::CloudFront::CachePolicy", + "AWS::CloudFront::OriginRequestPolicy", + "AWS::EC2::DHCPOptions", + "AWS::EC2::InternetGateway", + "AWS::EC2::KeyPair", + "AWS::EC2::NetworkAcl", + "AWS::EC2::NetworkInsightsPath", + "AWS::EC2::NetworkInterface", + "AWS::EC2::PlacementGroup", + "AWS::EC2::Route", + "AWS::EC2::RouteTable", + "AWS::EC2::SecurityGroup", + "AWS::EC2::Subnet", + "AWS::EC2::SubnetCidrBlock", + "AWS::EC2::SubnetNetworkAclAssociation", + "AWS::EC2::SubnetRouteTableAssociation", + ... + ], + "ResourcesRead": 676 + } + +For more information, see `Generating templates from existing resources `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/describe-stack-refactor.rst b/awscli/examples/cloudformation/describe-stack-refactor.rst new file mode 100644 index 000000000000..fa3612dd6982 --- /dev/null +++ b/awscli/examples/cloudformation/describe-stack-refactor.rst @@ -0,0 +1,20 @@ +**To describe a stack refactor operation** + +The following ``describe-stack-refactor`` example describes the stack refactor operation with the specified stack refactor ID. :: + + aws cloudformation describe-stack-refactor \ + --stack-refactor-id 9c384f70-4e07-4ed7-a65d-fee5eb430841 + +Output:: + + { + "StackRefactorId": "9c384f70-4e07-4ed7-a65d-fee5eb430841", + "StackIds": [ + "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack1/3e6a1ff0-94b1-11f0-aa6f-0a88d2e03acf", + "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack2/5da91650-94b1-11f0-81cf-0a23500e151b" + ], + "ExecutionStatus": "AVAILABLE", + "Status": "CREATE_COMPLETE" + } + +For more information, see `Stack refactoring `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/execute-stack-refactor.rst b/awscli/examples/cloudformation/execute-stack-refactor.rst new file mode 100644 index 000000000000..e083bd3b913e --- /dev/null +++ b/awscli/examples/cloudformation/execute-stack-refactor.rst @@ -0,0 +1,10 @@ +**To complete a stack refactor operation** + +The following ``execute-stack-refactor`` example completes the stack refactor operation with the specified stack refactor ID. :: + + aws cloudformation execute-stack-refactor \ + --stack-refactor-id 9c384f70-4e07-4ed7-a65d-fee5eb430841 + +This command produces no output. + +For more information, see `Stack refactoring `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/list-generated-templates.rst b/awscli/examples/cloudformation/list-generated-templates.rst new file mode 100644 index 000000000000..30ae27d0d65d --- /dev/null +++ b/awscli/examples/cloudformation/list-generated-templates.rst @@ -0,0 +1,41 @@ +**To list generated templates** + +The following ``list-generated-templates`` example lists all generated templates. :: + + aws cloudformation list-generated-templates + +Output:: + + { + "Summaries": [ + { + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/7fc8512c-d8cb-4e02-b266-d39c48344e48", + "GeneratedTemplateName": "MyTemplate", + "Status": "COMPLETE", + "StatusReason": "All resources complete", + "CreationTime": "2025-09-23T20:13:24.283000+00:00", + "LastUpdatedTime": "2025-09-23T20:13:28.610000+00:00", + "NumberOfResources": 4 + }, + { + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedTemplate/f10dd1c4-edc6-4823-8153-ab6112b8d051", + "GeneratedTemplateName": "MyEC2InstanceTemplate", + "Status": "COMPLETE", + "StatusReason": "All resources complete", + "CreationTime": "2024-08-08T19:35:49.790000+00:00", + "LastUpdatedTime": "2024-08-08T19:35:52.207000+00:00", + "NumberOfResources": 3 + }, + { + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedTemplate/e5a1c89f-7ce2-41bd-9bdf-75b7c852e3ca", + "GeneratedTemplateName": "MyEKSNodeGroupTemplate", + "Status": "COMPLETE", + "StatusReason": "All resources complete", + "CreationTime": "2024-07-16T20:39:27.883000+00:00", + "LastUpdatedTime": "2024-07-16T20:39:35.766000+00:00", + "NumberOfResources": 4 + } + ] + } + +For more information, see `Generating templates from existing resources `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/list-resource-scan-related-resources.rst b/awscli/examples/cloudformation/list-resource-scan-related-resources.rst new file mode 100644 index 000000000000..1150d4799d30 --- /dev/null +++ b/awscli/examples/cloudformation/list-resource-scan-related-resources.rst @@ -0,0 +1,47 @@ +**To list related resources from a resource scan** + +The following ``list-resource-scan-related-resources`` example lists resources from the specified resource scan that are related to resources in ``resources.json``. :: + + aws cloudformation list-resource-scan-related-resources \ + --resource-scan-id arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60 \ + --resources file://resources.json + +Contents of ``resources.json``:: + + [ + { + "ResourceType": "AWS::EKS::Cluster", + "ResourceIdentifier": { + "ClusterName": "MyAppClusterName" + } + }, + { + "ResourceType": "AWS::AutoScaling::AutoScalingGroup", + "ResourceIdentifier": { + "AutoScalingGroupName": "MyAppASGName" + } + } + ] + +Output:: + + { + "RelatedResources": [ + { + "ResourceType": "AWS::EKS::Nodegroup", + "ResourceIdentifier": { + "NodegroupName": "MyAppNodegroupName" + }, + "ManagedByStack": false + }, + { + "ResourceType": "AWS::IAM::Role", + "ResourceIdentifier": { + "RoleId": "arn:aws::iam::123456789012:role/MyAppIAMRole" + }, + "ManagedByStack": false + } + ] + } + +For more information, see `Create a CloudFormation template from resources scanned with IaC generator `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/list-resource-scan-resources.rst b/awscli/examples/cloudformation/list-resource-scan-resources.rst new file mode 100644 index 000000000000..1b072381806a --- /dev/null +++ b/awscli/examples/cloudformation/list-resource-scan-resources.rst @@ -0,0 +1,30 @@ +**To list resources from a resource scan** + +The following ``list-resource-scan-resources`` example lists resources from the specified resource scan, filtered by resource identifier. :: + + aws cloudformation list-resource-scan-resources \ + --resource-scan-id arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60 \ + --resource-identifier MyApp + +Output:: + + { + "Resources": [ + { + "ResourceType": "AWS::EKS::Cluster", + "ResourceIdentifier": { + "ClusterName": "MyAppClusterName" + }, + "ManagedByStack": false + }, + { + "ResourceType": "AWS::AutoScaling::AutoScalingGroup", + "ResourceIdentifier": { + "AutoScalingGroupName": "MyAppASGName" + }, + "ManagedByStack": false + } + ] + } + +For more information, see `Create a CloudFormation template from resources scanned with IaC generator `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/list-stack-refactor-actions.rst b/awscli/examples/cloudformation/list-stack-refactor-actions.rst new file mode 100644 index 000000000000..1e0c4e06ae16 --- /dev/null +++ b/awscli/examples/cloudformation/list-stack-refactor-actions.rst @@ -0,0 +1,71 @@ +**To list actions for a stack refactor operation** + +The following ``list-stack-refactor-actions`` example lists actions for the stack refactor operation with the specified stack refactor ID. :: + + aws cloudformation list-stack-refactor-actions \ + --stack-refactor-id 9c384f70-4e07-4ed7-a65d-fee5eb430841 + +Output:: + + { + "StackRefactorActions": [ + { + "Action": "MOVE", + "Entity": "RESOURCE", + "PhysicalResourceId": "MyTestLambdaRole", + "Description": "No configuration changes detected.", + "Detection": "AUTO", + "TagResources": [], + "UntagResources": [], + "ResourceMapping": { + "Source": { + "StackName": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack1/3e6a1ff0-94b1-11f0-aa6f-0a88d2e03acf", + "LogicalResourceId": "MyLambdaRole" + }, + "Destination": { + "StackName": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack2/5da91650-94b1-11f0-81cf-0a23500e151b", + "LogicalResourceId": "MyLambdaRole" + } + } + }, + { + "Action": "MOVE", + "Entity": "RESOURCE", + "PhysicalResourceId": "MyTestFunction", + "Description": "Resource configuration changes will be validated during refactor execution.", + "Detection": "AUTO", + "TagResources": [ + { + "Key": "aws:cloudformation:stack-name", + "Value": "Stack2" + }, + { + "Key": "aws:cloudformation:logical-id", + "Value": "MyFunction" + }, + { + "Key": "aws:cloudformation:stack-id", + "Value": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack2/5da91650-94b1-11f0-81cf-0a23500e151b" + } + ], + "UntagResources": [ + "aws:cloudformation:stack-name", + "aws:cloudformation:logical-id", + "aws:cloudformation:stack-id" + ], + "ResourceMapping": { + "Source": { + "StackName": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack1/3e6a1ff0-94b1-11f0-aa6f-0a88d2e03acf", + "LogicalResourceId": "MyFunction" + }, + "Destination": { + "StackName": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack2/5da91650-94b1-11f0-81cf-0a23500e151b", + "LogicalResourceId": "MyFunction" + } + } + } + ] + } + + +For more information, see `Stack refactoring `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudformation/start-resource-scan.rst b/awscli/examples/cloudformation/start-resource-scan.rst new file mode 100644 index 000000000000..5b26692dd015 --- /dev/null +++ b/awscli/examples/cloudformation/start-resource-scan.rst @@ -0,0 +1,14 @@ +**To start a resource scan** + +The following ``start-resource-scan`` example starts a resource scan that scans all existing resources in the current account and Region. :: + + aws cloudformation start-resource-scan + +Output:: + + { + "ResourceScanId": + "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60" + } + +For more information, see `Start a resource scan with CloudFormation IaC generator `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/cloudfront/associate-distribution-tenant-web-acl.rst b/awscli/examples/cloudfront/associate-distribution-tenant-web-acl.rst new file mode 100644 index 000000000000..3763f9c86de3 --- /dev/null +++ b/awscli/examples/cloudfront/associate-distribution-tenant-web-acl.rst @@ -0,0 +1,18 @@ +**To associate a web ACL with a CloudFront distribution tenant** + +The following ``associate-distribution-tenant-web-acl`` example associates a web ACL with a CloudFront distribution with ETag ``E13V1IB3VIYABC``. :: + + aws cloudfront associate-distribution-tenant-web-acl \ + --id dt_2wjDZi3hD1ivOXf6rpZJO1AB \ + --if-match E13V1IB3VIYABC \ + --web-acl-arn arn:aws:wafv2:us-east-1:123456789012:global/webacl/web-global-example/626900da-5f64-418b-ba9b-743f37123ABC + +Output:: + + { + "ETag": "E1VC38T7YXBABC", + "Id": "dt_2wjDZi3hD1ivOXf6rpZJO1AB", + "WebACLArn": "arn:aws:wafv2:us-east-1:123456789012:global/webacl/web-global-example/626900da-5f64-418b-ba9b-743f37123ABC" + } + +For more information, see `Use AWS WAF protections `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/associate-distribution-web-acl.rst b/awscli/examples/cloudfront/associate-distribution-web-acl.rst new file mode 100644 index 000000000000..cf1a469496d5 --- /dev/null +++ b/awscli/examples/cloudfront/associate-distribution-web-acl.rst @@ -0,0 +1,18 @@ +**To associate a web ACL with a CloudFront distribution** + +The following ``associate-distribution-web-acl`` example associates a web ACL with a CloudFront distribution. :: + + aws cloudfront associate-distribution-web-acl \ + --id E1XNX8R2GOAABC \ + --if-match E2YWS1C2J3OABC \ + --web-acl-arn arn:aws:wafv2:us-east-1:123456789012:global/webacl/web-global-example/626900da-5f64-418b-ba9b-743f3746cABC + +Output:: + + { + "ETag": "E3QE7ED60U0ABC", + "Id": "E1XNX8R2GOAABC", + "WebACLArn": "arn:aws:wafv2:us-east-1:123456789012:global/webacl/web-global-example/626900da-5f64-418b-ba9b-743f3746cABC" + } + +For more information, see `Use AWS WAF protections `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/create-connection-group.rst b/awscli/examples/cloudfront/create-connection-group.rst new file mode 100644 index 000000000000..a9f3e3b6459a --- /dev/null +++ b/awscli/examples/cloudfront/create-connection-group.rst @@ -0,0 +1,39 @@ +**To create a connection group in CloudFront** + +The following ``create-connection-group`` example creates an enabled connection group, specifies an Anycast static IP list, and disables IPv6. :: + + aws cloudfront create-connection-group \ + --name cg-with-anycast-ip-list \ + --no-ipv6-enabled \ + --enabled \ + --anycast-ip-list-id aip_CCkW6gKrDiBD4n78123ABC \ + --tags "Items=[{Key=abc,Value=123}]" + +Output:: + + { + "ETag": "E23ZP02F085ABC", + "ConnectionGroup": { + "Id": "cg_2yb6uj74B4PCbfhT31WFdiSABC", + "Name": "cg-with-anycast-ip-list", + "Arn": "arn:aws:cloudfront::123456789012:connection-group/cg_2yb6uj74B4PCbfhT31WFdiSABC", + "CreatedTime": "2025-06-16T16:25:50.061000+00:00", + "LastModifiedTime": "2025-06-16T16:25:50.061000+00:00", + "Tags": { + "Items": [ + { + "Key": "abc", + "Value": "123" + } + ] + }, + "Ipv6Enabled": false, + "RoutingEndpoint": "dj6xusxq65abc.cloudfront.net", + "AnycastIpListId": "aip_CCkW6gKrDiBD4n78123ABC", + "Status": "InProgress", + "Enabled": true, + "IsDefault": false + } + } + +For more information, see `Create custom connection group (optional) `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/create-distribution-tenant.rst b/awscli/examples/cloudfront/create-distribution-tenant.rst new file mode 100644 index 000000000000..86bab8d1b594 --- /dev/null +++ b/awscli/examples/cloudfront/create-distribution-tenant.rst @@ -0,0 +1,275 @@ +**Example 1: To create a CloudFront distribution tenant that uses a custom certificate** + +The following ``create-distribution-tenant`` example creates a CloudFront distribution tenant that specifies customizations to disable WAF, add geo-restrictions, and uses another TLS certificate. :: + + aws cloudfront create-distribution-tenant \ + --cli-input-json file://tenant.json + +Contents of ``tenant.json``:: + + { + "DistributionId": "E1XNX8R2GOAABC", + "Domains": [ + { + "Domain": "example.com" + } + ], + "Parameters": [ + { + "Name": "testParam", + "Value": "defaultValue" + } + ], + "ConnectionGroupId": "cg_2whCJoXMYCjHcxaLGrkllvyABC", + "Enabled": false, + "Tags": { + "Items": [ + { + "Key": "tag", + "Value": "tagValue" + } + ] + }, + "Name": "new-tenant-customizations", + "Customizations": { + "GeoRestrictions": { + "Locations": ["DE"], + "RestrictionType": "whitelist" + }, + "WebAcl": { + "Action": "disable" + }, + "Certificate": { + "Arn": "arn:aws:acm:us-east-1:123456789012:certificate/ec53f564-ea5a-4e4a-a0a2-e3c989449abc" + } + } + } + +Output:: + + { + "ETag": "E23ZP02F085ABC", + "DistributionTenant": { + "Id": "dt_2yN5tYwVbPKr7m2IB69M1yp1AB", + "DistributionId": "E1XNX8R2GOAABC", + "Name": "new-tenant-customizations", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2yN5tYwVbPKr7m2IB69M1yp1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "active" + } + ], + "Tags": { + "Items": [ + { + "Key": "tag", + "Value": "tagValue" + } + ] + }, + "Customizations": { + "WebAcl": { + "Action": "disable" + }, + "Certificate": { + "Arn": "arn:aws:acm:us-east-1:123456789012:certificate/ec53f564-ea5a-4e4a-a0a2-e3c989449abc" + }, + "GeoRestrictions": { + "RestrictionType": "whitelist", + "Locations": [ + "DE" + ] + } + }, + "Parameters": [ + { + "Name": "testParam", + "Value": "defaultValue" + } + ], + "ConnectionGroupId": "cg_2whCJoXMYCjHcxaLGrkllvyABC", + "CreatedTime": "2025-06-11T17:20:06.432000+00:00", + "LastModifiedTime": "2025-06-11T17:20:06.432000+00:00", + "Enabled": false, + "Status": "InProgress" + } + } + +**Example 2: To create a distribution tenant with an inherited certificate** + +The following ``create-distribution-tenant`` example creates a distribution tenant and specifies an inherited TLS certificate from the multi-tenant distribution. :: + + aws cloudfront create-distribution-tenant \ + --cli-input-json file://tenant.json + +Contents of ``tenant.json``:: + + { + "DistributionId": "E1HVIAU7U12ABC", + "Domains": [ + { + "Domain": "example.com" + } + ], + "Parameters": [ + { + "Name": "tenantName", + "Value": "first-tenant" + } + ], + "Enabled": true, + "Name": "new-tenant-no-cert" + } + +Output:: + + { + "ETag": "E23ZP02F0ABC", + "DistributionTenant": { + "Id": "dt_2zhRB0vBe0B72LZCVy1mgzI1AB", + "DistributionId": "E1HVIAU7U12ABC", + "Name": "new-tenant-no-cert", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2zhRB0vBe0B72LZCVy1mgzI1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "active" + } + ], + "Parameters": [ + { + "Name": "tenantName", + "Value": "first-tenant" + } + ], + "ConnectionGroupId": "cg_2yQEwpipGFN0hhA0ZemPabOABC", + "CreatedTime": "2025-07-10T20:59:38.414000+00:00", + "LastModifiedTime": "2025-07-10T20:59:38.414000+00:00", + "Enabled": true, + "Status": "InProgress" + } + } + +**Example 3: To create a CloudFront distribution tenant using a CloudFront-hosted validation token** + +The following ``create-distribution-tenant`` example creates a distribution tenant and uses a CloudFront-hosted validation token for your domain name. :: + + aws cloudfront create-distribution-tenant \ + --cli-input-json file://tenant.json + +Contents of ``tenant.json``:: + + { + "DistributionId": "E2GJ5J9QN12ABC", + "Domains": [ + { + "Domain": "example.com" + } + ], + "Parameters": [ + { + "Name": "tenantName", + "Value": "first-tenant" + } + ], + "ConnectionGroupId": "cg_2yQEwpipGFN0hhA0ZemPabOABC", + "Enabled": true, + "Name": "new-tenant-cf-hosted", + "ManagedCertificateRequest": { + "ValidationTokenHost": "cloudfront" + } + } + +**Important:** To successfully run this command, you must configure a CNAME DNS record that points your new domain (example.com) to the routing endpoint of the connection group that is associated with the distribution tenant. This CNAME record must also be propagated before CloudFront can successfully complete this request. + +Output:: + + { + "ETag": "E23ZP02F0ABC", + "DistributionTenant": { + "Id": "dt_2zhStKrA524GvvTWJX92Ozl1AB", + "DistributionId": "E2GJ5J9QN12ABC", + "Name": "new-tenant-cf-hosted", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2zhStKrA524GvvTWJX92Ozl1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "inactive" + } + ], + "Parameters": [ + { + "Name": "tenantName", + "Value": "first-tenant" + } + ], + "ConnectionGroupId": "cg_2zhSaGatwwXjTjE42nneZzqABC", + "CreatedTime": "2025-07-10T21:13:46.416000+00:00", + "LastModifiedTime": "2025-07-10T21:13:46.416000+00:00", + "Enabled": true, + "Status": "InProgress" + } + } + +**Example 4: To create a CloudFront distribution tenant using a self-hosted validation token** + +The following ``create-distribution-tenant`` example creates a CloudFront distribution tenant and uses a self-hosted validation token. :: + + aws cloudfront create-distribution-tenant \ + --cli-input-json file://tenant.json + +Contents of ``tenant.json``:: + + { + "DistributionId": "E2GJ5J9QN12ABC", + "Domains": [ + { + "Domain": "example.com" + } + ], + "Parameters": [ + { + "Name": "tenantName", + "Value": "first-tenant" + } + ], + "Enabled": true, + "Name": "new-tenant-self-hosted", + "ManagedCertificateRequest": { + "ValidationTokenHost": "self-hosted" + } + } + +Output:: + + { + "ETag": "E23ZP02F0ABC", + "DistributionTenant": { + "Id": "dt_2zhTFBV93OfFJJ3YMdNM5BC1AB", + "DistributionId": "E2GJ5J9QN12ABC", + "Name": "new-tenant-self-hosted", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2zhTFBV93OfFJJ3YMdNM5BC1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "inactive" + } + ], + "Parameters": [ + { + "Name": "tenantName", + "Value": "first-tenant" + } + ], + "ConnectionGroupId": "cg_2yQEwpipGFN0hhA0ZemPabOABC", + "CreatedTime": "2025-07-10T21:16:39.828000+00:00", + "LastModifiedTime": "2025-07-10T21:16:39.828000+00:00", + "Enabled": true, + "Status": "InProgress" + } + } + +**Important:** After you run this command, the distribution tenant will be created without validation. To validate the managed certificate request and configure the DNS when you're ready to start receiving traffic, see `Complete domain setup `__ in the *Amazon CloudFront Developer Guide*. + +For more information about creating distribution tenants, see `Create a distribution `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/create-distribution-with-tags.rst b/awscli/examples/cloudfront/create-distribution-with-tags.rst index 889c289c2613..c9d8944b803e 100644 --- a/awscli/examples/cloudfront/create-distribution-with-tags.rst +++ b/awscli/examples/cloudfront/create-distribution-with-tags.rst @@ -1,20 +1,16 @@ **To create a CloudFront distribution with tags** -The following example creates a distribution with two tags by providing the -distribution configuration and tags in a JSON file named -``dist-config-with-tags.json``:: +The following ``create-distribution-with-tags`` example creates a distribution with two tags by providing the distribution configuration and tags in a JSON file named ``dist-config-with-tags.json``. :: aws cloudfront create-distribution-with-tags \ --distribution-config-with-tags file://dist-config-with-tags.json -The file ``dist-config-with-tags.json`` is a JSON document in the current -folder that contains the following. Note the ``Tags`` object at the top of -the file, which contains two tags: +The file ``dist-config-with-tags.json`` is a JSON document in the current folder. Note the ``Tags`` object at the top of the file, which contains two tags: - ``Name = ExampleDistribution`` - ``Project = ExampleProject`` -:: +Contents of ``dist-config-with-tags.json``:: { "Tags": { @@ -39,8 +35,8 @@ the file, which contains two tags: "Quantity": 1, "Items": [ { - "Id": "awsexamplebucket.s3.amazonaws.com-cli-example", - "DomainName": "awsexamplebucket.s3.amazonaws.com", + "Id": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", + "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com", "OriginPath": "", "CustomHeaders": { "Quantity": 0 @@ -55,7 +51,7 @@ the file, which contains two tags: "Quantity": 0 }, "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-cli-example", + "TargetOriginId": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", "ForwardedValues": { "QueryString": false, "Cookies": { @@ -155,8 +151,8 @@ Output:: "Quantity": 1, "Items": [ { - "Id": "awsexamplebucket.s3.amazonaws.com-cli-example", - "DomainName": "awsexamplebucket.s3.amazonaws.com", + "Id": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", + "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com", "OriginPath": "", "CustomHeaders": { "Quantity": 0 @@ -171,7 +167,7 @@ Output:: "Quantity": 0 }, "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-cli-example", + "TargetOriginId": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", "ForwardedValues": { "QueryString": false, "Cookies": { diff --git a/awscli/examples/cloudfront/create-distribution.rst b/awscli/examples/cloudfront/create-distribution.rst index f316ee43603a..daa501e56aa6 100644 --- a/awscli/examples/cloudfront/create-distribution.rst +++ b/awscli/examples/cloudfront/create-distribution.rst @@ -1,235 +1,625 @@ -**To create a CloudFront distribution** - -The following example creates a distribution for an S3 bucket named -``awsexamplebucket``, and also specifies ``index.html`` as the default root -object, using command line arguments:: - - aws cloudfront create-distribution \ - --origin-domain-name awsexamplebucket.s3.amazonaws.com \ - --default-root-object index.html - -Instead of using command line arguments, you can provide the distribution -configuration in a JSON file, as shown in the following example:: - - aws cloudfront create-distribution \ - --distribution-config file://dist-config.json - -The file ``dist-config.json`` is a JSON document in the current folder that -contains the following:: - - { - "CallerReference": "cli-example", - "Aliases": { - "Quantity": 0 - }, - "DefaultRootObject": "index.html", - "Origins": { - "Quantity": 1, - "Items": [ - { - "Id": "awsexamplebucket.s3.amazonaws.com-cli-example", - "DomainName": "awsexamplebucket.s3.amazonaws.com", - "OriginPath": "", - "CustomHeaders": { - "Quantity": 0 - }, - "S3OriginConfig": { - "OriginAccessIdentity": "" - } - } - ] - }, - "OriginGroups": { - "Quantity": 0 - }, - "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-cli-example", - "ForwardedValues": { - "QueryString": false, - "Cookies": { - "Forward": "none" - }, - "Headers": { - "Quantity": 0 - }, - "QueryStringCacheKeys": { - "Quantity": 0 - } - }, - "TrustedSigners": { - "Enabled": false, - "Quantity": 0 - }, - "ViewerProtocolPolicy": "allow-all", - "MinTTL": 0, - "AllowedMethods": { - "Quantity": 2, - "Items": [ - "HEAD", - "GET" - ], - "CachedMethods": { - "Quantity": 2, - "Items": [ - "HEAD", - "GET" - ] - } - }, - "SmoothStreaming": false, - "DefaultTTL": 86400, - "MaxTTL": 31536000, - "Compress": false, - "LambdaFunctionAssociations": { - "Quantity": 0 - }, - "FieldLevelEncryptionId": "" - }, - "CacheBehaviors": { - "Quantity": 0 - }, - "CustomErrorResponses": { - "Quantity": 0 - }, - "Comment": "", - "Logging": { - "Enabled": false, - "IncludeCookies": false, - "Bucket": "", - "Prefix": "" - }, - "PriceClass": "PriceClass_All", - "Enabled": true, - "ViewerCertificate": { - "CloudFrontDefaultCertificate": true, - "MinimumProtocolVersion": "TLSv1", - "CertificateSource": "cloudfront" - }, - "Restrictions": { - "GeoRestriction": { - "RestrictionType": "none", - "Quantity": 0 - } - }, - "WebACLId": "", - "HttpVersion": "http2", - "IsIPV6Enabled": true - } - -Whether you provide the distribution information with a command line argument -or a JSON file, the output is the same:: - - { - "Location": "https://cloudfront.amazonaws.com/2019-03-26/distribution/EMLARXS9EXAMPLE", - "ETag": "E9LHASXEXAMPLE", - "Distribution": { - "Id": "EMLARXS9EXAMPLE", - "ARN": "arn:aws:cloudfront::123456789012:distribution/EMLARXS9EXAMPLE", - "Status": "InProgress", - "LastModifiedTime": "2019-11-22T00:55:15.705Z", - "InProgressInvalidationBatches": 0, - "DomainName": "d111111abcdef8.cloudfront.net", - "ActiveTrustedSigners": { - "Enabled": false, - "Quantity": 0 - }, - "DistributionConfig": { - "CallerReference": "cli-example", - "Aliases": { - "Quantity": 0 - }, - "DefaultRootObject": "index.html", - "Origins": { - "Quantity": 1, - "Items": [ - { - "Id": "awsexamplebucket.s3.amazonaws.com-cli-example", - "DomainName": "awsexamplebucket.s3.amazonaws.com", - "OriginPath": "", - "CustomHeaders": { - "Quantity": 0 - }, - "S3OriginConfig": { - "OriginAccessIdentity": "" - } - } - ] - }, - "OriginGroups": { - "Quantity": 0 - }, - "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-cli-example", - "ForwardedValues": { - "QueryString": false, - "Cookies": { - "Forward": "none" - }, - "Headers": { - "Quantity": 0 - }, - "QueryStringCacheKeys": { - "Quantity": 0 - } - }, - "TrustedSigners": { - "Enabled": false, - "Quantity": 0 - }, - "ViewerProtocolPolicy": "allow-all", - "MinTTL": 0, - "AllowedMethods": { - "Quantity": 2, - "Items": [ - "HEAD", - "GET" - ], - "CachedMethods": { - "Quantity": 2, - "Items": [ - "HEAD", - "GET" - ] - } - }, - "SmoothStreaming": false, - "DefaultTTL": 86400, - "MaxTTL": 31536000, - "Compress": false, - "LambdaFunctionAssociations": { - "Quantity": 0 - }, - "FieldLevelEncryptionId": "" - }, - "CacheBehaviors": { - "Quantity": 0 - }, - "CustomErrorResponses": { - "Quantity": 0 - }, - "Comment": "", - "Logging": { - "Enabled": false, - "IncludeCookies": false, - "Bucket": "", - "Prefix": "" - }, - "PriceClass": "PriceClass_All", - "Enabled": true, - "ViewerCertificate": { - "CloudFrontDefaultCertificate": true, - "MinimumProtocolVersion": "TLSv1", - "CertificateSource": "cloudfront" - }, - "Restrictions": { - "GeoRestriction": { - "RestrictionType": "none", - "Quantity": 0 - } - }, - "WebACLId": "", - "HttpVersion": "http2", - "IsIPV6Enabled": true - } - } - } +**Example 1: To create a CloudFront distribution** + +The following ``create-distribution`` example creates a distribution for an S3 bucket named ``amzn-s3-demo-bucket``, and also specifies ``index.html`` as the default root object, using command line arguments. :: + + aws cloudfront create-distribution \ + --origin-domain-name amzn-s3-demo-bucket.s3.amazonaws.com \ + --default-root-object index.html + +Output:: + + { + "Location": "https://cloudfront.amazonaws.com/2019-03-26/distribution/EMLARXS9EXAMPLE", + "ETag": "E9LHASXEXAMPLE", + "Distribution": { + "Id": "EMLARXS9EXAMPLE", + "ARN": "arn:aws:cloudfront::123456789012:distribution/EMLARXS9EXAMPLE", + "Status": "InProgress", + "LastModifiedTime": "2019-11-22T00:55:15.705Z", + "InProgressInvalidationBatches": 0, + "DomainName": "d111111abcdef8.cloudfront.net", + "ActiveTrustedSigners": { + "Enabled": false, + "Quantity": 0 + }, + "DistributionConfig": { + "CallerReference": "cli-example", + "Aliases": { + "Quantity": 0 + }, + "DefaultRootObject": "index.html", + "Origins": { + "Quantity": 1, + "Items": [ + { + "Id": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", + "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com", + "OriginPath": "", + "CustomHeaders": { + "Quantity": 0 + }, + "S3OriginConfig": { + "OriginAccessIdentity": "" + } + } + ] + }, + "OriginGroups": { + "Quantity": 0 + }, + "DefaultCacheBehavior": { + "TargetOriginId": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", + "ForwardedValues": { + "QueryString": false, + "Cookies": { + "Forward": "none" + }, + "Headers": { + "Quantity": 0 + }, + "QueryStringCacheKeys": { + "Quantity": 0 + } + }, + "TrustedSigners": { + "Enabled": false, + "Quantity": 0 + }, + "ViewerProtocolPolicy": "allow-all", + "MinTTL": 0, + "AllowedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ], + "CachedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ] + } + }, + "SmoothStreaming": false, + "DefaultTTL": 86400, + "MaxTTL": 31536000, + "Compress": false, + "LambdaFunctionAssociations": { + "Quantity": 0 + }, + "FieldLevelEncryptionId": "" + }, + "CacheBehaviors": { + "Quantity": 0 + }, + "CustomErrorResponses": { + "Quantity": 0 + }, + "Comment": "", + "Logging": { + "Enabled": false, + "IncludeCookies": false, + "Bucket": "", + "Prefix": "" + }, + "PriceClass": "PriceClass_All", + "Enabled": true, + "ViewerCertificate": { + "CloudFrontDefaultCertificate": true, + "MinimumProtocolVersion": "TLSv1", + "CertificateSource": "cloudfront" + }, + "Restrictions": { + "GeoRestriction": { + "RestrictionType": "none", + "Quantity": 0 + } + }, + "WebACLId": "", + "HttpVersion": "http2", + "IsIPV6Enabled": true + } + } + } + +**Example 2: To create a CloudFront distribution using a JSON file** + +The following ``create-distribution`` example creates a distribution for an S3 bucket named ``amzn-s3-demo-bucket``, and also specifies ``index.html`` as the default root object, using a JSON file. :: + + aws cloudfront create-distribution \ + --distribution-config file://dist-config.json + + +Contents of ``dist-config.json``:: + + { + "CallerReference": "cli-example", + "Aliases": { + "Quantity": 0 + }, + "DefaultRootObject": "index.html", + "Origins": { + "Quantity": 1, + "Items": [ + { + "Id": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", + "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com", + "OriginPath": "", + "CustomHeaders": { + "Quantity": 0 + }, + "S3OriginConfig": { + "OriginAccessIdentity": "" + } + } + ] + }, + "OriginGroups": { + "Quantity": 0 + }, + "DefaultCacheBehavior": { + "TargetOriginId": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", + "ForwardedValues": { + "QueryString": false, + "Cookies": { + "Forward": "none" + }, + "Headers": { + "Quantity": 0 + }, + "QueryStringCacheKeys": { + "Quantity": 0 + } + }, + "TrustedSigners": { + "Enabled": false, + "Quantity": 0 + }, + "ViewerProtocolPolicy": "allow-all", + "MinTTL": 0, + "AllowedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ], + "CachedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ] + } + }, + "SmoothStreaming": false, + "DefaultTTL": 86400, + "MaxTTL": 31536000, + "Compress": false, + "LambdaFunctionAssociations": { + "Quantity": 0 + }, + "FieldLevelEncryptionId": "" + }, + "CacheBehaviors": { + "Quantity": 0 + }, + "CustomErrorResponses": { + "Quantity": 0 + }, + "Comment": "", + "Logging": { + "Enabled": false, + "IncludeCookies": false, + "Bucket": "", + "Prefix": "" + }, + "PriceClass": "PriceClass_All", + "Enabled": true, + "ViewerCertificate": { + "CloudFrontDefaultCertificate": true, + "MinimumProtocolVersion": "TLSv1", + "CertificateSource": "cloudfront" + }, + "Restrictions": { + "GeoRestriction": { + "RestrictionType": "none", + "Quantity": 0 + } + }, + "WebACLId": "", + "HttpVersion": "http2", + "IsIPV6Enabled": true + } + +See Example 1 for sample output. + +**Example 3: To create a CloudFront multi-tenant distribution with a certificate** + +The following ``create-distribution`` example creates a CloudFront distribution with multi-tenant support and a specifies a TLS certificate. :: + + aws cloudfront create-distribution \ + --distribution-config file://dist-config.json + +Contents of ``dist-config.json``:: + + { + "CallerReference": "cli-example-with-cert", + "Comment": "CLI example distribution", + "DefaultRootObject": "index.html", + "Origins": { + "Quantity": 1, + "Items": [ + { + "Id": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "DomainName": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "OriginPath": "/{{tenantName}}", + "CustomHeaders": { + "Quantity": 0 + }, + "S3OriginConfig": { + "OriginAccessIdentity": "" + } + } + ] + }, + "DefaultCacheBehavior": { + "TargetOriginId": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e5ABC", + "ViewerProtocolPolicy": "allow-all", + "AllowedMethods": { + "Quantity": 2, + "Items": ["HEAD", "GET"], + "CachedMethods": { + "Quantity": 2, + "Items": ["HEAD", "GET"] + } + } + }, + "Enabled": true, + "ViewerCertificate": { + "ACMCertificateArn": "arn:aws:acm:us-east-1:123456789012:certificate/191306a1-db01-49ca-90ef-fc414ee5dabc", + "SSLSupportMethod": "sni-only" + }, + "HttpVersion": "http2", + "ConnectionMode": "tenant-only", + "TenantConfig": { + "ParameterDefinitions": [ + { + "Name": "tenantName", + "Definition": { + "StringSchema": { + "Comment": "tenantName parameter", + "DefaultValue": "root", + "Required": false + } + } + } + ] + } + } + +Output:: + + { + "Location": "https://cloudfront.amazonaws.com/2020-05-31/distribution/E1HVIAU7UABC", + "ETag": "E20LT7R1BABC", + "Distribution": { + "Id": "E1HVIAU7U12ABC", + "ARN": "arn:aws:cloudfront::123456789012:distribution/E1HVIAU7U12ABC", + "Status": "InProgress", + "LastModifiedTime": "2025-07-10T20:33:31.117000+00:00", + "InProgressInvalidationBatches": 0, + "DomainName": "example.com", + "ActiveTrustedSigners": { + "Enabled": false, + "Quantity": 0 + }, + "ActiveTrustedKeyGroups": { + "Enabled": false, + "Quantity": 0 + }, + "DistributionConfig": { + "CallerReference": "cli-example-with-cert", + "DefaultRootObject": "index.html", + "Origins": { + "Quantity": 1, + "Items": [ + { + "Id": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "DomainName": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "OriginPath": "/{{tenantName}}", + "CustomHeaders": { + "Quantity": 0 + }, + "S3OriginConfig": { + "OriginAccessIdentity": "" + }, + "ConnectionAttempts": 3, + "ConnectionTimeout": 10, + "OriginShield": { + "Enabled": false + }, + "OriginAccessControlId": "" + } + ] + }, + "OriginGroups": { + "Quantity": 0 + }, + "DefaultCacheBehavior": { + "TargetOriginId": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "TrustedKeyGroups": { + "Enabled": false, + "Quantity": 0 + }, + "ViewerProtocolPolicy": "allow-all", + "AllowedMethods": { + "Quantity": 2, + "Items": ["HEAD", "GET"], + "CachedMethods": { + "Quantity": 2, + "Items": ["HEAD", "GET"] + } + }, + "Compress": false, + "LambdaFunctionAssociations": { + "Quantity": 0 + }, + "FunctionAssociations": { + "Quantity": 0 + }, + "FieldLevelEncryptionId": "", + "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e5ABC", + "GrpcConfig": { + "Enabled": false + } + }, + "CacheBehaviors": { + "Quantity": 0 + }, + "CustomErrorResponses": { + "Quantity": 0 + }, + "Comment": "CLI example distribution", + "Logging": { + "Enabled": false, + "IncludeCookies": false, + "Bucket": "", + "Prefix": "" + }, + "Enabled": true, + "ViewerCertificate": { + "CloudFrontDefaultCertificate": false, + "ACMCertificateArn": "arn:aws:acm:us-east-1:123456789012:certificate/1954f095-11b6-4daf-9952-0c308a00abc", + "SSLSupportMethod": "sni-only", + "MinimumProtocolVersion": "TLSv1.2_2021", + "Certificate": "arn:aws:acm:us-east-1:123456789012:certificate/1954f095-11b6-4daf-9952-0c308a00abc", + "CertificateSource": "acm" + }, + "Restrictions": { + "GeoRestriction": { + "RestrictionType": "none", + "Quantity": 0 + } + }, + "WebACLId": "", + "HttpVersion": "http2", + "TenantConfig": { + "ParameterDefinitions": [ + { + "Name": "tenantName", + "Definition": { + "StringSchema": { + "Comment": "tenantName parameter", + "DefaultValue": "root", + "Required": false + } + } + } + ] + }, + "ConnectionMode": "tenant-only" + } + } + } + +For more information, see `Working with distributions `__ in the *Amazon CloudFront Developer Guide*. + +**Example 4: To create a CloudFront multi-tenant distribution without a certificate** + +The following ``create-distribution`` example creates a CloudFront distribution with multi-tenant support but without a TLS certificate. :: + + aws cloudfront create-distribution \ + --distribution-config file://dist-config.json + +Contents of ``dist-config.json``:: + + { + "CallerReference": "cli-example", + "Comment": "CLI example distribution", + "DefaultRootObject": "index.html", + "Origins": { + "Quantity": 1, + "Items": [ + { + "Id": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "DomainName": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "OriginPath": "/{{tenantName}}", + "CustomHeaders": { + "Quantity": 0 + }, + "S3OriginConfig": { + "OriginAccessIdentity": "" + } + } + ] + }, + "DefaultCacheBehavior": { + "TargetOriginId": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e5ABC", + "ViewerProtocolPolicy": "allow-all", + "AllowedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ], + "CachedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ] + } + } + }, + "Enabled": true, + "HttpVersion": "http2", + "ConnectionMode": "tenant-only", + "TenantConfig": { + "ParameterDefinitions": [ + { + "Name": "tenantName", + "Definition": { + "StringSchema": { + "Comment": "tenantName parameter", + "DefaultValue": "root", + "Required": false + } + } + } + ] + } + } + +Output:: + + { + "Location": "https://cloudfront.amazonaws.com/2020-05-31/distribution/E2GJ5J9QN12ABC", + "ETag": "E37YLVVQIABC", + "Distribution": { + "Id": "E2GJ5J9QNABC", + "ARN": "arn:aws:cloudfront::123456789012:distribution/E2GJ5J9QN12ABC", + "Status": "InProgress", + "LastModifiedTime": "2025-07-10T20:35:20.565000+00:00", + "InProgressInvalidationBatches": 0, + "DomainName": "example.com", + "ActiveTrustedSigners": { + "Enabled": false, + "Quantity": 0 + }, + "ActiveTrustedKeyGroups": { + "Enabled": false, + "Quantity": 0 + }, + "DistributionConfig": { + "CallerReference": "cli-example-no-cert", + "DefaultRootObject": "index.html", + "Origins": { + "Quantity": 1, + "Items": [ + { + "Id": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "DomainName": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "OriginPath": "/{{tenantName}}", + "CustomHeaders": { + "Quantity": 0 + }, + "S3OriginConfig": { + "OriginAccessIdentity": "" + }, + "ConnectionAttempts": 3, + "ConnectionTimeout": 10, + "OriginShield": { + "Enabled": false + }, + "OriginAccessControlId": "" + } + ] + }, + "OriginGroups": { + "Quantity": 0 + }, + "DefaultCacheBehavior": { + "TargetOriginId": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "TrustedKeyGroups": { + "Enabled": false, + "Quantity": 0 + }, + "ViewerProtocolPolicy": "allow-all", + "AllowedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ], + "CachedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ] + } + }, + "Compress": false, + "LambdaFunctionAssociations": { + "Quantity": 0 + }, + "FunctionAssociations": { + "Quantity": 0 + }, + "FieldLevelEncryptionId": "", + "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e5ABC", + "GrpcConfig": { + "Enabled": false + } + }, + "CacheBehaviors": { + "Quantity": 0 + }, + "CustomErrorResponses": { + "Quantity": 0 + }, + "Comment": "CLI example distribution", + "Logging": { + "Enabled": false, + "IncludeCookies": false, + "Bucket": "", + "Prefix": "" + }, + "Enabled": true, + "ViewerCertificate": { + "CloudFrontDefaultCertificate": true, + "SSLSupportMethod": "sni-only", + "MinimumProtocolVersion": "TLSv1", + "CertificateSource": "cloudfront" + }, + "Restrictions": { + "GeoRestriction": { + "RestrictionType": "none", + "Quantity": 0 + } + }, + "WebACLId": "", + "HttpVersion": "http2", + "TenantConfig": { + "ParameterDefinitions": [ + { + "Name": "tenantName", + "Definition": { + "StringSchema": { + "Comment": "tenantName parameter", + "DefaultValue": "root", + "Required": false + } + } + } + ] + }, + "ConnectionMode": "tenant-only" + } + } + } + +For more information, see `Configure distributions `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/create-invalidation-for-distribution-tenant.rst b/awscli/examples/cloudfront/create-invalidation-for-distribution-tenant.rst new file mode 100644 index 000000000000..40740c20595e --- /dev/null +++ b/awscli/examples/cloudfront/create-invalidation-for-distribution-tenant.rst @@ -0,0 +1,29 @@ +**To create a CloudFront invalidation for a distribution tenant** + +The following ``create-invalidation-for-distribution-tenant`` example creates an invalidation for all files in a CloudFront distribution tenant. :: + + aws cloudfront create-invalidation-for-distribution-tenant \ + --id dt_2wjDZi3hD1ivOXf6rpZJO1AB \ + --invalidation-batch '{"Paths": {"Quantity": 1, "Items": ["/*"]}, "CallerReference": "invalidation-$(date +%s)"}' + +Output:: + + { + "Location": "https://cloudfront.amazonaws.com/2020-05-31/distribution-tenant/dt_2wjDZi3hD1ivOXf6rpZJO1AB/invalidation/I2JGL2F1ZAA426PGG0YLLKABC", + "Invalidation": { + "Id": "I2JGL2F1ZAA426PGG0YLLKABC", + "Status": "InProgress", + "CreateTime": "2025-05-07T16:59:25.947000+00:00", + "InvalidationBatch": { + "Paths": { + "Quantity": 1, + "Items": [ + "/*" + ] + }, + "CallerReference": "invalidation-$(date +%s)" + } + } + } + +For more information, see `Invalidate files to remove content `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/delete-connection-group.rst b/awscli/examples/cloudfront/delete-connection-group.rst new file mode 100644 index 000000000000..1757daff8471 --- /dev/null +++ b/awscli/examples/cloudfront/delete-connection-group.rst @@ -0,0 +1,11 @@ +**To delete a connection group** + +The following ``delete-connection-group`` example deletes a connection group. The connection group must be disabled and can't be associated with any CloudFront resources. :: + + aws cloudfront delete-connection-group \ + --id cg_2wjLpjbHkLUdhWAjHllcOeABC \ + --if-match ETVPDKIKX0DABC + +When successful, this command has no output. + +For more information about managing connection groups, see `Create custom connection group (optional) `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/delete-distribution-tenant.rst b/awscli/examples/cloudfront/delete-distribution-tenant.rst new file mode 100644 index 000000000000..5e0fcae1048e --- /dev/null +++ b/awscli/examples/cloudfront/delete-distribution-tenant.rst @@ -0,0 +1,11 @@ +**To delete a distribution tenant** + +The following ``delete-distribution-tenant`` example deletes a distribution tenant with ETag ``ETVPDKIKX0DABC``. The distribution tenant must be disabled and can't be associated with any CloudFront resources. :: + + aws cloudfront delete-distribution-tenant \ + --id dt_2wjMUbg3NHZEQ7OfoalP5zi1AB \ + --if-match ETVPDKIKX0DABC + +When successful, this command has no output. + +For more information, see `Delete a distribution `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/disassociate-distribution-tenant-web-acl.rst b/awscli/examples/cloudfront/disassociate-distribution-tenant-web-acl.rst new file mode 100644 index 000000000000..ab9b4e2df39e --- /dev/null +++ b/awscli/examples/cloudfront/disassociate-distribution-tenant-web-acl.rst @@ -0,0 +1,16 @@ +**To disassociate a web ACL from a distribution tenant** + +The following ``disassociate-distribution-tenant-web-acl`` example disassociates a web ACL from a distribution tenant with ETag ``E1PA6795UKMABC``. :: + + aws cloudfront disassociate-distribution-tenant-web-acl \ + --id dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB \ + --if-match E1PA6795UKMABC + +Output:: + + { + "ETag": "E13V1IB3VIYABC", + "Id": "dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB" + } + +For more information, see `Disable AWS WAF security protections `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/disassociate-distribution-web-acl.rst b/awscli/examples/cloudfront/disassociate-distribution-web-acl.rst new file mode 100644 index 000000000000..3e61e9d51965 --- /dev/null +++ b/awscli/examples/cloudfront/disassociate-distribution-web-acl.rst @@ -0,0 +1,16 @@ +**To disassociate a web ACL from a CloudFront distribution** + +The following ``disassociate-distribution-web-acl`` example removes the association between a web ACL and a CloudFront distribution with ETag ``E13V1IB3VIYABC``. :: + + aws cloudfront disassociate-distribution-web-acl \ + --id E1XNX8R2GOAABC \ + --if-match EEZQ9Z24VM1ABC + +Output:: + + { + "ETag": "E2YWS1C2J3OABC", + "Id": "E1XNX8R2GOAABC" + } + +For more information, see `Disable AWS WAF security protections `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/get-connection-group-by-routing-endpoint.rst b/awscli/examples/cloudfront/get-connection-group-by-routing-endpoint.rst new file mode 100644 index 000000000000..2d73aa4f9843 --- /dev/null +++ b/awscli/examples/cloudfront/get-connection-group-by-routing-endpoint.rst @@ -0,0 +1,26 @@ +**To get a connection group by routing endpoint** + +The following ``get-connection-group-by-routing-endpoint`` example retrieves information about a connection group using its routing endpoint. :: + + aws cloudfront get-connection-group-by-routing-endpoint \ + --routing-endpoint dvdg9gprgabc.cloudfront.net + +Output:: + + { + "ETag": "E23ZP02F085ABC", + "ConnectionGroup": { + "Id": "cg_2wjDWTBKTlRB87cAaUQFaakABC", + "Name": "connection-group-2", + "Arn": "arn:aws:cloudfront::123456789012:connection-group/cg_2wjDWTBKTlRB87cAaUQFaakABC", + "CreatedTime": "2025-05-06T15:42:00.790000+00:00", + "LastModifiedTime": "2025-05-06T15:42:00.790000+00:00", + "Ipv6Enabled": true, + "RoutingEndpoint": "dvdg9gprgabc.cloudfront.net", + "Status": "Deployed", + "Enabled": true, + "IsDefault": false + } + } + +For more information, see `Create custom connection group (optional) `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/get-connection-group.rst b/awscli/examples/cloudfront/get-connection-group.rst new file mode 100644 index 000000000000..62ab13d92a57 --- /dev/null +++ b/awscli/examples/cloudfront/get-connection-group.rst @@ -0,0 +1,26 @@ +**To get a CloudFront connection group** + +The following ``get-connection-group`` example retrieves information about a CloudFront connection group. :: + + aws cloudfront get-connection-group \ + --identifier cg_2wjDWTBKTlRB87cAaUQFaakABC + +Output:: + + { + "ETag": "E23ZP02F085ABC", + "ConnectionGroup": { + "Id": "cg_2wjDWTBKTlRB87cAaUQFaakABC", + "Name": "connection-group-2", + "Arn": "arn:aws:cloudfront::123456789012:connection-group/cg_2wjDWTBKTlRB87cAaUQFaakABC", + "CreatedTime": "2025-05-06T15:42:00.790000+00:00", + "LastModifiedTime": "2025-05-06T15:42:00.790000+00:00", + "Ipv6Enabled": true, + "RoutingEndpoint": "dvdg9gprgabc.cloudfront.net", + "Status": "Deployed", + "Enabled": true, + "IsDefault": false + } + } + +For more information, see `Create custom connection group (optional) `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/get-distribution-config.rst b/awscli/examples/cloudfront/get-distribution-config.rst index 8fd58446a880..af0192304fb7 100644 --- a/awscli/examples/cloudfront/get-distribution-config.rst +++ b/awscli/examples/cloudfront/get-distribution-config.rst @@ -1,13 +1,9 @@ **To get a CloudFront distribution configuration** -The following example gets metadata about the CloudFront distribution with the -ID ``EDFDVBD6EXAMPLE``, including its ``ETag``. The distribution ID is returned -in the `create-distribution `_ and -`list-distributions `_ commands. +The following example gets metadata about the CloudFront distribution with the ID ``EDFDVBD6EXAMPLE``, including its ``ETag``. The distribution ID is returned in the `create-distribution `__ and `list-distributions `__ commands. :: -:: - - aws cloudfront get-distribution-config --id EDFDVBD6EXAMPLE + aws cloudfront get-distribution-config \ + --id EDFDVBD6EXAMPLE Output:: @@ -23,8 +19,8 @@ Output:: "Quantity": 1, "Items": [ { - "Id": "awsexamplebucket.s3.amazonaws.com-cli-example", - "DomainName": "awsexamplebucket.s3.amazonaws.com", + "Id": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", + "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com", "OriginPath": "", "CustomHeaders": { "Quantity": 0 @@ -39,7 +35,7 @@ Output:: "Quantity": 0 }, "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-cli-example", + "TargetOriginId": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", "ForwardedValues": { "QueryString": false, "Cookies": { diff --git a/awscli/examples/cloudfront/get-distribution-tenant-by-domain.rst b/awscli/examples/cloudfront/get-distribution-tenant-by-domain.rst new file mode 100644 index 000000000000..23c7214a9f8b --- /dev/null +++ b/awscli/examples/cloudfront/get-distribution-tenant-by-domain.rst @@ -0,0 +1,37 @@ +**To get distribution tenant information by domain** + +The following ``get-distribution-tenant-by-domain`` example retrieves information about a distribution tenant using the specified domain. :: + + aws cloudfront get-distribution-tenant-by-domain \ + --domain example.com + +Output:: + + { + "ETag": "E23ZP02F085ABC", + "DistributionTenant": { + "Id": "dt_2xVInRKCfUzQHgxosDs9hiLk1AB", + "DistributionId": "E1XNX8R2GOAABC", + "Name": "example-tenant-4", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2xVInRKCfUzQHgxosDs9hiLk1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "active" + } + ], + "Parameters": [ + { + "Name": "testParam", + "Value": "defaultValue" + } + ], + "ConnectionGroupId": "cg_2whCJoXMYCjHcxaLGrkllvyABC", + "CreatedTime": "2025-05-23T16:16:20.871000+00:00", + "LastModifiedTime": "2025-05-23T16:16:20.871000+00:00", + "Enabled": false, + "Status": "Deployed" + } + } + +For more information, see `Understand how multi-tenant distributions work `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/get-distribution-tenant.rst b/awscli/examples/cloudfront/get-distribution-tenant.rst new file mode 100644 index 000000000000..51b67f4d6c1c --- /dev/null +++ b/awscli/examples/cloudfront/get-distribution-tenant.rst @@ -0,0 +1,31 @@ +**To get details about a CloudFront distribution tenant** + +The following ``get-distribution-tenant`` example retrieves information about a CloudFront distribution tenant. :: + + aws cloudfront get-distribution-tenant \ + --id dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB + +Output:: + + { + "ETag": "E23ZP02F085ABC", + "DistributionTenant": { + "Id": "dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB", + "DistributionId": "E1XNX8R2GOAABC", + "Name": "example-tenant-2", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "inactive" + } + ], + "ConnectionGroupId": "cg_2wjDWTBKTlRB87cAaUQFaakABC", + "CreatedTime": "2025-05-06T15:42:28.542000+00:00", + "LastModifiedTime": "2025-05-06T15:42:37.724000+00:00", + "Enabled": true, + "Status": "InProgress" + } + } + +For more information, see `Understand how multi-tenant distributions work `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/get-distribution.rst b/awscli/examples/cloudfront/get-distribution.rst index a881ecae4af2..f536b386f22c 100644 --- a/awscli/examples/cloudfront/get-distribution.rst +++ b/awscli/examples/cloudfront/get-distribution.rst @@ -1,13 +1,9 @@ **To get a CloudFront distribution** -The following example gets the CloudFront distribution with the ID -``EDFDVBD6EXAMPLE``, including its ``ETag``. The distribution ID is returned in -the `create-distribution `_ and `list-distributions -`_ commands. +The following ``get-distribution`` example gets the CloudFront distribution with the ID ``EDFDVBD6EXAMPLE``, including its ``ETag``. The distribution ID is returned in the `create-distribution `__ and `list-distributions `__ commands. :: -:: - - aws cloudfront get-distribution --id EDFDVBD6EXAMPLE + aws cloudfront get-distribution \ + --id EDFDVBD6EXAMPLE Output:: @@ -34,8 +30,8 @@ Output:: "Quantity": 1, "Items": [ { - "Id": "awsexamplebucket.s3.amazonaws.com-cli-example", - "DomainName": "awsexamplebucket.s3.amazonaws.com", + "Id": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", + "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com", "OriginPath": "", "CustomHeaders": { "Quantity": 0 @@ -50,7 +46,7 @@ Output:: "Quantity": 0 }, "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-cli-example", + "TargetOriginId": "amzn-s3-demo-bucket.s3.amazonaws.com-cli-example", "ForwardedValues": { "QueryString": false, "Cookies": { diff --git a/awscli/examples/cloudfront/get-invalidation-for-distribution-tenant.rst b/awscli/examples/cloudfront/get-invalidation-for-distribution-tenant.rst new file mode 100644 index 000000000000..38b5ecd575fd --- /dev/null +++ b/awscli/examples/cloudfront/get-invalidation-for-distribution-tenant.rst @@ -0,0 +1,29 @@ +**To get an invalidation for a distribution tenant** + +The following ``get-invalidation-for-distribution-tenant`` example gets information about an invalidation for a distribution tenant. :: + + aws cloudfront get-invalidation-for-distribution-tenant \ + --distribution-tenant-id dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB \ + --id I4CU23QAPKMUDUU06F9OFGFABC + +Output:: + + { + "Invalidation": { + "Id": "I4CU23QAPKMUDUU06F9OFGFABC", + "Status": "Completed", + "CreateTime": "2025-05-06T15:46:12.824000+00:00", + "InvalidationBatch": { + "Paths": { + "Quantity": 2, + "Items": [ + "/example/invalidation", + "/more/invalidations" + ] + }, + "CallerReference": "007ee5a6-d0a0-42be-bb61-e7b915969b48" + } + } + } + +For more information, see `Invalidate files to remove content `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/get-managed-certificate-details.rst b/awscli/examples/cloudfront/get-managed-certificate-details.rst new file mode 100644 index 000000000000..613b54995d94 --- /dev/null +++ b/awscli/examples/cloudfront/get-managed-certificate-details.rst @@ -0,0 +1,25 @@ +**To get managed certificate details** + +The following ``get-managed-certificate-details`` example retrieves the details of a CloudFront managed ACM certificate. :: + + aws cloudfront get-managed-certificate-details \ + --identifier dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB + +Output:: + + { + "ManagedCertificateDetails": { + "CertificateArn": "arn:aws:acm:us-east-1:123456789012:certificate/655dc1fe-6d37-451d-a013-c2db3a034abc", + "CertificateStatus": "pending-validation", + "ValidationTokenHost": "self-hosted", + "ValidationTokenDetails": [ + { + "Domain": "example.com", + "RedirectTo": "validation.us-east-1.acm-validations.aws/123456789012/.well-known/pki-validation/b315c9ae21284e7918bb9f3f422ab1c7.txt", + "RedirectFrom": "example.com/.well-known/pki-validation/b315c9ae21284e7918bb9f3f422ac3c7.txt" + } + ] + } + } + +For more information, see `Request certificates for your CloudFront distribution tenant `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/list-connection-groups.rst b/awscli/examples/cloudfront/list-connection-groups.rst new file mode 100644 index 000000000000..4f0187b193cd --- /dev/null +++ b/awscli/examples/cloudfront/list-connection-groups.rst @@ -0,0 +1,38 @@ +**To list connection groups** + +The following ``list-connection-groups`` example lists the available connection groups in your AWS account. :: + + aws cloudfront list-connection-groups + +Output:: + + { + "ConnectionGroups": [ + { + "Id": "cg_2whCJoXMYCjHcxaLGrkllvyABC", + "Name": "CreatedByCloudFront-cg_2whCJoXMYCjHcxaLGrkllvyABC", + "Arn": "arn:aws:cloudfront::123456789012:connection-group/cg_2whCJoXMYCjHcxaLGrkllvyABC", + "RoutingEndpoint": "d3sx0pso7m5abc.cloudfront.net", + "CreatedTime": "2025-05-05T22:32:29.630000+00:00", + "LastModifiedTime": "2025-05-05T22:32:29.630000+00:00", + "ETag": "E23ZP02F085ABC", + "Enabled": true, + "Status": "Deployed", + "IsDefault": true + }, + { + "Id": "cg_2wjDWTBKTlRB87cAaUQFaakABC", + "Name": "connection-group-2", + "Arn": "arn:aws:cloudfront::123456789012:connection-group/cg_2wjDWTBKTlRB87cAaUQFaakABC", + "RoutingEndpoint": "dvdg9gprgabc.cloudfront.net", + "CreatedTime": "2025-05-06T15:42:00.790000+00:00", + "LastModifiedTime": "2025-05-06T15:42:00.790000+00:00", + "ETag": "E23ZP02F085ABC", + "Enabled": true, + "Status": "Deployed", + "IsDefault": false + } + ] + } + +For more information, see `Create custom connection group (optional) `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/list-distribution-tenants-by-customization.rst b/awscli/examples/cloudfront/list-distribution-tenants-by-customization.rst new file mode 100644 index 000000000000..57a5604bec79 --- /dev/null +++ b/awscli/examples/cloudfront/list-distribution-tenants-by-customization.rst @@ -0,0 +1,45 @@ +**To list distribution tenants by customization** + +The following ``list-distribution-tenants-by-customization`` example lists distribution tenants that use the specified web ACL. :: + + aws cloudfront list-distribution-tenants-by-customization \ + --web-acl-arn arn:aws:wafv2:us-east-1:123456789012:global/webacl/CreatedByCloudFront-0273cd2f/a3c19bce-42b5-48a1-a8d4-b2bb2f28eabc + +Output:: + + { + "DistributionTenantList": [ + { + "Id": "dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB", + "DistributionId": "E1XNX8R2GOAABC", + "Name": "example-tenant-2", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "inactive" + } + ], + "ConnectionGroupId": "cg_2wjDWTBKTlRB87cAaUQFaakABC", + "Customizations": { + "WebAcl": { + "Action": "override", + "Arn": "arn:aws:wafv2:us-east-1:123456789012:global/webacl/CreatedByCloudFront-0273cd2f/a3c19bce-42b5-48a1-a8d4-b2bb2f28eabc" + }, + "GeoRestrictions": { + "RestrictionType": "whitelist", + "Locations": [ + "AL" + ] + } + }, + "CreatedTime": "2025-05-06T15:42:28.542000+00:00", + "LastModifiedTime": "2025-05-06T16:14:08.710000+00:00", + "ETag": "E1F83G8C2ARABC", + "Enabled": true, + "Status": "Deployed" + } + ] + } + +For more information, see `Distribution tenant customizations `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/list-distribution-tenants.rst b/awscli/examples/cloudfront/list-distribution-tenants.rst new file mode 100644 index 000000000000..d8a5fcd446fa --- /dev/null +++ b/awscli/examples/cloudfront/list-distribution-tenants.rst @@ -0,0 +1,90 @@ +**To list CloudFront distribution tenants** + +The following ``list-distribution-tenants`` example lists 3 CloudFront distribution tenants in your AWS account by the associated connection group. :: + + aws cloudfront list-distribution-tenants \ + --association-filter ConnectionGroupId=cg_2whCJoXMYCjHcxaLGrkllvyABC \ + --max-items 3 + +Output:: + + { + "DistributionTenantList": [ + { + "Id": "dt_2yMvQgam3QkJo2z54FDl91dk1AB", + "DistributionId": "E1XNX8R2GOAABC", + "Name": "new-tenant-customizations", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2yMvQgam3QkJo2z54FDl91dk1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "active" + } + ], + "ConnectionGroupId": "cg_2whCJoXMYCjHcxaLGrkllvyABC", + "Customizations": { + "WebAcl": { + "Action": "disable" + }, + "GeoRestrictions": { + "RestrictionType": "whitelist", + "Locations": [ + "DE" + ] + } + }, + "CreatedTime": "2025-06-11T15:54:02.142000+00:00", + "LastModifiedTime": "2025-06-11T15:54:02.142000+00:00", + "ETag": "E23ZP02F085ABC", + "Enabled": false, + "Status": "Deployed" + }, + { + "Id": "dt_2yMuV7NJuBcAB0cwwxMCBZQ1AB", + "DistributionId": "E1XNX8R2GOAABC", + "Name": "new-tenant", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2yMuV7NJuBcAB0cwwxMCBZQ1AB", + "Domains": [ + { + "Domain": "1.example.com", + "Status": "active" + } + ], + "ConnectionGroupId": "cg_2whCJoXMYCjHcxaLGrkllvyABC", + "Customizations": { + "GeoRestrictions": { + "RestrictionType": "whitelist", + "Locations": [ + "DE" + ] + } + }, + "CreatedTime": "2025-06-11T15:46:23.466000+00:00", + "LastModifiedTime": "2025-06-11T15:46:23.466000+00:00", + "ETag": "E23ZP02F085ABC", + "Enabled": false, + "Status": "Deployed" + }, + { + "Id": "dt_2xVInRKCfUzQHgxosDs9hiLk1AB", + "DistributionId": "E1XNX8R2GOAABC", + "Name": "new-tenant-2", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2xVInRKCfUzQHgxosDs9hiLk1AB", + "Domains": [ + { + "Domain": "2.example.com", + "Status": "active" + } + ], + "ConnectionGroupId": "cg_2whCJoXMYCjHcxaLGrkllvyABC", + "CreatedTime": "2025-05-23T16:16:20.871000+00:00", + "LastModifiedTime": "2025-05-23T16:16:20.871000+00:00", + "ETag": "E23ZP02F085ABC", + "Enabled": false, + "Status": "Deployed" + } + ], + "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAzfQ==" + } + +For more information, see `Understand how multi-tenant distributions work `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/list-distributions-by-connection-mode.rst b/awscli/examples/cloudfront/list-distributions-by-connection-mode.rst new file mode 100644 index 000000000000..5a0d615c9994 --- /dev/null +++ b/awscli/examples/cloudfront/list-distributions-by-connection-mode.rst @@ -0,0 +1,115 @@ +**To list CloudFront distributions by connection mode** + +The following ``list-distributions-by-connection-mode`` example lists CloudFront distributions with the specified connection mode. :: + + aws cloudfront list-distributions-by-connection-mode \ + --connection-mode tenant-only + +Output:: + + { + "DistributionList": { + "Items": [ + { + "Id": "E1XNX8R2GOAABC", + "ARN": "arn:aws:cloudfront::123456789012:distribution/E1XNX8R2GOAABC", + "ETag": "EPT4JPJQDY1ABC", + "Status": "Deployed", + "LastModifiedTime": "2025-05-23T16:16:15.691000+00:00", + "DomainName": "-", + "Aliases": { + "Quantity": 0 + }, + "Origins": { + "Quantity": 1, + "Items": [ + { + "Id": "example-cfn-simple-distribution123", + "DomainName": "example.com", + "OriginPath": "", + "CustomHeaders": { + "Quantity": 0 + }, + "S3OriginConfig": { + "OriginAccessIdentity": "" + }, + "ConnectionAttempts": 3, + "ConnectionTimeout": 10, + "OriginShield": { + "Enabled": false + }, + "OriginAccessControlId": "E2CJRMB5LKEABC" + } + ] + }, + "OriginGroups": { + "Quantity": 0 + }, + "DefaultCacheBehavior": { + "TargetOriginId": "example-cfn-simple-distribution123", + "TrustedKeyGroups": { + "Enabled": false, + "Quantity": 0 + }, + "ViewerProtocolPolicy": "allow-all", + "AllowedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ], + "CachedMethods": { + "Quantity": 2, + "Items": [ + "HEAD", + "GET" + ] + } + }, + "Compress": true, + "LambdaFunctionAssociations": { + "Quantity": 0 + }, + "FunctionAssociations": { + "Quantity": 0 + }, + "FieldLevelEncryptionId": "", + "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e5abc", + "GrpcConfig": { + "Enabled": false + } + }, + "CacheBehaviors": { + "Quantity": 0 + }, + "CustomErrorResponses": { + "Quantity": 0 + }, + "Comment": "", + "PriceClass": "PriceClass_All", + "Enabled": true, + "ViewerCertificate": { + "CloudFrontDefaultCertificate": false, + "ACMCertificateArn": "arn:aws:acm:us-east-1:123456789012:certificate/ec53f564-ea5a-4e4a-a0a2-e3c989449abc", + "SSLSupportMethod": "sni-only", + "MinimumProtocolVersion": "TLSv1.2_2021", + "Certificate": "arn:aws:acm:us-east-1:123456789012:certificate/ec53f564-ea5a-4e4a-a0a2-e3c989449abc", + "CertificateSource": "acm" + }, + "Restrictions": { + "GeoRestriction": { + "RestrictionType": "none", + "Quantity": 0 + } + }, + "WebACLId": "arn:aws:wafv2:us-east-1:123456789012:global/webacl/web-global-example/626900da-5f64-418b-ba9b-743f3746cabc", + "HttpVersion": "http2", + "IsIPV6Enabled": false, + "Staging": false, + "ConnectionMode": "tenant-only" + } + ] + } + } + +For more information, see `Create custom connection group (optional) `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/list-distributions.rst b/awscli/examples/cloudfront/list-distributions.rst index 4fdbaaa12f54..f44982cfd99f 100644 --- a/awscli/examples/cloudfront/list-distributions.rst +++ b/awscli/examples/cloudfront/list-distributions.rst @@ -1,7 +1,6 @@ **To list CloudFront distributions** -The following example gets a list of the CloudFront distributions in your AWS -account:: +The following example gets a list of the CloudFront distributions in your AWS account. :: aws cloudfront list-distributions @@ -11,231 +10,11 @@ Output:: "DistributionList": { "Items": [ { - "Id": "EMLARXS9EXAMPLE", - "ARN": "arn:aws:cloudfront::123456789012:distribution/EMLARXS9EXAMPLE", - "Status": "InProgress", - "LastModifiedTime": "2019-11-22T00:55:15.705Z", - "InProgressInvalidationBatches": 0, - "DomainName": "d111111abcdef8.cloudfront.net", - "ActiveTrustedSigners": { - "Enabled": false, - "Quantity": 0 - }, - "DistributionConfig": { - "CallerReference": "cli-example", - "Aliases": { - "Quantity": 0 - }, - "DefaultRootObject": "index.html", - "Origins": { - "Quantity": 1, - "Items": [ - { - "Id": "awsexamplebucket.s3.amazonaws.com-cli-example", - "DomainName": "awsexamplebucket.s3.amazonaws.com", - "OriginPath": "", - "CustomHeaders": { - "Quantity": 0 - }, - "S3OriginConfig": { - "OriginAccessIdentity": "" - } - } - ] - }, - "OriginGroups": { - "Quantity": 0 - }, - "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-cli-example", - "ForwardedValues": { - "QueryString": false, - "Cookies": { - "Forward": "none" - }, - "Headers": { - "Quantity": 0 - }, - "QueryStringCacheKeys": { - "Quantity": 0 - } - }, - "TrustedSigners": { - "Enabled": false, - "Quantity": 0 - }, - "ViewerProtocolPolicy": "allow-all", - "MinTTL": 0, - "AllowedMethods": { - "Quantity": 2, - "Items": [ - "HEAD", - "GET" - ], - "CachedMethods": { - "Quantity": 2, - "Items": [ - "HEAD", - "GET" - ] - } - }, - "SmoothStreaming": false, - "DefaultTTL": 86400, - "MaxTTL": 31536000, - "Compress": false, - "LambdaFunctionAssociations": { - "Quantity": 0 - }, - "FieldLevelEncryptionId": "" - }, - "CacheBehaviors": { - "Quantity": 0 - }, - "CustomErrorResponses": { - "Quantity": 0 - }, - "Comment": "", - "Logging": { - "Enabled": false, - "IncludeCookies": false, - "Bucket": "", - "Prefix": "" - }, - "PriceClass": "PriceClass_All", - "Enabled": true, - "ViewerCertificate": { - "CloudFrontDefaultCertificate": true, - "MinimumProtocolVersion": "TLSv1", - "CertificateSource": "cloudfront" - }, - "Restrictions": { - "GeoRestriction": { - "RestrictionType": "none", - "Quantity": 0 - } - }, - "WebACLId": "", - "HttpVersion": "http2", - "IsIPV6Enabled": true - } - }, - { - "Id": "EDFDVBD6EXAMPLE", - "ARN": "arn:aws:cloudfront::123456789012:distribution/EDFDVBD6EXAMPLE", - "Status": "InProgress", - "LastModifiedTime": "2019-12-04T23:35:41.433Z", - "InProgressInvalidationBatches": 0, - "DomainName": "d930174dauwrn8.cloudfront.net", - "ActiveTrustedSigners": { - "Enabled": false, - "Quantity": 0 - }, - "DistributionConfig": { - "CallerReference": "cli-example", - "Aliases": { - "Quantity": 0 - }, - "DefaultRootObject": "index.html", - "Origins": { - "Quantity": 1, - "Items": [ - { - "Id": "awsexamplebucket1.s3.amazonaws.com-cli-example", - "DomainName": "awsexamplebucket1.s3.amazonaws.com", - "OriginPath": "", - "CustomHeaders": { - "Quantity": 0 - }, - "S3OriginConfig": { - "OriginAccessIdentity": "" - } - } - ] - }, - "OriginGroups": { - "Quantity": 0 - }, - "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket1.s3.amazonaws.com-cli-example", - "ForwardedValues": { - "QueryString": false, - "Cookies": { - "Forward": "none" - }, - "Headers": { - "Quantity": 0 - }, - "QueryStringCacheKeys": { - "Quantity": 0 - } - }, - "TrustedSigners": { - "Enabled": false, - "Quantity": 0 - }, - "ViewerProtocolPolicy": "allow-all", - "MinTTL": 0, - "AllowedMethods": { - "Quantity": 2, - "Items": [ - "HEAD", - "GET" - ], - "CachedMethods": { - "Quantity": 2, - "Items": [ - "HEAD", - "GET" - ] - } - }, - "SmoothStreaming": false, - "DefaultTTL": 86400, - "MaxTTL": 31536000, - "Compress": false, - "LambdaFunctionAssociations": { - "Quantity": 0 - }, - "FieldLevelEncryptionId": "" - }, - "CacheBehaviors": { - "Quantity": 0 - }, - "CustomErrorResponses": { - "Quantity": 0 - }, - "Comment": "", - "Logging": { - "Enabled": false, - "IncludeCookies": false, - "Bucket": "", - "Prefix": "" - }, - "PriceClass": "PriceClass_All", - "Enabled": true, - "ViewerCertificate": { - "CloudFrontDefaultCertificate": true, - "MinimumProtocolVersion": "TLSv1", - "CertificateSource": "cloudfront" - }, - "Restrictions": { - "GeoRestriction": { - "RestrictionType": "none", - "Quantity": 0 - } - }, - "WebACLId": "", - "HttpVersion": "http2", - "IsIPV6Enabled": true - } - }, - { - "Id": "E1X5IZQEXAMPLE", - "ARN": "arn:aws:cloudfront::123456789012:distribution/E1X5IZQEXAMPLE", + "Id": "E23YS8OEXAMPLE", + "ARN": "arn:aws:cloudfront::123456789012:distribution/E23YS8OEXAMPLE", "Status": "Deployed", - "LastModifiedTime": "2019-11-06T21:31:48.864Z", - "DomainName": "d2e04y12345678.cloudfront.net", + "LastModifiedTime": "2024-08-05T18:23:40.375000+00:00", + "DomainName": "abcdefgh12ijk.cloudfront.net", "Aliases": { "Quantity": 0 }, @@ -243,15 +22,21 @@ Output:: "Quantity": 1, "Items": [ { - "Id": "awsexamplebucket2", - "DomainName": "awsexamplebucket2.s3.us-west-2.amazonaws.com", + "Id": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", + "DomainName": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", "OriginPath": "", "CustomHeaders": { "Quantity": 0 }, "S3OriginConfig": { "OriginAccessIdentity": "" - } + }, + "ConnectionAttempts": 3, + "ConnectionTimeout": 10, + "OriginShield": { + "Enabled": false + }, + "OriginAccessControlId": "EIAP8PEXAMPLE" } ] }, @@ -259,25 +44,16 @@ Output:: "Quantity": 0 }, "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket2", - "ForwardedValues": { - "QueryString": false, - "Cookies": { - "Forward": "none" - }, - "Headers": { - "Quantity": 0 - }, - "QueryStringCacheKeys": { - "Quantity": 0 - } - }, + "TargetOriginId": "amzn-s3-demo-bucket.s3.us-east-1.amazonaws.com", "TrustedSigners": { "Enabled": false, "Quantity": 0 }, + "TrustedKeyGroups": { + "Enabled": false, + "Quantity": 0 + }, "ViewerProtocolPolicy": "allow-all", - "MinTTL": 0, "AllowedMethods": { "Quantity": 2, "Items": [ @@ -293,13 +69,15 @@ Output:: } }, "SmoothStreaming": false, - "DefaultTTL": 86400, - "MaxTTL": 31536000, - "Compress": false, + "Compress": true, "LambdaFunctionAssociations": { "Quantity": 0 }, - "FieldLevelEncryptionId": "" + "FunctionAssociations": { + "Quantity": 0 + }, + "FieldLevelEncryptionId": "", + "CachePolicyId": "658327ea-f89d-4fab-a63d-7e886EXAMPLE" }, "CacheBehaviors": { "Quantity": 0 @@ -312,6 +90,7 @@ Output:: "Enabled": true, "ViewerCertificate": { "CloudFrontDefaultCertificate": true, + "SSLSupportMethod": "vip", "MinimumProtocolVersion": "TLSv1", "CertificateSource": "cloudfront" }, @@ -322,8 +101,9 @@ Output:: } }, "WebACLId": "", - "HttpVersion": "HTTP1_1", - "IsIPV6Enabled": true + "HttpVersion": "HTTP2", + "IsIPV6Enabled": true, + "Staging": false } ] } diff --git a/awscli/examples/cloudfront/list-domain-conflicts.rst b/awscli/examples/cloudfront/list-domain-conflicts.rst new file mode 100644 index 000000000000..2517c027e1ee --- /dev/null +++ b/awscli/examples/cloudfront/list-domain-conflicts.rst @@ -0,0 +1,22 @@ +**To list domain conflicts for a CloudFront distribution** + +The following ``list-domain-conflicts`` example lists domain conflicts for a CloudFront distribution. :: + + aws cloudfront list-domain-conflicts \ + --domain example.com \ + --domain-control-validation-resource "DistributionTenantId=dt_2x9GhoK0TZRsohWzv1b9It8J1AB" + +Output:: + + { + "DomainConflicts": [ + { + "Domain": "example.com", + "ResourceType": "distribution-tenant", + "ResourceId": "***************ohWzv1b9It8J1AB", + "AccountId": "123456789012" + } + ] + } + +For more information, see `Move an alternate domain name to a different distribution `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/list-invalidations-for-distribution-tenant.rst b/awscli/examples/cloudfront/list-invalidations-for-distribution-tenant.rst new file mode 100644 index 000000000000..15d57b3370a9 --- /dev/null +++ b/awscli/examples/cloudfront/list-invalidations-for-distribution-tenant.rst @@ -0,0 +1,22 @@ +**To list invalidations for a CloudFront distribution tenant** + +The following ``list-invalidations-for-distribution-tenant`` example lists the invalidations for a CloudFront distribution tenant. :: + + aws cloudfront list-invalidations-for-distribution-tenant \ + --id dt_2wjDZi3hD1ivOXf6rpZJOSNE1AB + +Output:: + + { + "InvalidationList": { + "Items": [ + { + "Id": "I4CU23QAPKMUDUU06F9OFGFABC", + "CreateTime": "2025-05-06T15:46:12.824000+00:00", + "Status": "Completed" + } + ] + } + } + +For more information, see `Invalidate files to remove content `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/update-connection-group.rst b/awscli/examples/cloudfront/update-connection-group.rst new file mode 100644 index 000000000000..614d710e832b --- /dev/null +++ b/awscli/examples/cloudfront/update-connection-group.rst @@ -0,0 +1,29 @@ +**To update a CloudFront connection group** + +The following ``update-connection-group`` example disables a CloudFront connection group and disables IPv6. :: + + aws cloudfront update-connection-group \ + --id cg_2yHsDkcPKeUlVkk3aEgLKcjABC \ + --no-ipv6-enabled \ + --no-enabled \ + --if-match E3UN6WX5RRO2ABC + +Output:: + + { + "ETag": "E1F83G8C2ARABC", + "ConnectionGroup": { + "Id": "cg_2yHsDkcPKeUlVkk3aEgLKcjABC", + "Name": "cg-example", + "Arn": "arn:aws:cloudfront::123456789012:connection-group/cg_2yHsDkcPKeUlVkk3aEgLKcjABC", + "CreatedTime": "2025-06-09T20:58:35.481000+00:00", + "LastModifiedTime": "2025-06-11T16:25:54.280000+00:00", + "Ipv6Enabled": false, + "RoutingEndpoint": "du9xp1elo1abc.cloudfront.net", + "Status": "InProgress", + "Enabled": false, + "IsDefault": false + } + } + +For more information, see `Create custom connection group (optional) `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/update-distribution-tenant.rst b/awscli/examples/cloudfront/update-distribution-tenant.rst new file mode 100644 index 000000000000..72e929b032ae --- /dev/null +++ b/awscli/examples/cloudfront/update-distribution-tenant.rst @@ -0,0 +1,76 @@ +**To update a CloudFront distribution tenant** + +The following ``update-distribution-tenant`` example updates a CloudFront distribution tenant with a new parameter value and adds a country to the geo-restrictions. :: + + aws cloudfront update-distribution-tenant \ + --cli-input-json file://update-tenant.json + +Contents of ``update-tenant.json``:: + + { + "Id": "dt_2yMvQgam3QkJo2z54FDl91dk1AB", + "IfMatch": "E1F83G8C2ARABC", + "Parameters": [ + { + "Name": "testParam", + "Value": "newParameterValue" + } + ], + "Customizations": { + "WebAcl": { + "Action": "disable" + }, + "GeoRestrictions": { + "RestrictionType": "whitelist", + "Locations": [ + "DE", + "GB", + "ES" + ] + } + } + } + +Output:: + + { + "ETag": "E1PA6795UKMABC", + "DistributionTenant": { + "Id": "dt_2yMvQgam3QkJo2z54FDl91dk1AB", + "DistributionId": "E1XNX8R2GOAABC", + "Name": "new-tenant-customizations", + "Arn": "arn:aws:cloudfront::123456789012:distribution-tenant/dt_2yMvQgam3QkJo2z54FDl91dk1AB", + "Domains": [ + { + "Domain": "example.com", + "Status": "active" + } + ], + "Customizations": { + "WebAcl": { + "Action": "disable" + }, + "GeoRestrictions": { + "RestrictionType": "whitelist", + "Locations": [ + "DE", + "ES", + "GB" + ] + } + }, + "Parameters": [ + { + "Name": "testParam", + "Value": "newParameterValue" + } + ], + "ConnectionGroupId": "cg_2whCJoXMYCjHcxaLGrkllvyABC", + "CreatedTime": "2025-06-11T15:54:02.142000+00:00", + "LastModifiedTime": "2025-06-11T16:42:45.531000+00:00", + "Enabled": false, + "Status": "InProgress" + } + } + +For more information, see `Distribution tenant customizations `__ in the *Amazon CloudFront Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudfront/update-distribution.rst b/awscli/examples/cloudfront/update-distribution.rst index 049fa762be24..cf8c9692718e 100644 --- a/awscli/examples/cloudfront/update-distribution.rst +++ b/awscli/examples/cloudfront/update-distribution.rst @@ -1,9 +1,9 @@ -**To update a CloudFront distribution's default root object** +**Example 1: To update a CloudFront distribution's default root object** -The following example updates the default root object to ``index.html`` for the -CloudFront distribution with the ID ``EDFDVBD6EXAMPLE``:: +The following example updates the default root object to ``index.html`` for the CloudFront distribution with the ID ``EDFDVBD6EXAMPLE``. :: - aws cloudfront update-distribution --id EDFDVBD6EXAMPLE \ + aws cloudfront update-distribution \ + --id EDFDVBD6EXAMPLE \ --default-root-object index.html Output:: @@ -136,28 +136,20 @@ Output:: } } -**To update a CloudFront distribution** - -The following example disables the CloudFront distribution with the ID -``EMLARXS9EXAMPLE`` by providing the distribution configuration in a JSON file -named ``dist-config-disable.json``. To update a distribution, you must use the -``--if-match`` option to provide the distribution's ``ETag``. To get the -``ETag``, use the `get-distribution `_ or -`get-distribution-config `_ command. +**Example 2: To update a CloudFront distribution** -After you use the following example to disable a distribution, you can use the -`delete-distribution `_ command to delete it. +The following example disables the CloudFront distribution with the ID ``EMLARXS9EXAMPLE`` by providing the distribution configuration in a JSON file named ``dist-config-disable.json``. To update a distribution, you must use the ``--if-match`` option to provide the distribution's ``ETag``. To get the +``ETag``, use the `get-distribution `_ or `get-distribution-config `_ command. Note that the ``Enabled`` field is set to +``false`` in the JSON file. -:: +After you use the following example to disable a distribution, you can use the `delete-distribution `_ command to delete it. :: aws cloudfront update-distribution \ --id EMLARXS9EXAMPLE \ --if-match E2QWRUHEXAMPLE \ --distribution-config file://dist-config-disable.json -The file ``dist-config-disable.json`` is a JSON document in the current folder -that contains the following. Note that the ``Enabled`` field is set to -``false``:: +Contents of ``dist-config-disable.json``:: { "CallerReference": "cli-1574382155-496510", @@ -169,8 +161,8 @@ that contains the following. Note that the ``Enabled`` field is set to "Quantity": 1, "Items": [ { - "Id": "awsexamplebucket.s3.amazonaws.com-1574382155-273939", - "DomainName": "awsexamplebucket.s3.amazonaws.com", + "Id": "amzn-s3-demo-bucket.s3.amazonaws.com-1574382155-273939", + "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com", "OriginPath": "", "CustomHeaders": { "Quantity": 0 @@ -185,7 +177,7 @@ that contains the following. Note that the ``Enabled`` field is set to "Quantity": 0 }, "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-1574382155-273939", + "TargetOriginId": "amzn-s3-demo-bucket.s3.amazonaws.com-1574382155-273939", "ForwardedValues": { "QueryString": false, "Cookies": { @@ -283,8 +275,8 @@ Output:: "Quantity": 1, "Items": [ { - "Id": "awsexamplebucket.s3.amazonaws.com-1574382155-273939", - "DomainName": "awsexamplebucket.s3.amazonaws.com", + "Id": "amzn-s3-demo-bucket.s3.amazonaws.com-1574382155-273939", + "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com", "OriginPath": "", "CustomHeaders": { "Quantity": 0 @@ -299,7 +291,7 @@ Output:: "Quantity": 0 }, "DefaultCacheBehavior": { - "TargetOriginId": "awsexamplebucket.s3.amazonaws.com-1574382155-273939", + "TargetOriginId": "amzn-s3-demo-bucket.s3.amazonaws.com-1574382155-273939", "ForwardedValues": { "QueryString": false, "Cookies": { diff --git a/awscli/examples/cloudfront/update-domain-association.rst b/awscli/examples/cloudfront/update-domain-association.rst new file mode 100644 index 000000000000..df09343fb3f4 --- /dev/null +++ b/awscli/examples/cloudfront/update-domain-association.rst @@ -0,0 +1,18 @@ +**To update a domain association** + +The following ``update-domain-association`` example updates a domain association for a distribution tenant with ETag ``E23ZP02F085ABC``. :: + + aws cloudfront update-domain-association \ + --domain example.com \ + --target-resource DistributionTenantId=dt_2x9GhoK0TZRsohWzv1b9It8J1AB \ + --if-match E23ZP02F085ABC + +Output:: + + { + "ETag": "ETVPDKIKX0ABC", + "Domain": "example.com", + "ResourceId": "dt_2x9GhoK0TZRsohWzv1b9It8J1AB" + } + +For more information, see `Move an alternate domain name to a different distribution `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudfront/verify-dns-configuration.rst b/awscli/examples/cloudfront/verify-dns-configuration.rst new file mode 100644 index 000000000000..e011109f754e --- /dev/null +++ b/awscli/examples/cloudfront/verify-dns-configuration.rst @@ -0,0 +1,20 @@ +**To verify DNS configuration for a domain** + +The following ``verify-dns-configuration`` example verifies the DNS configuration for a domain. :: + + aws cloudfront verify-dns-configuration \ + --domain example.com \ + --identifier dt_2x9GhoK0TZRsohWzv1b9It8J1AB + +Output:: + + { + "DnsConfigurationList": [ + { + "Domain": "example.com", + "Status": "valid-configuration" + } + ] + } + +For more information, see `Move an alternate domain name to a different distribution `__ in the *Amazon CloudFront Developer Guide*. diff --git a/awscli/examples/cloudtrail/create-subscription.rst b/awscli/examples/cloudtrail/create-subscription.rst index b3f2fc0ea4a3..8b285d005281 100644 --- a/awscli/examples/cloudtrail/create-subscription.rst +++ b/awscli/examples/cloudtrail/create-subscription.rst @@ -1,32 +1,35 @@ -**To create and configure AWS resources for a trail** - -The following ``create-subscription`` command creates a new S3 bucket and SNS topic for ``Trail1``:: - - aws cloudtrail create-subscription --name Trail1 --s3-new-bucket my-bucket --sns-new-topic my-topic - -Output:: - - Setting up new S3 bucket my-bucket... - Setting up new SNS topic my-topic... - Creating/updating CloudTrail configuration... - CloudTrail configuration: - { - "trailList": [ - { - "IncludeGlobalServiceEvents": true, - "Name": "Trail1", - "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", - "LogFileValidationEnabled": false, - "IsMultiRegionTrail": false, - "S3BucketName": "my-bucket", - "SnsTopicName": "my-topic", - "HomeRegion": "us-east-1" - } - ], - "ResponseMetadata": { - "HTTPStatusCode": 200, - "RequestId": "f39e51f6-c615-11e5-85bd-d35ca21ee3e2" - } - } - Starting CloudTrail service... - Logs will be delivered to my-bucket \ No newline at end of file +**To create and configure AWS resources for a trail** + +The following ``create-subscription`` command creates a new S3 bucket and SNS topic for ``Trail1``. :: + + aws cloudtrail create-subscription \ + --name Trail1 \ + --s3-new-bucket amzn-s3-demo-bucket \ + --sns-new-topic my-topic + +Output:: + + Setting up new S3 bucket amzn-s3-demo-bucket... + Setting up new SNS topic my-topic... + Creating/updating CloudTrail configuration... + CloudTrail configuration: + { + "trailList": [ + { + "IncludeGlobalServiceEvents": true, + "Name": "Trail1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", + "LogFileValidationEnabled": false, + "IsMultiRegionTrail": false, + "S3BucketName": "amzn-s3-demo-bucket", + "SnsTopicName": "my-topic", + "HomeRegion": "us-east-1" + } + ], + "ResponseMetadata": { + "HTTPStatusCode": 200, + "RequestId": "f39e51f6-c615-11e5-85bd-d35ca21ee3e2" + } + } + Starting CloudTrail service... + Logs will be delivered to my-bucket \ No newline at end of file diff --git a/awscli/examples/cloudtrail/create-trail.rst b/awscli/examples/cloudtrail/create-trail.rst index 95d33cbedde7..0472c5fb2948 100644 --- a/awscli/examples/cloudtrail/create-trail.rst +++ b/awscli/examples/cloudtrail/create-trail.rst @@ -1,17 +1,19 @@ -**To create a trail** - -The following ``create-trail`` command creates a multi-region trail named ``Trail1`` and specifies an S3 bucket:: - - aws cloudtrail create-trail --name Trail1 --s3-bucket-name my-bucket --is-multi-region-trail - -Output:: - - { - "IncludeGlobalServiceEvents": true, - "Name": "Trail1", - "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", - "LogFileValidationEnabled": false, - "IsMultiRegionTrail": true, - "S3BucketName": "my-bucket" - } - \ No newline at end of file +**To create a trail** + +The following ``create-trail`` example creates a multi-region trail named ``Trail1`` and specifies an S3 bucket. :: + + aws cloudtrail create-trail \ + --name Trail1 \ + --s3-bucket-name amzn-s3-demo-bucket \ + --is-multi-region-trail + +Output:: + + { + "IncludeGlobalServiceEvents": true, + "Name": "Trail1", + "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", + "LogFileValidationEnabled": false, + "IsMultiRegionTrail": true, + "S3BucketName": "amzn-s3-demo-bucket" + } diff --git a/awscli/examples/cloudtrail/describe-trails.rst b/awscli/examples/cloudtrail/describe-trails.rst index f09a67b50ff1..d92635af7964 100644 --- a/awscli/examples/cloudtrail/describe-trails.rst +++ b/awscli/examples/cloudtrail/describe-trails.rst @@ -1,35 +1,36 @@ -**To describe a trail** - -The following ``describe-trails`` command returns the settings for ``Trail1`` and ``Trail2``:: - - aws cloudtrail describe-trails --trail-name-list Trail1 Trail2 - -Output:: - - { - "trailList": [ - { - "IncludeGlobalServiceEvents": true, - "Name": "Trail1", - "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", - "LogFileValidationEnabled": false, - "IsMultiRegionTrail": false, - "S3BucketName": "my-bucket", - "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/CloudTrail_CloudWatchLogs_Role", - "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:CloudTrail:*", - "SnsTopicName": "my-topic", - "HomeRegion": "us-east-1" - }, - { - "IncludeGlobalServiceEvents": true, - "Name": "Trail2", - "S3KeyPrefix": "my-prefix", - "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2", - "LogFileValidationEnabled": false, - "IsMultiRegionTrail": false, - "S3BucketName": "my-bucket", - "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c5ae5ac-3c13-421e-8335-c7868ef6a769", - "HomeRegion": "us-east-1" - } - ] - } \ No newline at end of file +**To describe a trail** + +The following ``describe-trails`` example returns the settings for ``Trail1`` and ``Trail2``. :: + + aws cloudtrail describe-trails \ + --trail-name-list Trail1 Trail2 + +Output:: + + { + "trailList": [ + { + "IncludeGlobalServiceEvents": true, + "Name": "Trail1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", + "LogFileValidationEnabled": false, + "IsMultiRegionTrail": false, + "S3BucketName": "amzn-s3-demo-bucket", + "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/CloudTrail_CloudWatchLogs_Role", + "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:CloudTrail:*", + "SnsTopicName": "my-topic", + "HomeRegion": "us-east-1" + }, + { + "IncludeGlobalServiceEvents": true, + "Name": "Trail2", + "S3KeyPrefix": "my-prefix", + "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2", + "LogFileValidationEnabled": false, + "IsMultiRegionTrail": false, + "S3BucketName": "amzn-s3-demo-bucket2", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c5ae5ac-3c13-421e-8335-c7868ef6a769", + "HomeRegion": "us-east-1" + } + ] + } diff --git a/awscli/examples/cloudtrail/put-event-selectors.rst b/awscli/examples/cloudtrail/put-event-selectors.rst index 6b3598620695..e43ff6fd153a 100755 --- a/awscli/examples/cloudtrail/put-event-selectors.rst +++ b/awscli/examples/cloudtrail/put-event-selectors.rst @@ -1,70 +1,187 @@ -**To configure event selectors for a trail** +**Example 1: Configure a trail to log management events and data events by using advanced event selectors** -To create an event selector, run the ''put-event-selectors'' command. When an event occurs in your account, CloudTrail evaluates -the configuration for your trails. If the event matches any event selector for a trail, the trail processes and logs the event. -You can configure up to 5 event selectors for a trail and up to 250 data resources for a trail. +You can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 values for all conditions and selectors on a trail. You can use advanced event selectors to log all available data event types. You can use either advanced event selectors or basic event selectors, but not both. If you apply advanced event selectors to a trail, any existing basic event selectors are overwritten. -The following example creates an event selector for a trail named ''TrailName'' to include read-only and write-only management events, -data events for two Amazon S3 bucket/prefix combinations, and data events for a single AWS Lambda function named ''hello-world-python-function'':: +The following ``put-event-selectors`` example creates an advanced event selector for a trail named ``myTrail`` to log all management events, log S3 PutObject and DeleteObject API calls for all but one S3 bucket, log data API calls for a Lambda function named ``myFunction``, and log Publish API calls on an SNS topic named ``myTopic``. :: + aws cloudtrail put-event-selectors \ + --trail-name myTrail \ + --advanced-event-selectors '[{"Name": "Log all management events", "FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Management"] }] },{"Name": "Log PutObject and DeleteObject events for all but one bucket","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::S3::Object"] },{ "Field": "eventName", "Equals": ["PutObject","DeleteObject"] },{ "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] }]},{"Name": "Log data events for a specific Lambda function","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] },{ "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-1:123456789012:function:myFunction"] }]},{"Name": "Log all Publish API calls on a specific SNS topic","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::SNS::Topic"] },{ "Field": "eventName", "Equals": ["Publish"] },{ "Field": "resources.ARN", "Equals": ["arn:aws:sns:us-east-1:123456789012:myTopic.fifo"] }]}]' +Output:: + + { + "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/myTrail", + "AdvancedEventSelectors": [ + { + "Name": "Log all management events", + "FieldSelectors": [ + { + "Field": "eventCategory", + "Equals": [ + "Management" + ] + } + ] + }, + { + "Name": "Log PutObject and DeleteObject events for all but one bucket", + "FieldSelectors": [ + { + "Field": "eventCategory", + "Equals": [ + "Data" + ] + }, + { + "Field": "resources.type", + "Equals": [ + "AWS::S3::Object" + ] + }, + { + "Field": "eventName", + "Equals": [ + "PutObject", + "DeleteObject" + ] + }, + { + "Field": "resources.ARN", + "NotStartsWith": [ + "arn:aws:s3:::amzn-s3-demo-bucket/" + ] + } + ] + }, + { + "Name": "Log data events for a specific Lambda function", + "FieldSelectors": [ + { + "Field": "eventCategory", + "Equals": [ + "Data" + ] + }, + { + "Field": "resources.type", + "Equals": [ + "AWS::Lambda::Function" + ] + }, + { + "Field": "resources.ARN", + "Equals": [ + "arn:aws:lambda:us-east-1:123456789012:function:myFunction" + ] + } + ] + }, + { + "Name": "Log all Publish API calls on a specific SNS topic", + "FieldSelectors": [ + { + "Field": "eventCategory", + "Equals": [ + "Data" + ] + }, + { + "Field": "resources.type", + "Equals": [ + "AWS::SNS::Topic" + ] + }, + { + "Field": "eventName", + "Equals": [ + "Publish" + ] + }, + { + "Field": "resources.ARN", + "Equals": [ + "arn:aws:sns:us-east-1:123456789012:myTopic.fifo" + ] + } + ] + } + ] + } + +For more information, see `Log events by using advanced event selectors `__ in the *AWS CloudTrail User Guide*. + +**Example 2: Configure event selectors for a trail to log all management events and data events** + +You can configure up to 5 event selectors for a trail and up to 250 data resources for a trail. Event selectors are also referred to as basic event selectors. You can use event selectors to log management events and data events for S3 objects, Lambda functions, and DynnamoDB tables. To log data events for other resource types, you must use advanced event selectors. + +The following ``put-event-selectors`` example creates an event selector for a trail named ``TrailName`` to include all management events, data events for two Amazon S3 bucket/prefix combinations, and data events for a single AWS Lambda function named ``hello-world-python-function``. :: - aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::mybucket/prefix","arn:aws:s3:::mybucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]' + aws cloudtrail put-event-selectors \ + --trail-name TrailName \ + --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::amzn-s3-demo-bucket/prefix","arn:aws:s3:::amzn-s3-demo-bucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]' Output:: - { - "EventSelectors": [ - { - "IncludeManagementEvents": true, - "DataResources": [ - { - "Values": [ - "arn:aws:s3:::mybucket/prefix", - "arn:aws:s3:::mybucket2/prefix2" - ], - "Type": "AWS::S3::Object" - }, - { - "Values": [ - "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function" - ], - "Type": "AWS::Lambda::Function" - }, - ], - "ReadWriteType": "All" - } - ], - "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" - } - -The following example creates an event selector for a trail named ''TrailName2'' that includes all events, including read-only and write-only management events, and all data events for all Amazon S3 buckets and AWS Lambda functions in the AWS account:: - - aws cloudtrail put-event-selectors --trail-name TrailName2 --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]}]}]' + { + "EventSelectors": [ + { + "IncludeManagementEvents": true, + "DataResources": [ + { + "Values": [ + "arn:aws:s3:::amzn-s3-demo-bucket/prefix", + "arn:aws:s3:::amzn-s3-demo-bucket2/prefix2" + ], + "Type": "AWS::S3::Object" + }, + { + "Values": [ + "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function" + ], + "Type": "AWS::Lambda::Function" + }, + ], + "ReadWriteType": "All" + } + ], + "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" + } + +For more information, see `Log events by using basic event selectors `__ in the *AWS CloudTrail User Guide*. + +**Example 3: Configure event selectors for a trail to log management events, all S3 data events on S3 objects, and all Lambda data events on functions in your account** + +The following ``put-event-selectors`` example creates an event selector for a trail named ``TrailName2`` that includes all management events, and all data events for all Amazon S3 buckets and AWS Lambda functions in the AWS account. :: + + aws cloudtrail put-event-selectors \ + --trail-name TrailName2 \ + --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]}]}]' Output:: - { - "EventSelectors": [ - { - "IncludeManagementEvents": true, - "DataResources": [ - { - "Values": [ - "arn:aws:s3:::" - ], - "Type": "AWS::S3::Object" - }, - { - "Values": [ - "arn:aws:lambda" - ], - "Type": "AWS::Lambda::Function" - }, - ], - "ReadWriteType": "All" - } - ], - "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2" - } - \ No newline at end of file + { + "EventSelectors": [ + { + "IncludeManagementEvents": true, + "DataResources": [ + { + "Values": [ + "arn:aws:s3" + ], + "Type": "AWS::S3::Object" + }, + { + "Values": [ + "arn:aws:lambda" + ], + "Type": "AWS::Lambda::Function" + }, + ], + "ReadWriteType": "All" + } + ], + "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2" + } + +For more information, see `Log events by using basic event selectors `__ in the *AWS CloudTrail User Guide*. diff --git a/awscli/examples/cloudtrail/update-subscription.rst b/awscli/examples/cloudtrail/update-subscription.rst index fb0316a5f89b..f1b7df74b997 100644 --- a/awscli/examples/cloudtrail/update-subscription.rst +++ b/awscli/examples/cloudtrail/update-subscription.rst @@ -1,30 +1,33 @@ -**To update the configuration settings for a trail** - -The following ``update-subscription`` command updates the trail to specify a new S3 bucket and SNS topic:: - - aws cloudtrail update-subscription --name Trail1 --s3-new-bucket my-bucket-new --sns-new-topic my-topic-new - -Output:: - - Setting up new S3 bucket my-bucket-new... - Setting up new SNS topic my-topic-new... - Creating/updating CloudTrail configuration... - CloudTrail configuration: - { - "trailList": [ - { - "IncludeGlobalServiceEvents": true, - "Name": "Trail1", - "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", - "LogFileValidationEnabled": false, - "IsMultiRegionTrail": false, - "S3BucketName": "my-bucket-new", - "SnsTopicName": "my-topic-new", - "HomeRegion": "us-east-1" - } - ], - "ResponseMetadata": { - "HTTPStatusCode": 200, - "RequestId": "31126f8a-c616-11e5-9cc6-2fd637936879" - } - } \ No newline at end of file +**To update the configuration settings for a trail** + +The following ``update-subscription`` example updates the trail to specify a new S3 bucket and SNS topic. :: + + aws cloudtrail update-subscription \ + --name Trail1 \ + --s3-new-bucket amzn-s3-demo-bucket \ + --sns-new-topic my-topic-new + +Output:: + + Setting up new S3 bucket amzn-s3-demo-bucket... + Setting up new SNS topic my-topic-new... + Creating/updating CloudTrail configuration... + CloudTrail configuration: + { + "trailList": [ + { + "IncludeGlobalServiceEvents": true, + "Name": "Trail1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", + "LogFileValidationEnabled": false, + "IsMultiRegionTrail": false, + "S3BucketName": "amzn-s3-demo-bucket", + "SnsTopicName": "my-topic-new", + "HomeRegion": "us-east-1" + } + ], + "ResponseMetadata": { + "HTTPStatusCode": 200, + "RequestId": "31126f8a-c616-11e5-9cc6-2fd637936879" + } + } diff --git a/awscli/examples/cloudtrail/update-trail.rst b/awscli/examples/cloudtrail/update-trail.rst index 37539b0b9849..f7b9284d88b6 100644 --- a/awscli/examples/cloudtrail/update-trail.rst +++ b/awscli/examples/cloudtrail/update-trail.rst @@ -1,16 +1,18 @@ -**To update a trail** - -The following ``update-trail`` command updates a trail to use an existing bucket for log delivery:: - - aws cloudtrail update-trail --name Trail1 --s3-bucket-name my-bucket - -Output:: - - { - "IncludeGlobalServiceEvents": true, - "Name": "Trail1", - "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", - "LogFileValidationEnabled": false, - "IsMultiRegionTrail": true, - "S3BucketName": "my-bucket" - } \ No newline at end of file +**To update a trail** + +The following ``update-trail`` example updates a trail to use an existing bucket for log delivery. :: + + aws cloudtrail update-trail \ + --name Trail1 \ + --s3-bucket-name amzn-s3-demo-bucket + +Output:: + + { + "IncludeGlobalServiceEvents": true, + "Name": "Trail1", + "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", + "LogFileValidationEnabled": false, + "IsMultiRegionTrail": true, + "S3BucketName": "amzn-s3-demo-bucket" + } \ No newline at end of file diff --git a/awscli/examples/cloudwatch/delete-anomaly-detector.rst b/awscli/examples/cloudwatch/delete-anomaly-detector.rst new file mode 100644 index 000000000000..9a4f946785d5 --- /dev/null +++ b/awscli/examples/cloudwatch/delete-anomaly-detector.rst @@ -0,0 +1,12 @@ +**To delete a specified anomaly detection model** + +The following ``delete-anomaly-detector`` example deletes an anomaly detector model in the specified account. :: + + aws cloudwatch delete-anomaly-detector \ + --namespace AWS/Logs \ + --metric-name IncomingBytes \ + --stat SampleCount + +This command produces no output. + +For more information, see `Deleting an anomaly detection model `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/delete-dashboards.rst b/awscli/examples/cloudwatch/delete-dashboards.rst new file mode 100644 index 000000000000..fe438c9c7bcb --- /dev/null +++ b/awscli/examples/cloudwatch/delete-dashboards.rst @@ -0,0 +1,10 @@ +**To delete specified dashboards** + +The following ``delete-dashboards`` example deletes two dashboards named ``Dashboard-A`` and ``Dashboard-B`` in the specified account. :: + + aws cloudwatch delete-dashboards \ + --dashboard-names Dashboard-A Dashboard-B + +This command produces no output. + +For more information, see `Amazon CloudWatch dashboards `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/delete-insight-rules.rst b/awscli/examples/cloudwatch/delete-insight-rules.rst new file mode 100644 index 000000000000..ac0131e2de25 --- /dev/null +++ b/awscli/examples/cloudwatch/delete-insight-rules.rst @@ -0,0 +1,14 @@ +**To delete specified contributor insights rules** + +The following ``delete-insight-rules`` example deletes two contributor insights rules named ``Rule-A`` and ``Rule-B`` in the specified account. :: + + aws cloudwatch delete-insight-rules \ + --rule-names Rule-A Rule-B + +Output:: + + { + "Failures": [] + } + +For more information, see `Use Contributor Insights to analyze high-cardinality data `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/delete-metric-stream.rst b/awscli/examples/cloudwatch/delete-metric-stream.rst new file mode 100644 index 000000000000..f3d225334b05 --- /dev/null +++ b/awscli/examples/cloudwatch/delete-metric-stream.rst @@ -0,0 +1,10 @@ +**To delete a specified metric stream** + +The following ``delete-metric-stream`` example deletes the metric stream named ``QuickPartial-gSCKvO`` in the specified account. :: + + aws cloudwatch delete-metric-stream \ + --name QuickPartial-gSCKvO + +This command produces no output. + +For more information, see `Use metric streams `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/describe-anomaly-detectors.rst b/awscli/examples/cloudwatch/describe-anomaly-detectors.rst new file mode 100644 index 000000000000..5d921e64ba78 --- /dev/null +++ b/awscli/examples/cloudwatch/describe-anomaly-detectors.rst @@ -0,0 +1,59 @@ +**To retrieve a list of anomaly detection models** + +The following ``describe-anomaly-detectors`` example displays information about anomaly detector models that are associated with the ``AWS/Logs`` namespace in the specified account. :: + + aws cloudwatch describe-anomaly-detectors \ + --namespace AWS/Logs + +Output:: + + { + "AnomalyDetectors": [ + { + "Namespace": "AWS/Logs", + "MetricName": "IncomingBytes", + "Dimensions": [], + "Stat": "SampleCount", + "Configuration": { + "ExcludedTimeRanges": [] + }, + "StateValue": "TRAINED", + "SingleMetricAnomalyDetector": { + "AccountId": "123456789012", + "Namespace": "AWS/Logs", + "MetricName": "IncomingBytes", + "Dimensions": [], + "Stat": "SampleCount" + } + }, + { + "Namespace": "AWS/Logs", + "MetricName": "IncomingBytes", + "Dimensions": [ + { + "Name": "LogGroupName", + "Value": "demo" + } + ], + "Stat": "Average", + "Configuration": { + "ExcludedTimeRanges": [] + }, + "StateValue": "PENDING_TRAINING", + "SingleMetricAnomalyDetector": { + "AccountId": "123456789012", + "Namespace": "AWS/Logs", + "MetricName": "IncomingBytes", + "Dimensions": [ + { + "Name": "LogGroupName", + "Value": "demo" + } + ], + "Stat": "Average" + } + } + ] + } + +For more information, see `Using CloudWatch anomaly detection `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/describe-insight-rules.rst b/awscli/examples/cloudwatch/describe-insight-rules.rst new file mode 100644 index 000000000000..8467a3618801 --- /dev/null +++ b/awscli/examples/cloudwatch/describe-insight-rules.rst @@ -0,0 +1,28 @@ +**To retrieve a list of Contributor Insights rules** + +The following ``describe-insight-rules`` example shows all the Contributor Insight rules in the specified account. :: + + aws cloudwatch describe-insight-rules + +Output:: + + { + "InsightRules": [ + { + "Name": "Rule-A", + "State": "ENABLED", + "Schema": "CloudWatchLogRule/1", + "Definition": "{\n\t\"AggregateOn\": \"Count\",\n\t\"Contribution\": {\n\t\t\"Filters\": [],\n\t\t\"Keys\": [\n\t\t\t\"$.requestId\"\n\t\t]\n\t},\n\t\"LogFormat\": \"JSON\",\n\t\"Schema\": {\n\t\t\"Name\": \"CloudWatchLogRule\",\n\t\t\"Version\": 1\n\t},\n\t\"LogGroupARNs\": [\n\t\t\"arn:aws:logs:us-east-1:123456789012:log-group:demo\"\n\t]\n}", + "ManagedRule": false + }, + { + "Name": "Rule-B", + "State": "ENABLED", + "Schema": "CloudWatchLogRule/1", + "Definition": "{\n\t\"AggregateOn\": \"Count\",\n\t\"Contribution\": {\n\t\t\"Filters\": [],\n\t\t\"Keys\": [\n\t\t\t\"$.requestId\"\n\t\t]\n\t},\n\t\"LogFormat\": \"JSON\",\n\t\"Schema\": {\n\t\t\"Name\": \"CloudWatchLogRule\",\n\t\t\"Version\": 1\n\t},\n\t\"LogGroupARNs\": [\n\t\t\"arn:aws:logs:us-east-1:123456789012:log-group:demo-1\"\n\t]\n}", + "ManagedRule": false + } + ] + } + +For more information, see `Use Contributor Insights to analyze high-cardinality data `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/disable-insight-rules.rst b/awscli/examples/cloudwatch/disable-insight-rules.rst new file mode 100644 index 000000000000..4edeb02bc596 --- /dev/null +++ b/awscli/examples/cloudwatch/disable-insight-rules.rst @@ -0,0 +1,14 @@ +**To disable specified contributor insight rules** + +The following ``disable-insight-rules`` example disables two contributor insights rules named ``Rule-A`` and ``Rule-B`` in the specified account. :: + + aws cloudwatch disable-insight-rules \ + --rule-names Rule-A Rule-B + +Output:: + + { + "Failures": [] + } + +For more information, see `Use Contributor Insights to analyze high-cardinality data `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/enable-insight-rules.rst b/awscli/examples/cloudwatch/enable-insight-rules.rst new file mode 100644 index 000000000000..0a93df440f35 --- /dev/null +++ b/awscli/examples/cloudwatch/enable-insight-rules.rst @@ -0,0 +1,14 @@ +**To enable specified contributor insight rules** + +The following ``enable-insight-rules`` example enables two contributor insights rules named ``Rule-A`` and ``Rule-B`` in the specified account. :: + + aws cloudwatch enable-insight-rules \ + --rule-names Rule-A Rule-B + +Output:: + + { + "Failures": [] + } + +For more information, see `Use Contributor Insights to analyze high-cardinality data `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/get-dashboard.rst b/awscli/examples/cloudwatch/get-dashboard.rst new file mode 100644 index 000000000000..8afa9efac090 --- /dev/null +++ b/awscli/examples/cloudwatch/get-dashboard.rst @@ -0,0 +1,16 @@ +**To retrieve information about a Dashboard** + +The following ``get-dashboard`` example displays information about the dashboard named ``Dashboard-A`` in the specified account. :: + + aws cloudwatch get-dashboard \ + --dashboard-name Dashboard-A + +Output:: + + { + "DashboardArn": "arn:aws:cloudwatch::123456789012:dashboard/Dashboard-A", + "DashboardBody": "{\"widgets\":[{\"type\":\"metric\",\"x\":0,\"y\":0,\"width\":6,\"height\":6,\"properties\":{\"view\":\"timeSeries\",\"stacked\":false,\"metrics\":[[\"AWS/EC2\",\"NetworkIn\",\"InstanceId\",\"i-0131f062232ade043\"],[\".\",\"NetworkOut\",\".\",\".\"]],\"region\":\"us-east-1\"}}]}", + "DashboardName": "Dashboard-A" + } + +For more information, see `Amazon CloudWatch dashboards `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/get-insight-rule-report.rst b/awscli/examples/cloudwatch/get-insight-rule-report.rst new file mode 100644 index 000000000000..0ad2859416e6 --- /dev/null +++ b/awscli/examples/cloudwatch/get-insight-rule-report.rst @@ -0,0 +1,37 @@ +**To retrieve the time series data collected by a Contributor Insights rule** + +The following ``get-insight-rule-report`` example returns the time series data collected by a Contributor Insights rule. :: + + aws cloudwatch get-insight-rule-report \ + --rule-name Rule-A \ + --start-time 2024-10-13T20:15:00Z \ + --end-time 2024-10-13T20:30:00Z \ + --period 300 + +Output:: + + { + "KeyLabels": [ + "PartitionKey" + ], + "AggregationStatistic": "Sum", + "AggregateValue": 0.5, + "ApproximateUniqueCount": 1, + "Contributors": [ + { + "Keys": [ + "RequestID" + ], + "ApproximateAggregateValue": 0.5, + "Datapoints": [ + { + "Timestamp": "2024-10-13T21:00:00+00:00", + "ApproximateValue": 0.5 + } + ] + } + ], + "RuleAttributes": [] + } + +For more information, see `Use Contributor Insights to analyze high-cardinality data `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/get-metric-data.rst b/awscli/examples/cloudwatch/get-metric-data.rst new file mode 100644 index 000000000000..6af2ed2cc3d5 --- /dev/null +++ b/awscli/examples/cloudwatch/get-metric-data.rst @@ -0,0 +1,106 @@ +**Example 1: To get the Average Total IOPS for the specified EC2 using math expression** + +The following ``get-metric-data`` example retrieves CloudWatch metric values for the EC2 instance with InstanceID ``i-abcdef`` using metric math exprssion that combines ``EBSReadOps`` and ``EBSWriteOps`` metrics. :: + + aws cloudwatch get-metric-data \ + --metric-data-queries file://file.json \ + --start-time 2024-09-29T22:10:00Z \ + --end-time 2024-09-29T22:15:00Z + +Contents of ``file.json``:: + + [ + { + "Id": "m3", + "Expression": "(m1+m2)/300", + "Label": "Avg Total IOPS" + }, + { + "Id": "m1", + "MetricStat": { + "Metric": { + "Namespace": "AWS/EC2", + "MetricName": "EBSReadOps", + "Dimensions": [ + { + "Name": "InstanceId", + "Value": "i-abcdef" + } + ] + }, + "Period": 300, + "Stat": "Sum", + "Unit": "Count" + }, + "ReturnData": false + }, + { + "Id": "m2", + "MetricStat": { + "Metric": { + "Namespace": "AWS/EC2", + "MetricName": "EBSWriteOps", + "Dimensions": [ + { + "Name": "InstanceId", + "Value": "i-abcdef" + } + ] + }, + "Period": 300, + "Stat": "Sum", + "Unit": "Count" + }, + "ReturnData": false + } + ] + +Output:: + + { + "MetricDataResults": [ + { + "Id": "m3", + "Label": "Avg Total IOPS", + "Timestamps": [ + "2024-09-29T22:10:00+00:00" + ], + "Values": [ + 96.85 + ], + "StatusCode": "Complete" + } + ], + "Messages": [] + } + +**Example 2: To monitor the estimated AWS charges using CloudWatch billing metrics** + +The following ``get-metric-data`` example retrieves ``EstimatedCharges`` CloudWatch metric from AWS/Billing namespace. :: + + aws cloudwatch get-metric-data \ + --metric-data-queries '[{"Id":"m1","MetricStat":{"Metric":{"Namespace":"AWS/Billing","MetricName":"EstimatedCharges","Dimensions":[{"Name":"Currency","Value":"USD"}]},"Period":21600,"Stat":"Maximum"}}]' \ + --start-time 2024-09-26T12:00:00Z \ + --end-time 2024-09-26T18:00:00Z \ + --region us-east-1 + +Output:: + + { + "MetricDataResults": [ + { + "Id": "m1", + "Label": "EstimatedCharges", + "Timestamps": [ + "2024-09-26T12:00:00+00:00" + ], + "Values": [ + 542.38 + ], + "StatusCode": "Complete" + } + ], + "Messages": [] + } + +For more information, see `Using math expressions with CloudWatch metrics `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/get-metric-stream.rst b/awscli/examples/cloudwatch/get-metric-stream.rst new file mode 100644 index 000000000000..21926377486f --- /dev/null +++ b/awscli/examples/cloudwatch/get-metric-stream.rst @@ -0,0 +1,22 @@ +**To retrieve information about a metric stream** + +The following ``get-metric-stream`` example displays information about the metric stream named ``QuickFull-GuaFbs`` in the specified account. :: + + aws cloudwatch get-metric-stream \ + --name QuickFull-GuaFbs + +Output:: + + { + "Arn": "arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/QuickFull-GuaFbs", + "Name": "QuickFull-GuaFbs", + "FirehoseArn": "arn:aws:firehose:us-east-1:123456789012:deliverystream/MetricStreams-QuickFull-GuaFbs-WnySbECG", + "RoleArn": "arn:aws:iam::123456789012:role/service-role/MetricStreams-FirehosePutRecords-JN10W9B3", + "State": "running", + "CreationDate": "2024-10-11T18:48:59.187000+00:00", + "LastUpdateDate": "2024-10-11T18:48:59.187000+00:00", + "OutputFormat": "json", + "IncludeLinkedAccountsMetrics": false + } + +For more information, see `Use metric streams `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/get-metric-widget-image.rst b/awscli/examples/cloudwatch/get-metric-widget-image.rst new file mode 100644 index 000000000000..5bbef1c762a1 --- /dev/null +++ b/awscli/examples/cloudwatch/get-metric-widget-image.rst @@ -0,0 +1,10 @@ +**To retrieve a snapshot graph of CPUUtilization** + +The following ``get-metric-widget-image`` example retrieves snapshot graph for the metric ``CPUUtilization`` of the EC2 instance with the ID ``i-abcde`` and saves the retrieved image as a file named "image.png" on your local machine. :: + + aws cloudwatch get-metric-widget-image \ + --metric-widget '{"metrics":[["AWS/EC2","CPUUtilization","InstanceId","i-abcde"]]}' \ + --output-format png \ + --output text | base64 --decode > image.png + +This command produces no output. diff --git a/awscli/examples/cloudwatch/list-dashboards.rst b/awscli/examples/cloudwatch/list-dashboards.rst new file mode 100644 index 000000000000..432313e8aca9 --- /dev/null +++ b/awscli/examples/cloudwatch/list-dashboards.rst @@ -0,0 +1,26 @@ +**To retrieve a list of Dashboards** + +The following ``list-dashboards`` example lists all the Dashboards in the specified account. :: + + aws cloudwatch list-dashboards + +Output:: + + { + "DashboardEntries": [ + { + "DashboardName": "Dashboard-A", + "DashboardArn": "arn:aws:cloudwatch::123456789012:dashboard/Dashboard-A", + "LastModified": "2024-10-11T18:40:11+00:00", + "Size": 271 + }, + { + "DashboardName": "Dashboard-B", + "DashboardArn": "arn:aws:cloudwatch::123456789012:dashboard/Dashboard-B", + "LastModified": "2024-10-11T18:44:41+00:00", + "Size": 522 + } + ] + } + +For more information, see `Amazon CloudWatch dashboards `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/list-metric-streams.rst b/awscli/examples/cloudwatch/list-metric-streams.rst new file mode 100644 index 000000000000..523e72657d60 --- /dev/null +++ b/awscli/examples/cloudwatch/list-metric-streams.rst @@ -0,0 +1,23 @@ +**To retrieve a list of metric streams** + +The following ``list-metric-streams`` example lists all the metric streams in the specified account. :: + + aws cloudwatch list-metric-streams + +Output:: + + { + "Entries": [ + { + "Arn": "arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/QuickFull-GuaFbs", + "CreationDate": "2024-10-11T18:48:59.187000+00:00", + "LastUpdateDate": "2024-10-11T18:48:59.187000+00:00", + "Name": "QuickFull-GuaFbs", + "FirehoseArn": "arn:aws:firehose:us-east-1:123456789012:deliverystream/MetricStreams-QuickFull-GuaFbs-WnySbECG", + "State": "running", + "OutputFormat": "json" + } + ] + } + +For more information, see `Use metric streams `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/list-tags-for-resource.rst b/awscli/examples/cloudwatch/list-tags-for-resource.rst new file mode 100644 index 000000000000..6d1c1143207c --- /dev/null +++ b/awscli/examples/cloudwatch/list-tags-for-resource.rst @@ -0,0 +1,23 @@ +**To list the tags associated with an existing alarm*** + +The following ``list-tags-for-resource`` example lists all the tags associated with an alarm named ``demo`` in the specified account. :: + + aws cloudwatch list-tags-for-resource \ + --resource-arn arn:aws:cloudwatch:us-east-1:123456789012:alarm:demo + +Output:: + + { + "Tags": [ + { + "Key": "stack", + "Value": "Production" + }, + { + "Key": "team", + "Value": "Devops" + } + ] + } + +For more information, see `Alarms and tagging `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/put-anomaly-detector.rst b/awscli/examples/cloudwatch/put-anomaly-detector.rst new file mode 100644 index 000000000000..38503f5fe7e1 --- /dev/null +++ b/awscli/examples/cloudwatch/put-anomaly-detector.rst @@ -0,0 +1,12 @@ +**To create an anomaly detection model** + +The following ``put-anomaly-detector`` example creates an anomaly detection model for a CloudWatch metric. :: + + aws cloudwatch put-anomaly-detector \ + --namespace AWS/Logs \ + --metric-name IncomingBytes \ + --stat SampleCount + +This command produces no output. + +For more information, see `Using CloudWatch anomaly detection `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/put-composite-alarm.rst b/awscli/examples/cloudwatch/put-composite-alarm.rst new file mode 100644 index 000000000000..b564cd45d85d --- /dev/null +++ b/awscli/examples/cloudwatch/put-composite-alarm.rst @@ -0,0 +1,13 @@ +**To create a composite cloudwatch alarm** + +The following ``put-composite-alarm`` example creates a composite alarm named ``ProdAlarm`` in the specified account. :: + + aws cloudwatch put-composite-alarm \ + --alarm-name ProdAlarm \ + --alarm-rule "ALARM(CPUUtilizationTooHigh) AND ALARM(MemUsageTooHigh)" \ + --alarm-actions arn:aws:sns:us-east-1:123456789012:demo \ + --actions-enabled + +This command produces no output. + +For more information, see `Create a composite alarm `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/put-dashboard.rst b/awscli/examples/cloudwatch/put-dashboard.rst new file mode 100644 index 000000000000..27d101cb600f --- /dev/null +++ b/awscli/examples/cloudwatch/put-dashboard.rst @@ -0,0 +1,15 @@ +**To create a dashboard** + +The following ``put-dashboard`` example creates a dashboard named ``Dashboard-A`` in the specified account. :: + + aws cloudwatch put-dashboard \ + --dashboard-name Dashboard-A \ + --dashboard-body '{"widgets":[{"height":6,"width":6,"y":0,"x":0,"type":"metric","properties":{"view":"timeSeries","stacked":false,"metrics":[["Namespace","CPUUtilization","Environment","Prod","Type","App"]],"region":"us-east-1"}}]}' + +Output:: + + { + "DashboardValidationMessages": [] + } + +For more information, see `Creating a CloudWatch dashboard `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/put-insight-rule.rst b/awscli/examples/cloudwatch/put-insight-rule.rst new file mode 100644 index 000000000000..da83be472b10 --- /dev/null +++ b/awscli/examples/cloudwatch/put-insight-rule.rst @@ -0,0 +1,35 @@ +**To create a contributor insights rule** + +The following ``put-insight-rule`` example creates a Contributor Insights rule named ``VPCFlowLogsContributorInsights`` in the specified account. :: + + aws cloudwatch put-insight-rule \ + --rule-name VPCFlowLogsContributorInsights \ + --rule-definition file://insight-rule.json \ + --rule-state ENABLED + +Contents of ``insight-rule.json``:: + + { + "Schema": { + "Name": "CloudWatchLogRule", + "Version": 1 + }, + "AggregateOn": "Count", + "Contribution": { + "Filters": [], + "Keys": [ + "tcp-flag" + ] + }, + "LogFormat": "CLF", + "LogGroupNames": [ + "/vpc/flowlogs/*" + ], + "Fields": { + "23": "tcp-flag" + } + } + +This command produces no output. + +For more information, see `Create a Contributor Insights rule in CloudWatch `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/put-metric-stream.rst b/awscli/examples/cloudwatch/put-metric-stream.rst new file mode 100644 index 000000000000..536071768df9 --- /dev/null +++ b/awscli/examples/cloudwatch/put-metric-stream.rst @@ -0,0 +1,18 @@ +**To create a metric stream** + +The following ``put-metric-stream`` example creates a metric stream named ``QuickFull-GuaFb`` in the specified account. :: + + aws cloudwatch put-metric-stream \ + --name QuickFull-GuaFbs \ + --firehose-arn arn:aws:firehose:us-east-1:123456789012:deliverystream/MetricStreams-QuickFull-GuaFbs-WnySbECG \ + --role-arn arn:aws:iam::123456789012:role/service-role/MetricStreams-FirehosePutRecords-JN10W9B3 \ + --output-format json \ + --no-include-linked-accounts-metrics + +Output:: + + { + "Arn": "arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/QuickFull-GuaFbs" + } + +For more information, see `Set up a metric stream `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/start-metric-streams.rst b/awscli/examples/cloudwatch/start-metric-streams.rst new file mode 100644 index 000000000000..fbf339bc961c --- /dev/null +++ b/awscli/examples/cloudwatch/start-metric-streams.rst @@ -0,0 +1,10 @@ +**To start a specified metric stream** + +The following ``start-metric-streams`` example starts the metric stream named ``QuickFull-GuaFbs`` in the specified account. :: + + aws cloudwatch start-metric-streams \ + --names QuickFull-GuaFbs + +This command produces no output. + +For more information, see `Use metric streams `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/stop-metric-streams.rst b/awscli/examples/cloudwatch/stop-metric-streams.rst new file mode 100644 index 000000000000..6c84e2b496e6 --- /dev/null +++ b/awscli/examples/cloudwatch/stop-metric-streams.rst @@ -0,0 +1,10 @@ +**To stop a specified metric stream** + +The following ``stop-metric-streams`` example stops the metric stream named ``QuickFull-GuaFbs`` in the specified account. :: + + aws cloudwatch stop-metric-streams \ + --names QuickFull-GuaFbs + +This command produces no output. + +For more information, see `Use metric streams `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/tag-resource.rst b/awscli/examples/cloudwatch/tag-resource.rst new file mode 100644 index 000000000000..7dd6a73b1bd9 --- /dev/null +++ b/awscli/examples/cloudwatch/tag-resource.rst @@ -0,0 +1,11 @@ +**To add one or more tags to the specified resource** + +The following ``tag-resource`` example adds 2 tags to the cloudwatch alarm named ``demo`` in the specified account. :: + + aws cloudwatch tag-resource \ + --resource-arn arn:aws:cloudwatch:us-east-1:123456789012:alarm:demo \ + --tags Key=stack,Value=Production Key=team,Value=Devops + +This command produces no output. + +For more information, see `Tagging your Amazon CloudWatch resources `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/untag-resource.rst b/awscli/examples/cloudwatch/untag-resource.rst new file mode 100644 index 000000000000..3c01011d2890 --- /dev/null +++ b/awscli/examples/cloudwatch/untag-resource.rst @@ -0,0 +1,11 @@ +**To remove one or more tags from the specified resource** + +The following ``untag-resource`` example removes 2 tags from the cloudwatch alarm named ``demo`` in the specified account. :: + + aws cloudwatch untag-resource \ + --resource-arn arn:aws:cloudwatch:us-east-1:123456789012:alarm:demo \ + --tag-keys stack team + +This command produces no output. + +For more information, see `Tagging your Amazon CloudWatch resources `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/cloudwatch/wait/alarm-exists.rst b/awscli/examples/cloudwatch/wait/alarm-exists.rst new file mode 100644 index 000000000000..c55a1e677c80 --- /dev/null +++ b/awscli/examples/cloudwatch/wait/alarm-exists.rst @@ -0,0 +1,8 @@ +**To wait until an alarm exists** + +The following ``wait alarm-exists`` example pauses and resumes running only after it confirms that the specified CloudWatch alarm exists. :: + + aws cloudwatch wait alarm-exists \ + --alarm-names demo + +This command produces no output. diff --git a/awscli/examples/cloudwatch/wait/composite-alarm-exists.rst b/awscli/examples/cloudwatch/wait/composite-alarm-exists.rst new file mode 100644 index 000000000000..5fec513f6f78 --- /dev/null +++ b/awscli/examples/cloudwatch/wait/composite-alarm-exists.rst @@ -0,0 +1,9 @@ +**To wait until a composite alarm exists** + +The following ``wait composite-alarm-exists`` example pauses and resumes running only after it confirms that the specified CloudWatch alarm exists. :: + + aws cloudwatch wait composite-alarm-exists \ + --alarm-names demo \ + --alarm-types CompositeAlarm + +This command produces no output. diff --git a/awscli/examples/codebuild/create-report-group.rst b/awscli/examples/codebuild/create-report-group.rst index ba9815c0fa1d..f94266b403a9 100644 --- a/awscli/examples/codebuild/create-report-group.rst +++ b/awscli/examples/codebuild/create-report-group.rst @@ -13,7 +13,7 @@ Contents of create-report-group-source.json:: "exportConfig": { "exportConfigType": "S3", "s3Destination": { - "bucket": "my-s3-bucket", + "bucket": "amzn-s3-demo-bucket", "path": "", "packaging": "ZIP", "encryptionDisabled": true @@ -31,7 +31,7 @@ Output:: "exportConfig": { "exportConfigType": "S3", "s3Destination": { - "bucket": "my-s3-bucket", + "bucket": "amzn-s3-demo-bucket", "path": "", "packaging": "ZIP", "encryptionDisabled": true diff --git a/awscli/examples/codecommit/get-merge-commit.rst b/awscli/examples/codecommit/get-merge-commit.rst index 6b8bb651e6ee..84fd5fcb94fd 100644 --- a/awscli/examples/codecommit/get-merge-commit.rst +++ b/awscli/examples/codecommit/get-merge-commit.rst @@ -1,11 +1,10 @@ **To get detailed information about a merge commit** -The following ``get-merge-commit`` example displays details about a merge commit for the source branch named ``bugfix-bug1234`` with a destination branch named ``main`` using the THREE_WAY_MERGE strategy in a repository named ``MyDemoRepo``. :: +The following ``get-merge-commit`` example displays details about a merge commit for the source branch named ``bugfix-bug1234`` with a destination branch named ``main`` in a repository named ``MyDemoRepo``. :: aws codecommit get-merge-commit \ --source-commit-specifier bugfix-bug1234 \ --destination-commit-specifier main \ - --merge-option THREE_WAY_MERGE \ --repository-name MyDemoRepo Output:: diff --git a/awscli/examples/codeguru-reviewer/list-recommendations.rst b/awscli/examples/codeguru-reviewer/list-recommendations.rst index 6150030ab7b3..e6ff058f4cda 100644 --- a/awscli/examples/codeguru-reviewer/list-recommendations.rst +++ b/awscli/examples/codeguru-reviewer/list-recommendations.rst @@ -1,6 +1,6 @@ **To list the recommendations for a completed code review** -The following ``list-recommendations`` example lists the recommendations for a comleted code review. This code review has one recommendations. :: +The following ``list-recommendations`` example lists the recommendations for a completed code review. This code review has one recommendations. :: aws codeguru-reviewer list-recommendations \ --code-review-arn arn:aws:codeguru-reviewer:us-west-2:544120495673:code-review:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 diff --git a/awscli/examples/codepipeline/list-action-executions.rst b/awscli/examples/codepipeline/list-action-executions.rst index 907ef50fd54d..f5b7503650ad 100644 --- a/awscli/examples/codepipeline/list-action-executions.rst +++ b/awscli/examples/codepipeline/list-action-executions.rst @@ -1,115 +1,115 @@ -**To list action executions** - -The following ``list-action-executions`` example views action execution details for a pipeline, such as action execution ID, input artifacts, output artifacts, execution result, and status. :: - - aws codepipeline list-action-executions \ - --pipeline-name myPipeline - -Output:: - - { - "actionExecutionDetails": [ - { - "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", - "actionExecutionId": "EXAMPLE4-2ee8-4853-bd6a-111111158148", - "pipelineVersion": 12, - "stageName": "Deploy", - "actionName": "Deploy", - "startTime": 1598572628.6, - "lastUpdateTime": 1598572661.255, - "status": "Succeeded", - "input": { - "actionTypeId": { - "category": "Deploy", - "owner": "AWS", - "provider": "CodeDeploy", - "version": "1" - }, - "configuration": { - "ApplicationName": "my-application", - "DeploymentGroupName": "my-deployment-group" - }, - "resolvedConfiguration": { - "ApplicationName": "my-application", - "DeploymentGroupName": "my-deployment-group" - }, - "region": "us-east-1", - "inputArtifacts": [ - { - "name": "SourceArtifact", - "s3location": { - "bucket": "artifact-bucket", - "key": "myPipeline/SourceArti/key" - } - } - ], - "namespace": "DeployVariables" - }, - "output": { - "outputArtifacts": [], - "executionResult": { - "externalExecutionId": "d-EXAMPLEE5", - "externalExecutionSummary": "Deployment Succeeded", - "externalExecutionUrl": "https://myaddress.com" - }, - "outputVariables": {} - } - }, - { - "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", - "actionExecutionId": "EXAMPLE5-abb4-4192-9031-11111113a7b0", - "pipelineVersion": 12, - "stageName": "Source", - "actionName": "Source", - "startTime": 1598572624.387, - "lastUpdateTime": 1598572628.16, - "status": "Succeeded", - "input": { - "actionTypeId": { - "category": "Source", - "owner": "AWS", - "provider": "CodeCommit", - "version": "1" - }, - "configuration": { - "BranchName": "production", - "PollForSourceChanges": "false", - "RepositoryName": "my-repo" - }, - "resolvedConfiguration": { - "BranchName": "production", - "PollForSourceChanges": "false", - "RepositoryName": "my-repo" - }, - "region": "us-east-1", - "inputArtifacts": [], - "namespace": "SourceVariables" - }, - "output": { - "outputArtifacts": [ - { - "name": "SourceArtifact", - "s3location": { - "bucket": "my-bucket", - "key": "myPipeline/SourceArti/key" - } - } - ], - "executionResult": { - "externalExecutionId": "1111111ad99dcd35914c00b7fbea13995EXAMPLE", - "externalExecutionSummary": "Edited template.yml", - "externalExecutionUrl": "https://myaddress.com" - }, - "outputVariables": { - "AuthorDate": "2020-05-08T17:45:43Z", - "BranchName": "production", - "CommitId": "EXAMPLEad99dcd35914c00b7fbea139951111111", - "CommitMessage": "Edited template.yml", - "CommitterDate": "2020-05-08T17:45:43Z", - "RepositoryName": "my-repo" - } - } - }, - . . . . - +**To list action executions** + +The following ``list-action-executions`` example views action execution details for a pipeline, such as action execution ID, input artifacts, output artifacts, execution result, and status. :: + + aws codepipeline list-action-executions \ + --pipeline-name myPipeline + +Output:: + + { + "actionExecutionDetails": [ + { + "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", + "actionExecutionId": "EXAMPLE4-2ee8-4853-bd6a-111111158148", + "pipelineVersion": 12, + "stageName": "Deploy", + "actionName": "Deploy", + "startTime": 1598572628.6, + "lastUpdateTime": 1598572661.255, + "status": "Succeeded", + "input": { + "actionTypeId": { + "category": "Deploy", + "owner": "AWS", + "provider": "CodeDeploy", + "version": "1" + }, + "configuration": { + "ApplicationName": "my-application", + "DeploymentGroupName": "my-deployment-group" + }, + "resolvedConfiguration": { + "ApplicationName": "my-application", + "DeploymentGroupName": "my-deployment-group" + }, + "region": "us-east-1", + "inputArtifacts": [ + { + "name": "SourceArtifact", + "s3location": { + "bucket": "artifact-bucket", + "key": "myPipeline/SourceArti/key" + } + } + ], + "namespace": "DeployVariables" + }, + "output": { + "outputArtifacts": [], + "executionResult": { + "externalExecutionId": "d-EXAMPLEE5", + "externalExecutionSummary": "Deployment Succeeded", + "externalExecutionUrl": "https://myaddress.com" + }, + "outputVariables": {} + } + }, + { + "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", + "actionExecutionId": "EXAMPLE5-abb4-4192-9031-11111113a7b0", + "pipelineVersion": 12, + "stageName": "Source", + "actionName": "Source", + "startTime": 1598572624.387, + "lastUpdateTime": 1598572628.16, + "status": "Succeeded", + "input": { + "actionTypeId": { + "category": "Source", + "owner": "AWS", + "provider": "CodeCommit", + "version": "1" + }, + "configuration": { + "BranchName": "production", + "PollForSourceChanges": "false", + "RepositoryName": "my-repo" + }, + "resolvedConfiguration": { + "BranchName": "production", + "PollForSourceChanges": "false", + "RepositoryName": "my-repo" + }, + "region": "us-east-1", + "inputArtifacts": [], + "namespace": "SourceVariables" + }, + "output": { + "outputArtifacts": [ + { + "name": "SourceArtifact", + "s3location": { + "bucket": "amzn-s3-demo-bucket", + "key": "myPipeline/SourceArti/key" + } + } + ], + "executionResult": { + "externalExecutionId": "1111111ad99dcd35914c00b7fbea13995EXAMPLE", + "externalExecutionSummary": "Edited template.yml", + "externalExecutionUrl": "https://myaddress.com" + }, + "outputVariables": { + "AuthorDate": "2020-05-08T17:45:43Z", + "BranchName": "production", + "CommitId": "EXAMPLEad99dcd35914c00b7fbea139951111111", + "CommitMessage": "Edited template.yml", + "CommitterDate": "2020-05-08T17:45:43Z", + "RepositoryName": "my-repo" + } + } + }, + . . . . + For more information, see `View action executions (CLI) `__ in the *AWS CodePipeline User Guide*. \ No newline at end of file diff --git a/awscli/examples/codestar/associate-team-member.rst b/awscli/examples/codestar/associate-team-member.rst deleted file mode 100755 index 4aeb984d7f7d..000000000000 --- a/awscli/examples/codestar/associate-team-member.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To add a team member to a project** - -The following ``associate-team-member`` example makes the ``intern`` user a viewer on the project with the specified ID. :: - - aws codestar associate-team-member \ - --project-id my-project \ - --user-arn arn:aws:iam::123456789012:user/intern \ - --project-role Viewer - -This command produces no output. diff --git a/awscli/examples/codestar/create-project.rst b/awscli/examples/codestar/create-project.rst deleted file mode 100755 index 96e0fd5dd74b..000000000000 --- a/awscli/examples/codestar/create-project.rst +++ /dev/null @@ -1,49 +0,0 @@ -**To create a project** - -The following ``create-project`` example uses a JSON input file to create a CodeStar project. :: - - aws codestar create-project \ - --cli-input-json file://create-project.json - -Contents of ``create-project.json``:: - - { - "name": "Custom Project", - "id": "custom-project", - "sourceCode": [ - { - "source": { - "s3": { - "bucketName": "codestar-artifacts", - "bucketKey": "nodejs-function.zip" - } - }, - "destination": { - "codeCommit": { - "name": "codestar-custom-project" - } - } - } - ], - "toolchain": { - "source": { - "s3": { - "bucketName": "codestar-artifacts", - "bucketKey": "toolchain.yml" - } - }, - "roleArn": "arn:aws:iam::123456789012:role/service-role/aws-codestar-service-role", - "stackParameters": { - "ProjectId": "custom-project" - } - } - } - -Output:: - - { - "id": "my-project", - "arn": "arn:aws:codestar:us-east-2:123456789012:project/custom-project" - } - -For a tutorial that includes sample code and templates for a custom project, see `Create a Project in AWS CodeStar with the AWS CLI`__ in the *AWS CodeStar User Guide*. diff --git a/awscli/examples/codestar/create-user-profile.rst b/awscli/examples/codestar/create-user-profile.rst deleted file mode 100755 index 0e69081aeb1b..000000000000 --- a/awscli/examples/codestar/create-user-profile.rst +++ /dev/null @@ -1,19 +0,0 @@ -**To create a user profile** - -The following ``create-user-profile`` example creates a user profile for the IAM user with the specified ARN. :: - - aws codestar create-user-profile \ - --user-arn arn:aws:iam::123456789012:user/intern \ - --display-name Intern \ - --email-address intern@example.com - -Output:: - - { - "userArn": "arn:aws:iam::123456789012:user/intern", - "displayName": "Intern", - "emailAddress": "intern@example.com", - "sshPublicKey": "", - "createdTimestamp": 1572552308.607, - "lastModifiedTimestamp": 1572552308.607 - } diff --git a/awscli/examples/codestar/delete-project.rst b/awscli/examples/codestar/delete-project.rst deleted file mode 100755 index b3b16e98e100..000000000000 --- a/awscli/examples/codestar/delete-project.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To delete a project** - -The following ``delete-project`` example deletes the specified project. :: - - aws codestar delete-project \ - --project-id my-project - -Output:: - - { - "projectArn": "arn:aws:codestar:us-east-2:123456789012:project/my-project" - } diff --git a/awscli/examples/codestar/delete-user-profile.rst b/awscli/examples/codestar/delete-user-profile.rst deleted file mode 100755 index bd448a77b140..000000000000 --- a/awscli/examples/codestar/delete-user-profile.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To delete a user profile** - -The following ``delete-user-profile`` example deletes the user profile for the user with the specified ARN. :: - - aws codestar delete-user-profile \ - --user-arn arn:aws:iam::123456789012:user/intern - -Output:: - - { - "userArn": "arn:aws:iam::123456789012:user/intern" - } diff --git a/awscli/examples/codestar/describe-project.rst b/awscli/examples/codestar/describe-project.rst deleted file mode 100755 index c2f4f5b3158c..000000000000 --- a/awscli/examples/codestar/describe-project.rst +++ /dev/null @@ -1,19 +0,0 @@ -**To view a project** - -The following ``describe-project`` example retrieves details about the specified project. :: - - aws codestar describe-project \ - --id my-project - -Output:: - - { - "name": "my project", - "id": "my-project", - "arn": "arn:aws:codestar:us-west-2:123456789012:project/my-project", - "description": "My first CodeStar project.", - "createdTimeStamp": 1572547510.128, - "status": { - "state": "CreateComplete" - } - } diff --git a/awscli/examples/codestar/describe-user-profile.rst b/awscli/examples/codestar/describe-user-profile.rst deleted file mode 100755 index aa39e075f273..000000000000 --- a/awscli/examples/codestar/describe-user-profile.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To view a user profile** - -The following ``describe-user-profile`` example retrieves details about the user profile for the user with the specified ARN. :: - - aws codestar describe-user-profile \ - --user-arn arn:aws:iam::123456789012:user/intern - -Output:: - - { - "userArn": "arn:aws:iam::123456789012:user/intern", - "displayName": "Intern", - "emailAddress": "intern@example.com", - "sshPublicKey": "intern", - "createdTimestamp": 1572552308.607, - "lastModifiedTimestamp": 1572553495.47 - } diff --git a/awscli/examples/codestar/disassociate-team-member.rst b/awscli/examples/codestar/disassociate-team-member.rst deleted file mode 100755 index 8dc1daf8a169..000000000000 --- a/awscli/examples/codestar/disassociate-team-member.rst +++ /dev/null @@ -1,9 +0,0 @@ -**To remove a team member** - -The following ``disassociate-team-member`` example removes the user with the specified ARN from the project ``my-project``. :: - - aws codestar disassociate-team-member \ - --project-id my-project \ - --user-arn arn:aws:iam::123456789012:user/intern - -This command produces no output. diff --git a/awscli/examples/codestar/list-projects.rst b/awscli/examples/codestar/list-projects.rst deleted file mode 100755 index f4badf347ca7..000000000000 --- a/awscli/examples/codestar/list-projects.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To view projects** - -The following ``list-projects`` example retrieves a list of projects in the current Region. :: - - aws codestar list-projects - -Output:: - - { - "projects": [ - { - "projectId": "intern-projects", - "projectArn": "arn:aws:codestar:us-west-2:123456789012:project/intern-projects" - }, - { - "projectId": "my-project", - "projectArn": "arn:aws:codestar:us-west-2:123456789012:project/my-project" - } - ] - } diff --git a/awscli/examples/codestar/list-resources.rst b/awscli/examples/codestar/list-resources.rst deleted file mode 100755 index c4b710a1b540..000000000000 --- a/awscli/examples/codestar/list-resources.rst +++ /dev/null @@ -1,61 +0,0 @@ -**To view resources** - -The following ``list-resources`` example retrieves a list of resources for the specified project. :: - - aws codestar list-resources \ - --id my-project - -Output:: - - { - "resources": [ - { - "id": "arn:aws:execute-api:us-east-2:123456789012:r3wxmplbv8" - }, - { - "id": "arn:aws:codedeploy:us-east-2:123456789012:application:awscodestar-my-project-lambda-ServerlessDeploymentApplication-PF0LXMPL1KA0" - }, - { - "id": "arn:aws:s3:::aws-codestar-us-east-2-123456789012-my-project-pipe" - }, - { - "id": "arn:aws:lambda:us-east-2:123456789012:function:awscodestar-my-project-lambda-GetHelloWorld-16W3LVXMPLNNS" - }, - { - "id": "arn:aws:cloudformation:us-east-2:123456789012:stack/awscodestar-my-project-lambda/b4904ea0-fc20-xmpl-bec6-029123b1cc42" - }, - { - "id": "arn:aws:cloudformation:us-east-2:123456789012:stack/awscodestar-my-project/1b133f30-fc20-xmpl-a93a-0688c4290cb8" - }, - { - "id": "arn:aws:iam::123456789012:role/CodeStarWorker-my-project-ToolChain" - }, - { - "id": "arn:aws:iam::123456789012:policy/CodeStar_my-project_PermissionsBoundary" - }, - { - "id": "arn:aws:s3:::aws-codestar-us-east-2-123456789012-my-project-app" - }, - { - "id": "arn:aws:codepipeline:us-east-2:123456789012:my-project-Pipeline" - }, - { - "id": "arn:aws:codedeploy:us-east-2:123456789012:deploymentgroup:my-project/awscodestar-my-project-lambda-GetHelloWorldDeploymentGroup-P7YWXMPLT0QB" - }, - { - "id": "arn:aws:iam::123456789012:role/CodeStar-my-project-Execution" - }, - { - "id": "arn:aws:iam::123456789012:role/CodeStarWorker-my-project-CodeDeploy" - }, - { - "id": "arn:aws:codebuild:us-east-2:123456789012:project/my-project" - }, - { - "id": "arn:aws:iam::123456789012:role/CodeStarWorker-my-project-CloudFormation" - }, - { - "id": "arn:aws:codecommit:us-east-2:123456789012:Go-project" - } - ] - } diff --git a/awscli/examples/codestar/list-tags-for-project.rst b/awscli/examples/codestar/list-tags-for-project.rst deleted file mode 100755 index 0c45d557dd9b..000000000000 --- a/awscli/examples/codestar/list-tags-for-project.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To view tags for a project** - -The following ``list-tags-for-project`` example retrieves the tags attached to the specified project. :: - - aws codestar list-tags-for-project \ - --id my-project - -Output:: - - { - "tags": { - "Department": "Marketing", - "Team": "Website" - } - } diff --git a/awscli/examples/codestar/list-team-members.rst b/awscli/examples/codestar/list-team-members.rst deleted file mode 100755 index c3163e32e120..000000000000 --- a/awscli/examples/codestar/list-team-members.rst +++ /dev/null @@ -1,23 +0,0 @@ -**To view a list of team members** - -The following ``list-team-members`` example retrieves a list of users associated with the specified project. :: - - aws codestar list-team-members \ - --project-id my-project - -Output:: - - { - "teamMembers": [ - { - "userArn": "arn:aws:iam::123456789012:user/admin", - "projectRole": "Owner", - "remoteAccessAllowed": false - }, - { - "userArn": "arn:aws:iam::123456789012:user/intern", - "projectRole": "Contributor", - "remoteAccessAllowed": false - } - ] - } diff --git a/awscli/examples/codestar/list-user-profiles.rst b/awscli/examples/codestar/list-user-profiles.rst deleted file mode 100755 index 049895f60623..000000000000 --- a/awscli/examples/codestar/list-user-profiles.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To view a list of user profiles** - -The following ``list-user-profiles`` example retrieves a list of all user profiles in the current Region. :: - - aws codestar list-user-profiles - -Output:: - - { - "userProfiles": [ - { - "userArn": "arn:aws:iam::123456789012:user/admin", - "displayName": "me", - "emailAddress": "me@example.com", - "sshPublicKey": "" - }, - { - "userArn": "arn:aws:iam::123456789012:user/intern", - "displayName": "Intern", - "emailAddress": "intern@example.com", - "sshPublicKey": "intern" - } - ] - } diff --git a/awscli/examples/codestar/tag-project.rst b/awscli/examples/codestar/tag-project.rst deleted file mode 100755 index 80e23a492729..000000000000 --- a/awscli/examples/codestar/tag-project.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To attach a tag to a project** - -The following ``tag-project`` example adds a tag named ``Department`` and a value of ``Marketing`` to the specified project. :: - - aws codestar tag-project \ - --id my-project \ - --tags Department=Marketing - -Output:: - - { - "tags": { - "Department": "Marketing" - } - } diff --git a/awscli/examples/codestar/untag-project.rst b/awscli/examples/codestar/untag-project.rst deleted file mode 100755 index b9778df7d363..000000000000 --- a/awscli/examples/codestar/untag-project.rst +++ /dev/null @@ -1,9 +0,0 @@ -**To remove a tag from a project** - -The following ``untag-project`` example removes any tag with a key name of ``Team`` from the specifiec project. :: - - aws codestar untag-project \ - --id my-project \ - --tags Team - -This command produces no output. diff --git a/awscli/examples/codestar/update-project.rst b/awscli/examples/codestar/update-project.rst deleted file mode 100755 index 620f6a35fb4c..000000000000 --- a/awscli/examples/codestar/update-project.rst +++ /dev/null @@ -1,9 +0,0 @@ -**To update a project** - -The following ``update-project`` example adds a description to the specified project. :: - - aws codestar update-project \ - --id my-project \ - --description "My first CodeStar project" - -This command produces no output. diff --git a/awscli/examples/codestar/update-team-member.rst b/awscli/examples/codestar/update-team-member.rst deleted file mode 100755 index eed537e8353d..000000000000 --- a/awscli/examples/codestar/update-team-member.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To modify a team member** - -The following ``update-team-member`` example makes the specified user a contributor on a project and grants them remote access to project resources. :: - - aws codestar update-team-member \ - --project-id my-project \ - --user-arn arn:aws:iam::123456789012:user/intern \ - --project-role Contributor -\ - --remote-access-allowed - -Output:: - - { - "userArn": "arn:aws:iam::123456789012:user/intern", - "projectRole": "Contributor", - "remoteAccessAllowed": true - } diff --git a/awscli/examples/codestar/update-user-profile.rst b/awscli/examples/codestar/update-user-profile.rst deleted file mode 100755 index 5b768390e6ed..000000000000 --- a/awscli/examples/codestar/update-user-profile.rst +++ /dev/null @@ -1,18 +0,0 @@ -**To modify a user profile** - -The following ``update-user-profile`` example adds the specified SHH key to the specified user. :: - - aws codestar update-user-profile \ - --ssh-public-key intern \ - --user-arn arn:aws:iam::123456789012:user/intern - -Output:: - - { - "userArn": "arn:aws:iam::123456789012:user/intern", - "displayName": "Intern", - "emailAddress": "intern@example.com", - "sshPublicKey": "intern", - "createdTimestamp": 1572552308.607, - "lastModifiedTimestamp": 1572553495.47 - } diff --git a/awscli/examples/cognito-idp/admim-disable-user.rst b/awscli/examples/cognito-idp/admim-disable-user.rst deleted file mode 100644 index 57e8ec369d44..000000000000 --- a/awscli/examples/cognito-idp/admim-disable-user.rst +++ /dev/null @@ -1,8 +0,0 @@ -**To disable a user** - -This example disables user jane@example.com. - -Command:: - - aws cognito-idp admin-disable-user --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com - diff --git a/awscli/examples/cognito-idp/admim-enable-user.rst b/awscli/examples/cognito-idp/admim-enable-user.rst deleted file mode 100644 index 79bc468e4b3c..000000000000 --- a/awscli/examples/cognito-idp/admim-enable-user.rst +++ /dev/null @@ -1,8 +0,0 @@ -**To enable a user** - -This example enables username jane@example.com. - -Command:: - - aws cognito-idp admin-enable-user --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com - diff --git a/awscli/examples/cognito-idp/admin-disable-provider-for-user.rst b/awscli/examples/cognito-idp/admin-disable-provider-for-user.rst new file mode 100644 index 000000000000..2d1209dd74b5 --- /dev/null +++ b/awscli/examples/cognito-idp/admin-disable-provider-for-user.rst @@ -0,0 +1,9 @@ +**To unlink a federated user from a local user profile** + +The following ``admin-disable-provider-for-user`` example disconnects a Google user from their linked local profile. :: + + aws cognito-idp admin-disable-provider-for-user \ + --user-pool-id us-west-2_EXAMPLE \ + --user ProviderAttributeName=Cognito_Subject,ProviderAttributeValue=0000000000000000,ProviderName=Google + +For more information, see `Linking federated users to an existing user profile `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-disable-user.rst b/awscli/examples/cognito-idp/admin-disable-user.rst new file mode 100644 index 000000000000..023745bf183a --- /dev/null +++ b/awscli/examples/cognito-idp/admin-disable-user.rst @@ -0,0 +1,9 @@ +**To prevent sign-in by a user** + +The following ``admin-disable-user`` example prevents sign-in by the user ``diego@example.com``. :: + + aws cognito-idp admin-disable-user \ + --user-pool-id us-west-2_EXAMPLE \ + --username diego@example.com + +For more information, see `Managing users `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-enable-user.rst b/awscli/examples/cognito-idp/admin-enable-user.rst new file mode 100644 index 000000000000..4a03faf7ebc6 --- /dev/null +++ b/awscli/examples/cognito-idp/admin-enable-user.rst @@ -0,0 +1,9 @@ +**To enable sign-in by a user** + +The following ``admin-enable-user`` example enables sign-in by the user diego@example.com. :: + + aws cognito-idp admin-enable-user \ + --user-pool-id us-west-2_EXAMPLE \ + --username diego@example.com + +For more information, see `Managing users `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-get-device.rst b/awscli/examples/cognito-idp/admin-get-device.rst index 92fff255ed2c..7ed62712441e 100644 --- a/awscli/examples/cognito-idp/admin-get-device.rst +++ b/awscli/examples/cognito-idp/admin-get-device.rst @@ -1,8 +1,51 @@ -**To get a device** - -This example gets a device for username jane@example.com - -Command:: - - aws cognito-idp admin-get-device --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com --device-key us-west-2_abcd_1234-5678 - +**To get a device** + +The following ``admin-get-device`` example displays one device for the user ``diego``. :: + + aws cognito-idp admin-get-device \ + --user-pool-id us-west-2_EXAMPLE \ + --username diego \ + --device-key us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 + +Output:: + + { + "Device": { + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "DeviceAttributes": [ + { + "Name": "device_status", + "Value": "valid" + }, + { + "Name": "device_name", + "Value": "MyDevice" + }, + { + "Name": "dev:device_arn", + "Value": "arn:aws:cognito-idp:us-west-2:123456789012:owner/diego.us-west-2_EXAMPLE/device/us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" + }, + { + "Name": "dev:device_owner", + "Value": "diego.us-west-2_EXAMPLE" + }, + { + "Name": "last_ip_used", + "Value": "192.0.2.1" + }, + { + "Name": "dev:device_remembered_status", + "Value": "remembered" + }, + { + "Name": "dev:device_sdk", + "Value": "aws-sdk" + } + ], + "DeviceCreateDate": 1715100742.022, + "DeviceLastModifiedDate": 1723233651.167, + "DeviceLastAuthenticatedDate": 1715100742.0 + } + } + +For more information, see `Working with user devices in your user pool `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-initiate-auth.rst b/awscli/examples/cognito-idp/admin-initiate-auth.rst index bdb01054c454..2e54deec5104 100644 --- a/awscli/examples/cognito-idp/admin-initiate-auth.rst +++ b/awscli/examples/cognito-idp/admin-initiate-auth.rst @@ -1,25 +1,24 @@ -**To initiate authorization** - -This example initiates authorization using the ADMIN_NO_SRP_AUTH flow for username jane@example.com - -The client must have sign-in API for server-based authentication (ADMIN_NO_SRP_AUTH) enabled. - -Use the session information in the return value to call `admin-respond-to-auth-challenge`_. - -Command:: - - aws cognito-idp admin-initiate-auth --user-pool-id us-west-2_aaaaaaaaa --client-id 3n4b5urk1ft4fl3mg5e62d9ado --auth-flow ADMIN_NO_SRP_AUTH --auth-parameters USERNAME=jane@example.com,PASSWORD=password - -Output:: - - { - "ChallengeName": "NEW_PASSWORD_REQUIRED", - "Session": "SESSION", - "ChallengeParameters": { - "USER_ID_FOR_SRP": "84514837-dcbc-4af1-abff-f3c109334894", - "requiredAttributes": "[]", - "userAttributes": "{\"email_verified\":\"true\",\"phone_number_verified\":\"true\",\"phone_number\":\"+01xxx5550100\",\"email\":\"jane@example.com\"}" - } - } - -.. _`admin-respond-to-auth-challenge`: https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-respond-to-auth-challenge.html \ No newline at end of file +**To sign in a user as an admin** + +The following ``admin-initiate-auth`` example signs in the user diego@example.com. This example also includes metadata for threat protection and ClientMetadata for Lambda triggers. The user is configured for TOTP MFA and receives a challenge to provide a code from their authenticator app before they can complete authentication. :: + + aws cognito-idp admin-initiate-auth \ + --user-pool-id us-west-2_EXAMPLE \ + --client-id 1example23456789 \ + --auth-flow ADMIN_USER_PASSWORD_AUTH \ + --auth-parameters USERNAME=diego@example.com,PASSWORD="My@Example$Password3!",SECRET_HASH=ExampleEncodedClientIdSecretAndUsername= \ + --context-data="{\"EncodedData\":\"abc123example\",\"HttpHeaders\":[{\"headerName\":\"UserAgent\",\"headerValue\":\"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0\"}],\"IpAddress\":\"192.0.2.1\",\"ServerName\":\"example.com\",\"ServerPath\":\"/login\"}" \ + --client-metadata="{\"MyExampleKey\": \"MyExampleValue\"}" + +Output:: + + { + "ChallengeName": "SOFTWARE_TOKEN_MFA", + "Session": "AYABeExample...", + "ChallengeParameters": { + "FRIENDLY_DEVICE_NAME": "MyAuthenticatorApp", + "USER_ID_FOR_SRP": "diego@example.com" + } + } + +For more information, see `Admin authentication flow `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-link-provider-for-user.rst b/awscli/examples/cognito-idp/admin-link-provider-for-user.rst new file mode 100644 index 000000000000..4316adb214fd --- /dev/null +++ b/awscli/examples/cognito-idp/admin-link-provider-for-user.rst @@ -0,0 +1,10 @@ +**To link a local user to a federated user** + +The following ``admin-link-provider-for-user`` example links the local user diego to a user who will do federated sign-in with Google. :: + + aws cognito-idp admin-link-provider-for-user \ + --user-pool-id us-west-2_EXAMPLE \ + --destination-user ProviderName=Cognito,ProviderAttributeValue=diego \ + --source-user ProviderAttributeName=Cognito_Subject,ProviderAttributeValue=0000000000000000,ProviderName=Google + +For more information, see `Linking federated users to an existing user profile `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-list-devices.rst b/awscli/examples/cognito-idp/admin-list-devices.rst index 2b710876d04a..6f150de3ebd6 100644 --- a/awscli/examples/cognito-idp/admin-list-devices.rst +++ b/awscli/examples/cognito-idp/admin-list-devices.rst @@ -1,7 +1,53 @@ -**To list devices for a user** - -This example lists devices for username jane@example.com. - -Command:: - - aws cognito-idp admin-list-devices --user-pool-id us-west-2_aaaaaaaaa --username jane@example.com +**To list devices for a user** + +The following ``admin-list-devices`` example lists devices for the user diego. :: + + aws cognito-idp admin-list-devices \ + --user-pool-id us-west-2_EXAMPLE \ + --username diego \ + --limit 1 + +Output:: + + { + "Devices": [ + { + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "DeviceAttributes": [ + { + "Name": "device_status", + "Value": "valid" + }, + { + "Name": "device_name", + "Value": "MyDevice" + }, + { + "Name": "dev:device_arn", + "Value": "arn:aws:cognito-idp:us-west-2:123456789012:owner/diego.us-west-2_EXAMPLE/device/us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" + }, + { + "Name": "dev:device_owner", + "Value": "diego.us-west-2_EXAMPLE" + }, + { + "Name": "last_ip_used", + "Value": "192.0.2.1" + }, + { + "Name": "dev:device_remembered_status", + "Value": "remembered" + }, + { + "Name": "dev:device_sdk", + "Value": "aws-sdk" + } + ], + "DeviceCreateDate": 1715100742.022, + "DeviceLastModifiedDate": 1723233651.167, + "DeviceLastAuthenticatedDate": 1715100742.0 + } + ] + } + +For more information, see `Working with user devices in your user pool `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-list-user-auth-events.rst b/awscli/examples/cognito-idp/admin-list-user-auth-events.rst index eeff1edbe52d..066e32060180 100644 --- a/awscli/examples/cognito-idp/admin-list-user-auth-events.rst +++ b/awscli/examples/cognito-idp/admin-list-user-auth-events.rst @@ -1,8 +1,40 @@ -**To list authorization events for a user** - -This example lists authorization events for username diego@example.com. - -Command:: - - aws cognito-idp admin-list-user-auth-events --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com - +**To list authorization events for a user** + +The following ``admin-list-user-auth-events`` example lists the most recent user activity log event for the user diego. :: + + aws cognito-idp admin-list-user-auth-events \ + --user-pool-id us-west-2_ywDJHlIfU \ + --username brcotter+050123 \ + --max-results 1 + +Output:: + + { + "AuthEvents": [ + { + "EventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", + "EventType": "SignIn", + "CreationDate": 1726694203.495, + "EventResponse": "InProgress", + "EventRisk": { + "RiskDecision": "AccountTakeover", + "RiskLevel": "Medium", + "CompromisedCredentialsDetected": false + }, + "ChallengeResponses": [ + { + "ChallengeName": "Password", + "ChallengeResponse": "Success" + } + ], + "EventContextData": { + "IpAddress": "192.0.2.1", + "City": "Seattle", + "Country": "United States" + } + } + ], + "NextToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222#2024-09-18T21:16:43.495Z" + } + +For more information, see `Viewing and exporting user event history `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-respond-to-auth-challenge.rst b/awscli/examples/cognito-idp/admin-respond-to-auth-challenge.rst new file mode 100644 index 000000000000..6ae67f4208e4 --- /dev/null +++ b/awscli/examples/cognito-idp/admin-respond-to-auth-challenge.rst @@ -0,0 +1,29 @@ +**To respond to an authentication challenge** + +There are many ways to respond to different authentication challenges, depending on your authentication flow, user pool configuration, and user settings. The following ``admin-respond-to-auth-challenge`` example provides a TOTP MFA code for diego@example.com and completes sign-in. This user pool has device remembering turned on, so the authentication result also returns a new device key. :: + + aws cognito-idp admin-respond-to-auth-challenge \ + --user-pool-id us-west-2_EXAMPLE \ + --client-id 1example23456789 \ + --challenge-name SOFTWARE_TOKEN_MFA \ + --challenge-responses USERNAME=diego@example.com,SOFTWARE_TOKEN_MFA_CODE=000000 \ + --session AYABeExample... + +Output:: + + { + "ChallengeParameters": {}, + "AuthenticationResult": { + "AccessToken": "eyJra456defEXAMPLE", + "ExpiresIn": 3600, + "TokenType": "Bearer", + "RefreshToken": "eyJra123abcEXAMPLE", + "IdToken": "eyJra789ghiEXAMPLE", + "NewDeviceMetadata": { + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "DeviceGroupKey": "-ExAmPlE1" + } + } + } + +For more information, see `Admin authentication flow `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-set-user-password.rst b/awscli/examples/cognito-idp/admin-set-user-password.rst new file mode 100644 index 000000000000..88bdabf591d7 --- /dev/null +++ b/awscli/examples/cognito-idp/admin-set-user-password.rst @@ -0,0 +1,13 @@ +**To set a user password as an admin** + +The following ``admin-set-user-password`` example permanently sets the password for diego@example.com. :: + + aws cognito-idp admin-set-user-password \ + --user-pool-id us-west-2_EXAMPLE \ + --username diego@example.com \ + --password MyExamplePassword1! \ + --permanent + +This command produces no output. + +For more information, see `Passwords, password recovery, and password policies `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/admin-user-global-sign-out.rst b/awscli/examples/cognito-idp/admin-user-global-sign-out.rst new file mode 100644 index 000000000000..dc6365e40d40 --- /dev/null +++ b/awscli/examples/cognito-idp/admin-user-global-sign-out.rst @@ -0,0 +1,9 @@ +**To sign out a user as an admin** + +The following ``admin-user-global-sign-out`` example signs out the user diego@example.com. :: + + aws cognito-idp admin-user-global-sign-out \ + --user-pool-id us-west-2_EXAMPLE \ + --username diego@example.com + +For more information, see `Authentication with a user pool `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/associate-software-token.rst b/awscli/examples/cognito-idp/associate-software-token.rst new file mode 100644 index 000000000000..9a72f3db15ac --- /dev/null +++ b/awscli/examples/cognito-idp/associate-software-token.rst @@ -0,0 +1,14 @@ +**To generate a secret key for an MFA authenticator app** + +The following ``associate-software-token`` example generates a TOTP private key for a user who has signed in and received an access token. The resulting private key can be manually entered into an authenticator app, or applications can render it as a QR code that the user can scan. :: + + aws cognito-idp associate-software-token \ + --access-token eyJra456defEXAMPLE + +Output:: + + { + "SecretCode": "QWERTYUIOP123456EXAMPLE" + } + +For more information, see `TOTP software token MFA `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/confirm-device.rst b/awscli/examples/cognito-idp/confirm-device.rst new file mode 100644 index 000000000000..6b391fb6d690 --- /dev/null +++ b/awscli/examples/cognito-idp/confirm-device.rst @@ -0,0 +1,16 @@ +**To confirm a user device** + +The following ``confirm-device`` example adds a new remembered device for the current user. :: + + aws cognito-idp confirm-device \ + --access-token eyJra456defEXAMPLE \ + --device-key us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ + --device-secret-verifier-config PasswordVerifier=TXlWZXJpZmllclN0cmluZw,Salt=TXlTUlBTYWx0 + +Output:: + + { + "UserConfirmationNecessary": false + } + +For more information, see `Working with user devices in your user pool `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/create-identity-provider.rst b/awscli/examples/cognito-idp/create-identity-provider.rst new file mode 100644 index 000000000000..fd66f4b2d9c7 --- /dev/null +++ b/awscli/examples/cognito-idp/create-identity-provider.rst @@ -0,0 +1,102 @@ +**Example 1: To create a user pool SAML identity provider (IdP) with a metadata URL** + +The following ``create-identity-provider`` example creates a new SAML IdP with metadata from a public URL, attribute mapping, and two identifiers. :: + + aws cognito-idp create-identity-provider \ + --user-pool-id us-west-2_EXAMPLE \ + --provider-name MySAML \ + --provider-type SAML \ + --provider-details IDPInit=true,IDPSignout=true,EncryptedResponses=true,MetadataURL=https://auth.example.com/sso/saml/metadata,RequestSigningAlgorithm=rsa-sha256 \ + --attribute-mapping email=emailaddress,phone_number=phone,custom:111=department \ + --idp-identifiers CorpSAML WestSAML + +Output:: + + { + "IdentityProvider": { + "UserPoolId": "us-west-2_EXAMPLE", + "ProviderName": "MySAML", + "ProviderType": "SAML", + "ProviderDetails": { + "ActiveEncryptionCertificate": "MIICvTCCAaEXAMPLE", + "EncryptedResponses": "true", + "IDPInit": "true", + "IDPSignout": "true", + "MetadataURL": "https://auth.example.com/sso/saml/metadata", + "RequestSigningAlgorithm": "rsa-sha256", + "SLORedirectBindingURI": "https://auth.example.com/slo/saml", + "SSORedirectBindingURI": "https://auth.example.com/sso/saml" + }, + "AttributeMapping": { + "custom:111": "department", + "emailaddress": "email", + "phone": "phone_number" + }, + "IdpIdentifiers": [ + "CorpSAML", + "WestSAML" + ], + "LastModifiedDate": 1726853833.977, + "CreationDate": 1726853833.977 + } + } + +For more information, see `Adding user pool sign-in through a third party `__ in the *Amazon Cognito Developer Guide*. + +**Example 2: To create a user pool SAML identity provider (IdP) with a metadata file** + +The following ``create-identity-provider`` example creates a new SAML IdP with metadata from a file, attribute mapping, and two identifiers. File syntax can differ between operating systems in the ``--provider-details`` parameter. It's easiest to create a JSON input file for this operation.:: + + aws cognito-idp create-identity-provider \ + --cli-input-json file://.\SAML-identity-provider.json + +Contents of ``SAML-identity-provider.json``:: + + { + "AttributeMapping": { + "email" : "idp_email", + "email_verified" : "idp_email_verified" + }, + "IdpIdentifiers": [ "platform" ], + "ProviderDetails": { + "MetadataFile": "[IDP_CERTIFICATE_DATA]urn:oasis:names:tc:SAML:1.1:nameid-format:unspecifiedurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + "IDPSignout" : "true", + "RequestSigningAlgorithm" : "rsa-sha256", + "EncryptedResponses" : "true", + "IDPInit" : "true" + }, + "ProviderName": "MySAML2", + "ProviderType": "SAML", + "UserPoolId": "us-west-2_EXAMPLE" + } + +Output:: + + { + "IdentityProvider": { + "UserPoolId": "us-west-2_EXAMPLE", + "ProviderName": "MySAML2", + "ProviderType": "SAML", + "ProviderDetails": { + "ActiveEncryptionCertificate": "[USER_POOL_ENCRYPTION_CERTIFICATE_DATA]", + "EncryptedResponses": "true", + "IDPInit": "true", + "IDPSignout": "true", + "MetadataFile": "[IDP_CERTIFICATE_DATA]urn:oasis:names:tc:SAML:1.1:nameid-format:unspecifiedurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", + "RequestSigningAlgorithm": "rsa-sha256", + "SLORedirectBindingURI": "https://www.example.com/slo/saml", + "SSORedirectBindingURI": "https://www.example.com/sso/saml" + }, + "AttributeMapping": { + "email": "idp_email", + "email_verified": "idp_email_verified" + }, + "IdpIdentifiers": [ + "platform" + ], + "LastModifiedDate": 1726855290.731, + "CreationDate": 1726855290.731 + } + } + +For more information, see `Adding user pool sign-in through a third party `__ in the *Amazon Cognito Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cognito-idp/create-resource-server.rst b/awscli/examples/cognito-idp/create-resource-server.rst new file mode 100644 index 000000000000..3b00722f1702 --- /dev/null +++ b/awscli/examples/cognito-idp/create-resource-server.rst @@ -0,0 +1,31 @@ +**To create a user pool client** + +The following ``create-resource-server`` example creates a new resource server with custom scopes. :: + + aws cognito-idp create-resource-server \ + --user-pool-id us-west-2_EXAMPLE \ + --identifier solar-system-data \ + --name "Solar system object tracker" \ + --scopes ScopeName=sunproximity.read,ScopeDescription="Distance in AU from Sol" ScopeName=asteroids.add,ScopeDescription="Enter a new asteroid" + +Output:: + + { + "ResourceServer": { + "UserPoolId": "us-west-2_EXAMPLE", + "Identifier": "solar-system-data", + "Name": "Solar system object tracker", + "Scopes": [ + { + "ScopeName": "sunproximity.read", + "ScopeDescription": "Distance in AU from Sol" + }, + { + "ScopeName": "asteroids.add", + "ScopeDescription": "Enter a new asteroid" + } + ] + } + } + +For more information, see `Scopes, M2M, and APIs with resource servers `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/create-user-pool-client.rst b/awscli/examples/cognito-idp/create-user-pool-client.rst index 3d9129ae8b12..b02c0071dd6d 100644 --- a/awscli/examples/cognito-idp/create-user-pool-client.rst +++ b/awscli/examples/cognito-idp/create-user-pool-client.rst @@ -1,26 +1,94 @@ **To create a user pool client** -This example creates a new user pool client with two explicit authorization flows: USER_PASSWORD_AUTH and ADMIN_NO_SRP_AUTH. +The following ``create-user-pool-client`` example creates a new user pool client with a client secret, explicit read and write attributes, sign in with username-password and SRP flows, sign-in with three IdPs, access to a subset of OAuth scopes, PinPoint analytics, and an extended authentication session validity. :: -Command:: + aws cognito-idp create-user-pool-client \ + --user-pool-id us-west-2_EXAMPLE \ + --client-name MyTestClient \ + --generate-secret \ + --refresh-token-validity 10 \ + --access-token-validity 60 \ + --id-token-validity 60 \ + --token-validity-units AccessToken=minutes,IdToken=minutes,RefreshToken=days \ + --read-attributes email phone_number email_verified phone_number_verified \ + --write-attributes email phone_number \ + --explicit-auth-flows ALLOW_USER_PASSWORD_AUTH ALLOW_USER_SRP_AUTH ALLOW_REFRESH_TOKEN_AUTH \ + --supported-identity-providers Google Facebook MyOIDC \ + --callback-urls https://www.amazon.com https://example.com http://localhost:8001 myapp://example \ + --allowed-o-auth-flows code implicit \ + --allowed-o-auth-scopes openid profile aws.cognito.signin.user.admin solar-system-data/asteroids.add \ + --allowed-o-auth-flows-user-pool-client \ + --analytics-configuration ApplicationArn=arn:aws:mobiletargeting:us-west-2:767671399759:apps/thisisanexamplepinpointapplicationid,UserDataShared=TRUE \ + --prevent-user-existence-errors ENABLED \ + --enable-token-revocation \ + --enable-propagate-additional-user-context-data \ + --auth-session-validity 4 - aws cognito-idp create-user-pool-client --user-pool-id us-west-2_aaaaaaaaa --client-name MyNewClient --no-generate-secret --explicit-auth-flows "USER_PASSWORD_AUTH" "ADMIN_NO_SRP_AUTH" - Output:: - { - "UserPoolClient": { - "UserPoolId": "us-west-2_aaaaaaaaa", - "ClientName": "MyNewClient", - "ClientId": "6p3bs000no6a4ue1idruvd05ad", - "LastModifiedDate": 1548697449.497, - "CreationDate": 1548697449.497, - "RefreshTokenValidity": 30, - "ExplicitAuthFlows": [ - "USER_PASSWORD_AUTH", - "ADMIN_NO_SRP_AUTH" - ], - "AllowedOAuthFlowsUserPoolClient": false + { + "UserPoolClient": { + "UserPoolId": "us-west-2_EXAMPLE", + "ClientName": "MyTestClient", + "ClientId": "123abc456defEXAMPLE", + "ClientSecret": "this1234is5678my91011example1213client1415secret", + "LastModifiedDate": 1726788459.464, + "CreationDate": 1726788459.464, + "RefreshTokenValidity": 10, + "AccessTokenValidity": 60, + "IdTokenValidity": 60, + "TokenValidityUnits": { + "AccessToken": "minutes", + "IdToken": "minutes", + "RefreshToken": "days" + }, + "ReadAttributes": [ + "email_verified", + "phone_number_verified", + "phone_number", + "email" + ], + "WriteAttributes": [ + "phone_number", + "email" + ], + "ExplicitAuthFlows": [ + "ALLOW_USER_PASSWORD_AUTH", + "ALLOW_USER_SRP_AUTH", + "ALLOW_REFRESH_TOKEN_AUTH" + ], + "SupportedIdentityProviders": [ + "Google", + "MyOIDC", + "Facebook" + ], + "CallbackURLs": [ + "https://example.com", + "https://www.amazon.com", + "myapp://example", + "http://localhost:8001" + ], + "AllowedOAuthFlows": [ + "implicit", + "code" + ], + "AllowedOAuthScopes": [ + "aws.cognito.signin.user.admin", + "openid", + "profile", + "solar-system-data/asteroids.add" + ], + "AllowedOAuthFlowsUserPoolClient": true, + "AnalyticsConfiguration": { + "ApplicationArn": "arn:aws:mobiletargeting:us-west-2:123456789012:apps/thisisanexamplepinpointapplicationid", + "RoleArn": "arn:aws:iam::123456789012:role/aws-service-role/cognito-idp.amazonaws.com/AWSServiceRoleForAmazonCognitoIdp", + "UserDataShared": true + }, + "PreventUserExistenceErrors": "ENABLED", + "EnableTokenRevocation": true, + "EnablePropagateAdditionalUserContextData": true, + "AuthSessionValidity": 4 + } } - } +For more information, see `Application-specific settings with app clients `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/create-user-pool-domain.rst b/awscli/examples/cognito-idp/create-user-pool-domain.rst index 77e6185cc12f..9fb60e6cb1f6 100644 --- a/awscli/examples/cognito-idp/create-user-pool-domain.rst +++ b/awscli/examples/cognito-idp/create-user-pool-domain.rst @@ -1,8 +1,26 @@ -**To create a user pool domain** +**Example 1: To create a user pool domain** -This example creates a new user pool domain. with two explicit authorization flows: USER_PASSWORD_AUTH and ADMIN_NO_SRP_AUTH. +The following ``create-user-pool-domain`` example creates a new custom domain. :: -Command:: + aws cognito-idp create-user-pool-domain \ + --user-pool-id us-west-2_EXAMPLE \ + --domain auth.example.com \ + --custom-domain-config CertificateArn=arn:aws:acm:us-east-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 - aws cognito-idp create-user-pool-domain --user-pool-id us-west-2_aaaaaaaaa --domain my-new-domain - +Output:: + + { + "CloudFrontDomain": "example1domain.cloudfront.net" + } + +For more information, see `Configuring a user pool domain `__ in the *Amazon Cognito Developer Guide*. + +**Example 2: To create a user pool domain** + +The following ``create-user-pool-domain`` example creates a new domain with a service-owned prefix. :: + + aws cognito-idp create-user-pool-domain \ + --user-pool-id us-west-2_EXAMPLE2 \ + --domain mydomainprefix + +For more information, see `Configuring a user pool domain `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/delete-user-attributes.rst b/awscli/examples/cognito-idp/delete-user-attributes.rst index 3856abc42271..16e730946a08 100644 --- a/awscli/examples/cognito-idp/delete-user-attributes.rst +++ b/awscli/examples/cognito-idp/delete-user-attributes.rst @@ -1,8 +1,11 @@ -**To delete user attributes** +**To delete a user attribute** -This example deletes the user attribute "FAVORITE_ANIMAL". +The following ``delete-user-attributes`` example deletes the custom attribute "custom:attribute" from the currently signed-in user. :: -Command:: + aws cognito-idp delete-user-attributes \ + --access-token ACCESS_TOKEN \ + --user-attribute-names "custom:department" - aws cognito-idp delete-user-attributes --access-token ACCESS_TOKEN --user-attribute-names "FAVORITE_ANIMAL" - +This command produces no output. + +For more information, see `Working with user attributes `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/describe-user-pool.rst b/awscli/examples/cognito-idp/describe-user-pool.rst index 130a301f038d..3e3fba376e04 100644 --- a/awscli/examples/cognito-idp/describe-user-pool.rst +++ b/awscli/examples/cognito-idp/describe-user-pool.rst @@ -1,267 +1,376 @@ **To describe a user pool** -This example describes a user pool with the user pool id us-west-2_aaaaaaaaa. +The following example describes a user pool with the user pool id us-west-2_EXAMPLE. :: -Command:: - - aws cognito-idp describe-user-pool --user-pool-id us-west-2_aaaaaaaaa + aws cognito-idp describe-user-pool \ + --user-pool-id us-west-2_EXAMPLE Output:: - { - "UserPool": { - "SmsVerificationMessage": "Your verification code is {####}. ", - "SchemaAttributes": [ - { - "Name": "sub", - "StringAttributeConstraints": { - "MinLength": "1", - "MaxLength": "2048" - }, - "DeveloperOnlyAttribute": false, - "Required": true, - "AttributeDataType": "String", - "Mutable": false + { + "UserPool": { + "Id": "us-west-2_EXAMPLE", + "Name": "MyUserPool", + "Policies": { + "PasswordPolicy": { + "MinimumLength": 8, + "RequireUppercase": true, + "RequireLowercase": true, + "RequireNumbers": true, + "RequireSymbols": true, + "TemporaryPasswordValidityDays": 1 + } }, - { - "Name": "name", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + "DeletionProtection": "ACTIVE", + "LambdaConfig": { + "PreSignUp": "arn:aws:lambda:us-west-2:123456789012:function:MyPreSignUpFunction", + "CustomMessage": "arn:aws:lambda:us-west-2:123456789012:function:MyCustomMessageFunction", + "PostConfirmation": "arn:aws:lambda:us-west-2:123456789012:function:MyPostConfirmationFunction", + "PreAuthentication": "arn:aws:lambda:us-west-2:123456789012:function:MyPreAuthenticationFunction", + "PostAuthentication": "arn:aws:lambda:us-west-2:123456789012:function:MyPostAuthenticationFunction", + "DefineAuthChallenge": "arn:aws:lambda:us-west-2:123456789012:function:MyDefineAuthChallengeFunction", + "CreateAuthChallenge": "arn:aws:lambda:us-west-2:123456789012:function:MyCreateAuthChallengeFunction", + "VerifyAuthChallengeResponse": "arn:aws:lambda:us-west-2:123456789012:function:MyVerifyAuthChallengeFunction", + "PreTokenGeneration": "arn:aws:lambda:us-west-2:123456789012:function:MyPreTokenGenerationFunction", + "UserMigration": "arn:aws:lambda:us-west-2:123456789012:function:MyMigrateUserFunction", + "PreTokenGenerationConfig": { + "LambdaVersion": "V2_0", + "LambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:MyPreTokenGenerationFunction" }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "given_name", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + "CustomSMSSender": { + "LambdaVersion": "V1_0", + "LambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:MyCustomSMSSenderFunction" }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "family_name", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + "CustomEmailSender": { + "LambdaVersion": "V1_0", + "LambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:MyCustomEmailSenderFunction" }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true + "KMSKeyID": "arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }, - { - "Name": "middle_name", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + "LastModifiedDate": 1726784814.598, + "CreationDate": 1602103465.273, + "SchemaAttributes": [ + { + "Name": "sub", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": false, + "Required": true, + "StringAttributeConstraints": { + "MinLength": "1", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "nickname", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "name", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "preferred_username", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "given_name", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "profile", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "family_name", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "picture", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "middle_name", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "website", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "nickname", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "email", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "preferred_username", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": true, - "AttributeDataType": "String", - "Mutable": true - }, - { - "AttributeDataType": "Boolean", - "DeveloperOnlyAttribute": false, - "Required": false, - "Name": "email_verified", - "Mutable": true - }, - { - "Name": "gender", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "profile", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "birthdate", - "StringAttributeConstraints": { - "MinLength": "10", - "MaxLength": "10" + { + "Name": "picture", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "zoneinfo", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "website", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "locale", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "email", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": true, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true - }, - { - "Name": "phone_number", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" + { + "Name": "email_verified", + "AttributeDataType": "Boolean", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false + }, + { + "Name": "gender", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } + }, + { + "Name": "birthdate", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "10", + "MaxLength": "10" + } }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true + { + "Name": "zoneinfo", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } + }, + { + "Name": "locale", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } + }, + { + "Name": "phone_number", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } + }, + { + "Name": "phone_number_verified", + "AttributeDataType": "Boolean", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false + }, + { + "Name": "address", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "0", + "MaxLength": "2048" + } + }, + { + "Name": "updated_at", + "AttributeDataType": "Number", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "NumberAttributeConstraints": { + "MinValue": "0" + } + }, + { + "Name": "identities", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": {} + }, + { + "Name": "custom:111", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "1", + "MaxLength": "256" + } + }, + { + "Name": "dev:custom:222", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": true, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MinLength": "1", + "MaxLength": "421" + } + }, + { + "Name": "custom:accesstoken", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MaxLength": "2048" + } + }, + { + "Name": "custom:idtoken", + "AttributeDataType": "String", + "DeveloperOnlyAttribute": false, + "Mutable": true, + "Required": false, + "StringAttributeConstraints": { + "MaxLength": "2048" + } + } + ], + "AutoVerifiedAttributes": [ + "email" + ], + "SmsVerificationMessage": "Your verification code is {####}. ", + "EmailVerificationMessage": "Your verification code is {####}. ", + "EmailVerificationSubject": "Your verification code", + "VerificationMessageTemplate": { + "SmsMessage": "Your verification code is {####}. ", + "EmailMessage": "Your verification code is {####}. ", + "EmailSubject": "Your verification code", + "EmailMessageByLink": "Please click the link below to verify your email address. {##Verify Your Email##}\n this is from us-west-2_ywDJHlIfU", + "EmailSubjectByLink": "Your verification link", + "DefaultEmailOption": "CONFIRM_WITH_LINK" }, - { - "AttributeDataType": "Boolean", - "DeveloperOnlyAttribute": false, - "Required": false, - "Name": "phone_number_verified", - "Mutable": true + "SmsAuthenticationMessage": "Your verification code is {####}. ", + "UserAttributeUpdateSettings": { + "AttributesRequireVerificationBeforeUpdate": [] }, - { - "Name": "address", - "StringAttributeConstraints": { - "MinLength": "0", - "MaxLength": "2048" - }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "String", - "Mutable": true + "MfaConfiguration": "OPTIONAL", + "DeviceConfiguration": { + "ChallengeRequiredOnNewDevice": true, + "DeviceOnlyRememberedOnUserPrompt": false }, - { - "Name": "updated_at", - "NumberAttributeConstraints": { - "MinValue": "0" - }, - "DeveloperOnlyAttribute": false, - "Required": false, - "AttributeDataType": "Number", - "Mutable": true - } - ], - "EmailVerificationSubject": "Your verification code", - "MfaConfiguration": "OFF", - "Name": "MyUserPool", - "EmailVerificationMessage": "Your verification code is {####}. ", - "SmsAuthenticationMessage": "Your authentication code is {####}. ", - "LastModifiedDate": 1547763720.822, - "AdminCreateUserConfig": { - "InviteMessageTemplate": { - "EmailMessage": "Your username is {username} and temporary password is {####}. ", - "EmailSubject": "Your temporary password", - "SMSMessage": "Your username is {username} and temporary password is {####}. " + "EstimatedNumberOfUsers": 166, + "EmailConfiguration": { + "SourceArn": "arn:aws:ses:us-west-2:123456789012:identity/admin@example.com", + "EmailSendingAccount": "DEVELOPER" }, - "UnusedAccountValidityDays": 7, - "AllowAdminCreateUserOnly": false - }, - "EmailConfiguration": { - "ReplyToEmailAddress": "myemail@mydomain.com" - "SourceArn": "arn:aws:ses:us-east-1:000000000000:identity/myemail@mydomain.com" - }, - "AutoVerifiedAttributes": [ - "email" - ], - "Policies": { - "PasswordPolicy": { - "RequireLowercase": true, - "RequireSymbols": true, - "RequireNumbers": true, - "MinimumLength": 8, - "RequireUppercase": true + "SmsConfiguration": { + "SnsCallerArn": "arn:aws:iam::123456789012:role/service-role/userpool-SMS-Role", + "ExternalId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "SnsRegion": "us-west-2" + }, + "UserPoolTags": {}, + "Domain": "myCustomDomain", + "CustomDomain": "auth.example.com", + "AdminCreateUserConfig": { + "AllowAdminCreateUserOnly": false, + "UnusedAccountValidityDays": 1, + "InviteMessageTemplate": { + "SMSMessage": "Your username is {username} and temporary password is {####}. ", + "EmailMessage": "Your username is {username} and temporary password is {####}. ", + "EmailSubject": "Your temporary password" + } + }, + "UserPoolAddOns": { + "AdvancedSecurityMode": "ENFORCED", + "AdvancedSecurityAdditionalFlows": {} + }, + "Arn": "arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_EXAMPLE", + "AccountRecoverySetting": { + "RecoveryMechanisms": [ + { + "Priority": 1, + "Name": "verified_email" + } + ] } - }, - "UserPoolTags": {}, - "UsernameAttributes": [ - "email" - ], - "CreationDate": 1547763720.822, - "EstimatedNumberOfUsers": 1, - "Id": "us-west-2_aaaaaaaaa", - "LambdaConfig": {} + } } - } \ No newline at end of file + +For more information, see `Amazon Cognito user pools `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-device.rst b/awscli/examples/cognito-idp/get-device.rst new file mode 100644 index 000000000000..d3839ee1b1a1 --- /dev/null +++ b/awscli/examples/cognito-idp/get-device.rst @@ -0,0 +1,50 @@ +**To get a device** + +The following ``get-device`` example displays one device for currently signed-in user. :: + + aws cognito-idp get-device \ + --access-token eyJra456defEXAMPLE \ + --device-key us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 + +Output:: + + { + "Device": { + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "DeviceAttributes": [ + { + "Name": "device_status", + "Value": "valid" + }, + { + "Name": "device_name", + "Value": "MyDevice" + }, + { + "Name": "dev:device_arn", + "Value": "arn:aws:cognito-idp:us-west-2:123456789012:owner/diego.us-west-2_EXAMPLE/device/us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" + }, + { + "Name": "dev:device_owner", + "Value": "diego.us-west-2_EXAMPLE" + }, + { + "Name": "last_ip_used", + "Value": "192.0.2.1" + }, + { + "Name": "dev:device_remembered_status", + "Value": "remembered" + }, + { + "Name": "dev:device_sdk", + "Value": "aws-sdk" + } + ], + "DeviceCreateDate": 1715100742.022, + "DeviceLastModifiedDate": 1723233651.167, + "DeviceLastAuthenticatedDate": 1715100742.0 + } + } + +For more information, see `Working with user devices in your user pool `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-group.rst b/awscli/examples/cognito-idp/get-group.rst index 61a87756385c..dd6c4b0e16fb 100644 --- a/awscli/examples/cognito-idp/get-group.rst +++ b/awscli/examples/cognito-idp/get-group.rst @@ -1,19 +1,22 @@ **To get information about a group** -This example gets information about a group named MyGroup. +The following ``get-group`` example lists the properties of the user group named ``MyGroup``. This group has a precedence and an IAM role associated with it. :: -Command:: - - aws cognito-idp get-group --user-pool-id us-west-2_aaaaaaaaa --group-name MyGroup + aws cognito-idp get-group \ + --user-pool-id us-west-2_EXAMPLE \ + --group-name MyGroup Output:: - { - "Group": { - "GroupName": "MyGroup", - "UserPoolId": "us-west-2_aaaaaaaaa", - "Description": "A sample group.", - "LastModifiedDate": 1548270073.795, - "CreationDate": 1548270073.795 + { + "Group": { + "GroupName": "MyGroup", + "UserPoolId": "us-west-2_EXAMPLE", + "RoleArn": "arn:aws:iam::123456789012:role/example-cognito-role", + "Precedence": 7, + "LastModifiedDate": 1697211218.305, + "CreationDate": 1611685503.954 + } } - } \ No newline at end of file + +For more information, see `Adding groups to a user pool `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-identity-provider-by-identifier.rst b/awscli/examples/cognito-idp/get-identity-provider-by-identifier.rst new file mode 100644 index 000000000000..a11f92b85bd1 --- /dev/null +++ b/awscli/examples/cognito-idp/get-identity-provider-by-identifier.rst @@ -0,0 +1,35 @@ +**To get the configuration of an identity provider from the IdP identifier** + +The following ``get-identity-provider-by-identifier`` example returns the configuration of the identity provider with the identifier ``mysso``. :: + + aws cognito-idp get-identity-provider-by-identifier \ + --user-pool-id us-west-2_EXAMPLE \ + --idp-identifier mysso + +Output:: + + { + "IdentityProvider": { + "UserPoolId": "us-west-2_EXAMPLE", + "ProviderName": "MYSAML", + "ProviderType": "SAML", + "ProviderDetails": { + "ActiveEncryptionCertificate": "[Certificate contents]", + "IDPSignout": "false", + "MetadataURL": "https://auth.example.com/saml/metadata/", + "SLORedirectBindingURI": "https://auth.example.com/saml/logout/", + "SSORedirectBindingURI": "https://auth.example.com/saml/assertion/" + }, + "AttributeMapping": { + "email": "email" + }, + "IdpIdentifiers": [ + "mysso", + "mysamlsso" + ], + "LastModifiedDate": 1705616729.188, + "CreationDate": 1643734622.919 + } + } + +For more information, see `Third-party IdP sign-in `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-log-delivery-configuration.rst b/awscli/examples/cognito-idp/get-log-delivery-configuration.rst new file mode 100644 index 000000000000..d44153105e2d --- /dev/null +++ b/awscli/examples/cognito-idp/get-log-delivery-configuration.rst @@ -0,0 +1,32 @@ +**To display the log delivery configuration** + +The following ``get-log-delivery-configuration`` example displays the log export settings of the requested user pool. :: + + aws cognito-idp get-log-delivery-configuration \ + --user-pool-id us-west-2_EXAMPLE + +Output:: + + { + "LogDeliveryConfiguration": { + "UserPoolId": "us-west-2_EXAMPLE", + "LogConfigurations": [ + { + "LogLevel": "INFO", + "EventSource": "userAuthEvents", + "FirehoseConfiguration": { + "StreamArn": "arn:aws:firehose:us-west-2:123456789012:deliverystream/my-test-deliverystream" + } + }, + { + "LogLevel": "ERROR", + "EventSource": "userNotification", + "CloudWatchLogsConfiguration": { + "LogGroupArn": "arn:aws:logs:us-west-2:123456789012:log-group:my-message-delivery-logs" + } + } + ] + } + } + +For more information, see `Exporting user pool logs `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-signing-certificate.rst b/awscli/examples/cognito-idp/get-signing-certificate.rst index f7c26f1bfe6b..7099f8e656e5 100644 --- a/awscli/examples/cognito-idp/get-signing-certificate.rst +++ b/awscli/examples/cognito-idp/get-signing-certificate.rst @@ -1,13 +1,14 @@ -**To get a signing certificate** - -This example gets a signing certificate for a user pool. - -Command:: - - aws cognito-idp get-signing-certificate --user-pool-id us-west-2_aaaaaaaaa - -Output:: - - { - "Certificate": "CERTIFICATE_DATA" - } \ No newline at end of file +**To display the SAML signing certificate** + +The following ``get-signing-certificate`` example displays the SAML 2.0 signing certificate for the request user pool. :: + + aws cognito-idp get-signing-certificate \ + --user-pool-id us-west-2_EXAMPLE + +Output:: + + { + "Certificate": "[Certificate content]" + } + +For more information, see `SAML signing and encryption `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-ui-customization.rst b/awscli/examples/cognito-idp/get-ui-customization.rst index 8943912c245f..e7a9675320bb 100644 --- a/awscli/examples/cognito-idp/get-ui-customization.rst +++ b/awscli/examples/cognito-idp/get-ui-customization.rst @@ -1,19 +1,22 @@ -**To get UI customization information** - -This example gets UI customization information for a user pool. - -Command:: - - aws cognito-idp get-ui-customization --user-pool-id us-west-2_aaaaaaaaa - -Output:: - - { - "UICustomization": { - "UserPoolId": "us-west-2_aaaaaaaaa", - "ClientId": "ALL", - "ImageUrl": "https://aaaaaaaaaaaaa.cloudfront.net/us-west-2_aaaaaaaaa/ALL/20190128231240/assets/images/image.jpg", - "CSS": ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 10px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 300;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 14px;\n\tfont-weight: bold;\n\tmargin: 20px 0px 10px 0px;\n\theight: 40px;\n\twidth: 100%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\theight: 40px;\n\ttext-align: left;\n\twidth: 100%;\n\tmargin-bottom: 15px;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #faf;\n}\n", - "CSSVersion": "20190128231240" - } - } \ No newline at end of file +**To display the classic hosted UI customization settings for an app client** + +The following ``get-ui-customization`` example displays the classic hosted UI customization settings for an app client that doesn't inherit settings from the user pool. :: + + aws cognito-idp get-ui-customization \ + --user-pool-id us-west-2_EXAMPLE \ + --client-id 1example23456789 + + +Output:: + + { + "UICustomization": { + "UserPoolId": "us-west-2_EXAMPLE", + "ClientId": "1example23456789", + "ImageUrl": "https://example.cloudfront.net/us-west-2_EXAMPLE/1example23456789/20250115191928/assets/images/image.jpg", + "CSS": "\n.logo-customizable {\n max-width: 80%;\n max-height: 30%;\n}\n\n.banner-customizable {\n padding: 25px 0px 25px 0px;\n background-color: lightgray;\n}\n\n.label-customizable {\n font-weight: 400;\n}\n\n.textDescription-customizable {\n padding-top: 100px;\n padding-bottom: 10px;\n display: block;\n font-size: 12px;\n}\n\n.idpDescription-customizable {\n padding-top: 10px;\n padding-bottom: 10px;\n display: block;\n font-size: 16px;\n}\n\n.legalText-customizable {\n color: #747474;\n font-size: 11px;\n}\n\n.submitButton-customizable {\n font-size: 14px;\n font-weight: bold;\n margin: 20px 0px 10px 0px;\n height: 50px;\n width: 100%;\n color: #fff;\n background-color: #337ab7;\n}\n\n.submitButton-customizable:hover {\n color: #fff;\n background-color: #286090;\n}\n\n.errorMessage-customizable {\n padding: 5px;\n font-size: 12px;\n width: 100%;\n background: #F5F5F5;\n border: 2px solid #D64958;\n color: #D64958;\n}\n\n.inputField-customizable {\n width: 100%;\n height: 34px;\n color: #555;\n background-color: #fff;\n border: 1px solid #ccc;\n}\n\n.inputField-customizable:focus {\n border-color: #66afe9;\n outline: 0;\n}\n\n.idpButton-customizable {\n height: 40px;\n width: 100%;\n width: 100%;\n text-align: center;\n margin-bottom: 15px;\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n\n.idpButton-customizable:hover {\n color: #fff;\n background-color: #31b0d5;\n}\n\n.socialButton-customizable {\n border-radius: 2px;\n height: 60px;\n margin-bottom: 15px;\n padding: 1px;\n text-align: left;\n width: 100%;\n}\n\n.redirect-customizable {\n text-align: center;\n}\n\n.passwordCheck-notValid-customizable {\n color: #DF3312;\n}\n\n.passwordCheck-valid-customizable {\n color: #19BF00;\n}\n\n.background-customizable {\n background-color: #fff;\n}\n", + "CSSVersion": "20250115191928" + } + } + +For more information, see `Hosted UI (classic) branding `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-user-attribute-verification-code.rst b/awscli/examples/cognito-idp/get-user-attribute-verification-code.rst new file mode 100644 index 000000000000..bb249c49f56c --- /dev/null +++ b/awscli/examples/cognito-idp/get-user-attribute-verification-code.rst @@ -0,0 +1,19 @@ +**To send an attribute verification code to the current user** + +The following ``get-user-attribute-verification-code`` example sends an attribute verification code to the currently signed-in user's email address. :: + + aws cognito-idp get-user-attribute-verification-code \ + --access-token eyJra456defEXAMPLE \ + --attribute-name email + +Output:: + + { + "CodeDeliveryDetails": { + "Destination": "a***@e***", + "DeliveryMedium": "EMAIL", + "AttributeName": "email" + } + } + +For more information, see `Signing up and confirming user accounts `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-user-auth-factors.rst b/awscli/examples/cognito-idp/get-user-auth-factors.rst new file mode 100644 index 000000000000..736cf1df1b39 --- /dev/null +++ b/awscli/examples/cognito-idp/get-user-auth-factors.rst @@ -0,0 +1,20 @@ +**To list the authentication factors available to the current user** + +The following ``get-user-auth-factors`` example lists the available authentication factors for the currently signed-in user. :: + + aws cognito-idp get-user-auth-factors \ + --access-token eyJra456defEXAMPLE + +Output:: + + { + "Username": "testuser", + "ConfiguredUserAuthFactors": [ + "PASSWORD", + "EMAIL_OTP", + "SMS_OTP", + "WEB_AUTHN" + ] + } + +For more information, see `Authentication `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-user-pool-mfa-config.rst b/awscli/examples/cognito-idp/get-user-pool-mfa-config.rst new file mode 100644 index 000000000000..02cf42a33036 --- /dev/null +++ b/awscli/examples/cognito-idp/get-user-pool-mfa-config.rst @@ -0,0 +1,33 @@ +**To display the multi-factor authentication and WebAuthn settings of a user pool** + +The following ``get-user-pool-mfa-config`` example displays the MFA and WebAuthn configuration of the requested user pool. :: + + aws cognito-idp get-user-pool-mfa-config \ + --user-pool-id us-west-2_EXAMPLE + +Output:: + + { + "SmsMfaConfiguration": { + "SmsAuthenticationMessage": "Your OTP for MFA or sign-in: use {####}.", + "SmsConfiguration": { + "SnsCallerArn": "arn:aws:iam::123456789012:role/service-role/my-SMS-Role", + "ExternalId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "SnsRegion": "us-west-2" + } + }, + "SoftwareTokenMfaConfiguration": { + "Enabled": true + }, + "EmailMfaConfiguration": { + "Message": "Your OTP for MFA or sign-in: use {####}", + "Subject": "OTP test" + }, + "MfaConfiguration": "OPTIONAL", + "WebAuthnConfiguration": { + "RelyingPartyId": "auth.example.com", + "UserVerification": "preferred" + } + } + +For more information, see `Adding MFA `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/get-user.rst b/awscli/examples/cognito-idp/get-user.rst new file mode 100644 index 000000000000..8f15c934f387 --- /dev/null +++ b/awscli/examples/cognito-idp/get-user.rst @@ -0,0 +1,56 @@ +**To get the details of the current user** + +The following ``get-user`` example displays the profile of the currently signed-in user. :: + + aws cognito-idp get-user \ + --access-token eyJra456defEXAMPLE + +Output:: + + { + "Username": "johndoe", + "UserAttributes": [ + { + "Name": "sub", + "Value": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" + }, + { + "Name": "identities", + "Value": "[{\"userId\":\"a1b2c3d4-5678-90ab-cdef-EXAMPLE22222\",\"providerName\":\"SignInWithApple\",\"providerType\":\"SignInWithApple\",\"issuer\":null,\"primary\":false,\"dateCreated\":1701125599632}]" + }, + { + "Name": "email_verified", + "Value": "true" + }, + { + "Name": "custom:state", + "Value": "Maine" + }, + { + "Name": "name", + "Value": "John Doe" + }, + { + "Name": "phone_number_verified", + "Value": "true" + }, + { + "Name": "phone_number", + "Value": "+12065551212" + }, + { + "Name": "preferred_username", + "Value": "jamesdoe" + }, + { + "Name": "locale", + "Value": "EMEA" + }, + { + "Name": "email", + "Value": "jamesdoe@example.com" + } + ] + } + +For more information, see `Managing users `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/global-sign-out.rst b/awscli/examples/cognito-idp/global-sign-out.rst new file mode 100644 index 000000000000..45bfef6539d7 --- /dev/null +++ b/awscli/examples/cognito-idp/global-sign-out.rst @@ -0,0 +1,10 @@ +**To sign out the current user** + +The following ``global-sign-out`` example signs out the current user. :: + + aws cognito-idp global-sign-out \ + --access-token eyJra456defEXAMPLE + +This command produces no output. + +For more information, see `Managing users `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/initiate-auth.rst b/awscli/examples/cognito-idp/initiate-auth.rst new file mode 100644 index 000000000000..95fa3eb2911b --- /dev/null +++ b/awscli/examples/cognito-idp/initiate-auth.rst @@ -0,0 +1,27 @@ +**To sign in a user** + +The following ``initiate-auth`` example signs in a user with the basic username-password flow and no additional challenges. :: + + aws cognito-idp initiate-auth \ + --auth-flow USER_PASSWORD_AUTH \ + --client-id 1example23456789 \ + --analytics-metadata AnalyticsEndpointId=d70b2ba36a8c4dc5a04a0451aEXAMPLE \ + --auth-parameters USERNAME=testuser,PASSWORD=[Password] --user-context-data EncodedData=mycontextdata --client-metadata MyTestKey=MyTestValue + +Output:: + + { + "AuthenticationResult": { + "AccessToken": "eyJra456defEXAMPLE", + "ExpiresIn": 3600, + "TokenType": "Bearer", + "RefreshToken": "eyJra123abcEXAMPLE", + "IdToken": "eyJra789ghiEXAMPLE", + "NewDeviceMetadata": { + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "DeviceGroupKey": "-v7w9UcY6" + } + } + } + +For more information, see `Authentication `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-devices.rst b/awscli/examples/cognito-idp/list-devices.rst new file mode 100644 index 000000000000..caca5364e72a --- /dev/null +++ b/awscli/examples/cognito-idp/list-devices.rst @@ -0,0 +1,51 @@ +**To list a user's devices** + +The following ``list-devices`` example lists the devices that the current user has registered. :: + + aws cognito-idp list-devices \ + --access-token eyJra456defEXAMPLE + +Output:: + + { + "Devices": [ + { + "DeviceAttributes": [ + { + "Name": "device_status", + "Value": "valid" + }, + { + "Name": "device_name", + "Value": "Dart-device" + }, + { + "Name": "last_ip_used", + "Value": "192.0.2.1" + } + ], + "DeviceCreateDate": 1715100742.022, + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "DeviceLastAuthenticatedDate": 1715100742.0, + "DeviceLastModifiedDate": 1723233651.167 + }, + { + "DeviceAttributes": [ + { + "Name": "device_status", + "Value": "valid" + }, + { + "Name": "last_ip_used", + "Value": "192.0.2.2" + } + ], + "DeviceCreateDate": 1726856147.993, + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", + "DeviceLastAuthenticatedDate": 1726856147.0, + "DeviceLastModifiedDate": 1726856147.993 + } + ] + } + +For more information, see `Working with devices `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-groups.rst b/awscli/examples/cognito-idp/list-groups.rst new file mode 100644 index 000000000000..649d31e01e25 --- /dev/null +++ b/awscli/examples/cognito-idp/list-groups.rst @@ -0,0 +1,32 @@ +**To list the groups in a user pool** + +The following ``list-groups`` example lists the first two groups in the requested user pool. :: + + aws cognito-idp list-groups \ + --user-pool-id us-west-2_EXAMPLE \ + --max-items 2 + +Output:: + + { + "Groups": [ + { + "CreationDate": 1681760899.633, + "Description": "My test group", + "GroupName": "testgroup", + "LastModifiedDate": 1681760899.633, + "Precedence": 1, + "UserPoolId": "us-west-2_EXAMPLE" + }, + { + "CreationDate": 1642632749.051, + "Description": "Autogenerated group for users who sign in using Facebook", + "GroupName": "us-west-2_EXAMPLE_Facebook", + "LastModifiedDate": 1642632749.051, + "UserPoolId": "us-west-2_EXAMPLE" + } + ], + "NextToken": "[Pagination token]" + } + +For more information, see `Adding groups to a user pool `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-identity-providers.rst b/awscli/examples/cognito-idp/list-identity-providers.rst new file mode 100644 index 000000000000..cb6d477389c3 --- /dev/null +++ b/awscli/examples/cognito-idp/list-identity-providers.rst @@ -0,0 +1,29 @@ +**To list identity providers** + +The following ``list-identity-providers`` example lists the first two identity providers in the requested user pool. :: + + aws cognito-idp list-identity-providers \ + --user-pool-id us-west-2_EXAMPLE \ + --max-items 2 + +Output:: + + { + "Providers": [ + { + "CreationDate": 1619477386.504, + "LastModifiedDate": 1703798328.142, + "ProviderName": "Azure", + "ProviderType": "SAML" + }, + { + "CreationDate": 1642698776.175, + "LastModifiedDate": 1642699086.453, + "ProviderName": "LoginWithAmazon", + "ProviderType": "LoginWithAmazon" + } + ], + "NextToken": "[Pagination token]" + } + +For more information, see `Third-party IdP sign-in `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-resource-servers.rst b/awscli/examples/cognito-idp/list-resource-servers.rst new file mode 100644 index 000000000000..cd102d50d51e --- /dev/null +++ b/awscli/examples/cognito-idp/list-resource-servers.rst @@ -0,0 +1,43 @@ +**To list resource servers** + +The following ``list-resource-servers`` example lists the first two resource servers in the requested user pool. :: + + aws cognito-idp list-resource-servers \ + --user-pool-id us-west-2_EXAMPLE \ + --max-results 2 + +Output:: + + { + "ResourceServers": [ + { + "Identifier": "myapi.example.com", + "Name": "Example API with custom access control scopes", + "Scopes": [ + { + "ScopeDescription": "International customers", + "ScopeName": "international.read" + }, + { + "ScopeDescription": "Domestic customers", + "ScopeName": "domestic.read" + } + ], + "UserPoolId": "us-west-2_EXAMPLE" + }, + { + "Identifier": "myapi2.example.com", + "Name": "Another example API for access control", + "Scopes": [ + { + "ScopeDescription": "B2B customers", + "ScopeName": "b2b.read" + } + ], + "UserPoolId": "us-west-2_EXAMPLE" + } + ], + "NextToken": "[Pagination token]" + } + +For more information, see `Access control with resource servers `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-tags-for-resource.rst b/awscli/examples/cognito-idp/list-tags-for-resource.rst new file mode 100644 index 000000000000..81f03862e025 --- /dev/null +++ b/awscli/examples/cognito-idp/list-tags-for-resource.rst @@ -0,0 +1,17 @@ +**To list user pool tags** + +The following ``list-tags-for-resource`` example lists the tags assigned to the user pool with the requested ARN. :: + + aws cognito-idp list-tags-for-resource \ + --resource-arn arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_EXAMPLE + +Output:: + + { + "Tags": { + "administrator": "Jie", + "tenant": "ExampleCorp" + } + } + +For more information, see `Tagging Amazon Cognito resources `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-user-import-jobs.rst b/awscli/examples/cognito-idp/list-user-import-jobs.rst index e279cd016cb1..309631bfb4ca 100644 --- a/awscli/examples/cognito-idp/list-user-import-jobs.rst +++ b/awscli/examples/cognito-idp/list-user-import-jobs.rst @@ -1,57 +1,61 @@ -**To list user import jobs** - -This example lists user import jobs. - -For more information about importing users, see `Importing Users into User Pools From a CSV File`_. - -Command:: - - aws cognito-idp list-user-import-jobs --user-pool-id us-west-2_aaaaaaaaa --max-results 20 - -Output:: - - { - "UserImportJobs": [ - { - "JobName": "Test2", - "JobId": "import-d0OnwGA3mV", - "UserPoolId": "us-west-2_aaaaaaaaa", - "PreSignedUrl": "PRE_SIGNED_URL", - "CreationDate": 1548272793.069, - "Status": "Created", - "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", - "ImportedUsers": 0, - "SkippedUsers": 0, - "FailedUsers": 0 - }, - { - "JobName": "Test1", - "JobId": "import-qQ0DCt2fRh", - "UserPoolId": "us-west-2_aaaaaaaaa", - "PreSignedUrl": "PRE_SIGNED_URL", - "CreationDate": 1548271795.471, - "Status": "Created", - "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", - "ImportedUsers": 0, - "SkippedUsers": 0, - "FailedUsers": 0 - }, - { - "JobName": "import-Test1", - "JobId": "import-TZqNQvDRnW", - "UserPoolId": "us-west-2_aaaaaaaaa", - "PreSignedUrl": "PRE_SIGNED_URL", - "CreationDate": 1548271708.512, - "StartDate": 1548277247.962, - "CompletionDate": 1548277248.912, - "Status": "Failed", - "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", - "ImportedUsers": 0, - "SkippedUsers": 0, - "FailedUsers": 1, - "CompletionMessage": "Too many users have failed or been skipped during the import." - } - ] - } - -.. _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file +**To list user import jobs and statuses** + +The following ``list-user-import-jobs`` example lists first three user import jobs and their details in the requested user pool. :: + + aws cognito-idp list-user-import-jobs \ + --user-pool-id us-west-2_EXAMPLE \ + --max-results 3 + +Output:: + + { + "PaginationToken": "us-west-2_EXAMPLE#import-example3#1667948397084", + "UserImportJobs": [ + { + "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/service-role/Cognito-UserImport-Role", + "CompletionDate": 1735329786.142, + "CompletionMessage": "The user import job has expired.", + "CreationDate": 1735241621.022, + "FailedUsers": 0, + "ImportedUsers": 0, + "JobId": "import-example1", + "JobName": "Test-import-job-1", + "PreSignedUrl": "https://aws-cognito-idp-user-import-pdx.s3.us-west-2.amazonaws.com/123456789012/us-west-2_EXAMPLE/import-mAgUtd8PMm?X-Amz-Security-Token=[token]&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20241226T193341Z&X-Amz-SignedHeaders=host%3Bx-amz-server-side-encryption&X-Amz-Expires=899&X-Amz-Credential=[credential]&X-Amz-Signature=[signature]", + "SkippedUsers": 0, + "Status": "Expired", + "UserPoolId": "us-west-2_EXAMPLE" + }, + { + "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/service-role/Cognito-UserImport-Role", + "CompletionDate": 1681509058.408, + "CompletionMessage": "Too many users have failed or been skipped during the import.", + "CreationDate": 1681509001.477, + "FailedUsers": 1, + "ImportedUsers": 0, + "JobId": "import-example2", + "JobName": "Test-import-job-2", + "PreSignedUrl": "https://aws-cognito-idp-user-import-pdx.s3.us-west-2.amazonaws.com/123456789012/us-west-2_EXAMPLE/import-mAgUtd8PMm?X-Amz-Security-Token=[token]&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20241226T193341Z&X-Amz-SignedHeaders=host%3Bx-amz-server-side-encryption&X-Amz-Expires=899&X-Amz-Credential=[credential]&X-Amz-Signature=[signature]", + "SkippedUsers": 0, + "StartDate": 1681509057.965, + "Status": "Failed", + "UserPoolId": "us-west-2_EXAMPLE" + }, + { + "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/service-role/Cognito-UserImport-Role", + "CompletionDate": 1.667864578676E9, + "CompletionMessage": "Import Job Completed Successfully.", + "CreationDate": 1.667864480281E9, + "FailedUsers": 0, + "ImportedUsers": 6, + "JobId": "import-example3", + "JobName": "Test-import-job-3", + "PreSignedUrl": "https://aws-cognito-idp-user-import-pdx.s3.us-west-2.amazonaws.com/123456789012/us-west-2_EXAMPLE/import-mAgUtd8PMm?X-Amz-Security-Token=[token]&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20241226T193341Z&X-Amz-SignedHeaders=host%3Bx-amz-server-side-encryption&X-Amz-Expires=899&X-Amz-Credential=[credential]&X-Amz-Signature=[signature]", + "SkippedUsers": 0, + "StartDate": 1.667864578167E9, + "Status": "Succeeded", + "UserPoolId": "us-west-2_EXAMPLE" + } + ] + } + +For more information, see `Importing users from a CSV file `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-user-pool-clients.rst b/awscli/examples/cognito-idp/list-user-pool-clients.rst new file mode 100644 index 000000000000..f2f99077716d --- /dev/null +++ b/awscli/examples/cognito-idp/list-user-pool-clients.rst @@ -0,0 +1,32 @@ +**To list app clients** + +The following ``list-user-pool-clients`` example lists the first three app clients in the requested user pool. :: + + aws cognito-idp list-user-pool-clients \ + --user-pool-id us-west-2_EXAMPLE \ + --max-results 3 + +Output:: + + { + "NextToken": "[Pagination token]", + "UserPoolClients": [ + { + "ClientId": "1example23456789", + "ClientName": "app-client-1", + "UserPoolId": "us-west-2_EXAMPLE" + }, + { + "ClientId": "2example34567890", + "ClientName": "app-client-2", + "UserPoolId": "us-west-2_EXAMPLE" + }, + { + "ClientId": "3example45678901", + "ClientName": "app-client-3", + "UserPoolId": "us-west-2_EXAMPLE" + } + ] + } + +For more information, see `App clients `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-user-pools.rst b/awscli/examples/cognito-idp/list-user-pools.rst index 302487ef61fa..2b906a0909dd 100644 --- a/awscli/examples/cognito-idp/list-user-pools.rst +++ b/awscli/examples/cognito-idp/list-user-pools.rst @@ -1,22 +1,48 @@ -**To list user pools** - -This example lists up to 20 user pools. - -Command:: - - aws cognito-idp list-user-pools --max-results 20 - -Output:: - - { - "UserPools": [ - { - "CreationDate": 1547763720.822, - "LastModifiedDate": 1547763720.822, - "LambdaConfig": {}, - "Id": "us-west-2_aaaaaaaaa", - "Name": "MyUserPool" - } - ] - } - +**To list user pools** + +The following ``list-user-pools`` example lists 3 of the available user pools in the AWS account of the current CLI credentials. :: + + aws cognito-idp list-user-pools \ + --max-results 3 + +Output:: + + { + "NextToken": "[Pagination token]", + "UserPools": [ + { + "CreationDate": 1681502497.741, + "Id": "us-west-2_EXAMPLE1", + "LambdaConfig": { + "CustomMessage": "arn:aws:lambda:us-east-1:123456789012:function:MyFunction", + "PreSignUp": "arn:aws:lambda:us-east-1:123456789012:function:MyFunction", + "PreTokenGeneration": "arn:aws:lambda:us-east-1:123456789012:function:MyFunction", + "PreTokenGenerationConfig": { + "LambdaArn": "arn:aws:lambda:us-east-1:123456789012:function:MyFunction", + "LambdaVersion": "V1_0" + } + }, + "LastModifiedDate": 1681502497.741, + "Name": "user pool 1" + }, + { + "CreationDate": 1686064178.717, + "Id": "us-west-2_EXAMPLE2", + "LambdaConfig": { + }, + "LastModifiedDate": 1686064178.873, + "Name": "user pool 2" + }, + { + "CreationDate": 1627681712.237, + "Id": "us-west-2_EXAMPLE3", + "LambdaConfig": { + "UserMigration": "arn:aws:lambda:us-east-1:123456789012:function:MyFunction" + }, + "LastModifiedDate": 1678486942.479, + "Name": "user pool 3" + } + ] + } + +For more information, see `Amazon Cognito user pools `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-users.rst b/awscli/examples/cognito-idp/list-users.rst index 6245e17cf36f..2de4e336d790 100644 --- a/awscli/examples/cognito-idp/list-users.rst +++ b/awscli/examples/cognito-idp/list-users.rst @@ -1,35 +1,98 @@ -**To list users** - -This example lists up to 20 users. - -Command:: - - aws cognito-idp list-users --user-pool-id us-west-2_aaaaaaaaa --limit 20 - -Output:: - - { - "Users": [ - { - "Username": "22704aa3-fc10-479a-97eb-2af5806bd327", - "Enabled": true, - "UserStatus": "FORCE_CHANGE_PASSWORD", - "UserCreateDate": 1548089817.683, - "UserLastModifiedDate": 1548089817.683, - "Attributes": [ - { - "Name": "sub", - "Value": "22704aa3-fc10-479a-97eb-2af5806bd327" - }, - { - "Name": "email_verified", - "Value": "true" - }, - { - "Name": "email", - "Value": "mary@example.com" - } - ] - } - ] - } +**Example 1: To list users with a server-side filter** + +The following ``list-users`` example lists 3 users in the requested user pool whose email addresses begin with ``testuser``. :: + + aws cognito-idp list-users \ + --user-pool-id us-west-2_EXAMPLE \ + --filter email^=\"testuser\" \ + --max-items 3 + +Output:: + + { + "PaginationToken": "efgh5678EXAMPLE", + "Users": [ + { + "Attributes": [ + { + "Name": "sub", + "Value": "eaad0219-2117-439f-8d46-4db20e59268f" + }, + { + "Name": "email", + "Value": "testuser@example.com" + } + ], + "Enabled": true, + "UserCreateDate": 1682955829.578, + "UserLastModifiedDate": 1689030181.63, + "UserStatus": "CONFIRMED", + "Username": "testuser" + }, + { + "Attributes": [ + { + "Name": "sub", + "Value": "3b994cfd-0b07-4581-be46-3c82f9a70c90" + }, + { + "Name": "email", + "Value": "testuser2@example.com" + } + ], + "Enabled": true, + "UserCreateDate": 1684427979.201, + "UserLastModifiedDate": 1684427979.201, + "UserStatus": "UNCONFIRMED", + "Username": "testuser2" + }, + { + "Attributes": [ + { + "Name": "sub", + "Value": "5929e0d1-4c34-42d1-9b79-a5ecacfe66f7" + }, + { + "Name": "email", + "Value": "testuser3@example.com" + } + ], + "Enabled": true, + "UserCreateDate": 1684427823.641, + "UserLastModifiedDate": 1684427823.641, + "UserStatus": "UNCONFIRMED", + "Username": "testuser3@example.com" + } + ] + } + +For more information, see `Managing and searching for users `__ in the *Amazon Cognito Developer Guide*. + +**Example 2: To list users with a client-side filter** + +The following ``list-users`` example lists the attributes of three users who have an attribute, in this case their email address, that contains the email domain "@example.com". If other attributes contained this string, they would also be displayed. The second user has no attributes that match the query and is excluded from the displayed output, but not from the server response. :: + + aws cognito-idp list-users \ + --user-pool-id us-west-2_EXAMPLE \ + --max-items 3 + --query Users\[\*\].Attributes\[\?Value\.contains\(\@\,\'@example.com\'\)\] + +Output:: + + [ + [ + { + "Name": "email", + "Value": "admin@example.com" + } + ], + [], + [ + { + "Name": "email", + "Value": "operator@example.com" + } + ] + ] + +For more information, see `Managing and searching for users `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/list-web-authn-credentials.rst b/awscli/examples/cognito-idp/list-web-authn-credentials.rst new file mode 100644 index 000000000000..a5fe69d29858 --- /dev/null +++ b/awscli/examples/cognito-idp/list-web-authn-credentials.rst @@ -0,0 +1,22 @@ +**To list passkey credentials** + +The following ``list-web-authn-credentials`` example lists passkey, or WebAuthn, credentials for the current user. They have one registered device. :: + + aws cognito-idp list-web-authn-credentials \ + --access-token eyJra456defEXAMPLE + +Output:: + + { + "Credentials": [ + { + "AuthenticatorAttachment": "cross-platform", + "CreatedAt": 1736293876.115, + "CredentialId": "8LApgk4-lNUFHbhm2w6Und7-uxcc8coJGsPxiogvHoItc64xWQc3r4CEXAMPLE", + "FriendlyCredentialName": "Roaming passkey", + "RelyingPartyId": "auth.example.com" + } + ] + } + +For more information, see `Passkey sign-in `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/respond-to-auth-challenge.rst b/awscli/examples/cognito-idp/respond-to-auth-challenge.rst index 282d97eb3809..f627f5cd5c5c 100644 --- a/awscli/examples/cognito-idp/respond-to-auth-challenge.rst +++ b/awscli/examples/cognito-idp/respond-to-auth-challenge.rst @@ -1,27 +1,78 @@ -**To respond to an authorization challenge** - -This example responds to an authorization challenge initiated with `initiate-auth`_. It is a response to the NEW_PASSWORD_REQUIRED challenge. -It sets a password for user jane@example.com. - -Command:: - - aws cognito-idp respond-to-auth-challenge --client-id 3n4b5urk1ft4fl3mg5e62d9ado --challenge-name NEW_PASSWORD_REQUIRED --challenge-responses USERNAME=jane@example.com,NEW_PASSWORD="password" --session "SESSION_TOKEN" - -Output:: - - { - "ChallengeParameters": {}, - "AuthenticationResult": { - "AccessToken": "ACCESS_TOKEN", - "ExpiresIn": 3600, - "TokenType": "Bearer", - "RefreshToken": "REFRESH_TOKEN", - "IdToken": "ID_TOKEN", - "NewDeviceMetadata": { - "DeviceKey": "us-west-2_fec070d2-fa88-424a-8ec8-b26d7198eb23", - "DeviceGroupKey": "-wt2ha1Zd" - } - } - } - -.. _`initiate-auth`: https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/initiate-auth.html \ No newline at end of file +**Example 1: To respond to a NEW_PASSWORD_REQUIRED challenge** + +The following ``respond-to-auth-challenge`` example responds to a NEW_PASSWORD_REQUIRED challenge that `initiate-auth`_ returned. It sets a password for the user ``jane@example.com``. :: + + aws cognito-idp respond-to-auth-challenge \ + --client-id 1example23456789 \ + --challenge-name NEW_PASSWORD_REQUIRED \ + --challenge-responses USERNAME=jane@example.com,NEW_PASSWORD=[Password] \ + --session AYABeEv5HklEXAMPLE + +Output:: + + { + "ChallengeParameters": {}, + "AuthenticationResult": { + "AccessToken": "ACCESS_TOKEN", + "ExpiresIn": 3600, + "TokenType": "Bearer", + "RefreshToken": "REFRESH_TOKEN", + "IdToken": "ID_TOKEN", + "NewDeviceMetadata": { + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "DeviceGroupKey": "-wt2ha1Zd" + } + } + } + +For more information, see `Authentication `__ in the *Amazon Cognito Developer Guide*. + +**Example 2: To respond to a SELECT_MFA_TYPE challenge** + +The following ``respond-to-auth-challenge`` example chooses TOTP MFA as the MFA option for the current user. The user was prompted to select an MFA type and will next be prompted to enter their MFA code. :: + + aws cognito-idp respond-to-auth-challenge \ + --client-id 1example23456789 + --session AYABeEv5HklEXAMPLE + --challenge-name SELECT_MFA_TYPE + --challenge-responses USERNAME=testuser,ANSWER=SOFTWARE_TOKEN_MFA + +Output:: + + { + "ChallengeName": "SOFTWARE_TOKEN_MFA", + "Session": "AYABeEv5HklEXAMPLE", + "ChallengeParameters": { + "FRIENDLY_DEVICE_NAME": "transparent" + } + } + +For more information, see `Adding MFA `__ in the *Amazon Cognito Developer Guide*. + +**Example 3: To respond to a SOFTWARE_TOKEN_MFA challenge** + +The following ``respond-to-auth-challenge`` example provides a TOTP MFA code and completes sign-in. :: + + aws cognito-idp respond-to-auth-challenge \ + --client-id 1example23456789 \ + --session AYABeEv5HklEXAMPLE \ + --challenge-name SOFTWARE_TOKEN_MFA \ + --challenge-responses USERNAME=testuser,SOFTWARE_TOKEN_MFA_CODE=123456 + +Output:: + + { + "AuthenticationResult": { + "AccessToken": "eyJra456defEXAMPLE", + "ExpiresIn": 3600, + "TokenType": "Bearer", + "RefreshToken": "eyJra123abcEXAMPLE", + "IdToken": "eyJra789ghiEXAMPLE", + "NewDeviceMetadata": { + "DeviceKey": "us-west-2_a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "DeviceGroupKey": "-v7w9UcY6" + } + } + } + +For more information, see `Adding MFA `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/revoke-token.rst b/awscli/examples/cognito-idp/revoke-token.rst new file mode 100644 index 000000000000..3725bf81df6b --- /dev/null +++ b/awscli/examples/cognito-idp/revoke-token.rst @@ -0,0 +1,11 @@ +**To revoke a refresh token** + +The following ``revoke-token`` revokes the requested refresh token and associated access tokens. :: + + aws cognito-idp revoke-token \ + --token eyJjd123abcEXAMPLE \ + --client-id 1example23456789 + +This command produces no output. + +For more information, see `Revoking tokens `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/set-log-delivery-configuration.rst b/awscli/examples/cognito-idp/set-log-delivery-configuration.rst new file mode 100644 index 000000000000..0c7c6906d195 --- /dev/null +++ b/awscli/examples/cognito-idp/set-log-delivery-configuration.rst @@ -0,0 +1,33 @@ +**To set up log export from a user pool** + +The following ``set-log-delivery-configuration`` example configures the requested user pool with user-notification error logging to a log group and user-authentication info logging to an S3 bucket. :: + + aws cognito-idp set-log-delivery-configuration \ + --user-pool-id us-west-2_EXAMPLE \ + --log-configurations LogLevel=ERROR,EventSource=userNotification,CloudWatchLogsConfiguration={LogGroupArn=arn:aws:logs:us-west-2:123456789012:log-group:cognito-exported} LogLevel=INFO,EventSource=userAuthEvents,S3Configuration={BucketArn=arn:aws:s3:::amzn-s3-demo-bucket1} + +Output:: + + { + "LogDeliveryConfiguration": { + "LogConfigurations": [ + { + "CloudWatchLogsConfiguration": { + "LogGroupArn": "arn:aws:logs:us-west-2:123456789012:log-group:cognito-exported" + }, + "EventSource": "userNotification", + "LogLevel": "ERROR" + }, + { + "EventSource": "userAuthEvents", + "LogLevel": "INFO", + "S3Configuration": { + "BucketArn": "arn:aws:s3:::amzn-s3-demo-bucket1" + } + } + ], + "UserPoolId": "us-west-2_EXAMPLE" + } + } + +For more information, see `Exporting user pool logs `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/set-risk-configuration.rst b/awscli/examples/cognito-idp/set-risk-configuration.rst index 5c78c0a98201..a31c7e0ffbdb 100644 --- a/awscli/examples/cognito-idp/set-risk-configuration.rst +++ b/awscli/examples/cognito-idp/set-risk-configuration.rst @@ -1,23 +1,136 @@ -**To set risk configuration** - -This example sets the risk configuration for a user pool. It sets the sign-up event action to NO_ACTION. - -Command:: - - aws cognito-idp set-risk-configuration --user-pool-id us-west-2_aaaaaaaaa --compromised-credentials-risk-configuration EventFilter=SIGN_UP,Actions={EventAction=NO_ACTION} - -Output:: - - { - "RiskConfiguration": { - "UserPoolId": "us-west-2_aaaaaaaaa", - "CompromisedCredentialsRiskConfiguration": { - "EventFilter": [ - "SIGN_UP" - ], - "Actions": { - "EventAction": "NO_ACTION" - } - } - } - } \ No newline at end of file +**To set the threat protection risk configuration** + +The following ``set-risk-configuration`` example configures threat protection messages and actions, compromised credentials, and IP address exceptions in the requested app client. Because of the complexity of the NotifyConfiguration object, JSON input is a best practice for this command. :: + + aws cognito-idp set-risk-configuration \ + --cli-input-json file://set-risk-configuration.json + +Contents of ``set-risk-configuration.json``:: + + { + "AccountTakeoverRiskConfiguration": { + "Actions": { + "HighAction": { + "EventAction": "MFA_REQUIRED", + "Notify": true + }, + "LowAction": { + "EventAction": "NO_ACTION", + "Notify": true + }, + "MediumAction": { + "EventAction": "MFA_IF_CONFIGURED", + "Notify": true + } + }, + "NotifyConfiguration": { + "BlockEmail": { + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
    We blocked an unrecognized sign-in to your account with this information:\n
      \n
    • Time: {login-time}
    • \n
    • Device: {device-name}
    • \n
    • Location: {city}, {country}
    • \n
    \nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
    \n\n", + "Subject": "Blocked sign-in attempt", + "TextBody": "We blocked an unrecognized sign-in to your account with this information:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + }, + "From": "admin@example.com", + "MfaEmail": { + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
    We required you to use multi-factor authentication for the following sign-in attempt:\n
      \n
    • Time: {login-time}
    • \n
    • Device: {device-name}
    • \n
    • Location: {city}, {country}
    • \n
    \nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
    \n\n", + "Subject": "New sign-in attempt", + "TextBody": "We required you to use multi-factor authentication for the following sign-in attempt:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + }, + "NoActionEmail": { + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
    We observed an unrecognized sign-in to your account with this information:\n
      \n
    • Time: {login-time}
    • \n
    • Device: {device-name}
    • \n
    • Location: {city}, {country}
    • \n
    \nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
    \n\n", + "Subject": "New sign-in attempt", + "TextBody": "We observed an unrecognized sign-in to your account with this information:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + }, + "ReplyTo": "admin@example.com", + "SourceArn": "arn:aws:ses:us-west-2:123456789012:identity/admin@example.com" + } + }, + "ClientId": "1example23456789", + "CompromisedCredentialsRiskConfiguration": { + "Actions": { + "EventAction": "BLOCK" + }, + "EventFilter": [ + "PASSWORD_CHANGE", + "SIGN_UP", + "SIGN_IN" + ] + }, + "RiskExceptionConfiguration": { + "BlockedIPRangeList": [ + "192.0.2.1/32", + "192.0.2.2/32" + ], + "SkippedIPRangeList": [ + "203.0.113.1/32", + "203.0.113.2/32" + ] + }, + "UserPoolId": "us-west-2_EXAMPLE" + } + +Output:: + + { + "RiskConfiguration": { + "AccountTakeoverRiskConfiguration": { + "Actions": { + "HighAction": { + "EventAction": "MFA_REQUIRED", + "Notify": true + }, + "LowAction": { + "EventAction": "NO_ACTION", + "Notify": true + }, + "MediumAction": { + "EventAction": "MFA_IF_CONFIGURED", + "Notify": true + } + }, + "NotifyConfiguration": { + "BlockEmail": { + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
    We blocked an unrecognized sign-in to your account with this information:\n
      \n
    • Time: {login-time}
    • \n
    • Device: {device-name}
    • \n
    • Location: {city}, {country}
    • \n
    \nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
    \n\n", + "Subject": "Blocked sign-in attempt", + "TextBody": "We blocked an unrecognized sign-in to your account with this information:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + }, + "From": "admin@example.com", + "MfaEmail": { + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
    We required you to use multi-factor authentication for the following sign-in attempt:\n
      \n
    • Time: {login-time}
    • \n
    • Device: {device-name}
    • \n
    • Location: {city}, {country}
    • \n
    \nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
    \n\n", + "Subject": "New sign-in attempt", + "TextBody": "We required you to use multi-factor authentication for the following sign-in attempt:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + }, + "NoActionEmail": { + "HtmlBody": "\n\n\n\tHTML email context\n\t\n\n\n
    We observed an unrecognized sign-in to your account with this information:\n
      \n
    • Time: {login-time}
    • \n
    • Device: {device-name}
    • \n
    • Location: {city}, {country}
    • \n
    \nIf this sign-in was not by you, you should change your password and notify us by clicking on this link\nIf this sign-in was by you, you can follow this link to let us know
    \n\n", + "Subject": "New sign-in attempt", + "TextBody": "We observed an unrecognized sign-in to your account with this information:\nTime: {login-time}\nDevice: {device-name}\nLocation: {city}, {country}\nIf this sign-in was not by you, you should change your password and notify us by clicking on {one-click-link-invalid}\nIf this sign-in was by you, you can follow {one-click-link-valid} to let us know" + }, + "ReplyTo": "admin@example.com", + "SourceArn": "arn:aws:ses:us-west-2:123456789012:identity/admin@example.com" + } + }, + "ClientId": "1example23456789", + "CompromisedCredentialsRiskConfiguration": { + "Actions": { + "EventAction": "BLOCK" + }, + "EventFilter": [ + "PASSWORD_CHANGE", + "SIGN_UP", + "SIGN_IN" + ] + }, + "RiskExceptionConfiguration": { + "BlockedIPRangeList": [ + "192.0.2.1/32", + "192.0.2.2/32" + ], + "SkippedIPRangeList": [ + "203.0.113.1/32", + "203.0.113.2/32" + ] + }, + "UserPoolId": "us-west-2_EXAMPLE" + } + } + +For more information, see `Threat protection `__ in the *Amazon Cognito Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cognito-idp/set-ui-customization.rst b/awscli/examples/cognito-idp/set-ui-customization.rst index 7864e3a7bc51..39d505ee92e8 100644 --- a/awscli/examples/cognito-idp/set-ui-customization.rst +++ b/awscli/examples/cognito-idp/set-ui-customization.rst @@ -1,18 +1,45 @@ -**To set UI customization** - -This example customizes the CSS setting for a user pool. - -Command:: - - aws cognito-idp set-ui-customization --user-pool-id us-west-2_aaaaaaaaa --css ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 10px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 300;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 14px;\n\tfont-weight: bold;\n\tmargin: 20px 0px 10px 0px;\n\theight: 40px;\n\twidth: 100%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\theight: 40px;\n\ttext-align: left;\n\twidth: 100%;\n\tmargin-bottom: 15px;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #faf;\n}\n" - -Output:: - - { - "UICustomization": { - "UserPoolId": "us-west-2_aaaaaaaaa", - "ClientId": "ALL", - "CSS": ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 10px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 300;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 14px;\n\tfont-weight: bold;\n\tmargin: 20px 0px 10px 0px;\n\theight: 40px;\n\twidth: 100%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\theight: 40px;\n\ttext-align: left;\n\twidth: 100%;\n\tmargin-bottom: 15px;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #faf;\n}\n", - "CSSVersion": "20190129172214" - } - } \ No newline at end of file +**Example 1: To customize the classic hosted UI for an app client** + +The following ``set-ui-customization`` example configures the requested app client with some custom CSS and with the Amazon Cognito logo as the application logo. :: + + aws cognito-idp set-ui-customization \ + --user-pool-id us-west-2_ywDJHlIfU \ + --client-id 14pq32c5q2uq2q7keorloqvb23 \ + --css ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 0px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 400;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 11px;\n\tfont-weight: normal;\n\tmargin: 20px -15px 10px -13px;\n\theight: 40px;\n\twidth: 108%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n\ttext-align: center;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n\tborder-radius: 0px;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\tborder-radius: 2px;\n\theight: 40px;\n\tmargin-bottom: 15px;\n\tpadding: 1px;\n\ttext-align: left;\n\twidth: 100%;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #fff;\n}\n" \ + --image-file iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA2UExURd00TN9BV/Cmsfvm6f3y9P////fM0uqAj+yNmu6ZpvnZ3eNabuFNYuZneehzhPKzvPTAxwAAAOiMMlkAAAASdFJOU///////////////////////AOK/vxIAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKDSURBVFhH7ZfpkoMgEISDHKuEw/d/2u2BQWMiBrG29o+fVsKatdPMAeZxc3Nz8w+ISekzmB++sYIw/I/tjHzrPpO2Tx62EbR2PNxFac+jVuKxRaV50IzXkUe76NOCoUuwlvnQKei02gNF0ykotOLRBq/nboeWRxAISx2EbsHFoRhK6Igk2JJlwScfQjgt06dOaWWiTbEDAe/iq8N9kqCw2uCbHkHlYkaXEF8EYeL9RDqT4FhC6XMIIEifdcUwCc4leNyhabadWU6OlKYJE1Oac3NSPhB5rlaXlSgmr/1lww4nPaU/1ylfLGxX1r6Y66ZZkCqvnOlqKWws59ELj7fULc2CubwySYkdDuuiY0/F0L6Q5pZiSG0SfZTSTCOUhxOCH1AdIoCpTTIjtd+VpEjUDDytQH/0Fpc661Aisas/4qmyUItD557pSCOSQQzlx27J+meyDGc5zZgfhWuXE1lGgmVOMwmWdeGdzhjqZV14x5vSj7vsC5JDz/Cl0Vhp56n2NQt1wQIpury1EPbwyaYm+IhmAQKoajkH51wg4cMZ1wQ3QG9efKWWOaDhYWnU6jXjCMdRmm21PArI+Pb5DYoH93hq0ZCPlxeGJho/DI15C6sQc/L2sTC47UFBKZGHT6k+zlXg7WebA0Nr0HTcLMfk/Y4Rc65D3iG6WDd7YLSlVqk87bVhUwhnClrx11RsVQwlAA818Mn+QEs71BhSFU6orsUfKhHp72XMGYXi4q9c64RXRvzkWurRfG2vI2be/VaNcNgpX0Evb/vio7nPMmj5qujkpQgSaPd1UcVqciHFDNZpOcGlcOPyi+AamCbIL9fitxAGeFN2Dl+3vZubm5u/4fH4Bd14HhIPdwZPAAAAAElFTkSuQmCC + +Output:: + + { + "UICustomization": { + "UserPoolId": "us-west-2_ywDJHlIfU", + "ClientId": "14pq32c5q2uq2q7keorloqvb23", + "ImageUrl": "https://cf.thewrong.club/14pq32c5q2uq2q7keorloqvb23/20250117005911/assets/images/image.jpg", + "CSS": ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 0px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 400;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 11px;\n\tfont-weight: normal;\n\tmargin: 20px -15px 10px -13px;\n\theight: 40px;\n\twidth: 108%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n\ttext-align: center;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n\tborder-radius: 0px;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\tborder-radius: 2px;\n\theight: 40px;\n\tmargin-bottom: 15px;\n\tpadding: 1px;\n\ttext-align: left;\n\twidth: 100%;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #fff;\n}\n", + "CSSVersion": "20250117005911" + } + } + +**Example 2: To set the default UI customization for all app clients** + +The following ``set-ui-customization`` example configures the requested user pool for all app clients that don't have a client-specific configuration. The command applies some custom CSS and with the Amazon Cognito logo as the application logo. :: + + aws cognito-idp set-ui-customization \ + --user-pool-id us-west-2_ywDJHlIfU \ + --client-id ALL \ + --css ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 0px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 400;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 11px;\n\tfont-weight: normal;\n\tmargin: 20px -15px 10px -13px;\n\theight: 40px;\n\twidth: 108%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n\ttext-align: center;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n\tborder-radius: 0px;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\tborder-radius: 2px;\n\theight: 40px;\n\tmargin-bottom: 15px;\n\tpadding: 1px;\n\ttext-align: left;\n\twidth: 100%;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #fff;\n}\n" \ + --image-file iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA2UExURd00TN9BV/Cmsfvm6f3y9P////fM0uqAj+yNmu6ZpvnZ3eNabuFNYuZneehzhPKzvPTAxwAAAOiMMlkAAAASdFJOU///////////////////////AOK/vxIAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKDSURBVFhH7ZfpkoMgEISDHKuEw/d/2u2BQWMiBrG29o+fVsKatdPMAeZxc3Nz8w+ISekzmB++sYIw/I/tjHzrPpO2Tx62EbR2PNxFac+jVuKxRaV50IzXkUe76NOCoUuwlvnQKei02gNF0ykotOLRBq/nboeWRxAISx2EbsHFoRhK6Igk2JJlwScfQjgt06dOaWWiTbEDAe/iq8N9kqCw2uCbHkHlYkaXEF8EYeL9RDqT4FhC6XMIIEifdcUwCc4leNyhabadWU6OlKYJE1Oac3NSPhB5rlaXlSgmr/1lww4nPaU/1ylfLGxX1r6Y66ZZkCqvnOlqKWws59ELj7fULc2CubwySYkdDuuiY0/F0L6Q5pZiSG0SfZTSTCOUhxOCH1AdIoCpTTIjtd+VpEjUDDytQH/0Fpc661Aisas/4qmyUItD557pSCOSQQzlx27J+meyDGc5zZgfhWuXE1lGgmVOMwmWdeGdzhjqZV14x5vSj7vsC5JDz/Cl0Vhp56n2NQt1wQIpury1EPbwyaYm+IhmAQKoajkH51wg4cMZ1wQ3QG9efKWWOaDhYWnU6jXjCMdRmm21PArI+Pb5DYoH93hq0ZCPlxeGJho/DI15C6sQc/L2sTC47UFBKZGHT6k+zlXg7WebA0Nr0HTcLMfk/Y4Rc65D3iG6WDd7YLSlVqk87bVhUwhnClrx11RsVQwlAA818Mn+QEs71BhSFU6orsUfKhHp72XMGYXi4q9c64RXRvzkWurRfG2vI2be/VaNcNgpX0Evb/vio7nPMmj5qujkpQgSaPd1UcVqciHFDNZpOcGlcOPyi+AamCbIL9fitxAGeFN2Dl+3vZubm5u/4fH4Bd14HhIPdwZPAAAAAElFTkSuQmCC + +Output:: + + { + "UICustomization": { + "UserPoolId": "us-west-2_ywDJHlIfU", + "ClientId": "14pq32c5q2uq2q7keorloqvb23", + "ImageUrl": "https://cf.thewrong.club/14pq32c5q2uq2q7keorloqvb23/20250117005911/assets/images/image.jpg", + "CSS": ".logo-customizable {\n\tmax-width: 60%;\n\tmax-height: 30%;\n}\n.banner-customizable {\n\tpadding: 25px 0px 25px 0px;\n\tbackground-color: lightgray;\n}\n.label-customizable {\n\tfont-weight: 400;\n}\n.textDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.idpDescription-customizable {\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\tdisplay: block;\n\tfont-size: 16px;\n}\n.legalText-customizable {\n\tcolor: #747474;\n\tfont-size: 11px;\n}\n.submitButton-customizable {\n\tfont-size: 11px;\n\tfont-weight: normal;\n\tmargin: 20px -15px 10px -13px;\n\theight: 40px;\n\twidth: 108%;\n\tcolor: #fff;\n\tbackground-color: #337ab7;\n\ttext-align: center;\n}\n.submitButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #286090;\n}\n.errorMessage-customizable {\n\tpadding: 5px;\n\tfont-size: 14px;\n\twidth: 100%;\n\tbackground: #F5F5F5;\n\tborder: 2px solid #D64958;\n\tcolor: #D64958;\n}\n.inputField-customizable {\n\twidth: 100%;\n\theight: 34px;\n\tcolor: #555;\n\tbackground-color: #fff;\n\tborder: 1px solid #ccc;\n\tborder-radius: 0px;\n}\n.inputField-customizable:focus {\n\tborder-color: #66afe9;\n\toutline: 0;\n}\n.idpButton-customizable {\n\theight: 40px;\n\twidth: 100%;\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 15px;\n\tcolor: #fff;\n\tbackground-color: #5bc0de;\n\tborder-color: #46b8da;\n}\n.idpButton-customizable:hover {\n\tcolor: #fff;\n\tbackground-color: #31b0d5;\n}\n.socialButton-customizable {\n\tborder-radius: 2px;\n\theight: 40px;\n\tmargin-bottom: 15px;\n\tpadding: 1px;\n\ttext-align: left;\n\twidth: 100%;\n}\n.redirect-customizable {\n\ttext-align: center;\n}\n.passwordCheck-notValid-customizable {\n\tcolor: #DF3312;\n}\n.passwordCheck-valid-customizable {\n\tcolor: #19BF00;\n}\n.background-customizable {\n\tbackground-color: #fff;\n}\n", + "CSSVersion": "20250117005911" + } + } + +For more information, see `Hosted UI (classic) branding `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/set-user-mfa-preference.rst b/awscli/examples/cognito-idp/set-user-mfa-preference.rst index b1cd207010b2..4df1f77a318a 100644 --- a/awscli/examples/cognito-idp/set-user-mfa-preference.rst +++ b/awscli/examples/cognito-idp/set-user-mfa-preference.rst @@ -1,12 +1,13 @@ -**To set user MFA settings** +**To set a user's MFA preference** -The following ``set-user-mfa-preference`` example modifies the MFA delivery options. It changes the MFA delivery medium to SMS. :: +The following ``set-user-mfa-preference`` example configures the current user to use TOTP MFA and disables all other MFA factors. :: aws cognito-idp set-user-mfa-preference \ - --access-token "eyJra12345EXAMPLE" \ + --access-token eyJra456defEXAMPLE \ --software-token-mfa-settings Enabled=true,PreferredMfa=true \ - --sms-mfa-settings Enabled=false,PreferredMfa=false + --sms-mfa-settings Enabled=false,PreferredMfa=false \ + --email-mfa-settings Enabled=false,PreferredMfa=false This command produces no output. -For more information, see `Adding MFA to a user pool `__ in the *Amazon Cognito Developer Guide*. \ No newline at end of file +For more information, see `Adding MFA `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/set-user-pool-mfa-config.rst b/awscli/examples/cognito-idp/set-user-pool-mfa-config.rst new file mode 100644 index 000000000000..e973739ea474 --- /dev/null +++ b/awscli/examples/cognito-idp/set-user-pool-mfa-config.rst @@ -0,0 +1,38 @@ +**To configure user pool MFA and WebAuthn** + +The following ``set-user-pool-mfa-config`` example configures the requested user pool with optional MFA with all available MFA methods, and sets the WebAuthn configuration. :: + + aws cognito-idp set-user-pool-mfa-config \ + --user-pool-id us-west-2_EXAMPLE \ + --sms-mfa-configuration "SmsAuthenticationMessage=\"Your OTP for MFA or sign-in: use {####}.\",SmsConfiguration={SnsCallerArn=arn:aws:iam::123456789012:role/service-role/test-SMS-Role,ExternalId=a1b2c3d4-5678-90ab-cdef-EXAMPLE11111,SnsRegion=us-west-2}" \ + --software-token-mfa-configuration Enabled=true \ + --email-mfa-configuration "Message=\"Your OTP for MFA or sign-in: use {####}\",Subject=\"OTP test\"" \ + --mfa-configuration OPTIONAL \ + --web-authn-configuration RelyingPartyId=auth.example.com,UserVerification=preferred + +Output:: + + { + "EmailMfaConfiguration": { + "Message": "Your OTP for MFA or sign-in: use {####}", + "Subject": "OTP test" + }, + "MfaConfiguration": "OPTIONAL", + "SmsMfaConfiguration": { + "SmsAuthenticationMessage": "Your OTP for MFA or sign-in: use {####}.", + "SmsConfiguration": { + "ExternalId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "SnsCallerArn": "arn:aws:iam::123456789012:role/service-role/test-SMS-Role", + "SnsRegion": "us-west-2" + } + }, + "SoftwareTokenMfaConfiguration": { + "Enabled": true + }, + "WebAuthnConfiguration": { + "RelyingPartyId": "auth.example.com", + "UserVerification": "preferred" + } + } + +For more information, see `Adding MFA `__ and `Passkey sign-in `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/start-user-import-job.rst b/awscli/examples/cognito-idp/start-user-import-job.rst index e33be386eccd..17e79d493946 100644 --- a/awscli/examples/cognito-idp/start-user-import-job.rst +++ b/awscli/examples/cognito-idp/start-user-import-job.rst @@ -1,29 +1,27 @@ -**To start a user import job** - -This example starts a user input job. - -For more information about importing users, see `Importing Users into User Pools From a CSV File`_. - -Command:: - - aws cognito-idp start-user-import-job --user-pool-id us-west-2_aaaaaaaaa --job-id import-TZqNQvDRnW - -Output:: - - { - "UserImportJob": { - "JobName": "import-Test10", - "JobId": "import-lmpxSOuIzH", - "UserPoolId": "us-west-2_aaaaaaaaa", - "PreSignedUrl": "PRE_SIGNED_URL", - "CreationDate": 1548278378.928, - "StartDate": 1548278397.334, - "Status": "Pending", - "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", - "ImportedUsers": 0, - "SkippedUsers": 0, - "FailedUsers": 0 - } - } - -.. _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file +**To start an import job** + +The following ``start-user-import-job`` example starts the requested import job in the requested user pool. :: + + aws cognito-idp start-user-import-job \ + --user-pool-id us-west-2_EXAMPLE \ + --job-id import-mAgUtd8PMm + +Output:: + + { + "UserImportJob": { + "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/example-cloudwatch-logs-role", + "CreationDate": 1736442975.904, + "FailedUsers": 0, + "ImportedUsers": 0, + "JobId": "import-mAgUtd8PMm", + "JobName": "Customer import", + "PreSignedUrl": "https://aws-cognito-idp-user-import-pdx.s3.us-west-2.amazonaws.com/123456789012/us-west-2_EXAMPLE/import-mAgUtd8PMm?X-Amz-Security-Token=[token]&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20241226T193341Z&X-Amz-SignedHeaders=host%3Bx-amz-server-side-encryption&X-Amz-Expires=899&X-Amz-Credential=[credential]&X-Amz-Signature=[signature]", + "SkippedUsers": 0, + "StartDate": 1736443020.081, + "Status": "Pending", + "UserPoolId": "us-west-2_EXAMPLE" + } + } + +For more information, see `Importing users into a user pool `__ in the *Amazon Cognito Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cognito-idp/start-web-authn-registration.rst b/awscli/examples/cognito-idp/start-web-authn-registration.rst new file mode 100644 index 000000000000..35a49b83c58f --- /dev/null +++ b/awscli/examples/cognito-idp/start-web-authn-registration.rst @@ -0,0 +1,47 @@ +**To get passkey registration information for a signed-in user** + +The following ``start-web-authn-registration`` example generates WebAuthn registration options for the current user. :: + + aws cognito-idp start-web-authn-registration \ + --access-token eyJra456defEXAMPLE + +Output:: + + { + "CredentialCreationOptions": { + "authenticatorSelection": { + "requireResidentKey": true, + "residentKey": "required", + "userVerification": "preferred" + }, + "challenge": "wxvbDicyqQqvF2EXAMPLE", + "excludeCredentials": [ + { + "id": "8LApgk4-lNUFHbhm2w6Und7-uxcc8coJGsPxiogvHoItc64xWQc3r4CEXAMPLE", + "type": "public-key" + } + ], + "pubKeyCredParams": [ + { + "alg": -7, + "type": "public-key" + }, + { + "alg": -257, + "type": "public-key" + } + ], + "rp": { + "id": "auth.example.com", + "name": "auth.example.com" + }, + "timeout": 60000, + "user": { + "displayName": "testuser", + "id": "ZWFhZDAyMTktMjExNy00MzlmLThkNDYtNGRiMjBlNEXAMPLE", + "name": "testuser" + } + } + } + +For more information, see `Passkey sign-in `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/stop-user-import-job.rst b/awscli/examples/cognito-idp/stop-user-import-job.rst index 4d62b7f1534d..eb24e9233971 100644 --- a/awscli/examples/cognito-idp/stop-user-import-job.rst +++ b/awscli/examples/cognito-idp/stop-user-import-job.rst @@ -1,31 +1,29 @@ -**To stop a user import job** - -This example stops a user input job. - -For more information about importing users, see `Importing Users into User Pools From a CSV File`_. - -Command:: - - aws cognito-idp stop-user-import-job --user-pool-id us-west-2_aaaaaaaaa --job-id import-TZqNQvDRnW - -Output:: - - { - "UserImportJob": { - "JobName": "import-Test5", - "JobId": "import-Fx0kARISFL", - "UserPoolId": "us-west-2_aaaaaaaaa", - "PreSignedUrl": "PRE_SIGNED_URL", - "CreationDate": 1548278576.259, - "StartDate": 1548278623.366, - "CompletionDate": 1548278626.741, - "Status": "Stopped", - "CloudWatchLogsRoleArn": "arn:aws:iam::111111111111:role/CognitoCloudWatchLogsRole", - "ImportedUsers": 0, - "SkippedUsers": 0, - "FailedUsers": 0, - "CompletionMessage": "The Import Job was stopped by the developer." - } - } - -.. _`Importing Users into User Pools From a CSV File`: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html \ No newline at end of file +**To stop an import job** + +The following ``stop-user-import-job`` example stops the requested running user import job in the requested user pool. :: + + aws cognito-idp stop-user-import-job \ + --user-pool-id us-west-2_EXAMPLE \ + --job-id import-mAgUtd8PMm + +Output:: + + { + "UserImportJob": { + "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/example-cloudwatch-logs-role", + "CompletionDate": 1736443496.379, + "CompletionMessage": "The Import Job was stopped by the developer.", + "CreationDate": 1736443471.781, + "FailedUsers": 0, + "ImportedUsers": 0, + "JobId": "import-mAgUtd8PMm", + "JobName": "Customer import", + "PreSignedUrl": "https://aws-cognito-idp-user-import-pdx.s3.us-west-2.amazonaws.com/123456789012/us-west-2_EXAMPLE/import-mAgUtd8PMm?X-Amz-Security-Token=[token]&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20241226T193341Z&X-Amz-SignedHeaders=host%3Bx-amz-server-side-encryption&X-Amz-Expires=899&X-Amz-Credential=[credential]&X-Amz-Signature=[signature]", + "SkippedUsers": 0, + "StartDate": 1736443494.154, + "Status": "Stopped", + "UserPoolId": "us-west-2_EXAMPLE" + } + } + +For more information, see `Importing users into a user pool `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/tag-resource.rst b/awscli/examples/cognito-idp/tag-resource.rst new file mode 100644 index 000000000000..43f8cc3f8ab9 --- /dev/null +++ b/awscli/examples/cognito-idp/tag-resource.rst @@ -0,0 +1,11 @@ +**To tag a user pool** + +The following ``tag-resource`` example applies ``administrator`` and ``department`` tags to the requested user pool. :: + + aws cognito-idp tag-resource \ + --resource-arn arn:aws:cognito-idp:us-west-2:123456789012:userpool/us-west-2_EXAMPLE \ + --tags administrator=Jie,tenant=ExampleCorp + +This command produces no output. + +For more information, see `Tagging Amazon Cognito resources `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/untag-resource.rst b/awscli/examples/cognito-idp/untag-resource.rst new file mode 100644 index 000000000000..0582bce9249f --- /dev/null +++ b/awscli/examples/cognito-idp/untag-resource.rst @@ -0,0 +1,11 @@ +**To remove tags from a user pool** + +The following ``untag-resource`` example removes ``administrator`` and ``department`` tags from the requested user pool. :: + + aws cognito-idp untag-resource \ + --resource-arn arn:aws:cognito-idp:us-west-2:767671399759:userpool/us-west-2_l5cxwdm2K \ + --tag-keys administrator tenant + +This command produces no output. + +For more information, see `Tagging Amazon Cognito resources `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/update-identity-provider.rst b/awscli/examples/cognito-idp/update-identity-provider.rst new file mode 100644 index 000000000000..cdcc48409ea9 --- /dev/null +++ b/awscli/examples/cognito-idp/update-identity-provider.rst @@ -0,0 +1,71 @@ +**To update a user pool identity provider** + +The following ``update-identity-provider`` example updates the OIDC provider "MyOIDCIdP" in the requested user pool. :: + + aws cognito-idp update-identity-provider \ + --cli-input-json file://update-identity-provider.json + +Contents of ``update-identity-provider.json``:: + + { + "AttributeMapping": { + "email": "idp_email", + "email_verified": "idp_email_verified", + "username": "sub" + }, + "CreationDate": 1.701129701653E9, + "IdpIdentifiers": [ + "corp", + "dev" + ], + "LastModifiedDate": 1.701129701653E9, + "ProviderDetails": { + "attributes_request_method": "GET", + "attributes_url": "https://example.com/userInfo", + "attributes_url_add_attributes": "false", + "authorize_scopes": "openid profile", + "authorize_url": "https://example.com/authorize", + "client_id": "idpexampleclient123", + "client_secret": "idpexamplesecret456", + "jwks_uri": "https://example.com/.well-known/jwks.json", + "oidc_issuer": "https://example.com", + "token_url": "https://example.com/token" + }, + "ProviderName": "MyOIDCIdP", + "UserPoolId": "us-west-2_EXAMPLE" + } + +Output:: + + { + "IdentityProvider": { + "AttributeMapping": { + "email": "idp_email", + "email_verified": "idp_email_verified", + "username": "sub" + }, + "CreationDate": 1701129701.653, + "IdpIdentifiers": [ + "corp", + "dev" + ], + "LastModifiedDate": 1736444278.211, + "ProviderDetails": { + "attributes_request_method": "GET", + "attributes_url": "https://example.com/userInfo", + "attributes_url_add_attributes": "false", + "authorize_scopes": "openid profile", + "authorize_url": "https://example.com/authorize", + "client_id": "idpexampleclient123", + "client_secret": "idpexamplesecret456", + "jwks_uri": "https://example.com/.well-known/jwks.json", + "oidc_issuer": "https://example.com", + "token_url": "https://example.com/token" + }, + "ProviderName": "MyOIDCIdP", + "ProviderType": "OIDC", + "UserPoolId": "us-west-2_EXAMPLE" + } + } + +For more information, see `Configuring a domain `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/update-managed-login-branding.rst b/awscli/examples/cognito-idp/update-managed-login-branding.rst new file mode 100644 index 000000000000..c968630b6751 --- /dev/null +++ b/awscli/examples/cognito-idp/update-managed-login-branding.rst @@ -0,0 +1,949 @@ +**To update a managed login branding style** + +The following ``update-managed-login-branding`` example updates the requested app client branding style. :: + + aws cognito-idp update-managed-login-branding \ + --cli-input-json file://update-managed-login-branding.json + +Contents of ``update-managed-login-branding.json``:: + + { + "Assets": [ + { + "Bytes": "PHN2ZyB3aWR0aD0iMjAwMDAiIGhlaWdodD0iNDAwIiB2aWV3Qm94PSIwIDAgMjAwMDAgNDAwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTcyNTlfMjM2Njc0KSI+CjxyZWN0IHdpZHRoPSIyMDAwMCIgaGVpZ2h0PSI0MDAiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8xNzI1OV8yMzY2NzQpIi8+CjxwYXRoIGQ9Ik0wIDBIMjAwMDBWNDAwSDBWMFoiIGZpbGw9IiMxMjIwMzciIGZpbGwtb3BhY2l0eT0iMC41Ii8+CjwvZz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8xNzI1OV8yMzY2NzQiIHgxPSItODk0LjI0OSIgeTE9IjE5OS45MzEiIHgyPSIxODAzNC41IiB5Mj0iLTU4OTkuNTciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0JGODBGRiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjhGQUIiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xNzI1OV8yMzY2NzQiPgo8cmVjdCB3aWR0aD0iMjAwMDAiIGhlaWdodD0iNDAwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=", + "Category": "PAGE_FOOTER_BACKGROUND", + "ColorMode": "DARK", + "Extension": "SVG" + } + ], + "ManagedLoginBrandingId": "63f30090-6b1f-4278-b885-2bbb81f8e545", + "Settings": { + "categories": { + "auth": { + "authMethodOrder": [ + [ + { + "display": "BUTTON", + "type": "FEDERATED" + }, + { + "display": "INPUT", + "type": "USERNAME_PASSWORD" + } + ] + ], + "federation": { + "interfaceStyle": "BUTTON_LIST", + "order": [ + ] + } + }, + "form": { + "displayGraphics": true, + "instructions": { + "enabled": false + }, + "languageSelector": { + "enabled": false + }, + "location": { + "horizontal": "CENTER", + "vertical": "CENTER" + }, + "sessionTimerDisplay": "NONE" + }, + "global": { + "colorSchemeMode": "LIGHT", + "pageFooter": { + "enabled": false + }, + "pageHeader": { + "enabled": false + }, + "spacingDensity": "REGULAR" + }, + "signUp": { + "acceptanceElements": [ + { + "enforcement": "NONE", + "textKey": "en" + } + ] + } + }, + "componentClasses": { + "buttons": { + "borderRadius": 8.0 + }, + "divider": { + "darkMode": { + "borderColor": "232b37ff" + }, + "lightMode": { + "borderColor": "ebebf0ff" + } + }, + "dropDown": { + "borderRadius": 8.0, + "darkMode": { + "defaults": { + "itemBackgroundColor": "192534ff" + }, + "hover": { + "itemBackgroundColor": "081120ff", + "itemBorderColor": "5f6b7aff", + "itemTextColor": "e9ebedff" + }, + "match": { + "itemBackgroundColor": "d1d5dbff", + "itemTextColor": "89bdeeff" + } + }, + "lightMode": { + "defaults": { + "itemBackgroundColor": "ffffffff" + }, + "hover": { + "itemBackgroundColor": "f4f4f4ff", + "itemBorderColor": "7d8998ff", + "itemTextColor": "000716ff" + }, + "match": { + "itemBackgroundColor": "414d5cff", + "itemTextColor": "0972d3ff" + } + } + }, + "focusState": { + "darkMode": { + "borderColor": "539fe5ff" + }, + "lightMode": { + "borderColor": "0972d3ff" + } + }, + "idpButtons": { + "icons": { + "enabled": true + } + }, + "input": { + "borderRadius": 8.0, + "darkMode": { + "defaults": { + "backgroundColor": "0f1b2aff", + "borderColor": "5f6b7aff" + }, + "placeholderColor": "8d99a8ff" + }, + "lightMode": { + "defaults": { + "backgroundColor": "ffffffff", + "borderColor": "7d8998ff" + }, + "placeholderColor": "5f6b7aff" + } + }, + "inputDescription": { + "darkMode": { + "textColor": "8d99a8ff" + }, + "lightMode": { + "textColor": "5f6b7aff" + } + }, + "inputLabel": { + "darkMode": { + "textColor": "d1d5dbff" + }, + "lightMode": { + "textColor": "000716ff" + } + }, + "link": { + "darkMode": { + "defaults": { + "textColor": "539fe5ff" + }, + "hover": { + "textColor": "89bdeeff" + } + }, + "lightMode": { + "defaults": { + "textColor": "0972d3ff" + }, + "hover": { + "textColor": "033160ff" + } + } + }, + "optionControls": { + "darkMode": { + "defaults": { + "backgroundColor": "0f1b2aff", + "borderColor": "7d8998ff" + }, + "selected": { + "backgroundColor": "539fe5ff", + "foregroundColor": "000716ff" + } + }, + "lightMode": { + "defaults": { + "backgroundColor": "ffffffff", + "borderColor": "7d8998ff" + }, + "selected": { + "backgroundColor": "0972d3ff", + "foregroundColor": "ffffffff" + } + } + }, + "statusIndicator": { + "darkMode": { + "error": { + "backgroundColor": "1a0000ff", + "borderColor": "eb6f6fff", + "indicatorColor": "eb6f6fff" + }, + "pending": { + "indicatorColor": "AAAAAAAA" + }, + "success": { + "backgroundColor": "001a02ff", + "borderColor": "29ad32ff", + "indicatorColor": "29ad32ff" + }, + "warning": { + "backgroundColor": "1d1906ff", + "borderColor": "e0ca57ff", + "indicatorColor": "e0ca57ff" + } + }, + "lightMode": { + "error": { + "backgroundColor": "fff7f7ff", + "borderColor": "d91515ff", + "indicatorColor": "d91515ff" + }, + "pending": { + "indicatorColor": "AAAAAAAA" + }, + "success": { + "backgroundColor": "f2fcf3ff", + "borderColor": "037f0cff", + "indicatorColor": "037f0cff" + }, + "warning": { + "backgroundColor": "fffce9ff", + "borderColor": "8d6605ff", + "indicatorColor": "8d6605ff" + } + } + } + }, + "components": { + "alert": { + "borderRadius": 12.0, + "darkMode": { + "error": { + "backgroundColor": "1a0000ff", + "borderColor": "eb6f6fff" + } + }, + "lightMode": { + "error": { + "backgroundColor": "fff7f7ff", + "borderColor": "d91515ff" + } + } + }, + "favicon": { + "enabledTypes": [ + "ICO", + "SVG" + ] + }, + "form": { + "backgroundImage": { + "enabled": false + }, + "borderRadius": 8.0, + "darkMode": { + "backgroundColor": "0f1b2aff", + "borderColor": "424650ff" + }, + "lightMode": { + "backgroundColor": "ffffffff", + "borderColor": "c6c6cdff" + }, + "logo": { + "enabled": false, + "formInclusion": "IN", + "location": "CENTER", + "position": "TOP" + } + }, + "idpButton": { + "custom": { + }, + "standard": { + "darkMode": { + "active": { + "backgroundColor": "354150ff", + "borderColor": "89bdeeff", + "textColor": "89bdeeff" + }, + "defaults": { + "backgroundColor": "0f1b2aff", + "borderColor": "c6c6cdff", + "textColor": "c6c6cdff" + }, + "hover": { + "backgroundColor": "192534ff", + "borderColor": "89bdeeff", + "textColor": "89bdeeff" + } + }, + "lightMode": { + "active": { + "backgroundColor": "d3e7f9ff", + "borderColor": "033160ff", + "textColor": "033160ff" + }, + "defaults": { + "backgroundColor": "ffffffff", + "borderColor": "424650ff", + "textColor": "424650ff" + }, + "hover": { + "backgroundColor": "f2f8fdff", + "borderColor": "033160ff", + "textColor": "033160ff" + } + } + } + }, + "pageBackground": { + "darkMode": { + "color": "0f1b2aff" + }, + "image": { + "enabled": true + }, + "lightMode": { + "color": "ffffffff" + } + }, + "pageFooter": { + "backgroundImage": { + "enabled": false + }, + "darkMode": { + "background": { + "color": "0f141aff" + }, + "borderColor": "424650ff" + }, + "lightMode": { + "background": { + "color": "fafafaff" + }, + "borderColor": "d5dbdbff" + }, + "logo": { + "enabled": false, + "location": "START" + } + }, + "pageHeader": { + "backgroundImage": { + "enabled": false + }, + "darkMode": { + "background": { + "color": "0f141aff" + }, + "borderColor": "424650ff" + }, + "lightMode": { + "background": { + "color": "fafafaff" + }, + "borderColor": "d5dbdbff" + }, + "logo": { + "enabled": false, + "location": "START" + } + }, + "pageText": { + "darkMode": { + "bodyColor": "b6bec9ff", + "descriptionColor": "b6bec9ff", + "headingColor": "d1d5dbff" + }, + "lightMode": { + "bodyColor": "414d5cff", + "descriptionColor": "414d5cff", + "headingColor": "000716ff" + } + }, + "phoneNumberSelector": { + "displayType": "TEXT" + }, + "primaryButton": { + "darkMode": { + "active": { + "backgroundColor": "539fe5ff", + "textColor": "000716ff" + }, + "defaults": { + "backgroundColor": "539fe5ff", + "textColor": "000716ff" + }, + "disabled": { + "backgroundColor": "ffffffff", + "borderColor": "ffffffff" + }, + "hover": { + "backgroundColor": "89bdeeff", + "textColor": "000716ff" + } + }, + "lightMode": { + "active": { + "backgroundColor": "033160ff", + "textColor": "ffffffff" + }, + "defaults": { + "backgroundColor": "0972d3ff", + "textColor": "ffffffff" + }, + "disabled": { + "backgroundColor": "ffffffff", + "borderColor": "ffffffff" + }, + "hover": { + "backgroundColor": "033160ff", + "textColor": "ffffffff" + } + } + }, + "secondaryButton": { + "darkMode": { + "active": { + "backgroundColor": "354150ff", + "borderColor": "89bdeeff", + "textColor": "89bdeeff" + }, + "defaults": { + "backgroundColor": "0f1b2aff", + "borderColor": "539fe5ff", + "textColor": "539fe5ff" + }, + "hover": { + "backgroundColor": "192534ff", + "borderColor": "89bdeeff", + "textColor": "89bdeeff" + } + }, + "lightMode": { + "active": { + "backgroundColor": "d3e7f9ff", + "borderColor": "033160ff", + "textColor": "033160ff" + }, + "defaults": { + "backgroundColor": "ffffffff", + "borderColor": "0972d3ff", + "textColor": "0972d3ff" + }, + "hover": { + "backgroundColor": "f2f8fdff", + "borderColor": "033160ff", + "textColor": "033160ff" + } + } + } + } + }, + "UseCognitoProvidedValues": false, + "UserPoolId": "ca-central-1_EXAMPLE" + } + +Output:: + + { + "ManagedLoginBranding": { + "Assets": [ + { + "Bytes": "PHN2ZyB3aWR0aD0iMjAwMDAiIGhlaWdodD0iNDAwIiB2aWV3Qm94PSIwIDAgMjAwMDAgNDAwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTcyNTlfMjM2Njc0KSI+CjxyZWN0IHdpZHRoPSIyMDAwMCIgaGVpZ2h0PSI0MDAiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8xNzI1OV8yMzY2NzQpIi8+CjxwYXRoIGQ9Ik0wIDBIMjAwMDBWNDAwSDBWMFoiIGZpbGw9IiMxMjIwMzciIGZpbGwtb3BhY2l0eT0iMC41Ii8+CjwvZz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8xNzI1OV8yMzY2NzQiIHgxPSItODk0LjI0OSIgeTE9IjE5OS45MzEiIHgyPSIxODAzNC41IiB5Mj0iLTU4OTkuNTciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0JGODBGRiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjhGQUIiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xNzI1OV8yMzY2NzQiPgo8cmVjdCB3aWR0aD0iMjAwMDAiIGhlaWdodD0iNDAwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=", + "Category": "PAGE_FOOTER_BACKGROUND", + "ColorMode": "DARK", + "Extension": "SVG" + } + ], + "CreationDate": 1732138490.642, + "LastModifiedDate": 1732140420.301, + "ManagedLoginBrandingId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "Settings": { + "categories": { + "auth": { + "authMethodOrder": [ + [ + { + "display": "BUTTON", + "type": "FEDERATED" + }, + { + "display": "INPUT", + "type": "USERNAME_PASSWORD" + } + ] + ], + "federation": { + "interfaceStyle": "BUTTON_LIST", + "order": [ + ] + } + }, + "form": { + "displayGraphics": true, + "instructions": { + "enabled": false + }, + "languageSelector": { + "enabled": false + }, + "location": { + "horizontal": "CENTER", + "vertical": "CENTER" + }, + "sessionTimerDisplay": "NONE" + }, + "global": { + "colorSchemeMode": "LIGHT", + "pageFooter": { + "enabled": false + }, + "pageHeader": { + "enabled": false + }, + "spacingDensity": "REGULAR" + }, + "signUp": { + "acceptanceElements": [ + { + "enforcement": "NONE", + "textKey": "en" + } + ] + } + }, + "componentClasses": { + "buttons": { + "borderRadius": 8.0 + }, + "divider": { + "darkMode": { + "borderColor": "232b37ff" + }, + "lightMode": { + "borderColor": "ebebf0ff" + } + }, + "dropDown": { + "borderRadius": 8.0, + "darkMode": { + "defaults": { + "itemBackgroundColor": "192534ff" + }, + "hover": { + "itemBackgroundColor": "081120ff", + "itemBorderColor": "5f6b7aff", + "itemTextColor": "e9ebedff" + }, + "match": { + "itemBackgroundColor": "d1d5dbff", + "itemTextColor": "89bdeeff" + } + }, + "lightMode": { + "defaults": { + "itemBackgroundColor": "ffffffff" + }, + "hover": { + "itemBackgroundColor": "f4f4f4ff", + "itemBorderColor": "7d8998ff", + "itemTextColor": "000716ff" + }, + "match": { + "itemBackgroundColor": "414d5cff", + "itemTextColor": "0972d3ff" + } + } + }, + "focusState": { + "darkMode": { + "borderColor": "539fe5ff" + }, + "lightMode": { + "borderColor": "0972d3ff" + } + }, + "idpButtons": { + "icons": { + "enabled": true + } + }, + "input": { + "borderRadius": 8.0, + "darkMode": { + "defaults": { + "backgroundColor": "0f1b2aff", + "borderColor": "5f6b7aff" + }, + "placeholderColor": "8d99a8ff" + }, + "lightMode": { + "defaults": { + "backgroundColor": "ffffffff", + "borderColor": "7d8998ff" + }, + "placeholderColor": "5f6b7aff" + } + }, + "inputDescription": { + "darkMode": { + "textColor": "8d99a8ff" + }, + "lightMode": { + "textColor": "5f6b7aff" + } + }, + "inputLabel": { + "darkMode": { + "textColor": "d1d5dbff" + }, + "lightMode": { + "textColor": "000716ff" + } + }, + "link": { + "darkMode": { + "defaults": { + "textColor": "539fe5ff" + }, + "hover": { + "textColor": "89bdeeff" + } + }, + "lightMode": { + "defaults": { + "textColor": "0972d3ff" + }, + "hover": { + "textColor": "033160ff" + } + } + }, + "optionControls": { + "darkMode": { + "defaults": { + "backgroundColor": "0f1b2aff", + "borderColor": "7d8998ff" + }, + "selected": { + "backgroundColor": "539fe5ff", + "foregroundColor": "000716ff" + } + }, + "lightMode": { + "defaults": { + "backgroundColor": "ffffffff", + "borderColor": "7d8998ff" + }, + "selected": { + "backgroundColor": "0972d3ff", + "foregroundColor": "ffffffff" + } + } + }, + "statusIndicator": { + "darkMode": { + "error": { + "backgroundColor": "1a0000ff", + "borderColor": "eb6f6fff", + "indicatorColor": "eb6f6fff" + }, + "pending": { + "indicatorColor": "AAAAAAAA" + }, + "success": { + "backgroundColor": "001a02ff", + "borderColor": "29ad32ff", + "indicatorColor": "29ad32ff" + }, + "warning": { + "backgroundColor": "1d1906ff", + "borderColor": "e0ca57ff", + "indicatorColor": "e0ca57ff" + } + }, + "lightMode": { + "error": { + "backgroundColor": "fff7f7ff", + "borderColor": "d91515ff", + "indicatorColor": "d91515ff" + }, + "pending": { + "indicatorColor": "AAAAAAAA" + }, + "success": { + "backgroundColor": "f2fcf3ff", + "borderColor": "037f0cff", + "indicatorColor": "037f0cff" + }, + "warning": { + "backgroundColor": "fffce9ff", + "borderColor": "8d6605ff", + "indicatorColor": "8d6605ff" + } + } + } + }, + "components": { + "alert": { + "borderRadius": 12.0, + "darkMode": { + "error": { + "backgroundColor": "1a0000ff", + "borderColor": "eb6f6fff" + } + }, + "lightMode": { + "error": { + "backgroundColor": "fff7f7ff", + "borderColor": "d91515ff" + } + } + }, + "favicon": { + "enabledTypes": [ + "ICO", + "SVG" + ] + }, + "form": { + "backgroundImage": { + "enabled": false + }, + "borderRadius": 8.0, + "darkMode": { + "backgroundColor": "0f1b2aff", + "borderColor": "424650ff" + }, + "lightMode": { + "backgroundColor": "ffffffff", + "borderColor": "c6c6cdff" + }, + "logo": { + "enabled": false, + "formInclusion": "IN", + "location": "CENTER", + "position": "TOP" + } + }, + "idpButton": { + "custom": { + }, + "standard": { + "darkMode": { + "active": { + "backgroundColor": "354150ff", + "borderColor": "89bdeeff", + "textColor": "89bdeeff" + }, + "defaults": { + "backgroundColor": "0f1b2aff", + "borderColor": "c6c6cdff", + "textColor": "c6c6cdff" + }, + "hover": { + "backgroundColor": "192534ff", + "borderColor": "89bdeeff", + "textColor": "89bdeeff" + } + }, + "lightMode": { + "active": { + "backgroundColor": "d3e7f9ff", + "borderColor": "033160ff", + "textColor": "033160ff" + }, + "defaults": { + "backgroundColor": "ffffffff", + "borderColor": "424650ff", + "textColor": "424650ff" + }, + "hover": { + "backgroundColor": "f2f8fdff", + "borderColor": "033160ff", + "textColor": "033160ff" + } + } + } + }, + "pageBackground": { + "darkMode": { + "color": "0f1b2aff" + }, + "image": { + "enabled": true + }, + "lightMode": { + "color": "ffffffff" + } + }, + "pageFooter": { + "backgroundImage": { + "enabled": false + }, + "darkMode": { + "background": { + "color": "0f141aff" + }, + "borderColor": "424650ff" + }, + "lightMode": { + "background": { + "color": "fafafaff" + }, + "borderColor": "d5dbdbff" + }, + "logo": { + "enabled": false, + "location": "START" + } + }, + "pageHeader": { + "backgroundImage": { + "enabled": false + }, + "darkMode": { + "background": { + "color": "0f141aff" + }, + "borderColor": "424650ff" + }, + "lightMode": { + "background": { + "color": "fafafaff" + }, + "borderColor": "d5dbdbff" + }, + "logo": { + "enabled": false, + "location": "START" + } + }, + "pageText": { + "darkMode": { + "bodyColor": "b6bec9ff", + "descriptionColor": "b6bec9ff", + "headingColor": "d1d5dbff" + }, + "lightMode": { + "bodyColor": "414d5cff", + "descriptionColor": "414d5cff", + "headingColor": "000716ff" + } + }, + "phoneNumberSelector": { + "displayType": "TEXT" + }, + "primaryButton": { + "darkMode": { + "active": { + "backgroundColor": "539fe5ff", + "textColor": "000716ff" + }, + "defaults": { + "backgroundColor": "539fe5ff", + "textColor": "000716ff" + }, + "disabled": { + "backgroundColor": "ffffffff", + "borderColor": "ffffffff" + }, + "hover": { + "backgroundColor": "89bdeeff", + "textColor": "000716ff" + } + }, + "lightMode": { + "active": { + "backgroundColor": "033160ff", + "textColor": "ffffffff" + }, + "defaults": { + "backgroundColor": "0972d3ff", + "textColor": "ffffffff" + }, + "disabled": { + "backgroundColor": "ffffffff", + "borderColor": "ffffffff" + }, + "hover": { + "backgroundColor": "033160ff", + "textColor": "ffffffff" + } + } + }, + "secondaryButton": { + "darkMode": { + "active": { + "backgroundColor": "354150ff", + "borderColor": "89bdeeff", + "textColor": "89bdeeff" + }, + "defaults": { + "backgroundColor": "0f1b2aff", + "borderColor": "539fe5ff", + "textColor": "539fe5ff" + }, + "hover": { + "backgroundColor": "192534ff", + "borderColor": "89bdeeff", + "textColor": "89bdeeff" + } + }, + "lightMode": { + "active": { + "backgroundColor": "d3e7f9ff", + "borderColor": "033160ff", + "textColor": "033160ff" + }, + "defaults": { + "backgroundColor": "ffffffff", + "borderColor": "0972d3ff", + "textColor": "0972d3ff" + }, + "hover": { + "backgroundColor": "f2f8fdff", + "borderColor": "033160ff", + "textColor": "033160ff" + } + } + } + } + }, + "UseCognitoProvidedValues": false, + "UserPoolId": "ca-central-1_EXAMPLE" + } + } + +For more information, see `Apply branding to managed login pages `__ in the *Amazon Cognito Developer Guide*. + \ No newline at end of file diff --git a/awscli/examples/cognito-idp/update-user-pool-client.rst b/awscli/examples/cognito-idp/update-user-pool-client.rst index b2f922eb0a91..7a9425459a39 100644 --- a/awscli/examples/cognito-idp/update-user-pool-client.rst +++ b/awscli/examples/cognito-idp/update-user-pool-client.rst @@ -1,24 +1,121 @@ -**To update a user pool client** - -This example updates the name of a user pool client. It also adds a writeable attribute "nickname". - -Command:: - - aws cognito-idp update-user-pool-client --user-pool-id us-west-2_aaaaaaaaa --client-id 3n4b5urk1ft4fl3mg5e62d9ado --client-name "NewClientName" --write-attributes "nickname" - -Output:: - - { - "UserPoolClient": { - "UserPoolId": "us-west-2_aaaaaaaaa", - "ClientName": "NewClientName", - "ClientId": "3n4b5urk1ft4fl3mg5e62d9ado", - "LastModifiedDate": 1548802761.334, - "CreationDate": 1548178931.258, - "RefreshTokenValidity": 30, - "WriteAttributes": [ - "nickname" - ], - "AllowedOAuthFlowsUserPoolClient": false - } - } \ No newline at end of file +**To update an app client** + +The following ``update-user-pool-client`` example updates the configuration of the requested app client. :: + + aws cognito-idp update-user-pool-client \ + --user-pool-id us-west-2_EXAMPLE \ + --client-id 1example23456789 \ + --client-name my-test-app \ + --refresh-token-validity 30 \ + --access-token-validity 60 \ + --id-token-validity 60 \ + --token-validity-units AccessToken=minutes,IdToken=minutes,RefreshToken=days \ + --read-attributes "address" "birthdate" "email" "email_verified" "family_name" "gender" "locale" "middle_name" "name" "nickname" "phone_number" "phone_number_verified" "picture" "preferred_username" "profile" "updated_at" "website" "zoneinfo" \ + --write-attributes "address" "birthdate" "email" "family_name" "gender" "locale" "middle_name" "name" "nickname" "phone_number" "picture" "preferred_username" "profile" "updated_at" "website" "zoneinfo" \ + --explicit-auth-flows "ALLOW_ADMIN_USER_PASSWORD_AUTH" "ALLOW_CUSTOM_AUTH" "ALLOW_REFRESH_TOKEN_AUTH" "ALLOW_USER_PASSWORD_AUTH" "ALLOW_USER_SRP_AUTH" \ + --supported-identity-providers "MySAML" "COGNITO" "Google" \ + --callback-urls "https://www.example.com" "https://app2.example.com" \ + --logout-urls "https://auth.example.com/login?client_id=1example23456789&response_type=code&redirect_uri=https%3A%2F%2Fwww.example.com" "https://example.com/logout" \ + --default-redirect-uri "https://www.example.com" \ + --allowed-o-auth-flows "code" "implicit" \ + --allowed-o-auth-scopes "openid" "profile" "aws.cognito.signin.user.admin" \ + --allowed-o-auth-flows-user-pool-client \ + --prevent-user-existence-errors ENABLED \ + --enable-token-revocation \ + --no-enable-propagate-additional-user-context-data \ + --auth-session-validity 3 + +Output:: + + { + "UserPoolClient": { + "UserPoolId": "us-west-2_EXAMPLE", + "ClientName": "my-test-app", + "ClientId": "1example23456789", + "LastModifiedDate": "2025-01-31T14:40:12.498000-08:00", + "CreationDate": "2023-09-13T16:26:34.408000-07:00", + "RefreshTokenValidity": 30, + "AccessTokenValidity": 60, + "IdTokenValidity": 60, + "TokenValidityUnits": { + "AccessToken": "minutes", + "IdToken": "minutes", + "RefreshToken": "days" + }, + "ReadAttributes": [ + "website", + "zoneinfo", + "address", + "birthdate", + "email_verified", + "gender", + "profile", + "phone_number_verified", + "preferred_username", + "locale", + "middle_name", + "picture", + "updated_at", + "name", + "nickname", + "phone_number", + "family_name", + "email" + ], + "WriteAttributes": [ + "website", + "zoneinfo", + "address", + "birthdate", + "gender", + "profile", + "preferred_username", + "locale", + "middle_name", + "picture", + "updated_at", + "name", + "nickname", + "phone_number", + "family_name", + "email" + ], + "ExplicitAuthFlows": [ + "ALLOW_CUSTOM_AUTH", + "ALLOW_USER_PASSWORD_AUTH", + "ALLOW_ADMIN_USER_PASSWORD_AUTH", + "ALLOW_USER_SRP_AUTH", + "ALLOW_REFRESH_TOKEN_AUTH" + ], + "SupportedIdentityProviders": [ + "Google", + "COGNITO", + "MySAML" + ], + "CallbackURLs": [ + "https://www.example.com", + "https://app2.example.com" + ], + "LogoutURLs": [ + "https://example.com/logout", + "https://auth.example.com/login?client_id=1example23456789&response_type=code&redirect_uri=https%3A%2F%2Fwww.example.com" + ], + "DefaultRedirectURI": "https://www.example.com", + "AllowedOAuthFlows": [ + "implicit", + "code" + ], + "AllowedOAuthScopes": [ + "aws.cognito.signin.user.admin", + "openid", + "profile" + ], + "AllowedOAuthFlowsUserPoolClient": true, + "PreventUserExistenceErrors": "ENABLED", + "EnableTokenRevocation": true, + "EnablePropagateAdditionalUserContextData": false, + "AuthSessionValidity": 3 + } + } + +For more information, see `Application-specific settings with app clients `__ in the *Amazon Cognito Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cognito-idp/update-user-pool-domain.rst b/awscli/examples/cognito-idp/update-user-pool-domain.rst new file mode 100644 index 000000000000..54bb0cff1530 --- /dev/null +++ b/awscli/examples/cognito-idp/update-user-pool-domain.rst @@ -0,0 +1,18 @@ +**To update a custom domain** + +The following ``update-user-pool-domain`` example configures the branding version and certificate for the custom domain the requested user pool. :: + + aws cognito-idp update-user-pool-domain \ + --user-pool-id ca-central-1_EXAMPLE \ + --domain auth.example.com \ + --managed-login-version 2 \ + --custom-domain-config CertificateArn=arn:aws:acm:us-east-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 + +Output:: + + { + "CloudFrontDomain": "example.cloudfront.net", + "ManagedLoginVersion": 2 + } + +For more information, see `Managed login `__ and `Configuring a domain `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/cognito-idp/update-user-pool.rst b/awscli/examples/cognito-idp/update-user-pool.rst index a3948e59122b..c47d6fd436e4 100644 --- a/awscli/examples/cognito-idp/update-user-pool.rst +++ b/awscli/examples/cognito-idp/update-user-pool.rst @@ -1,7 +1,25 @@ -**To update a user pool** - -This example adds tags to a user pool. - -Command:: - - aws cognito-idp update-user-pool --user-pool-id us-west-2_aaaaaaaaa --user-pool-tags Team=Blue,Area=West +**To update a user pool** + +The following ``update-user-pool`` example modifies a user pool with example syntax for each of the available configuration options. To update a user pool, you must specify all previously-configured options or they will reset to a default value. :: + + aws cognito-idp update-user-pool --user-pool-id us-west-2_EXAMPLE \ + --policies PasswordPolicy=\{MinimumLength=6,RequireUppercase=true,RequireLowercase=true,RequireNumbers=true,RequireSymbols=true,TemporaryPasswordValidityDays=7\} \ + --deletion-protection ACTIVE \ + --lambda-config PreSignUp="arn:aws:lambda:us-west-2:123456789012:function:cognito-test-presignup-function",PreTokenGeneration="arn:aws:lambda:us-west-2:123456789012:function:cognito-test-pretoken-function" \ + --auto-verified-attributes "phone_number" "email" \ + --verification-message-template \{\"SmsMessage\":\""Your code is {####}"\",\"EmailMessage\":\""Your code is {####}"\",\"EmailSubject\":\""Your verification code"\",\"EmailMessageByLink\":\""Click {##here##} to verify your email address."\",\"EmailSubjectByLink\":\""Your verification link"\",\"DefaultEmailOption\":\"CONFIRM_WITH_LINK\"\} \ + --sms-authentication-message "Your code is {####}" \ + --user-attribute-update-settings AttributesRequireVerificationBeforeUpdate="email","phone_number" \ + --mfa-configuration "OPTIONAL" \ + --device-configuration ChallengeRequiredOnNewDevice=true,DeviceOnlyRememberedOnUserPrompt=true \ + --email-configuration SourceArn="arn:aws:ses:us-west-2:123456789012:identity/admin@example.com",ReplyToEmailAddress="amdin+noreply@example.com",EmailSendingAccount=DEVELOPER,From="admin@amazon.com",ConfigurationSet="test-configuration-set" \ + --sms-configuration SnsCallerArn="arn:aws:iam::123456789012:role/service-role/SNS-SMS-Role",ExternalId="12345",SnsRegion="us-west-2" \ + --admin-create-user-config AllowAdminCreateUserOnly=false,InviteMessageTemplate=\{SMSMessage=\""Welcome {username}. Your confirmation code is {####}"\",EmailMessage=\""Welcome {username}. Your confirmation code is {####}"\",EmailSubject=\""Welcome to MyMobileGame"\"\} \ + --user-pool-tags "Function"="MyMobileGame","Developers"="Berlin" \ + --admin-create-user-config AllowAdminCreateUserOnly=false,InviteMessageTemplate=\{SMSMessage=\""Welcome {username}. Your confirmation code is {####}"\",EmailMessage=\""Welcome {username}. Your confirmation code is {####}"\",EmailSubject=\""Welcome to MyMobileGame"\"\} \ + --user-pool-add-ons AdvancedSecurityMode="AUDIT" \ + --account-recovery-setting RecoveryMechanisms=\[\{Priority=1,Name="verified_email"\},\{Priority=2,Name="verified_phone_number"\}\] + +This command produces no output. + +For more information, see `Updating user pool configuration `__ in the *Amazon Cognito Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cognito-idp/verify-software-token.rst b/awscli/examples/cognito-idp/verify-software-token.rst new file mode 100644 index 000000000000..44d78c3b6544 --- /dev/null +++ b/awscli/examples/cognito-idp/verify-software-token.rst @@ -0,0 +1,15 @@ +**To confirm registration of a TOTP authenticator** + +The following ``verify-software-token`` example completes TOTP registration for the current user. :: + + aws cognito-idp verify-software-token \ + --access-token eyJra456defEXAMPLE \ + --user-code 123456 + +Output:: + + { + "Status": "SUCCESS" + } + +For more information, see `Adding MFA to a user pool `__ in the *Amazon Cognito Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/cognito-idp/verify-user-attribute.rst b/awscli/examples/cognito-idp/verify-user-attribute.rst new file mode 100644 index 000000000000..3e635cf30ed1 --- /dev/null +++ b/awscli/examples/cognito-idp/verify-user-attribute.rst @@ -0,0 +1,10 @@ +**To verify an attribute change** + +The following ``verify-user-attribute`` example verifies a change to the current user's email attribute. :: + + aws cognito-idp verify-user-attribute \ + --access-token eyJra456defEXAMPLE \ + --attribute-name email \ + --code 123456 + +For more information, see `Configuring email or phone verification `__ in the *Amazon Cognito Developer Guide*. diff --git a/awscli/examples/comprehend/create-dataset.rst b/awscli/examples/comprehend/create-dataset.rst index aa156dd628f4..31623ad9ca1d 100644 --- a/awscli/examples/comprehend/create-dataset.rst +++ b/awscli/examples/comprehend/create-dataset.rst @@ -14,7 +14,7 @@ Contents of ``file://inputConfig.json``:: { "DataFormat": "COMPREHEND_CSV", "DocumentClassifierInputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/training-data.csv" + "S3Uri": "s3://amzn-s3-demo-bucket/training-data.csv" } } diff --git a/awscli/examples/comprehend/create-document-classifier.rst b/awscli/examples/comprehend/create-document-classifier.rst index 6881994d36cc..a9806d4f8b26 100644 --- a/awscli/examples/comprehend/create-document-classifier.rst +++ b/awscli/examples/comprehend/create-document-classifier.rst @@ -5,7 +5,7 @@ The following ``create-document-classifier`` example begins the training process aws comprehend create-document-classifier \ --document-classifier-name example-classifier \ --data-access-arn arn:aws:comprehend:us-west-2:111122223333:pii-entities-detection-job/123456abcdeb0e11022f22a11EXAMPLE \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/" \ --language-code en Output:: diff --git a/awscli/examples/comprehend/create-entity-recognizer.rst b/awscli/examples/comprehend/create-entity-recognizer.rst index 727dc32f4e15..010d48e49d00 100644 --- a/awscli/examples/comprehend/create-entity-recognizer.rst +++ b/awscli/examples/comprehend/create-entity-recognizer.rst @@ -6,7 +6,7 @@ The following ``create-entity-recognizer`` example begins the training process f aws comprehend create-entity-recognizer \ --recognizer-name example-entity-recognizer --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role \ - --input-data-config "EntityTypes=[{Type=DEVICE}],Documents={S3Uri=s3://DOC-EXAMPLE-BUCKET/trainingdata/raw_text.csv},EntityList={S3Uri=s3://DOC-EXAMPLE-BUCKET/trainingdata/entity_list.csv}" + --input-data-config "EntityTypes=[{Type=DEVICE}],Documents={S3Uri=s3://amzn-s3-demo-bucket/trainingdata/raw_text.csv},EntityList={S3Uri=s3://amzn-s3-demo-bucket/trainingdata/entity_list.csv}" --language-code en Output:: diff --git a/awscli/examples/comprehend/create-flywheel.rst b/awscli/examples/comprehend/create-flywheel.rst index 78d5a44fa419..adcaebc9e0df 100644 --- a/awscli/examples/comprehend/create-flywheel.rst +++ b/awscli/examples/comprehend/create-flywheel.rst @@ -8,7 +8,7 @@ When the flywheel is created, a data lake is created at the ``--input-data-lake` --flywheel-name example-flywheel \ --active-model-arn arn:aws:comprehend:us-west-2:111122223333:document-classifier/example-model/version/1 \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role \ - --data-lake-s3-uri "s3://DOC-EXAMPLE-BUCKET" + --data-lake-s3-uri "s3://amzn-s3-demo-bucket" Output:: diff --git a/awscli/examples/comprehend/describe-dataset.rst b/awscli/examples/comprehend/describe-dataset.rst index 678e51366947..bd779337c910 100644 --- a/awscli/examples/comprehend/describe-dataset.rst +++ b/awscli/examples/comprehend/describe-dataset.rst @@ -12,7 +12,7 @@ Output:: "DatasetArn": "arn:aws:comprehend:us-west-2:111122223333:flywheel/flywheel-entity/dataset/example-dataset", "DatasetName": "example-dataset", "DatasetType": "TRAIN", - "DatasetS3Uri": "s3://DOC-EXAMPLE-BUCKET/flywheel-entity/schemaVersion=1/12345678A123456Z/datasets/example-dataset/20230616T203710Z/", + "DatasetS3Uri": "s3://amzn-s3-demo-bucket/flywheel-entity/schemaVersion=1/12345678A123456Z/datasets/example-dataset/20230616T203710Z/", "Status": "CREATING", "CreationTime": "2023-06-16T20:37:10.400000+00:00" } diff --git a/awscli/examples/comprehend/describe-document-classification-job.rst b/awscli/examples/comprehend/describe-document-classification-job.rst index 6b013119775a..7c3d82ae15a2 100644 --- a/awscli/examples/comprehend/describe-document-classification-job.rst +++ b/awscli/examples/comprehend/describe-document-classification-job.rst @@ -17,11 +17,11 @@ Output:: "EndTime": "2023-06-14T17:15:58.582000+00:00", "DocumentClassifierArn": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/mymodel/version/1", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/jobdata/", + "S3Uri": "s3://amzn-s3-demo-bucket/jobdata/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-CLN-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-CLN-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-servicerole" } diff --git a/awscli/examples/comprehend/describe-document-classifier.rst b/awscli/examples/comprehend/describe-document-classifier.rst index 751880b0bcc1..297cedc20b4e 100644 --- a/awscli/examples/comprehend/describe-document-classifier.rst +++ b/awscli/examples/comprehend/describe-document-classifier.rst @@ -18,7 +18,7 @@ Output:: "TrainingEndTime": "2023-06-13T19:41:35.080000+00:00", "InputDataConfig": { "DataFormat": "COMPREHEND_CSV", - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata" + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata" }, "OutputDataConfig": {}, "ClassifierMetadata": { diff --git a/awscli/examples/comprehend/describe-dominant-language-detection-job.rst b/awscli/examples/comprehend/describe-dominant-language-detection-job.rst index b1ad170ef6c7..ce09675508ce 100644 --- a/awscli/examples/comprehend/describe-dominant-language-detection-job.rst +++ b/awscli/examples/comprehend/describe-dominant-language-detection-job.rst @@ -15,11 +15,11 @@ Output:: "JobStatus": "IN_PROGRESS", "SubmitTime": "2023-06-09T18:10:38.037000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET", + "S3Uri": "s3://amzn-s3-demo-bucket", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-LANGUAGE-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-LANGUAGE-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" } diff --git a/awscli/examples/comprehend/describe-entities-detection-job.rst b/awscli/examples/comprehend/describe-entities-detection-job.rst index 158c2c04ed91..4779df6122ed 100644 --- a/awscli/examples/comprehend/describe-entities-detection-job.rst +++ b/awscli/examples/comprehend/describe-entities-detection-job.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-08T21:30:15.323000+00:00", "EndTime": "2023-06-08T21:40:23.509000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/thefolder/111122223333-NER-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-bucket/thefolder/111122223333-NER-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::12345678012:role/service-role/AmazonComprehendServiceRole-example-role" diff --git a/awscli/examples/comprehend/describe-entity-recognizer.rst b/awscli/examples/comprehend/describe-entity-recognizer.rst index 3587ea3dcfde..b5620908cd1a 100644 --- a/awscli/examples/comprehend/describe-entity-recognizer.rst +++ b/awscli/examples/comprehend/describe-entity-recognizer.rst @@ -24,11 +24,11 @@ Output:: } ], "Documents": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata/dataset/", + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata/dataset/", "InputFormat": "ONE_DOC_PER_LINE" }, "EntityList": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata/entity.csv" + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata/entity.csv" } }, "RecognizerMetadata": { diff --git a/awscli/examples/comprehend/describe-events-detection-job.rst b/awscli/examples/comprehend/describe-events-detection-job.rst index 1cbc424a1c7d..9332d0afd37c 100644 --- a/awscli/examples/comprehend/describe-events-detection-job.rst +++ b/awscli/examples/comprehend/describe-events-detection-job.rst @@ -15,11 +15,11 @@ Output:: "JobStatus": "IN_PROGRESS", "SubmitTime": "2023-06-12T18:45:56.054000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/EventsData", + "S3Uri": "s3://amzn-s3-demo-bucket/EventsData", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-EVENTS-123456abcdeb0e11022f22a11EXAMPLE/output/" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-EVENTS-123456abcdeb0e11022f22a11EXAMPLE/output/" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role", diff --git a/awscli/examples/comprehend/describe-flywheel-iteration.rst b/awscli/examples/comprehend/describe-flywheel-iteration.rst index bc781ee7c290..33d9c9e6efcf 100644 --- a/awscli/examples/comprehend/describe-flywheel-iteration.rst +++ b/awscli/examples/comprehend/describe-flywheel-iteration.rst @@ -30,7 +30,7 @@ Output:: "AverageRecall": 0.9767700253081214, "AverageAccuracy": 0.9858281665190434 }, - "EvaluationManifestS3Prefix": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/flywheel-entity/schemaVersion=1/20230616T200543Z/evaluation/20230616T211026Z/" + "EvaluationManifestS3Prefix": "s3://amzn-s3-demo-destination-bucket/flywheel-entity/schemaVersion=1/20230616T200543Z/evaluation/20230616T211026Z/" } } diff --git a/awscli/examples/comprehend/describe-flywheel.rst b/awscli/examples/comprehend/describe-flywheel.rst index ff19617b8b76..741dec57bacd 100644 --- a/awscli/examples/comprehend/describe-flywheel.rst +++ b/awscli/examples/comprehend/describe-flywheel.rst @@ -23,7 +23,7 @@ Output:: ] } }, - "DataLakeS3Uri": "s3://DOC-EXAMPLE-BUCKET/example-flywheel/schemaVersion=1/20230616T200543Z/", + "DataLakeS3Uri": "s3://amzn-s3-demo-bucket/example-flywheel/schemaVersion=1/20230616T200543Z/", "DataSecurityConfig": {}, "Status": "ACTIVE", "ModelType": "DOCUMENT_CLASSIFIER", diff --git a/awscli/examples/comprehend/describe-pii-entities-detection-job.rst b/awscli/examples/comprehend/describe-pii-entities-detection-job.rst index c7c18c6eb70d..cff63617aa49 100644 --- a/awscli/examples/comprehend/describe-pii-entities-detection-job.rst +++ b/awscli/examples/comprehend/describe-pii-entities-detection-job.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-08T21:30:15.323000+00:00", "EndTime": "2023-06-08T21:40:23.509000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/thefolder/111122223333-NER-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-bucket/thefolder/111122223333-NER-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::12345678012:role/service-role/AmazonComprehendServiceRole-example-role" diff --git a/awscli/examples/comprehend/describe-sentiment-detection-job.rst b/awscli/examples/comprehend/describe-sentiment-detection-job.rst index d172c5cd6697..c1c6204deccb 100644 --- a/awscli/examples/comprehend/describe-sentiment-detection-job.rst +++ b/awscli/examples/comprehend/describe-sentiment-detection-job.rst @@ -15,11 +15,11 @@ Output:: "JobStatus": "IN_PROGRESS", "SubmitTime": "2023-06-09T23:16:15.956000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/MovieData", + "S3Uri": "s3://amzn-s3-demo-bucket/MovieData", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-TS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-TS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-servicerole" diff --git a/awscli/examples/comprehend/describe-targeted-sentiment-detection-job.rst b/awscli/examples/comprehend/describe-targeted-sentiment-detection-job.rst index e52a40bb949c..8c81f86226c4 100644 --- a/awscli/examples/comprehend/describe-targeted-sentiment-detection-job.rst +++ b/awscli/examples/comprehend/describe-targeted-sentiment-detection-job.rst @@ -15,11 +15,11 @@ Output:: "JobStatus": "IN_PROGRESS", "SubmitTime": "2023-06-09T23:16:15.956000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/MovieData", + "S3Uri": "s3://amzn-s3-demo-bucket/MovieData", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-TS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-TS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-servicerole" diff --git a/awscli/examples/comprehend/describe-topics-detection-job.rst b/awscli/examples/comprehend/describe-topics-detection-job.rst index b90bb2d62418..3d8e2e1c8460 100644 --- a/awscli/examples/comprehend/describe-topics-detection-job.rst +++ b/awscli/examples/comprehend/describe-topics-detection-job.rst @@ -15,11 +15,11 @@ Output:: "JobStatus": "IN_PROGRESS", "SubmitTime": "2023-06-09T18:44:43.414000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET", + "S3Uri": "s3://amzn-s3-demo-bucket", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-TOPICS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-TOPICS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "NumberOfTopics": 10, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-examplerole" diff --git a/awscli/examples/comprehend/list-datasets.rst b/awscli/examples/comprehend/list-datasets.rst index 93db7462634d..b8d890e54667 100644 --- a/awscli/examples/comprehend/list-datasets.rst +++ b/awscli/examples/comprehend/list-datasets.rst @@ -13,7 +13,7 @@ Output:: "DatasetArn": "arn:aws:comprehend:us-west-2:111122223333:flywheel/flywheel-entity/dataset/example-dataset-1", "DatasetName": "example-dataset-1", "DatasetType": "TRAIN", - "DatasetS3Uri": "s3://DOC-EXAMPLE-BUCKET/flywheel-entity/schemaVersion=1/20230616T200543Z/datasets/example-dataset-1/20230616T203710Z/", + "DatasetS3Uri": "s3://amzn-s3-demo-bucket/flywheel-entity/schemaVersion=1/20230616T200543Z/datasets/example-dataset-1/20230616T203710Z/", "Status": "CREATING", "CreationTime": "2023-06-16T20:37:10.400000+00:00" }, @@ -21,7 +21,7 @@ Output:: "DatasetArn": "arn:aws:comprehend:us-west-2:111122223333:flywheel/flywheel-entity/dataset/example-dataset-2", "DatasetName": "example-dataset-2", "DatasetType": "TRAIN", - "DatasetS3Uri": "s3://DOC-EXAMPLE-BUCKET/flywheel-entity/schemaVersion=1/20230616T200543Z/datasets/example-dataset-2/20230616T200607Z/", + "DatasetS3Uri": "s3://amzn-s3-demo-bucket/flywheel-entity/schemaVersion=1/20230616T200543Z/datasets/example-dataset-2/20230616T200607Z/", "Description": "TRAIN Dataset created by Flywheel creation.", "Status": "COMPLETED", "NumberOfDocuments": 5572, diff --git a/awscli/examples/comprehend/list-document-classification-jobs.rst b/awscli/examples/comprehend/list-document-classification-jobs.rst index e48e0a3a4dc1..938cade03aee 100644 --- a/awscli/examples/comprehend/list-document-classification-jobs.rst +++ b/awscli/examples/comprehend/list-document-classification-jobs.rst @@ -17,11 +17,11 @@ Output:: "EndTime": "2023-06-14T17:15:58.582000+00:00", "DocumentClassifierArn": "arn:aws:comprehend:us-west-2:1234567890101:document-classifier/mymodel/version/12", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/jobdata/", + "S3Uri": "s3://amzn-s3-demo-bucket/jobdata/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/1234567890101-CLN-e758dd56b824aa717ceab551f11749fb/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/1234567890101-CLN-e758dd56b824aa717ceab551f11749fb/output/output.tar.gz" }, "DataAccessRoleArn": "arn:aws:iam::1234567890101:role/service-role/AmazonComprehendServiceRole-example-role" }, @@ -34,11 +34,11 @@ Output:: "EndTime": "2023-06-14T17:28:46.107000+00:00", "DocumentClassifierArn": "arn:aws:comprehend:us-west-2:1234567890101:document-classifier/mymodel/version/12", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/jobdata/", + "S3Uri": "s3://amzn-s3-demo-bucket/jobdata/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/1234567890101-CLN-123456abcdeb0e11022f22a1EXAMPLE2/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/1234567890101-CLN-123456abcdeb0e11022f22a1EXAMPLE2/output/output.tar.gz" }, "DataAccessRoleArn": "arn:aws:iam::1234567890101:role/service-role/AmazonComprehendServiceRole-example-role" } diff --git a/awscli/examples/comprehend/list-document-classifiers.rst b/awscli/examples/comprehend/list-document-classifiers.rst index 4b4c379b152b..0c4e57b0cb50 100644 --- a/awscli/examples/comprehend/list-document-classifiers.rst +++ b/awscli/examples/comprehend/list-document-classifiers.rst @@ -18,7 +18,7 @@ Output:: "TrainingEndTime": "2023-06-13T19:41:35.080000+00:00", "InputDataConfig": { "DataFormat": "COMPREHEND_CSV", - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata" + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata" }, "OutputDataConfig": {}, "ClassifierMetadata": { @@ -46,7 +46,7 @@ Output:: "SubmitTime": "2023-06-13T21:20:28.690000+00:00", "InputDataConfig": { "DataFormat": "COMPREHEND_CSV", - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata" + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata" }, "OutputDataConfig": {}, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-testorle", diff --git a/awscli/examples/comprehend/list-dominant-language-detection-jobs.rst b/awscli/examples/comprehend/list-dominant-language-detection-jobs.rst index 4e3e8e6192b8..dd1a3e1da536 100644 --- a/awscli/examples/comprehend/list-dominant-language-detection-jobs.rst +++ b/awscli/examples/comprehend/list-dominant-language-detection-jobs.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-09T18:10:38.037000+00:00", "EndTime": "2023-06-09T18:18:45.498000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET", + "S3Uri": "s3://amzn-s3-demo-bucket", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-LANGUAGE-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-LANGUAGE-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" }, @@ -32,11 +32,11 @@ Output:: "SubmitTime": "2023-06-09T18:16:33.690000+00:00", "EndTime": "2023-06-09T18:24:40.608000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET", + "S3Uri": "s3://amzn-s3-demo-bucket", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-LANGUAGE-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-LANGUAGE-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" } diff --git a/awscli/examples/comprehend/list-entities-detection-jobs.rst b/awscli/examples/comprehend/list-entities-detection-jobs.rst index d1aa8fd0e13e..5640bcee8e77 100644 --- a/awscli/examples/comprehend/list-entities-detection-jobs.rst +++ b/awscli/examples/comprehend/list-entities-detection-jobs.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-08T20:57:46.476000+00:00", "EndTime": "2023-06-08T21:05:53.718000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/111122223333-NER-468af39c28ab45b83eb0c4ab9EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/111122223333-NER-468af39c28ab45b83eb0c4ab9EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" @@ -33,11 +33,11 @@ Output:: "SubmitTime": "2023-06-08T21:30:15.323000+00:00", "EndTime": "2023-06-08T21:40:23.509000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/111122223333-NER-809691caeaab0e71406f80a28EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/111122223333-NER-809691caeaab0e71406f80a28EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" @@ -50,11 +50,11 @@ Output:: "SubmitTime": "2023-06-08T22:19:28.528000+00:00", "EndTime": "2023-06-08T22:27:33.991000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/111122223333-NER-e00597c36b448b91d70dea165EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/111122223333-NER-e00597c36b448b91d70dea165EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" diff --git a/awscli/examples/comprehend/list-entity-recognizers.rst b/awscli/examples/comprehend/list-entity-recognizers.rst index 86c637a99540..048128354617 100644 --- a/awscli/examples/comprehend/list-entity-recognizers.rst +++ b/awscli/examples/comprehend/list-entity-recognizers.rst @@ -24,11 +24,11 @@ Output:: } ], "Documents": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata/dataset/", + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata/dataset/", "InputFormat": "ONE_DOC_PER_LINE" }, "EntityList": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata/entity.csv" + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata/entity.csv" } }, "RecognizerMetadata": { @@ -70,11 +70,11 @@ Output:: } ], "Documents": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata/raw_txt.csv", + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata/raw_txt.csv", "InputFormat": "ONE_DOC_PER_LINE" }, "EntityList": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/trainingdata/entity_list.csv" + "S3Uri": "s3://amzn-s3-demo-bucket/trainingdata/entity_list.csv" } }, "RecognizerMetadata": { diff --git a/awscli/examples/comprehend/list-events-detection-jobs.rst b/awscli/examples/comprehend/list-events-detection-jobs.rst index 15912f3bb1d5..41218860b70f 100644 --- a/awscli/examples/comprehend/list-events-detection-jobs.rst +++ b/awscli/examples/comprehend/list-events-detection-jobs.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-12T19:14:57.751000+00:00", "EndTime": "2023-06-12T19:21:04.962000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-SOURCE-BUCKET/EventsData/", + "S3Uri": "s3://amzn-s3-demo-source-bucket/EventsData/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/1111222233333-EVENTS-aa9593f9203e84f3ef032ce18EXAMPLE/output/" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/1111222233333-EVENTS-aa9593f9203e84f3ef032ce18EXAMPLE/output/" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::1111222233333:role/service-role/AmazonComprehendServiceRole-example-role", @@ -40,11 +40,11 @@ Output:: "SubmitTime": "2023-06-12T19:55:43.702000+00:00", "EndTime": "2023-06-12T20:03:49.893000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-SOURCE-BUCKET/EventsData/", + "S3Uri": "s3://amzn-s3-demo-source-bucket/EventsData/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/1111222233333-EVENTS-4a990a2f7e82adfca6e171135EXAMPLE/output/" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/1111222233333-EVENTS-4a990a2f7e82adfca6e171135EXAMPLE/output/" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::1111222233333:role/service-role/AmazonComprehendServiceRole-example-role", diff --git a/awscli/examples/comprehend/list-flywheel-iteration-history.rst b/awscli/examples/comprehend/list-flywheel-iteration-history.rst index 00ef07684fc6..778edeed4ab6 100644 --- a/awscli/examples/comprehend/list-flywheel-iteration-history.rst +++ b/awscli/examples/comprehend/list-flywheel-iteration-history.rst @@ -24,7 +24,7 @@ Output:: "AverageRecall": 0.9445600253081214, "AverageAccuracy": 0.9997281665190434 }, - "EvaluationManifestS3Prefix": "s3://DOC-EXAMPLE-BUCKET/example-flywheel/schemaVersion=1/20230619TEXAMPLE/evaluation/20230619TEXAMPLE/" + "EvaluationManifestS3Prefix": "s3://amzn-s3-demo-bucket/example-flywheel/schemaVersion=1/20230619TEXAMPLE/evaluation/20230619TEXAMPLE/" }, { "FlywheelArn": "arn:aws:comprehend:us-west-2:111122223333:flywheel/example-flywheel-2", @@ -41,7 +41,7 @@ Output:: "AverageRecall": 0.9767700253081214, "AverageAccuracy": 0.9858281665190434 }, - "EvaluationManifestS3Prefix": "s3://DOC-EXAMPLE-BUCKET/example-flywheel-2/schemaVersion=1/20230616TEXAMPLE/evaluation/20230616TEXAMPLE/" + "EvaluationManifestS3Prefix": "s3://amzn-s3-demo-bucket/example-flywheel-2/schemaVersion=1/20230616TEXAMPLE/evaluation/20230616TEXAMPLE/" } ] } diff --git a/awscli/examples/comprehend/list-flywheels.rst b/awscli/examples/comprehend/list-flywheels.rst index 0897a595ebb6..5ec6316419f5 100644 --- a/awscli/examples/comprehend/list-flywheels.rst +++ b/awscli/examples/comprehend/list-flywheels.rst @@ -11,7 +11,7 @@ Output:: { "FlywheelArn": "arn:aws:comprehend:us-west-2:111122223333:flywheel/example-flywheel-1", "ActiveModelArn": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/exampleclassifier/version/1", - "DataLakeS3Uri": "s3://DOC-EXAMPLE-BUCKET/example-flywheel-1/schemaVersion=1/20230616T200543Z/", + "DataLakeS3Uri": "s3://amzn-s3-demo-bucket/example-flywheel-1/schemaVersion=1/20230616T200543Z/", "Status": "ACTIVE", "ModelType": "DOCUMENT_CLASSIFIER", "CreationTime": "2023-06-16T20:05:43.242000+00:00", @@ -21,7 +21,7 @@ Output:: { "FlywheelArn": "arn:aws:comprehend:us-west-2:111122223333:flywheel/example-flywheel-2", "ActiveModelArn": "arn:aws:comprehend:us-west-2:111122223333:document-classifier/exampleclassifier2/version/1", - "DataLakeS3Uri": "s3://DOC-EXAMPLE-BUCKET/example-flywheel-2/schemaVersion=1/20220616T200543Z/", + "DataLakeS3Uri": "s3://amzn-s3-demo-bucket/example-flywheel-2/schemaVersion=1/20220616T200543Z/", "Status": "ACTIVE", "ModelType": "DOCUMENT_CLASSIFIER", "CreationTime": "2022-06-16T20:05:43.242000+00:00", diff --git a/awscli/examples/comprehend/list-key-phrases-detection-jobs.rst b/awscli/examples/comprehend/list-key-phrases-detection-jobs.rst index f26b292fbe48..8a5d4bbbedce 100644 --- a/awscli/examples/comprehend/list-key-phrases-detection-jobs.rst +++ b/awscli/examples/comprehend/list-key-phrases-detection-jobs.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-08T22:31:43.767000+00:00", "EndTime": "2023-06-08T22:39:52.565000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-SOURCE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-source-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-KP-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-KP-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" @@ -33,11 +33,11 @@ Output:: "SubmitTime": "2023-06-08T22:57:52.154000+00:00", "EndTime": "2023-06-08T23:05:48.385000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-KP-123456abcdeb0e11022f22a33EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-KP-123456abcdeb0e11022f22a33EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" @@ -51,11 +51,11 @@ Output:: "SubmitTime": "2023-06-09T16:47:04.029000+00:00", "EndTime": "2023-06-09T16:47:18.413000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET", + "S3Uri": "s3://amzn-s3-demo-bucket", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-KP-123456abcdeb0e11022f22a44EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-KP-123456abcdeb0e11022f22a44EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" diff --git a/awscli/examples/comprehend/list-pii-entities-detection-jobs.rst b/awscli/examples/comprehend/list-pii-entities-detection-jobs.rst index 2523e1f20514..cb33a363de64 100644 --- a/awscli/examples/comprehend/list-pii-entities-detection-jobs.rst +++ b/awscli/examples/comprehend/list-pii-entities-detection-jobs.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-09T21:02:46.241000+00:00", "EndTime": "2023-06-09T21:12:52.602000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-SOURCE-BUCKET/111122223333-PII-6f9db0c42d0c810e814670ee4EXAMPLE/output/" + "S3Uri": "s3://amzn-s3-demo-source-bucket/111122223333-PII-6f9db0c42d0c810e814670ee4EXAMPLE/output/" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role", @@ -34,11 +34,11 @@ Output:: "SubmitTime": "2023-06-09T21:20:58.211000+00:00", "EndTime": "2023-06-09T21:31:06.027000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/AsyncBatchJobs/", + "S3Uri": "s3://amzn-s3-demo-bucket/AsyncBatchJobs/", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/111122223333-PII-d927562638cfa739331a99b3cEXAMPLE/output/" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/111122223333-PII-d927562638cfa739331a99b3cEXAMPLE/output/" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role", diff --git a/awscli/examples/comprehend/list-sentiment-detection-jobs.rst b/awscli/examples/comprehend/list-sentiment-detection-jobs.rst index 39a5485ad09b..86582bd80ce3 100644 --- a/awscli/examples/comprehend/list-sentiment-detection-jobs.rst +++ b/awscli/examples/comprehend/list-sentiment-detection-jobs.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-09T22:42:20.545000+00:00", "EndTime": "2023-06-09T22:52:27.416000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/MovieData", + "S3Uri": "s3://amzn-s3-demo-bucket/MovieData", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-TS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-TS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" @@ -33,11 +33,11 @@ Output:: "SubmitTime": "2023-06-09T23:16:15.956000+00:00", "EndTime": "2023-06-09T23:26:00.168000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/MovieData2", + "S3Uri": "s3://amzn-s3-demo-bucket/MovieData2", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-TS-123456abcdeb0e11022f22a1EXAMPLE2/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-TS-123456abcdeb0e11022f22a1EXAMPLE2/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" diff --git a/awscli/examples/comprehend/list-targeted-sentiment-detection-jobs.rst b/awscli/examples/comprehend/list-targeted-sentiment-detection-jobs.rst index ead426d2068d..ccea82e23989 100644 --- a/awscli/examples/comprehend/list-targeted-sentiment-detection-jobs.rst +++ b/awscli/examples/comprehend/list-targeted-sentiment-detection-jobs.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-09T22:42:20.545000+00:00", "EndTime": "2023-06-09T22:52:27.416000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/MovieData", + "S3Uri": "s3://amzn-s3-demo-bucket/MovieData", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-TS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-TS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-IOrole" @@ -33,11 +33,11 @@ Output:: "SubmitTime": "2023-06-09T23:16:15.956000+00:00", "EndTime": "2023-06-09T23:26:00.168000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/MovieData2", + "S3Uri": "s3://amzn-s3-demo-bucket/MovieData2", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/111122223333-TS-123456abcdeb0e11022f22a1EXAMPLE2/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/testfolder/111122223333-TS-123456abcdeb0e11022f22a1EXAMPLE2/output/output.tar.gz" }, "LanguageCode": "en", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" diff --git a/awscli/examples/comprehend/list-topics-detection-jobs.rst b/awscli/examples/comprehend/list-topics-detection-jobs.rst index d0c86a8ac860..2353245067d6 100644 --- a/awscli/examples/comprehend/list-topics-detection-jobs.rst +++ b/awscli/examples/comprehend/list-topics-detection-jobs.rst @@ -16,11 +16,11 @@ Output:: "SubmitTime": "2023-06-09T18:40:35.384000+00:00", "EndTime": "2023-06-09T18:46:41.936000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET", + "S3Uri": "s3://amzn-s3-demo-bucket", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/111122223333-TOPICS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/111122223333-TOPICS-123456abcdeb0e11022f22a11EXAMPLE/output/output.tar.gz" }, "NumberOfTopics": 10, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" @@ -33,11 +33,11 @@ Output:: "SubmitTime": "2023-06-09T18:44:43.414000+00:00", "EndTime": "2023-06-09T18:50:50.872000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET", + "S3Uri": "s3://amzn-s3-demo-bucket", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/111122223333-TOPICS-123456abcdeb0e11022f22a1EXAMPLE2/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/111122223333-TOPICS-123456abcdeb0e11022f22a1EXAMPLE2/output/output.tar.gz" }, "NumberOfTopics": 10, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" @@ -49,11 +49,11 @@ Output:: "JobStatus": "IN_PROGRESS", "SubmitTime": "2023-06-09T18:50:56.737000+00:00", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET", + "S3Uri": "s3://amzn-s3-demo-bucket", "InputFormat": "ONE_DOC_PER_LINE" }, "OutputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/thefolder/111122223333-TOPICS-123456abcdeb0e11022f22a1EXAMPLE3/output/output.tar.gz" + "S3Uri": "s3://amzn-s3-demo-destination-bucket/thefolder/111122223333-TOPICS-123456abcdeb0e11022f22a1EXAMPLE3/output/output.tar.gz" }, "NumberOfTopics": 10, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" diff --git a/awscli/examples/comprehend/put-resource-policy.rst b/awscli/examples/comprehend/put-resource-policy.rst index d9ad31129654..60a2a57e2423 100644 --- a/awscli/examples/comprehend/put-resource-policy.rst +++ b/awscli/examples/comprehend/put-resource-policy.rst @@ -7,7 +7,7 @@ The policy is attached to the model in account ``111122223333`` and allows accou --resource-arn arn:aws:comprehend:us-west-2:111122223333:document-classifier/example-classifier/version/1 \ --resource-policy '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"comprehend:ImportModel","Resource":"*","Principal":{"AWS":["arn:aws:iam::444455556666:root"]}}]}' -Ouput:: +Output:: { "PolicyRevisionId": "aaa111d069d07afaa2aa3106aEXAMPLE" diff --git a/awscli/examples/comprehend/start-document-classification-job.rst b/awscli/examples/comprehend/start-document-classification-job.rst index a603702b085c..5cda73bbbefb 100644 --- a/awscli/examples/comprehend/start-document-classification-job.rst +++ b/awscli/examples/comprehend/start-document-classification-job.rst @@ -7,8 +7,8 @@ which lists the classification of each document. The Json output is printed on o aws comprehend start-document-classification-job \ --job-name exampleclassificationjob \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET-INPUT/jobdata/" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket-INPUT/jobdata/" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role \ --document-classifier-arn arn:aws:comprehend:us-west-2:111122223333:document-classifier/mymodel/version/12 diff --git a/awscli/examples/comprehend/start-dominant-language-detection-job.rst b/awscli/examples/comprehend/start-dominant-language-detection-job.rst index cab73ff1208b..6ac5f7520924 100644 --- a/awscli/examples/comprehend/start-dominant-language-detection-job.rst +++ b/awscli/examples/comprehend/start-dominant-language-detection-job.rst @@ -8,8 +8,8 @@ which contains the dominant language of each of the text files as well as the pr aws comprehend start-dominant-language-detection-job \ --job-name example_language_analysis_job \ --language-code en \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role \ --language-code en diff --git a/awscli/examples/comprehend/start-entities-detection-job.rst b/awscli/examples/comprehend/start-entities-detection-job.rst index 08065c6dbf00..87259cc35fee 100644 --- a/awscli/examples/comprehend/start-entities-detection-job.rst +++ b/awscli/examples/comprehend/start-entities-detection-job.rst @@ -9,8 +9,8 @@ The Json output is printed on one line per input file, but is formatted here for aws comprehend start-entities-detection-job \ --job-name entitiestest \ --language-code en \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role \ --language-code en @@ -174,8 +174,8 @@ The entity recognizer model was trained on customer support Feedbacks to recogni --job-name customentitiestest \ --entity-recognizer-arn "arn:aws:comprehend:us-west-2:111122223333:entity-recognizer/entityrecognizer" \ --language-code en \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/jobdata/" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/jobdata/" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-IOrole" Contents of ``SampleFeedback1.txt``:: @@ -184,7 +184,7 @@ Contents of ``SampleFeedback1.txt``:: Contents of ``SampleFeedback2.txt``:: - "Hi, I have a discrepancy with my new bill. Could we get it sorted out? A rep added stuff I didnt sign up for when I did my AnyPhone 10 upgrade. | We can absolutely get this sorted!" + "Hi, I have a discrepancy with my new bill. Could we get it sorted out? A rep added stuff I didn't sign up for when I did my AnyPhone 10 upgrade. | We can absolutely get this sorted!" Contents of ``SampleFeedback3.txt``:: diff --git a/awscli/examples/comprehend/start-events-detection-job.rst b/awscli/examples/comprehend/start-events-detection-job.rst index 84681c9459e1..572ff52a7816 100644 --- a/awscli/examples/comprehend/start-events-detection-job.rst +++ b/awscli/examples/comprehend/start-events-detection-job.rst @@ -8,8 +8,8 @@ When the job is complete, the folder, ``output``, is placed in the location spec aws comprehend start-events-detection-job \ --job-name events-detection-1 \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/EventsData" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/EventsData" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-servicerole \ --language-code en \ --target-event-types "BANKRUPTCY" "EMPLOYMENT" "CORPORATE_ACQUISITION" "CORPORATE_MERGER" "INVESTMENT_GENERAL" diff --git a/awscli/examples/comprehend/start-key-phrases-detection-job.rst b/awscli/examples/comprehend/start-key-phrases-detection-job.rst index 9689a8cdf645..47038d714454 100644 --- a/awscli/examples/comprehend/start-key-phrases-detection-job.rst +++ b/awscli/examples/comprehend/start-key-phrases-detection-job.rst @@ -9,8 +9,8 @@ The Json output is printed on one line per file, but is formatted here for reada aws comprehend start-key-phrases-detection-job \ --job-name keyphrasesanalysistest1 \ --language-code en \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn "arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role" \ --language-code en @@ -34,7 +34,7 @@ Output:: "JobStatus": "SUBMITTED" } -Contents of ``output.txt`` with line indents for readibility:: +Contents of ``output.txt`` with line indents for readability:: { "File": "SampleText1.txt", diff --git a/awscli/examples/comprehend/start-pii-entities-detection-job.rst b/awscli/examples/comprehend/start-pii-entities-detection-job.rst index 29924e915bfb..7f09c04ca3d4 100644 --- a/awscli/examples/comprehend/start-pii-entities-detection-job.rst +++ b/awscli/examples/comprehend/start-pii-entities-detection-job.rst @@ -8,8 +8,8 @@ When the job is complete, the folder, ``output``, is placed in the location spec aws comprehend start-pii-entities-detection-job \ --job-name entities_test \ --language-code en \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role \ --language-code en \ --mode ONLY_OFFSETS diff --git a/awscli/examples/comprehend/start-sentiment-detection-job.rst b/awscli/examples/comprehend/start-sentiment-detection-job.rst index b2128668f980..7599c6037088 100644 --- a/awscli/examples/comprehend/start-sentiment-detection-job.rst +++ b/awscli/examples/comprehend/start-sentiment-detection-job.rst @@ -8,8 +8,8 @@ The Json output is printed on one line per file, but is formatted here for reada aws comprehend start-sentiment-detection-job \ --job-name example-sentiment-detection-job \ --language-code en \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/MovieData" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/MovieData" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role Contents of ``SampleMovieReview1.txt``:: diff --git a/awscli/examples/comprehend/start-targeted-sentiment-detection-job.rst b/awscli/examples/comprehend/start-targeted-sentiment-detection-job.rst index eb7c3536e2d6..6ccffade77f7 100644 --- a/awscli/examples/comprehend/start-targeted-sentiment-detection-job.rst +++ b/awscli/examples/comprehend/start-targeted-sentiment-detection-job.rst @@ -7,8 +7,8 @@ When the job is complete, ``output.tar.gz`` is placed at the location specified aws comprehend start-targeted-sentiment-detection-job \ --job-name targeted_movie_review_analysis1 \ --language-code en \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/MovieData" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/MovieData" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role Contents of ``SampleMovieReview1.txt``:: @@ -239,7 +239,7 @@ Contents of ``SampleMovieReview2.txt.out`` line indents for readability:: "Line": 0 } -Contents of ``SampleMovieReview3.txt.out`` with line indents for readibility:: +Contents of ``SampleMovieReview3.txt.out`` with line indents for readability:: { "Entities": [ diff --git a/awscli/examples/comprehend/start-topics-detection-job.rst b/awscli/examples/comprehend/start-topics-detection-job.rst index ce59411fcbc4..750570cd6fec 100644 --- a/awscli/examples/comprehend/start-topics-detection-job.rst +++ b/awscli/examples/comprehend/start-topics-detection-job.rst @@ -8,8 +8,8 @@ The second file, ``doc-topics.csv``, lists the documents associated with a topic aws comprehend start-topics-detection-job \ --job-name example_topics_detection_job \ --language-code en \ - --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET/" \ - --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ + --input-data-config "S3Uri=s3://amzn-s3-demo-bucket/" \ + --output-data-config "S3Uri=s3://amzn-s3-demo-destination-bucket/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role \ --language-code en diff --git a/awscli/examples/comprehend/update-flywheel.rst b/awscli/examples/comprehend/update-flywheel.rst index 94985c75bc4e..622805781c68 100644 --- a/awscli/examples/comprehend/update-flywheel.rst +++ b/awscli/examples/comprehend/update-flywheel.rst @@ -19,7 +19,7 @@ Output:: "Mode": "MULTI_CLASS" } }, - "DataLakeS3Uri": "s3://DOC-EXAMPLE-BUCKET/flywheel-entity/schemaVersion=1/20230616T200543Z/", + "DataLakeS3Uri": "s3://amzn-s3-demo-bucket/flywheel-entity/schemaVersion=1/20230616T200543Z/", "DataSecurityConfig": {}, "Status": "ACTIVE", "ModelType": "DOCUMENT_CLASSIFIER", diff --git a/awscli/examples/datapipeline/get-pipeline-definition.rst b/awscli/examples/datapipeline/get-pipeline-definition.rst index 0e62f1c4d235..c37795856766 100644 --- a/awscli/examples/datapipeline/get-pipeline-definition.rst +++ b/awscli/examples/datapipeline/get-pipeline-definition.rst @@ -83,7 +83,7 @@ The following is example output:: } ], "values": { - "myS3OutputLoc": "s3://my-s3-bucket/", + "myS3OutputLoc": "s3://amzn-s3-demo-bucket/", "myS3InputLoc": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data", "myShellCmd": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt" } diff --git a/awscli/examples/deploy/batch-get-deployments.rst b/awscli/examples/deploy/batch-get-deployments.rst index 0e2d8fb810db..3f4c8bdebe64 100755 --- a/awscli/examples/deploy/batch-get-deployments.rst +++ b/awscli/examples/deploy/batch-get-deployments.rst @@ -26,7 +26,7 @@ Output:: "s3Location": { "bundleType": "zip", "version": "uTecLusEXAMPLEFXtfUcyfV8bEXAMPLE", - "bucket": "CodeDeployDemoBucket", + "bucket": "amzn-s3-demo-bucket", "key": "WordPressApp.zip" } }, @@ -56,7 +56,7 @@ Output:: "s3Location": { "bundleType": "zip", "eTag": "\"dd56cfdEXAMPLE8e768f9d77fEXAMPLE\"", - "bucket": "CodeDeployDemoBucket", + "bucket": "amzn-s3-demo-bucket", "key": "MyOtherApp.zip" } }, diff --git a/awscli/examples/deploy/create-deployment.rst b/awscli/examples/deploy/create-deployment.rst index 39cfad4f8a96..d016e64f9dfd 100755 --- a/awscli/examples/deploy/create-deployment.rst +++ b/awscli/examples/deploy/create-deployment.rst @@ -7,7 +7,7 @@ The following ``create-deployment`` example creates a deployment and associates --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DG \ --description "My demo deployment" \ - --s3-location bucket=CodeDeployDemoBucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip + --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip Output:: diff --git a/awscli/examples/deploy/get-application-revision.rst b/awscli/examples/deploy/get-application-revision.rst index 671e16ad926c..b8144203964e 100755 --- a/awscli/examples/deploy/get-application-revision.rst +++ b/awscli/examples/deploy/get-application-revision.rst @@ -4,7 +4,7 @@ The following ``get-application-revision`` example displays information about an aws deploy get-application-revision \ --application-name WordPress_App \ - --s3-location bucket=CodeDeployDemoBucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip + --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip Output:: @@ -22,7 +22,7 @@ Output:: "s3Location": { "bundleType": "zip", "eTag": "dd56cfdEXAMPLE8e768f9d77fEXAMPLE", - "bucket": "CodeDeployDemoBucket", + "bucket": "amzn-s3-demo-bucket", "key": "WordPressApp.zip" } } diff --git a/awscli/examples/deploy/get-deployment.rst b/awscli/examples/deploy/get-deployment.rst index 8bdc8255155b..2e2f2a073626 100755 --- a/awscli/examples/deploy/get-deployment.rst +++ b/awscli/examples/deploy/get-deployment.rst @@ -25,7 +25,7 @@ Output:: "s3Location": { "bundleType": "zip", "eTag": "\"dd56cfdEXAMPLE8e768f9d77fEXAMPLE\"", - "bucket": "CodeDeployDemoBucket", + "bucket": "amzn-s3-demo-bucket", "key": "WordPressApp.zip" } }, diff --git a/awscli/examples/deploy/list-application-revisions.rst b/awscli/examples/deploy/list-application-revisions.rst index fc199fd1a887..8a6b48207ffc 100755 --- a/awscli/examples/deploy/list-application-revisions.rst +++ b/awscli/examples/deploy/list-application-revisions.rst @@ -4,7 +4,7 @@ The following ``list-application-revisions`` example displays information about aws deploy list-application-revisions \ --application-name WordPress_App \ - --s-3-bucket CodeDeployDemoBucket \ + --s-3-bucket amzn-s3-demo-bucket \ --deployed exclude \ --s-3-key-prefix WordPress_ \ --sort-by lastUsedTime \ @@ -18,7 +18,7 @@ Output:: "revisionType": "S3", "s3Location": { "version": "uTecLusvCB_JqHFXtfUcyfV8bEXAMPLE", - "bucket": "CodeDeployDemoBucket", + "bucket": "amzn-s3-demo-bucket", "key": "WordPress_App.zip", "bundleType": "zip" } @@ -27,7 +27,7 @@ Output:: "revisionType": "S3", "s3Location": { "version": "tMk.UxgDpMEVb7V187ZM6wVAWEXAMPLE", - "bucket": "CodeDeployDemoBucket", + "bucket": "amzn-s3-demo-bucket", "key": "WordPress_App_2-0.zip", "bundleType": "zip" } diff --git a/awscli/examples/deploy/push.rst b/awscli/examples/deploy/push.rst index ea30dc58e71a..dbaa42ec6810 100755 --- a/awscli/examples/deploy/push.rst +++ b/awscli/examples/deploy/push.rst @@ -6,10 +6,10 @@ The following ``push`` example bundles and deploys an application revision to Am --application-name WordPress_App \ --description "This is my deployment" \ --ignore-hidden-files \ - --s3-location s3://CodeDeployDemoBucket/WordPressApp.zip \ + --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip \ --source /tmp/MyLocalDeploymentFolder/ The output describes how to use the ``create-deployment`` command to create a deployment that uses the uploaded application revision. :: To deploy with this revision, run: - aws deploy create-deployment --application-name WordPress_App --deployment-config-name --deployment-group-name --s3-location bucket=CodeDeployDemoBucket,key=WordPressApp.zip,bundleType=zip,eTag="cecc9b8EXAMPLE50a6e71fdb88EXAMPLE",version=LFsJAUdEXAMPLEfvKtvi79L8EXAMPLE \ No newline at end of file + aws deploy create-deployment --application-name WordPress_App --deployment-config-name --deployment-group-name --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip,eTag="cecc9b8EXAMPLE50a6e71fdb88EXAMPLE",version=LFsJAUdEXAMPLEfvKtvi79L8EXAMPLE \ No newline at end of file diff --git a/awscli/examples/deploy/register-application-revision.rst b/awscli/examples/deploy/register-application-revision.rst index 49a03130afe3..d294b9d80431 100755 --- a/awscli/examples/deploy/register-application-revision.rst +++ b/awscli/examples/deploy/register-application-revision.rst @@ -5,6 +5,6 @@ The following ``register-application-revision`` example registers information ab aws deploy register-application-revision \ --application-name WordPress_App \ --description "Revised WordPress application" \ - --s3-location bucket=CodeDeployDemoBucket,key=RevisedWordPressApp.zip,bundleType=zip,eTag=cecc9b8a08eac650a6e71fdb88EXAMPLE + --s3-location bucket=amzn-s3-demo-bucket,key=RevisedWordPressApp.zip,bundleType=zip,eTag=cecc9b8a08eac650a6e71fdb88EXAMPLE This command produces no output. diff --git a/awscli/examples/deploy/tag-resource.rst b/awscli/examples/deploy/tag-resource.rst index fef3ae6e140e..c812fe98fcc9 100644 --- a/awscli/examples/deploy/tag-resource.rst +++ b/awscli/examples/deploy/tag-resource.rst @@ -1,4 +1,4 @@ -**To tag a resoure (application)** +**To tag a resource (application)** The following ``tag-resource`` example adds two tags with keys Name and Type, and values testName and testType to an application named testApp in CodeDeploy.:: diff --git a/awscli/examples/dms/describe-schemas.rst b/awscli/examples/dms/describe-schemas.rst index 95dadac3553b..9949b311373e 100644 --- a/awscli/examples/dms/describe-schemas.rst +++ b/awscli/examples/dms/describe-schemas.rst @@ -1,4 +1,4 @@ -**To desscribe database schemas** +**To describe database schemas** The following ``describe-schemas`` example lists the available tables at an endpoint. :: diff --git a/awscli/examples/docdb/modify-db-cluster-snapshot-attribute.rst b/awscli/examples/docdb/modify-db-cluster-snapshot-attribute.rst index 0823a3f7f75f..6a106ef62fb1 100644 --- a/awscli/examples/docdb/modify-db-cluster-snapshot-attribute.rst +++ b/awscli/examples/docdb/modify-db-cluster-snapshot-attribute.rst @@ -5,7 +5,7 @@ The following ``modify-db-cluster-snapshot-attribute`` example adds four attribu aws docdb modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier sample-cluster-snapshot \ --attribute-name restore \ - --values-to-add all 123456789011 123456789012 123456789013 + --values-to-add 123456789011 123456789012 123456789013 Output:: @@ -15,7 +15,6 @@ Output:: { "AttributeName": "restore", "AttributeValues": [ - "all", "123456789011", "123456789012", "123456789013" @@ -33,7 +32,7 @@ The following ``modify-db-cluster-snapshot-attribute`` example removes two attri aws docdb modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier sample-cluster-snapshot \ --attribute-name restore \ - --values-to-remove 123456789012 all + --values-to-remove 123456789012 Output:: diff --git a/awscli/examples/ds-data/add-group-member.rst b/awscli/examples/ds-data/add-group-member.rst new file mode 100644 index 000000000000..45c54d26ab41 --- /dev/null +++ b/awscli/examples/ds-data/add-group-member.rst @@ -0,0 +1,12 @@ +**To add a group member to a directory** + +The following ``add-group-member`` example adds the specified user to the specified group in the specified directory. :: + + aws ds-data add-group-member \ + --directory-id d-1234567890 \ + --group-name 'sales' \ + --member-name 'john.doe' + +This command produces no output. + +For more information, see `Adding or removing AWS Managed Microsoft AD members to groups and groups to groups `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/create-group.rst b/awscli/examples/ds-data/create-group.rst new file mode 100644 index 000000000000..df7f17df9262 --- /dev/null +++ b/awscli/examples/ds-data/create-group.rst @@ -0,0 +1,17 @@ +**To list the available widgets** + +The following ``create-group`` example creates a group in a specified directory. :: + + aws ds-data create-group \ + --directory-id d-1234567890 \ + --sam-account-name "sales" + +Output:: + + { + "DirectoryId": "d-1234567890", + "SAMAccountName": "sales", + "SID": "S-1-2-34-5567891234-5678912345-67891234567-8912" + } + +For more information, see `Creating an AWS Managed Microsoft AD group `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/create-user.rst b/awscli/examples/ds-data/create-user.rst new file mode 100644 index 000000000000..f348abf0bce6 --- /dev/null +++ b/awscli/examples/ds-data/create-user.rst @@ -0,0 +1,17 @@ +**To create a user** + +The following ``create-user`` example creates a user in the specified directory. :: + + aws ds-data create-user \ + --directory-id d-1234567890 \ + --sam-account-name 'john.doe' + +Output:: + + { + "DirectoryId": "d-1234567890", + "SAMAccountName": "john.doe", + "SID": "S-1-2-34-5567891234-5678912345-67891234567-8912" + } + +For more information, see `Creating an AWS Managed Microsoft AD user `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/delete-group.rst b/awscli/examples/ds-data/delete-group.rst new file mode 100644 index 000000000000..33c155c7ffbf --- /dev/null +++ b/awscli/examples/ds-data/delete-group.rst @@ -0,0 +1,11 @@ +**To delete a group** + +The following ``delete-group`` example deletes the specified group from the specified directory. :: + + aws ds-data delete-group \ + --directory-id d-1234567890 \ + --sam-account-name 'sales' + +This command produces no output. + +For more information, see `Deleting an AWS Managed Microsoft AD group `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/delete-user.rst b/awscli/examples/ds-data/delete-user.rst new file mode 100644 index 000000000000..9ffd38f8ea04 --- /dev/null +++ b/awscli/examples/ds-data/delete-user.rst @@ -0,0 +1,11 @@ +**To delete a user** + +The following ``delete-user`` example deletes the specified user from the specified directory. :: + + aws ds-data delete-user \ + --directory-id d-1234567890 \ + --sam-account-name 'john.doe' + +This command produces no output. + +For more information, see `Deleting an AWS Managed Microsoft AD user `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/describe-group.rst b/awscli/examples/ds-data/describe-group.rst new file mode 100644 index 000000000000..ef8b227a6864 --- /dev/null +++ b/awscli/examples/ds-data/describe-group.rst @@ -0,0 +1,21 @@ +**To list details of a group** + +The following ``describe-group`` example gets information for the specified group in the specified directory. :: + + aws ds-data describe-group \ + --directory-id d-1234567890 \ + --sam-account-name 'sales' + +Output:: + + { + "DirectoryId": "d-1234567890", + "DistinguishedName": "CN=sales,OU=Users,OU=CORP,DC=corp,DC=example,DC=com", + "GroupScope": "Global", + "GroupType": "Security", + "Realm": "corp.example.com", + "SAMAccountName": "sales", + "SID": "S-1-2-34-5567891234-5678912345-67891234567-8912" + } + +For more information, see `Viewing and updating an AWS Managed Microsoft AD group's details `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/describe-user.rst b/awscli/examples/ds-data/describe-user.rst new file mode 100644 index 000000000000..1ea210ad962c --- /dev/null +++ b/awscli/examples/ds-data/describe-user.rst @@ -0,0 +1,21 @@ +**To list information for a user** + +The following ``describe-user`` example gets information for the specified user in the specified directory. :: + + aws ds-data describe-user command-name \ + --directory-id d-1234567890 \ + --sam-account-name 'john.doe' + +Output:: + + { + "DirectoryId": "d-1234567890", + "DistinguishedName": "CN=john.doe,OU=Users,OU=CORP,DC=corp,DC=example,DC=com", + "Enabled": false, + "Realm": "corp.example.com", + "SAMAccountName": "john.doe", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4567", + "UserPrincipalName": "john.doe@CORP.EXAMPLE.COM" + } + +For more information, see `Viewing and updating an AWS Managed Microsoft AD user `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/disable-directory-data-access.rst b/awscli/examples/ds-data/disable-directory-data-access.rst new file mode 100644 index 000000000000..e02e870b7ab3 --- /dev/null +++ b/awscli/examples/ds-data/disable-directory-data-access.rst @@ -0,0 +1,10 @@ +**To disable Directory Service Data API for a directory** + +The following ``disable-directory-data-access`` example disables the Directory Service Data API for the specified directory. :: + + aws ds disable-directory-data-access \ + --directory-id d-1234567890 + +This command produces no output. + +For more information, see `Enabling or disabling user and group management or AWS Directory Service Data `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/disable-user.rst b/awscli/examples/ds-data/disable-user.rst new file mode 100644 index 000000000000..fc71978b8583 --- /dev/null +++ b/awscli/examples/ds-data/disable-user.rst @@ -0,0 +1,11 @@ +**To disable a user** + +The following ``disable-user`` example disables the specified user in the specified directory. :: + + aws ds-data disable-user \ + --directory-id d-1234567890 \ + --sam-account-name 'john.doe' + +This command produces no output. + +For more information, see `Disabling an AWS Managed Microsoft AD user `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/enable-directory-data-access.rst b/awscli/examples/ds-data/enable-directory-data-access.rst new file mode 100644 index 000000000000..2be21265a81a --- /dev/null +++ b/awscli/examples/ds-data/enable-directory-data-access.rst @@ -0,0 +1,10 @@ +**To enable Directory Service Data API for a directory** + +The following ``enable-directory-data-access`` example enables the Directory Service Data API for the specified directory. :: + + aws ds enable-directory-data-access \ + --directory-id d-1234567890 + +This command produces no output. + +For more information, see `Enabling or disabling user and group management or AWS Directory Service Data `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/list-group-members.rst b/awscli/examples/ds-data/list-group-members.rst new file mode 100644 index 000000000000..157d632a6533 --- /dev/null +++ b/awscli/examples/ds-data/list-group-members.rst @@ -0,0 +1,29 @@ +**To list a directory's group members** + +The following ``list-group-members`` example lists the group members for the specified group in the specified directory. :: + + aws ds-data list-group-members \ + --directory-id d-1234567890 \ + --sam-account-name 'sales' + +Output:: + + { + "Members": [ + { + "MemberType": "USER", + "SAMAccountName": "Jane Doe", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4568" + }, + { + "MemberType": "USER", + "SAMAccountName": "John Doe", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4569" + } + ], + "DirectoryId": "d-1234567890", + "MemberRealm": "corp.example.com", + "Realm": "corp.example.com" + } + +For more information, see `Viewing and updating an AWS Managed Microsoft AD group's details `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/list-groups-for-member.rst b/awscli/examples/ds-data/list-groups-for-member.rst new file mode 100644 index 000000000000..1ac8a8746fc2 --- /dev/null +++ b/awscli/examples/ds-data/list-groups-for-member.rst @@ -0,0 +1,25 @@ +**To list a directory's group membership** + +The following ``list-groups-for-member`` example lists group membership for the specified user in the specified directory. :: + + aws ds-data list-groups-for-member \ + --directory-id d-1234567890 \ + --sam-account-name 'john.doe' + +Output:: + + { + "Groups": [ + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Domain Users", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4567" + } + ], + "DirectoryId": "d-1234567890", + "MemberRealm": "corp.example.com", + "Realm": "corp.example.com" + } + +For more information, see `Viewing and updating an AWS Managed Microsoft AD user `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/list-groups.rst b/awscli/examples/ds-data/list-groups.rst new file mode 100644 index 000000000000..d01ce5f2b981 --- /dev/null +++ b/awscli/examples/ds-data/list-groups.rst @@ -0,0 +1,503 @@ +**To list a directory's groups** + +The following ``list-groups`` example lists groups in the specified directory. :: + + aws ds-data list-groups \ + --directory-id d-1234567890 + +Output:: + + { + "Groups": [ + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Administrators", + "SID": "S-1-2-33-441" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Users", + "SID": "S-1-2-33-442" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Guests", + "SID": "S-1-2-33-443" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Print Operators", + "SID": "S-1-2-33-444" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Backup Operators", + "SID": "S-1-2-33-445" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Replicator", + "SID": "S-1-2-33-446" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Remote Desktop Users", + "SID": "S-1-2-33-447" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Network Configuration Operators", + "SID": "S-1-2-33-448" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Performance Monitor Users", + "SID": "S-1-2-33-449" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Performance Log Users", + "SID": "S-1-2-33-450" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Distributed COM Users", + "SID": "S-1-2-33-451" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "IIS_IUSRS", + "SID": "S-1-2-33-452" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Cryptographic Operators", + "SID": "S-1-2-33-453" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Event Log Readers", + "SID": "S-1-2-33-454" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Certificate Service DCOM Access", + "SID": "S-1-2-33-456" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "RDS Remote Access Servers", + "SID": "S-1-2-33-457" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "RDS Endpoint Servers", + "SID": "S-1-2-33-458" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "RDS Management Servers", + "SID": "S-1-2-33-459" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Hyper-V Administrators", + "SID": "S-1-2-33-460" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Access Control Assistance Operators", + "SID": "S-1-2-33-461" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Remote Management Users", + "SID": "S-1-2-33-462" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Storage Replica Administrators", + "SID": "S-1-2-33-463" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Domain Computers", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-789" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Domain Controllers", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-790" + }, + { + "GroupScope": "Universal", + "GroupType": "Security", + "SAMAccountName": "Schema Admins", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-791" + }, + { + "GroupScope": "Universal", + "GroupType": "Security", + "SAMAccountName": "Enterprise Admins", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-792" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "Cert Publishers", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-793" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Domain Admins", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-794" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Domain Users", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-795" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Domain Guests", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-796" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Group Policy Creator Owners", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-797" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "RAS and IAS Servers", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-798" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Server Operators", + "SID": "S-1-2-33-464" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Account Operators", + "SID": "S-1-2-33-465" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Pre-Windows 2000 Compatible Access", + "SID": "S-1-2-33-466" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Incoming Forest Trust Builders", + "SID": "S-1-2-33-467" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Windows Authorization Access Group", + "SID": "S-1-2-33-468" + }, + { + "GroupScope": "BuiltinLocal", + "GroupType": "Security", + "SAMAccountName": "Terminal Server License Servers", + "SID": "S-1-2-33-469" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "Allowed RODC Password Replication Group", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-798" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "Denied RODC Password Replication Group", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-799" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Read-only Domain Controllers", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-800" + }, + { + "GroupScope": "Universal", + "GroupType": "Security", + "SAMAccountName": "Enterprise Read-only Domain Controllers", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-801" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Cloneable Domain Controllers", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-802" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Protected Users", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-803" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Key Admins", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-804" + }, + { + "GroupScope": "Universal", + "GroupType": "Security", + "SAMAccountName": "Enterprise Key Admins", + "SID": "S-1-2-34-56789123456-7891012345-6789123486-805" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "DnsAdmins", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4567" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "DnsUpdateProxy", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4568" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "Admins", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4569" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWSAdministrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4570" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Object Management Service Accounts", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4571" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Private CA Connector for AD Delegated Group", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4572" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Application and Service Delegated Group", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4573" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4574" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated FSx Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4575" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Account Operators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4576" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Active Directory Based Activation Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4577" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Allowed to Authenticate Objects", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4578" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Allowed to Authenticate to Domain Controllers", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4579" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Deleted Object Lifetime Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4580" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Distributed File System Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4581" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Dynamic Host Configuration Protocol Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4582" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Enterprise Certificate Authority Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4583" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Fine Grained Password Policy Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4584" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Group Policy Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4585" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Managed Service Account Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4586" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Read Foreign Security Principals", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4587" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Remote Access Service Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4588" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Replicate Directory Changes Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4588" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Sites and Services Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4589" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated System Management Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4590" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Terminal Server Licensing Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4591" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated User Principal Name Suffix Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4592" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Add Workstations To Domain Users", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4593" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Domain Name System Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4594" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Kerberos Delegation Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4595" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated Server Administrators", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4596" + }, + { + "GroupScope": "DomainLocal", + "GroupType": "Security", + "SAMAccountName": "AWS Delegated MS-NPRC Non-Compliant Devices", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4597" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Remote Access", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4598" + }, + { + "GroupScope": "Global", + "GroupType": "Security", + "SAMAccountName": "Accounting", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4599" + }, + { + "GroupScope": "Global", + "GroupType": "Distribution", + "SAMAccountName": "sales", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4567" + } + ], + "DirectoryId": "d-1234567890", + "Realm": "corp.example.com" + } + +For more information, see `Viewing and updating an AWS Managed Microsoft AD group's details `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/list-users.rst b/awscli/examples/ds-data/list-users.rst new file mode 100644 index 000000000000..6b3a43792c82 --- /dev/null +++ b/awscli/examples/ds-data/list-users.rst @@ -0,0 +1,57 @@ +**To list a directory's users** + +The following ``list-users`` example lists users in the specified directory. :: + + aws ds-data list-users \ + --directory-id d-1234567890 + +Output:: + + { + "Users": [ + { + "Enabled": true, + "SAMAccountName": "Administrator", + "SID": "S-1-2-34-5678910123-4567895012-3456789012-345" + }, + { + "Enabled": false, + "SAMAccountName": "Guest", + "SID": "S-1-2-34-5678910123-4567895012-3456789012-345" + }, + { + "Enabled": false, + "SAMAccountName": "krbtgt", + "SID": "S-1-2-34-5678910123-4567895012-3456789012-346" + }, + { + "Enabled": true, + "SAMAccountName": "Admin", + "SID": "S-1-2-34-5678910123-4567895012-3456789012-347" + }, + { + "Enabled": true, + "SAMAccountName": "Richard Roe", + "SID": "S-1-2-34-5678910123-4567895012-3456789012-348" + }, + { + "Enabled": true, + "SAMAccountName": "Jane Doe", + "SID": "S-1-2-34-5678910123-4567895012-3456789012-349" + }, + { + "Enabled": true, + "SAMAccountName": "AWS_WGnzYlN6YyY", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4567" + }, + { + "Enabled": true, + "SAMAccountName": "john.doe", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4568" + } + ], + "DirectoryId": "d-1234567890", + "Realm": "corp.example.com" + } + +For more information, see `Viewing and updating an AWS Managed Microsoft AD user `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/remove-group-member.rst b/awscli/examples/ds-data/remove-group-member.rst new file mode 100644 index 000000000000..a44c8313c693 --- /dev/null +++ b/awscli/examples/ds-data/remove-group-member.rst @@ -0,0 +1,12 @@ +**To remove a group member from a directory** + +The following ``remove-group-member`` example removes the specified group member from the specified group in the specified directory. :: + + aws ds-data remove-group-member \ + --directory-id d-1234567890 \ + --group-name 'sales' \ + --member-name 'john.doe' + +This command produces no output. + +For more information, see `Adding and removing AWS Managed Microsoft AD members to groups and groups to groups `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/reset-user-password.rst b/awscli/examples/ds-data/reset-user-password.rst new file mode 100644 index 000000000000..524985116969 --- /dev/null +++ b/awscli/examples/ds-data/reset-user-password.rst @@ -0,0 +1,12 @@ +**To reset a user password in a directory** + +The following ``reset-user-password`` example resets and enables the specified user in the specified directory. :: + + aws ds reset-user-password \ + --directory-id d-1234567890 \ + --user-name 'john.doe' \ + --new-password 'password' + +This command produces no output. + +For more information, see `Resetting and enabling an AWS Managed Microsoft AD user's password `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/search-groups.rst b/awscli/examples/ds-data/search-groups.rst new file mode 100644 index 000000000000..dc8fb354d55b --- /dev/null +++ b/awscli/examples/ds-data/search-groups.rst @@ -0,0 +1,25 @@ +**To search for a group in a directory** + +The following ``search-groups`` example searches for the specified group in the specified directory. :: + + aws ds-data search-groups \ + --directory-id d-1234567890 \ + --search-attributes 'SamAccountName' \ + --search-string 'sales' + +Output:: + + { + "Groups": [ + { + "GroupScope": "Global", + "GroupType": "Distribution", + "SAMAccountName": "sales", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4567" + } + ], + "DirectoryId": "d-1234567890", + "Realm": "corp.example.com" + } + +For more information, see `Viewing and updating an AWS Managed Microsoft AD group's details `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/search-users.rst b/awscli/examples/ds-data/search-users.rst new file mode 100644 index 000000000000..091b99e7a423 --- /dev/null +++ b/awscli/examples/ds-data/search-users.rst @@ -0,0 +1,24 @@ +**To search for a user in a directory** + +The following ``search-users`` example searches for the specified user in the specified directory. :: + + aws ds-data search-users \ + --directory-id d-1234567890 \ + --search-attributes 'SamAccountName' \ + --Search-string 'john.doe' + +Output:: + + { + "Users": [ + { + "Enabled": true, + "SAMAccountName": "john.doe", + "SID": "S-1-2-34-5678901234-5678901234-5678910123-4567" + } + ], + "DirectoryId": "d-1234567890", + "Realm": "corp.example.com" + } + +For more information, see `Viewing and updating an AWS Managed Microsoft AD user `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/update-group.rst b/awscli/examples/ds-data/update-group.rst new file mode 100644 index 000000000000..e4198aa3e2de --- /dev/null +++ b/awscli/examples/ds-data/update-group.rst @@ -0,0 +1,13 @@ +**To update a group's attribute in a directory** + +The following ``update-group`` example updates the specified attribute for the specified group in the specified directory. :: + + aws ds-data update-group \ + --directory-id d-1234567890 \ + --sam-account-name 'sales' \ + --update-type 'REPLACE' \ + --group-type 'Distribution' + +This command produces no output. + +For more information, see `Viewing and updating an AWS Managed Microsoft AD group's details `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ds-data/update-user.rst b/awscli/examples/ds-data/update-user.rst new file mode 100644 index 000000000000..08f82ae3d838 --- /dev/null +++ b/awscli/examples/ds-data/update-user.rst @@ -0,0 +1,13 @@ +**To update a user's attribute in a directory** + +The following ``update-user`` example updates the specified attribute for the specified user in the specified directory. :: + + aws ds-data update-user \ + --directory-id d-1234567890 \ + --sam-account-name 'john.doe' \ + --update-type 'ADD' \ + --email-address 'example.corp.com' + +This command produces no output. + +For more information, see `Viewing and updating an AWS Managed Microsoft AD user `__ in the *AWS Directory Service Administration Guide*. diff --git a/awscli/examples/ec2/accept-address-transfer.rst b/awscli/examples/ec2/accept-address-transfer.rst index 314a0b206b9d..af9e5880acd1 100644 --- a/awscli/examples/ec2/accept-address-transfer.rst +++ b/awscli/examples/ec2/accept-address-transfer.rst @@ -18,4 +18,4 @@ Output:: } } -For more information, see `Transfer Elastic IP addresses `__ in the *Amazon VPC User Guide*. +For more information, see `Transfer Elastic IP addresses `__ in the *Amazon VPC User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/allocate-address.rst b/awscli/examples/ec2/allocate-address.rst index 99d973e47fa5..c46f6c91e5ce 100755 --- a/awscli/examples/ec2/allocate-address.rst +++ b/awscli/examples/ec2/allocate-address.rst @@ -53,4 +53,25 @@ Output:: "NetworkBorderGroup": "us-west-2", } -For more information, see `Elastic IP addresses `__ in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information, see `Elastic IP addresses `__ in the *Amazon EC2 User Guide*. + +**Example 4: To allocate an Elastic IP address from an IPAM pool** + +The following ``allocate-address`` example allocates a specific /32 Elastic IP address from an Amazon VPC IP Address Manager (IPAM) pool. :: + + aws ec2 allocate-address \ + --region us-east-1 \ + --ipam-pool-id ipam-pool-1234567890abcdef0 \ + --address 192.0.2.0 + +Output:: + + { + "PublicIp": "192.0.2.0", + "AllocationId": "eipalloc-abcdef01234567890", + "PublicIpv4Pool": "ipam-pool-1234567890abcdef0", + "NetworkBorderGroup": "us-east-1", + "Domain": "vpc" + } + +For more information, see `Allocate sequential Elastic IP addresses from an IPAM pool `__ in the *Amazon VPC IPAM User Guide*. diff --git a/awscli/examples/ec2/allocate-hosts.rst b/awscli/examples/ec2/allocate-hosts.rst index bc1feb511aaf..1b5ef17525f4 100644 --- a/awscli/examples/ec2/allocate-hosts.rst +++ b/awscli/examples/ec2/allocate-hosts.rst @@ -1,55 +1,55 @@ -**Example 1: To allocate a Dedicated Host** - -The following ``allocate-hosts`` example allocates a single Dedicated Host in the ``eu-west-1a`` Availability Zone, onto which you can launch ``m5.large`` instances. By default, the Dedicated Host accepts only target instance launches, and does not support host recovery. :: - - aws ec2 allocate-hosts \ - --instance-type m5.large \ - --availability-zone eu-west-1a \ - --quantity 1 - -Output:: - - { - "HostIds": [ - "h-07879acf49EXAMPLE" - ] - } - -**Example 2: To allocate a Dedicated Host with auto-placement and host recovery enabled** - -The following ``allocate-hosts`` example allocates a single Dedicated Host in the ``eu-west-1a`` Availability Zone with auto-placement and host recovery enabled. :: - - aws ec2 allocate-hosts \ - --instance-type m5.large \ - --availability-zone eu-west-1a \ - --auto-placement on \ - --host-recovery on \ - --quantity 1 - -Output:: - - { - "HostIds": [ - "h-07879acf49EXAMPLE" - ] - } - -**Example 3: To allocate a Dedicated Host with tags** - -The following ``allocate-hosts`` example allocates a single Dedicated Host and applies a tag with a key named ``purpose`` and a value of ``production``. :: - - aws ec2 allocate-hosts \ - --instance-type m5.large \ - --availability-zone eu-west-1a \ - --quantity 1 \ - --tag-specifications 'ResourceType=dedicated-host,Tags={Key=purpose,Value=production}' - -Output:: - - { - "HostIds": [ - "h-07879acf49EXAMPLE" - ] - } - -For more information, see `Allocating Dedicated Hosts `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +**Example 1: To allocate a Dedicated Host** + +The following ``allocate-hosts`` example allocates a single Dedicated Host in the ``eu-west-1a`` Availability Zone, onto which you can launch ``m5.large`` instances. By default, the Dedicated Host accepts only target instance launches, and does not support host recovery. :: + + aws ec2 allocate-hosts \ + --instance-type m5.large \ + --availability-zone eu-west-1a \ + --quantity 1 + +Output:: + + { + "HostIds": [ + "h-07879acf49EXAMPLE" + ] + } + +**Example 2: To allocate a Dedicated Host with auto-placement and host recovery enabled** + +The following ``allocate-hosts`` example allocates a single Dedicated Host in the ``eu-west-1a`` Availability Zone with auto-placement and host recovery enabled. :: + + aws ec2 allocate-hosts \ + --instance-type m5.large \ + --availability-zone eu-west-1a \ + --auto-placement on \ + --host-recovery on \ + --quantity 1 + +Output:: + + { + "HostIds": [ + "h-07879acf49EXAMPLE" + ] + } + +**Example 3: To allocate a Dedicated Host with tags** + +The following ``allocate-hosts`` example allocates a single Dedicated Host and applies a tag with a key named ``purpose`` and a value of ``production``. :: + + aws ec2 allocate-hosts \ + --instance-type m5.large \ + --availability-zone eu-west-1a \ + --quantity 1 \ + --tag-specifications 'ResourceType=dedicated-host,Tags={Key=purpose,Value=production}' + +Output:: + + { + "HostIds": [ + "h-07879acf49EXAMPLE" + ] + } + +For more information, see `Allocate a Dedicated Host `__ in the *Amazon EC2 User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/associate-address.rst b/awscli/examples/ec2/associate-address.rst index 6db0020a1361..08a8fdf3b8cd 100644 --- a/awscli/examples/ec2/associate-address.rst +++ b/awscli/examples/ec2/associate-address.rst @@ -1,35 +1,44 @@ -**To associate an Elastic IP addresses in EC2-Classic** - -This example associates an Elastic IP address with an instance in EC2-Classic. If the command succeeds, no output is returned. - -Command:: - - aws ec2 associate-address --instance-id i-07ffe74c7330ebf53 --public-ip 198.51.100.0 - -**To associate an Elastic IP address in EC2-VPC** - -This example associates an Elastic IP address with an instance in a VPC. - -Command:: - - aws ec2 associate-address --instance-id i-0b263919b6498b123 --allocation-id eipalloc-64d5890a - -Output:: - - { - "AssociationId": "eipassoc-2bebb745" - } - -This example associates an Elastic IP address with a network interface. - -Command:: - - aws ec2 associate-address --allocation-id eipalloc-64d5890a --network-interface-id eni-1a2b3c4d - -This example associates an Elastic IP with a private IP address that's associated with a network interface. - -Command:: - - aws ec2 associate-address --allocation-id eipalloc-64d5890a --network-interface-id eni-1a2b3c4d --private-ip-address 10.0.0.85 - - +**Example 1: To associate an Elastic IP address with an instance** + +The following ``associate-address`` example associates an Elastic IP address with the specified EC2 instance. :: + + aws ec2 associate-address \ + --instance-id i-0b263919b6498b123 \ + --allocation-id eipalloc-64d5890a + +Output:: + + { + "AssociationId": "eipassoc-2bebb745" + } + +**Example 2: To associate an Elastic IP address with a network interface** + +The following ``associate-address`` example associates the specified Elastic IP address with the specified network interface. :: + + aws ec2 associate-address + --allocation-id eipalloc-64d5890a \ + --network-interface-id eni-1a2b3c4d + +Output:: + + { + "AssociationId": "eipassoc-2bebb745" + } + +**Example 3: To associate an Elastic IP address with a private IP address** + +The following ``associate-address`` example associates the specified Elastic IP address with the specified private IP address in the specified network interface. :: + + aws ec2 associate-address \ + --allocation-id eipalloc-64d5890a \ + --network-interface-id eni-1a2b3c4d \ + --private-ip-address 10.0.0.85 + +Output:: + + { + "AssociationId": "eipassoc-2bebb745" + } + +For more information, see `Elastic IP addresses `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/associate-ipam-resource-discovery.rst b/awscli/examples/ec2/associate-ipam-resource-discovery.rst index cf78208eeebc..4e1e5b674140 100644 --- a/awscli/examples/ec2/associate-ipam-resource-discovery.rst +++ b/awscli/examples/ec2/associate-ipam-resource-discovery.rst @@ -4,7 +4,7 @@ In this example, you are an IPAM delegated admin and a resource discovery has be Note -* To complete this request, you'll need the resource discovery ID which you can get with `describe-ipam-resource-discoveries `__ and the IPAM ID which you can get with `describe-ipams `__. +* To complete this request, you'll need the resource discovery ID which you can get with `describe-ipam-resource-discoveries `__ and the IPAM ID which you can get with `describe-ipams `__. * The resource discovery that you are associating must have first been shared with your account using AWS RAM. * The ``--region`` you enter must match the home Region of the IPAM you are associating it with. diff --git a/awscli/examples/ec2/associate-security-group-vpc.rst b/awscli/examples/ec2/associate-security-group-vpc.rst new file mode 100644 index 000000000000..1629b6690f75 --- /dev/null +++ b/awscli/examples/ec2/associate-security-group-vpc.rst @@ -0,0 +1,15 @@ +**To associate a security group with another VPC** + +The following ``associate-security-group-vpc`` example associates the specified security group with the specified VPC. :: + + aws ec2 associate-security-group-vpc \ + --group-id sg-04dbb43907d3f8a78 \ + --vpc-id vpc-0bf4c2739bc05a694 + +Output:: + + { + "State": "associating" + } + +For more information, see `Associate security groups with multiple VPCs `__ in the *Amazon VPC User Guide*. diff --git a/awscli/examples/ec2/associate-transit-gateway-multicast-domain.rst b/awscli/examples/ec2/associate-transit-gateway-multicast-domain.rst index 43aeead45180..d68563864798 100755 --- a/awscli/examples/ec2/associate-transit-gateway-multicast-domain.rst +++ b/awscli/examples/ec2/associate-transit-gateway-multicast-domain.rst @@ -25,4 +25,4 @@ Output:: } } -For more information, see `Managing multicast domains `__ in the *Transit Gateways Guide*. \ No newline at end of file +For more information, see `Multicast domains `__ in the *Transit Gateways Guide*. diff --git a/awscli/examples/ec2/authorize-security-group-egress.rst b/awscli/examples/ec2/authorize-security-group-egress.rst index 654851b99de8..998212a87feb 100644 --- a/awscli/examples/ec2/authorize-security-group-egress.rst +++ b/awscli/examples/ec2/authorize-security-group-egress.rst @@ -1,23 +1,56 @@ -**To add a rule that allows outbound traffic to a specific address range** - -This example command adds a rule that grants access to the specified address ranges on TCP port 80. - -Command (Linux):: - - aws ec2 authorize-security-group-egress --group-id sg-1a2b3c4d --ip-permissions IpProtocol=tcp,FromPort=80,ToPort=80,IpRanges='[{CidrIp=10.0.0.0/16}]' - -Command (Windows):: - - aws ec2 authorize-security-group-egress --group-id sg-1a2b3c4d --ip-permissions IpProtocol=tcp,FromPort=80,ToPort=80,IpRanges=[{CidrIp=10.0.0.0/16}] - -**To add a rule that allows outbound traffic to a specific security group** - -This example command adds a rule that grants access to the specified security group on TCP port 80. - -Command (Linux):: - - aws ec2 authorize-security-group-egress --group-id sg-1a2b3c4d --ip-permissions IpProtocol=tcp,FromPort=80,ToPort=80,UserIdGroupPairs='[{GroupId=sg-4b51a32f}]' - -Command (Windows):: - - aws ec2 authorize-security-group-egress --group-id sg-1a2b3c4d --ip-permissions IpProtocol=tcp,FromPort=80,ToPort=80,UserIdGroupPairs=[{GroupId=sg-4b51a32f}] +**Example 1: To add a rule that allows outbound traffic to a specific address range** + +The following ``authorize-security-group-egress`` example adds a rule that grants access to the specified address ranges on TCP port 80. :: + + aws ec2 authorize-security-group-egress \ + --group-id sg-1234567890abcdef0 \ + --ip-permissions 'IpProtocol=tcp,FromPort=80,ToPort=80,IpRanges=[{CidrIp=10.0.0.0/16}]' + +Output:: + + { + "Return": true, + "SecurityGroupRules": [ + { + "SecurityGroupRuleId": "sgr-0b15794cdb17bf29c", + "GroupId": "sg-1234567890abcdef0", + "GroupOwnerId": "123456789012", + "IsEgress": true, + "IpProtocol": "tcp", + "FromPort": 80, + "ToPort": 80, + "CidrIpv4": "10.0.0.0/16" + } + ] + } + +**Example 2: To add a rule that allows outbound traffic to a specific security group** + +The following ``authorize-security-group-egress`` example adds a rule that grants access to the specified security group on TCP port 80. :: + + aws ec2 authorize-security-group-egress \ + --group-id sg-1234567890abcdef0 \ + --ip-permissions 'IpProtocol=tcp,FromPort=80,ToPort=80,UserIdGroupPairs=[{GroupId=sg-0aad1c26bbeec5c22}]' + +Output:: + + { + "Return": true, + "SecurityGroupRules": [ + { + "SecurityGroupRuleId": "sgr-0b5dd815afcea9cc3", + "GroupId": "sg-1234567890abcdef0", + "GroupOwnerId": "123456789012", + "IsEgress": true, + "IpProtocol": "tcp", + "FromPort": 80, + "ToPort": 80, + "ReferencedGroupInfo": { + "GroupId": "sg-0aad1c26bbeec5c22", + "UserId": "123456789012" + } + } + ] + } + +For more information, see `Security groups `__ in the *Amazon VPC User Guide*. diff --git a/awscli/examples/ec2/authorize-security-group-ingress.rst b/awscli/examples/ec2/authorize-security-group-ingress.rst index 4ccf6498fb47..9da7c89b6ebe 100644 --- a/awscli/examples/ec2/authorize-security-group-ingress.rst +++ b/awscli/examples/ec2/authorize-security-group-ingress.rst @@ -59,11 +59,11 @@ Output:: **Example 3: To add multiple rules in the same call** -The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add two inbound rules, one that enables inbound access on TCP port 3389 (RDP) and the other that enables ping/ICMP. +The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add two inbound rules, one that enables inbound access on TCP port 3389 (RDP) and the other that enables ping/ICMP. :: aws ec2 authorize-security-group-ingress \ --group-id sg-1234567890abcdef0 \ - --ip-permissions IpProtocol=tcp,FromPort=3389,ToPort=3389,IpRanges="[{CidrIp=172.31.0.0/16}]" IpProtocol=icmp,FromPort=-1,ToPort=-1,IpRanges="[{CidrIp=172.31.0.0/16}]" + --ip-permissions 'IpProtocol=tcp,FromPort=3389,ToPort=3389,IpRanges=[{CidrIp=172.31.0.0/16}]' 'IpProtocol=icmp,FromPort=-1,ToPort=-1,IpRanges=[{CidrIp=172.31.0.0/16}]' Output:: @@ -92,14 +92,14 @@ Output:: } ] } - + **Example 4: To add a rule for ICMP traffic** -The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows the ICMP message ``Destination Unreachable: Fragmentation Needed and Don't Fragment was Set`` (Type 3, Code 4) from anywhere. +The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows the ICMP message ``Destination Unreachable: Fragmentation Needed and Don't Fragment was Set`` (Type 3, Code 4) from anywhere. :: aws ec2 authorize-security-group-ingress \ --group-id sg-1234567890abcdef0 \ - --ip-permissions IpProtocol=icmp,FromPort=3,ToPort=4,IpRanges="[{CidrIp=0.0.0.0/0}]" + --ip-permissions 'IpProtocol=icmp,FromPort=3,ToPort=4,IpRanges=[{CidrIp=0.0.0.0/0}]' Output:: @@ -121,11 +121,11 @@ Output:: **Example 5: To add a rule for IPv6 traffic** -The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows SSH access (port 22) from the IPv6 range ``2001:db8:1234:1a00::/64``. +The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows SSH access (port 22) from the IPv6 range ``2001:db8:1234:1a00::/64``. :: aws ec2 authorize-security-group-ingress \ --group-id sg-1234567890abcdef0 \ - --ip-permissions IpProtocol=tcp,FromPort=22,ToPort=22,Ipv6Ranges="[{CidrIpv6=2001:db8:1234:1a00::/64}]" + --ip-permissions 'IpProtocol=tcp,FromPort=22,ToPort=22,Ipv6Ranges=[{CidrIpv6=2001:db8:1234:1a00::/64}]' Output:: @@ -147,12 +147,12 @@ Output:: **Example 6: To add a rule for ICMPv6 traffic** -The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows ICMPv6 traffic from anywhere. +The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows ICMPv6 traffic from anywhere. :: aws ec2 authorize-security-group-ingress \ --group-id sg-1234567890abcdef0 \ - --ip-permissions IpProtocol=icmpv6,Ipv6Ranges="[{CidrIpv6=::/0}]" - + --ip-permissions 'IpProtocol=icmpv6,Ipv6Ranges=[{CidrIpv6=::/0}]' + Output:: { @@ -173,11 +173,11 @@ Output:: **Example 7: Add a rule with a description** -The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows RDP traffic from the specified IPv4 address range. The rule includes a description to help you identify it later. +The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows RDP traffic from the specified IPv4 address range. The rule includes a description to help you identify it later. :: aws ec2 authorize-security-group-ingress \ --group-id sg-1234567890abcdef0 \ - --ip-permissions IpProtocol=tcp,FromPort=3389,ToPort=3389,IpRanges="[{CidrIp=203.0.113.0/24,Description='RDP access from NY office'}]" + --ip-permissions 'IpProtocol=tcp,FromPort=3389,ToPort=3389,IpRanges=[{CidrIp=203.0.113.0/24,Description='RDP access from NY office'}]' Output:: @@ -200,11 +200,11 @@ Output:: **Example 8: To add an inbound rule that uses a prefix list** -The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows all traffic for the CIDR ranges in the specified prefix list. +The following ``authorize-security-group-ingress`` example uses the ``ip-permissions`` parameter to add an inbound rule that allows all traffic for the CIDR ranges in the specified prefix list. :: aws ec2 authorize-security-group-ingress \ --group-id sg-04a351bfe432d4e71 \ - --ip-permissions IpProtocol=all,PrefixListIds="[{PrefixListId=pl-002dc3ec097de1514}]" + --ip-permissions 'IpProtocol=all,PrefixListIds=[{PrefixListId=pl-002dc3ec097de1514}]' Output:: @@ -224,4 +224,4 @@ Output:: ] } -For more information, see `Security groups `__ in the *Amazon VPC User Guide*. \ No newline at end of file +For more information, see `Security groups `__ in the *Amazon VPC User Guide*. diff --git a/awscli/examples/ec2/cancel-capacity-reservation.rst b/awscli/examples/ec2/cancel-capacity-reservation.rst index 0ba6d4bbb857..d604e1b05b75 100644 --- a/awscli/examples/ec2/cancel-capacity-reservation.rst +++ b/awscli/examples/ec2/cancel-capacity-reservation.rst @@ -1,14 +1,14 @@ -**To cancel a capacity reservation** - -The following ``cancel-capacity-reservation`` example cancels the specified capacity reservation. :: - - aws ec2 cancel-capacity-reservation \ - --capacity-reservation-id cr-1234abcd56EXAMPLE - -Output:: - - { - "Return": true - } - -For more information, see `Canceling a Capacity Reservation `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +**To cancel a capacity reservation** + +The following ``cancel-capacity-reservation`` example cancels the specified capacity reservation. :: + + aws ec2 cancel-capacity-reservation \ + --capacity-reservation-id cr-1234abcd56EXAMPLE + +Output:: + + { + "Return": true + } + +For more information, see `Cancel a Capacity Reservation `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/cancel-spot-fleet-requests.rst b/awscli/examples/ec2/cancel-spot-fleet-requests.rst index 11deda9385c9..25a498189a93 100644 --- a/awscli/examples/ec2/cancel-spot-fleet-requests.rst +++ b/awscli/examples/ec2/cancel-spot-fleet-requests.rst @@ -1,46 +1,43 @@ -**Example 1: To cancel a Spot fleet request and terminate the associated instances** - -The following ``cancel-spot-fleet-requests`` example cancels a Spot Fleet request and terminates the associated On-Demand Instances and Spot Instances. :: - - aws ec2 cancel-spot-fleet-requests \ - --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ - --terminate-instances - -Output:: - - { - "SuccessfulFleetRequests": [ - { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "CurrentSpotFleetRequestState": "cancelled_terminating", - "PreviousSpotFleetRequestState": "active" - } - ], - "UnsuccessfulFleetRequests": [] - } - -For more information, see `Cancel a Spot Fleet request `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. - - -**Example 2: To cancel a Spot fleet request without terminating the associated instances** - -The following ``cancel-spot-fleet-requests`` example cancels a Spot Fleet request without terminating the associated On-Demand Instances and Spot Instances. :: - - aws ec2 cancel-spot-fleet-requests \ - --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ - --no-terminate-instances - -Output:: - - { - "SuccessfulFleetRequests": [ - { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "CurrentSpotFleetRequestState": "cancelled_running", - "PreviousSpotFleetRequestState": "active" - } - ], - "UnsuccessfulFleetRequests": [] - } - -For more information, see `Cancel a Spot Fleet request `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. \ No newline at end of file +**Example 1: To cancel a Spot fleet request and terminate the associated instances** + +The following ``cancel-spot-fleet-requests`` example cancels a Spot Fleet request and terminates the associated On-Demand Instances and Spot Instances. :: + + aws ec2 cancel-spot-fleet-requests \ + --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ + --terminate-instances + +Output:: + + { + "SuccessfulFleetRequests": [ + { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", + "CurrentSpotFleetRequestState": "cancelled_terminating", + "PreviousSpotFleetRequestState": "active" + } + ], + "UnsuccessfulFleetRequests": [] + } + +**Example 2: To cancel a Spot fleet request without terminating the associated instances** + +The following ``cancel-spot-fleet-requests`` example cancels a Spot Fleet request without terminating the associated On-Demand Instances and Spot Instances. :: + + aws ec2 cancel-spot-fleet-requests \ + --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ + --no-terminate-instances + +Output:: + + { + "SuccessfulFleetRequests": [ + { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", + "CurrentSpotFleetRequestState": "cancelled_running", + "PreviousSpotFleetRequestState": "active" + } + ], + "UnsuccessfulFleetRequests": [] + } + +For more information, see `Cancel a Spot Fleet request `__ in the *Amazon EC2 User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/copy-snapshot.rst b/awscli/examples/ec2/copy-snapshot.rst index 97433a9a0a59..bdcacc94eae3 100644 --- a/awscli/examples/ec2/copy-snapshot.rst +++ b/awscli/examples/ec2/copy-snapshot.rst @@ -6,7 +6,7 @@ The following ``copy-snapshot`` example command copies the specified snapshot fr --region us-east-1 \ --source-region us-west-2 \ --source-snapshot-id snap-066877671789bd71b \ - --description "This is my copied snapshot." + --description 'This is my copied snapshot.' Output:: @@ -14,8 +14,6 @@ Output:: "SnapshotId": "snap-066877671789bd71b" } -For more information, see `Copy an Amazon EBS snapshot `__ in the *Amazon EC2 User Guide*. - **Example 2: To copy an unencrypted snapshot and encrypt the new snapshot** The following ``copy-snapshot`` command copies the specified unencrypted snapshot from the ``us-west-2`` Region to the current Region and encrypts the new snapshot using the specified KMS key. :: @@ -32,4 +30,4 @@ Output:: "SnapshotId": "snap-066877671789bd71b" } -For more information, see `Copy an Amazon EBS snapshot `__ in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information, see `Copy an Amazon EBS snapshot `__ in the *Amazon EBS User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-capacity-reservation.rst b/awscli/examples/ec2/create-capacity-reservation.rst index e1efa833bfdf..5c1780721626 100644 --- a/awscli/examples/ec2/create-capacity-reservation.rst +++ b/awscli/examples/ec2/create-capacity-reservation.rst @@ -1,95 +1,95 @@ -**Example 1: To create a Capacity Reservation** - -The following ``create-capacity-reservation`` example creates a capacity reservation in the ``eu-west-1a`` Availability Zone, into which you can launch three ``t2.medium`` instances running a Linux/Unix operating system. By default, the capacity reservation is created with open instance matching criteria and no support for ephemeral storage, and it remains active until you manually cancel it. :: - - aws ec2 create-capacity-reservation \ - --availability-zone eu-west-1a \ - --instance-type t2.medium \ - --instance-platform Linux/UNIX \ - --instance-count 3 - -Output:: - - { - "CapacityReservation": { - "CapacityReservationId": "cr-1234abcd56EXAMPLE ", - "EndDateType": "unlimited", - "AvailabilityZone": "eu-west-1a", - "InstanceMatchCriteria": "open", - "EphemeralStorage": false, - "CreateDate": "2019-08-16T09:27:35.000Z", - "AvailableInstanceCount": 3, - "InstancePlatform": "Linux/UNIX", - "TotalInstanceCount": 3, - "State": "active", - "Tenancy": "default", - "EbsOptimized": false, - "InstanceType": "t2.medium" - } - } - -**Example 2: To create a Capacity Reservation that automatically ends at a specified date/time** - -The following ``create-capacity-reservation`` example creates a capacity reservation in the ``eu-west-1a`` Availability Zone, into which you can launch three ``m5.large`` instances running a Linux/Unix operating system. This capacity reservation automatically ends on 08/31/2019 at 23:59:59. :: - - aws ec2 create-capacity-reservation \ - --availability-zone eu-west-1a \ - --instance-type m5.large \ - --instance-platform Linux/UNIX \ - --instance-count 3 \ - --end-date-type limited \ - --end-date 2019-08-31T23:59:59Z - -Output:: - - { - "CapacityReservation": { - "CapacityReservationId": "cr-1234abcd56EXAMPLE ", - "EndDateType": "limited", - "AvailabilityZone": "eu-west-1a", - "EndDate": "2019-08-31T23:59:59.000Z", - "InstanceMatchCriteria": "open", - "EphemeralStorage": false, - "CreateDate": "2019-08-16T10:15:53.000Z", - "AvailableInstanceCount": 3, - "InstancePlatform": "Linux/UNIX", - "TotalInstanceCount": 3, - "State": "active", - "Tenancy": "default", - "EbsOptimized": false, - "InstanceType": "m5.large" - } - } - -**Example 3: To create a Capacity Reservation that accepts only targeted instance launches** - -The following ``create-capacity-reservation`` example creates a capacity reservation that accepts only targeted instance launches. :: - - aws ec2 create-capacity-reservation \ - --availability-zone eu-west-1a \ - --instance-type m5.large \ - --instance-platform Linux/UNIX \ - --instance-count 3 \ - --instance-match-criteria targeted - -Output:: - - { - "CapacityReservation": { - "CapacityReservationId": "cr-1234abcd56EXAMPLE ", - "EndDateType": "unlimited", - "AvailabilityZone": "eu-west-1a", - "InstanceMatchCriteria": "targeted", - "EphemeralStorage": false, - "CreateDate": "2019-08-16T10:21:57.000Z", - "AvailableInstanceCount": 3, - "InstancePlatform": "Linux/UNIX", - "TotalInstanceCount": 3, - "State": "active", - "Tenancy": "default", - "EbsOptimized": false, - "InstanceType": "m5.large" - } - } - -For more information, see `Creating a Capacity Reservation `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +**Example 1: To create a Capacity Reservation** + +The following ``create-capacity-reservation`` example creates a capacity reservation in the ``eu-west-1a`` Availability Zone, into which you can launch three ``t2.medium`` instances running a Linux/Unix operating system. By default, the capacity reservation is created with open instance matching criteria and no support for ephemeral storage, and it remains active until you manually cancel it. :: + + aws ec2 create-capacity-reservation \ + --availability-zone eu-west-1a \ + --instance-type t2.medium \ + --instance-platform Linux/UNIX \ + --instance-count 3 + +Output:: + + { + "CapacityReservation": { + "CapacityReservationId": "cr-1234abcd56EXAMPLE ", + "EndDateType": "unlimited", + "AvailabilityZone": "eu-west-1a", + "InstanceMatchCriteria": "open", + "EphemeralStorage": false, + "CreateDate": "2019-08-16T09:27:35.000Z", + "AvailableInstanceCount": 3, + "InstancePlatform": "Linux/UNIX", + "TotalInstanceCount": 3, + "State": "active", + "Tenancy": "default", + "EbsOptimized": false, + "InstanceType": "t2.medium" + } + } + +**Example 2: To create a Capacity Reservation that automatically ends at a specified date/time** + +The following ``create-capacity-reservation`` example creates a capacity reservation in the ``eu-west-1a`` Availability Zone, into which you can launch three ``m5.large`` instances running a Linux/Unix operating system. This capacity reservation automatically ends on 08/31/2019 at 23:59:59. :: + + aws ec2 create-capacity-reservation \ + --availability-zone eu-west-1a \ + --instance-type m5.large \ + --instance-platform Linux/UNIX \ + --instance-count 3 \ + --end-date-type limited \ + --end-date 2019-08-31T23:59:59Z + +Output:: + + { + "CapacityReservation": { + "CapacityReservationId": "cr-1234abcd56EXAMPLE ", + "EndDateType": "limited", + "AvailabilityZone": "eu-west-1a", + "EndDate": "2019-08-31T23:59:59.000Z", + "InstanceMatchCriteria": "open", + "EphemeralStorage": false, + "CreateDate": "2019-08-16T10:15:53.000Z", + "AvailableInstanceCount": 3, + "InstancePlatform": "Linux/UNIX", + "TotalInstanceCount": 3, + "State": "active", + "Tenancy": "default", + "EbsOptimized": false, + "InstanceType": "m5.large" + } + } + +**Example 3: To create a Capacity Reservation that accepts only targeted instance launches** + +The following ``create-capacity-reservation`` example creates a capacity reservation that accepts only targeted instance launches. :: + + aws ec2 create-capacity-reservation \ + --availability-zone eu-west-1a \ + --instance-type m5.large \ + --instance-platform Linux/UNIX \ + --instance-count 3 \ + --instance-match-criteria targeted + +Output:: + + { + "CapacityReservation": { + "CapacityReservationId": "cr-1234abcd56EXAMPLE ", + "EndDateType": "unlimited", + "AvailabilityZone": "eu-west-1a", + "InstanceMatchCriteria": "targeted", + "EphemeralStorage": false, + "CreateDate": "2019-08-16T10:21:57.000Z", + "AvailableInstanceCount": 3, + "InstancePlatform": "Linux/UNIX", + "TotalInstanceCount": 3, + "State": "active", + "Tenancy": "default", + "EbsOptimized": false, + "InstanceType": "m5.large" + } + } + +For more information, see `Create a Capacity Reservation `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/create-ipam-resource-discovery.rst b/awscli/examples/ec2/create-ipam-resource-discovery.rst index 56c037b9a255..2c9804354802 100644 --- a/awscli/examples/ec2/create-ipam-resource-discovery.rst +++ b/awscli/examples/ec2/create-ipam-resource-discovery.rst @@ -43,4 +43,4 @@ Output:: ] } -Once you create a resource discovery, you may want to share it with another IPAM delegated admin, which you can do with `create-resource-share `__. For more information, see `Integrate IPAM with accounts outside of your organization `__ in the *Amazon VPC IPAM User Guide*. \ No newline at end of file +Once you create a resource discovery, you may want to share it with another IPAM delegated admin, which you can do with `create-resource-share `__. For more information, see `Integrate IPAM with accounts outside of your organization `__ in the *Amazon VPC IPAM User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-replace-root-volume-task.rst b/awscli/examples/ec2/create-replace-root-volume-task.rst index a97cbd40547b..978ae33936a1 100644 --- a/awscli/examples/ec2/create-replace-root-volume-task.rst +++ b/awscli/examples/ec2/create-replace-root-volume-task.rst @@ -18,8 +18,6 @@ Output:: } } -For more information, see `Replace a root volume `__ in the *Amazon Elastic Compute Cloud User Guide*. - **Example 2: To restore a root volume to a specific snapshot** The following ``create-replace-root-volume-task`` example restores the root volume of instance i-0123456789abcdefa to snapshot snap-0abcdef1234567890. :: @@ -41,4 +39,4 @@ Output:: } } -For more information, see `Replace a root volume `__ in the *Amazon Elastic Compute Cloud User Guide*. \ No newline at end of file +For more information, see `Replace a root volume `__ in the *Amazon EC2 User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-restore-image-task.rst b/awscli/examples/ec2/create-restore-image-task.rst index c305191681f9..b9a27daa2bf9 100644 --- a/awscli/examples/ec2/create-restore-image-task.rst +++ b/awscli/examples/ec2/create-restore-image-task.rst @@ -5,7 +5,7 @@ The following ``create-restore-image-task`` example restores an AMI from an S3 b aws ec2 create-restore-image-task \ --object-key ami-1234567890abcdef0.bin \ --bucket my-ami-bucket \ - --name "New AMI Name" + --name 'New AMI Name' Output:: @@ -13,4 +13,4 @@ Output:: "ImageId": "ami-0eab20fe36f83e1a8" } -For more information about storing and restoring an AMI using S3, see `Store and restore an AMI using S3 ` in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information, see `Store and restore an AMI using S3 `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/create-spot-datafeed-subscription.rst b/awscli/examples/ec2/create-spot-datafeed-subscription.rst index 9f644f9e6b38..29dd3992737b 100644 --- a/awscli/examples/ec2/create-spot-datafeed-subscription.rst +++ b/awscli/examples/ec2/create-spot-datafeed-subscription.rst @@ -1,24 +1,24 @@ -**To create a Spot Instance data feed** - -The following ``create-spot-datafeed-subscription`` example creates a Spot Instance data feed. :: - - aws ec2 create-spot-datafeed-subscription \ - --bucket my-bucket \ - --prefix spot-data-feed - -Output:: - - { - "SpotDatafeedSubscription": { - "Bucket": "my-bucket", - "OwnerId": "123456789012", - "Prefix": "spot-data-feed", - "State": "Active" - } - } - -The data feed is stored in the Amazon S3 bucket that you specified. The file names for this data feed have the following format. :: - - my-bucket.s3.amazonaws.com/spot-data-feed/123456789012.YYYY-MM-DD-HH.n.abcd1234.gz - -For more information, see `Spot Instance data feed `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. \ No newline at end of file +**To create a Spot Instance data feed** + +The following ``create-spot-datafeed-subscription`` example creates a Spot Instance data feed. :: + + aws ec2 create-spot-datafeed-subscription \ + --bucket amzn-s3-demo-bucket \ + --prefix spot-data-feed + +Output:: + + { + "SpotDatafeedSubscription": { + "Bucket": "amzn-s3-demo-bucket", + "OwnerId": "123456789012", + "Prefix": "spot-data-feed", + "State": "Active" + } + } + +The data feed is stored in the Amazon S3 bucket that you specified. The file names for this data feed have the following format. :: + + amzn-s3-demo-bucket.s3.amazonaws.com/spot-data-feed/123456789012.YYYY-MM-DD-HH.n.abcd1234.gz + +For more information, see `Spot Instance data feed `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/create-tags.rst b/awscli/examples/ec2/create-tags.rst index fc829bdabb25..2024d83b2d89 100755 --- a/awscli/examples/ec2/create-tags.rst +++ b/awscli/examples/ec2/create-tags.rst @@ -1,43 +1,43 @@ -**Example 1: To add a tag to a resource** - -The following ``create-tags`` example adds the tag ``Stack=production`` to the specified image, or overwrites an existing tag for the AMI where the tag key is ``Stack``. :: - - aws ec2 create-tags \ - --resources ami-1234567890abcdef0 \ - --tags Key=Stack,Value=production - -For more information, see `This is the topic title `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. - -**Example 2: To add tags to multiple resources** - -The following ``create-tags`` example adds (or overwrites) two tags for an AMI and an instance. One of the tags has a key (``webserver``) but no value (value is set to an empty string). The other tag has a key (``stack``) and a value (``Production``). :: - - aws ec2 create-tags \ - --resources ami-1a2b3c4d i-1234567890abcdef0 \ - --tags Key=webserver,Value= Key=stack,Value=Production - -For more information, see `This is the topic title `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. - -**Example 3: To add tags containing special characters** - -The following ``create-tags`` example adds the tag ``[Group]=test`` for an instance. The square brackets ([ and ]) are special characters, and must be escaped. The following examples also use the line continuation character appropriate for each environment. - -If you are using Windows, surround the element that has special characters with double quotes ("), and then precede each double quote character with a backslash (\\) as follows:: - - aws ec2 create-tags ^ - --resources i-1234567890abcdef0 ^ - --tags Key=\"[Group]\",Value=test - -If you are using Windows PowerShell, surround the element the value that has special characters with double quotes ("), precede each double quote character with a backslash (\\), and then surround the entire key and value structure with single quotes (') as follows:: - - aws ec2 create-tags ` - --resources i-1234567890abcdef0 ` - --tags 'Key=\"[Group]\",Value=test' - -If you are using Linux or OS X, surround the element that has special characters with double quotes ("), and then surround the entire key and value structure with single quotes (') as follows:: - - aws ec2 create-tags \ - --resources i-1234567890abcdef0 \ - --tags 'Key="[Group]",Value=test' - -For more information, see `This is the topic title `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +**Example 1: To add a tag to a resource** + +The following ``create-tags`` example adds the tag ``Stack=production`` to the specified image, or overwrites an existing tag for the AMI where the tag key is ``Stack``. :: + + aws ec2 create-tags \ + --resources ami-1234567890abcdef0 \ + --tags Key=Stack,Value=production + +This command produces no output + +**Example 2: To add tags to multiple resources** + +The following ``create-tags`` example adds (or overwrites) two tags for an AMI and an instance. One of the tags has a key (``webserver``) but no value (value is set to an empty string). The other tag has a key (``stack``) and a value (``Production``). :: + + aws ec2 create-tags \ + --resources ami-1a2b3c4d i-1234567890abcdef0 \ + --tags Key=webserver,Value= Key=stack,Value=Production + +This command produces no output + +**Example 3: To add tags containing special characters** + +The following ``create-tags`` examples add the tag ``[Group]=test`` for an instance. The square brackets ([ and ]) are special characters, and must be escaped. The following examples also use the line continuation character appropriate for each environment. + +If you are using Windows, surround the element that has special characters with double quotes ("), and then precede each double quote character with a backslash (\\) as follows. :: + + aws ec2 create-tags ^ + --resources i-1234567890abcdef0 ^ + --tags Key=\"[Group]\",Value=test + +If you are using Windows PowerShell, surround the element the value that has special characters with double quotes ("), precede each double quote character with a backslash (\\), and then surround the entire key and value structure with single quotes (') as follows. :: + + aws ec2 create-tags ` + --resources i-1234567890abcdef0 ` + --tags 'Key=\"[Group]\",Value=test' + +If you are using Linux or OS X, surround the element that has special characters with double quotes ("), and then surround the entire key and value structure with single quotes (') as follows. :: + + aws ec2 create-tags \ + --resources i-1234567890abcdef0 \ + --tags 'Key="[Group]",Value=test' + +For more information, see `Tag your Amazon EC2 resources `__ in the *Amazon EC2 User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-traffic-mirror-filter-rule.rst b/awscli/examples/ec2/create-traffic-mirror-filter-rule.rst index 28d34a49216f..52ae18172e25 100644 --- a/awscli/examples/ec2/create-traffic-mirror-filter-rule.rst +++ b/awscli/examples/ec2/create-traffic-mirror-filter-rule.rst @@ -1,32 +1,32 @@ -**To create a filter rule for incoming TCP traffic** - -The following ``create-traffic-mirror-filter-rule`` example creates a rule that you can use to mirror all incoming TCP traffic. Before you run this command, use ``create-traffic-mirror-filter`` to create the the Traffic Mirror filter. :: - - aws ec2 create-traffic-mirror-filter-rule \ - --description "TCP Rule" \ - --destination-cidr-block 0.0.0.0/0 \ - --protocol 6 \ - --rule-action accept \ - --rule-number 1 \ - --source-cidr-block 0.0.0.0/0 \ - --traffic-direction ingress \ - --traffic-mirror-filter-id tmf-04812ff784b25ae67 - -Output:: - - { - "TrafficMirrorFilterRule": { - "DestinationCidrBlock": "0.0.0.0/0", - "TrafficMirrorFilterId": "tmf-04812ff784b25ae67", - "TrafficMirrorFilterRuleId": "tmfr-02d20d996673f3732", - "SourceCidrBlock": "0.0.0.0/0", - "TrafficDirection": "ingress", - "Description": "TCP Rule", - "RuleNumber": 1, - "RuleAction": "accept", - "Protocol": 6 - }, - "ClientToken": "4752b573-40a6-4eac-a8a4-a72058761219" - } - -For more information, see `Create a Traffic Mirror Filter `__ in the *AWS Traffic Mirroring Guide*. +**To create a filter rule for incoming TCP traffic** + +The following ``create-traffic-mirror-filter-rule`` example creates a rule that you can use to mirror all incoming TCP traffic. Before you run this command, use ``create-traffic-mirror-filter`` to create the the traffic mirror filter. :: + + aws ec2 create-traffic-mirror-filter-rule \ + --description 'TCP Rule' \ + --destination-cidr-block 0.0.0.0/0 \ + --protocol 6 \ + --rule-action accept \ + --rule-number 1 \ + --source-cidr-block 0.0.0.0/0 \ + --traffic-direction ingress \ + --traffic-mirror-filter-id tmf-04812ff784b25ae67 + +Output:: + + { + "TrafficMirrorFilterRule": { + "DestinationCidrBlock": "0.0.0.0/0", + "TrafficMirrorFilterId": "tmf-04812ff784b25ae67", + "TrafficMirrorFilterRuleId": "tmfr-02d20d996673f3732", + "SourceCidrBlock": "0.0.0.0/0", + "TrafficDirection": "ingress", + "Description": "TCP Rule", + "RuleNumber": 1, + "RuleAction": "accept", + "Protocol": 6 + }, + "ClientToken": "4752b573-40a6-4eac-a8a4-a72058761219" + } + +For more information, see `Create a traffic mirror filter `__ in the *Traffic Mirroring Guide*. diff --git a/awscli/examples/ec2/create-traffic-mirror-filter.rst b/awscli/examples/ec2/create-traffic-mirror-filter.rst index c2cfbae582e2..23ab1f981bf8 100644 --- a/awscli/examples/ec2/create-traffic-mirror-filter.rst +++ b/awscli/examples/ec2/create-traffic-mirror-filter.rst @@ -1,12 +1,22 @@ -**To create a Traffic Mirror Filter** - -The following ``create-traffic-mirror-filter`` example creates a Traffic Mirror filter. After you create the filter, use ``create-traffic-mirror-filter-rule`` to add rules to the filter. :: - - aws ec2 create-traffic-mirror-filter \ - --description "TCP Filter" - -Output:: - - { "ClientToken": "28908518-100b-4987-8233-8c744EXAMPLE", "TrafficMirrorFilter": { "TrafficMirrorFilterId": "tmf-04812ff784EXAMPLE", "Description": "TCP Filter", "EgressFilterRules": [], "IngressFilterRules": [], "Tags": [], "NetworkServices": [] } } - -For more information, see `Create a Traffic Mirror Filter `__ in the *AWS Traffic Mirroring Guide*. +**To create a traffic mirror filter** + +The following ``create-traffic-mirror-filter`` example creates a traffic mirror filter. After you create the filter, use ``create-traffic-mirror-filter-rule`` to add rules. :: + + aws ec2 create-traffic-mirror-filter \ + --description 'TCP Filter' + +Output:: + + { + "ClientToken": "28908518-100b-4987-8233-8c744EXAMPLE", + "TrafficMirrorFilter": { + "TrafficMirrorFilterId": "tmf-04812ff784EXAMPLE", + "Description": "TCP Filter", + "EgressFilterRules": [], + "IngressFilterRules": [], + "Tags": [], + "NetworkServices": [] + } + } + +For more information, see `Create a traffic mirror filter `__ in the *Traffic Mirroring Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-traffic-mirror-session.rst b/awscli/examples/ec2/create-traffic-mirror-session.rst index 35e5ea5e91d7..c3c44aace32c 100644 --- a/awscli/examples/ec2/create-traffic-mirror-session.rst +++ b/awscli/examples/ec2/create-traffic-mirror-session.rst @@ -1,31 +1,31 @@ -**To create a Traffic Mirror Session** - -The following ``create-traffic-mirror-session`` command creates a traffic mirror sessions for the specified source and target for 25 bytes of the packet. :: - - aws ec2 create-traffic-mirror-session \ - --description "example session" \ - --traffic-mirror-target-id tmt-07f75d8feeEXAMPLE \ - --network-interface-id eni-070203f901EXAMPLE \ - --session-number 1 \ - --packet-length 25 \ - --traffic-mirror-filter-id tmf-04812ff784EXAMPLE - -Output:: - - { - "TrafficMirrorSession": { - "TrafficMirrorSessionId": "tms-08a33b1214EXAMPLE", - "TrafficMirrorTargetId": "tmt-07f75d8feeEXAMPLE", - "TrafficMirrorFilterId": "tmf-04812ff784EXAMPLE", - "NetworkInterfaceId": "eni-070203f901EXAMPLE", - "OwnerId": "111122223333", - "PacketLength": 25, - "SessionNumber": 1, - "VirtualNetworkId": 7159709, - "Description": "example session", - "Tags": [] - }, - "ClientToken": "5236cffc-ee13-4a32-bb5b-388d9da09d96" - } - -For more information, see `Create a Traffic Mirror Session `__ in the *AWS Traffic Mirroring Guide*. +**To create a traffic mirror session** + +The following ``create-traffic-mirror-session`` command creates a traffic mirror session for the specified source and target for 25 bytes of the packet. :: + + aws ec2 create-traffic-mirror-session \ + --description 'example session' \ + --traffic-mirror-target-id tmt-07f75d8feeEXAMPLE \ + --network-interface-id eni-070203f901EXAMPLE \ + --session-number 1 \ + --packet-length 25 \ + --traffic-mirror-filter-id tmf-04812ff784EXAMPLE + +Output:: + + { + "TrafficMirrorSession": { + "TrafficMirrorSessionId": "tms-08a33b1214EXAMPLE", + "TrafficMirrorTargetId": "tmt-07f75d8feeEXAMPLE", + "TrafficMirrorFilterId": "tmf-04812ff784EXAMPLE", + "NetworkInterfaceId": "eni-070203f901EXAMPLE", + "OwnerId": "111122223333", + "PacketLength": 25, + "SessionNumber": 1, + "VirtualNetworkId": 7159709, + "Description": "example session", + "Tags": [] + }, + "ClientToken": "5236cffc-ee13-4a32-bb5b-388d9da09d96" + } + +For more information, see `Create a traffic mirror session `__ in the *Traffic Mirroring Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-traffic-mirror-target.rst b/awscli/examples/ec2/create-traffic-mirror-target.rst index 0b178302dc88..8d5089bdb9ea 100644 --- a/awscli/examples/ec2/create-traffic-mirror-target.rst +++ b/awscli/examples/ec2/create-traffic-mirror-target.rst @@ -1,35 +1,45 @@ -**To create a a Network Load Balancer Traffic Mirror target** - -The following ``create-traffic-mirror-target`` example creates a Network Load Balancer Traffic Mirror target. :: - - aws ec2 create-traffic-mirror-target \ - --description "Example Network Load Balancer Target" \ - --network-load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/net/NLB/7cdec873EXAMPLE - -Output:: - - { "TrafficMirrorTarget": { "Type": "network-load-balancer", "Tags": [], "Description": "Example Network Load Balancer Target", "OwnerId": "111122223333", "NetworkLoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:724145273726:loadbalancer/net/NLB/7cdec873EXAMPLE", "TrafficMirrorTargetId": "tmt-0dabe9b0a6EXAMPLE" }, "ClientToken": "d5c090f5-8a0f-49c7-8281-72c796a21f72" } - -**To create a network Traffic Mirror target** - -The following ``create-traffic-mirror-target`` example creates a network interface Traffic Mirror target. - - aws ec2 create-traffic-mirror-target \ - --description "Network interface target" \ - --network-interface-id eni-eni-01f6f631eEXAMPLE - -Output:: - - { - "ClientToken": "5289a345-0358-4e62-93d5-47ef3061d65e", - "TrafficMirrorTarget": { - "Description": "Network interface target", - "NetworkInterfaceId": "eni-01f6f631eEXAMPLE", - "TrafficMirrorTargetId": "tmt-02dcdbe2abEXAMPLE", - "OwnerId": "111122223333", - "Type": "network-interface", - "Tags": [] - } - } - -For more information, see `Create a Traffic Mirror Target `__ in the *AWS Traffic Mirroring Guide*. \ No newline at end of file +**To create a a Network Load Balancer traffic mirror target** + +The following ``create-traffic-mirror-target`` example creates a Network Load Balancer traffic mirror target. :: + + aws ec2 create-traffic-mirror-target \ + --description 'Example Network Load Balancer Target' \ + --network-load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/net/NLB/7cdec873EXAMPLE + +Output:: + + { + "TrafficMirrorTarget": { + "Type": "network-load-balancer", + "Tags": [], + "Description": "Example Network Load Balancer Target", + "OwnerId": "111122223333", + "NetworkLoadBalancerArn": "arn:aws:elasticloadbalancing:us-east-1:724145273726:loadbalancer/net/NLB/7cdec873EXAMPLE", + "TrafficMirrorTargetId": "tmt-0dabe9b0a6EXAMPLE" + }, + "ClientToken": "d5c090f5-8a0f-49c7-8281-72c796a21f72" + } + +**To create a network traffic mirror target** + +The following ``create-traffic-mirror-target`` example creates a network interface Traffic Mirror target. :: + + aws ec2 create-traffic-mirror-target \ + --description 'Network interface target' \ + --network-interface-id eni-eni-01f6f631eEXAMPLE + +Output:: + + { + "ClientToken": "5289a345-0358-4e62-93d5-47ef3061d65e", + "TrafficMirrorTarget": { + "Description": "Network interface target", + "NetworkInterfaceId": "eni-01f6f631eEXAMPLE", + "TrafficMirrorTargetId": "tmt-02dcdbe2abEXAMPLE", + "OwnerId": "111122223333", + "Type": "network-interface", + "Tags": [] + } + } + +For more information, see `Create a traffic mirror target `__ in the *Traffic Mirroring Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-transit-gateway-prefix-list-reference.rst b/awscli/examples/ec2/create-transit-gateway-prefix-list-reference.rst index 849d4b3cedc6..2c677d391e7b 100644 --- a/awscli/examples/ec2/create-transit-gateway-prefix-list-reference.rst +++ b/awscli/examples/ec2/create-transit-gateway-prefix-list-reference.rst @@ -1,27 +1,27 @@ -**To create a reference to a prefix list** - -The following ``create-transit-gateway-prefix-list-reference`` example creates a reference to the specified prefix list in the specified transit gateway route table. :: - - aws ec2 create-transit-gateway-prefix-list-reference \ - --transit-gateway-route-table-id tgw-rtb-0123456789abcd123 \ - --prefix-list-id pl-11111122222222333 \ - --transit-gateway-attachment-id tgw-attach-aaaaaabbbbbb11111 - -Output:: - - { - "TransitGatewayPrefixListReference": { - "TransitGatewayRouteTableId": "tgw-rtb-0123456789abcd123", - "PrefixListId": "pl-11111122222222333", - "PrefixListOwnerId": "123456789012", - "State": "pending", - "Blackhole": false, - "TransitGatewayAttachment": { - "TransitGatewayAttachmentId": "tgw-attach-aaaaaabbbbbb11111", - "ResourceType": "vpc", - "ResourceId": "vpc-112233445566aabbc" - } - } - } - -For more information, see `Prefix list references `__ in the *Transit Gateways Guide*. +**To create a reference to a prefix list** + +The following ``create-transit-gateway-prefix-list-reference`` example creates a reference to the specified prefix list in the specified transit gateway route table. :: + + aws ec2 create-transit-gateway-prefix-list-reference \ + --transit-gateway-route-table-id tgw-rtb-0123456789abcd123 \ + --prefix-list-id pl-11111122222222333 \ + --transit-gateway-attachment-id tgw-attach-aaaaaabbbbbb11111 + +Output:: + + { + "TransitGatewayPrefixListReference": { + "TransitGatewayRouteTableId": "tgw-rtb-0123456789abcd123", + "PrefixListId": "pl-11111122222222333", + "PrefixListOwnerId": "123456789012", + "State": "pending", + "Blackhole": false, + "TransitGatewayAttachment": { + "TransitGatewayAttachmentId": "tgw-attach-aaaaaabbbbbb11111", + "ResourceType": "vpc", + "ResourceId": "vpc-112233445566aabbc" + } + } + } + +For more information, see `Create a prefix list reference `__ in the *Transit Gateways Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-verified-access-endpoint.rst b/awscli/examples/ec2/create-verified-access-endpoint.rst index 45170370e808..6a08d5ab1f6d 100644 --- a/awscli/examples/ec2/create-verified-access-endpoint.rst +++ b/awscli/examples/ec2/create-verified-access-endpoint.rst @@ -1,6 +1,6 @@ **To create a Verified Access endpoint** -The following ``create-verified-access-endpoint`` example creates a Verified Access endpoint for the speciied Verified Access group. The specified network interface and security group must belong to the same VPC. :: +The following ``create-verified-access-endpoint`` example creates a Verified Access endpoint for the specified Verified Access group. The specified network interface and security group must belong to the same VPC. :: aws ec2 create-verified-access-endpoint \ --verified-access-group-id vagr-0dbe967baf14b7235 \ @@ -48,4 +48,4 @@ Output:: } } -For more information, see `Verified Access endpoints `__ in the *AWS Verified Access User Guide*. +For more information, see `Verified Access endpoints `__ in the *AWS Verified Access User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-vpc-endpoint-service-configuration.rst b/awscli/examples/ec2/create-vpc-endpoint-service-configuration.rst index b0c3b9025133..69bc5275b97a 100644 --- a/awscli/examples/ec2/create-vpc-endpoint-service-configuration.rst +++ b/awscli/examples/ec2/create-vpc-endpoint-service-configuration.rst @@ -1,65 +1,67 @@ -**Example 1: To create an endpoint service configuration for an interface endpoint** - -The following ``create-vpc-endpoint-service-configuration`` example creates a VPC endpoint service configuration using the Network Load Balancer ``nlb-vpce``. This example also specifies that requests to connect to the service through an interface endpoint must be accepted. :: - - aws ec2 create-vpc-endpoint-service-configuration \ - --network-load-balancer-arns arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-vpce/e94221227f1ba532 \ - --acceptance-required - -Output:: - - { - "ServiceConfiguration": { - "ServiceType": [ - { - "ServiceType": "Interface" - } - ], - "NetworkLoadBalancerArns": [ - "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-vpce/e94221227f1ba532" - ], - "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-03d5ebb7d9579a2b3", - "ServiceState": "Available", - "ServiceId": "vpce-svc-03d5ebb7d9579a2b3", - "AcceptanceRequired": true, - "AvailabilityZones": [ - "us-east-1d" - ], - "BaseEndpointDnsNames": [ - "vpce-svc-03d5ebb7d9579a2b3.us-east-1.vpce.amazonaws.com" - ] - } - } - -**Example 2: To create an endpoint service configuration for a Gateway Load Balancer endpoint** - -The following ``create-vpc-endpoint-service-configuration`` example creates a VPC endpoint service configuration using the Gateway Load Balancer ``GWLBService``. Requests to connect to the service through a Gateway Load Balancer endpoint are automatically accepted. :: - - aws ec2 create-vpc-endpoint-service-configuration \ - --gateway-load-balancer-arns arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/gwy/GWLBService/123123123123abcc \ - --no-acceptance-required - -Output:: - - { - "ServiceConfiguration": { - "ServiceType": [ - { - "ServiceType": "GatewayLoadBalancer" - } - ], - "ServiceId": "vpce-svc-123123a1c43abc123", - "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123", - "ServiceState": "Available", - "AvailabilityZones": [ - "us-east-1d" - ], - "AcceptanceRequired": false, - "ManagesVpcEndpoints": false, - "GatewayLoadBalancerArns": [ - "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/gwy/GWLBService/123123123123abcc" - ] - } - } - -For more information, see `VPC endpoint services `__ in the *Amazon VPC User Guide*. +**Example 1: To create an endpoint service configuration for an interface endpoint** + +The following ``create-vpc-endpoint-service-configuration`` example creates a VPC endpoint service configuration using the Network Load Balancer ``nlb-vpce``. This example also specifies that requests to connect to the service through an interface endpoint must be accepted. :: + + aws ec2 create-vpc-endpoint-service-configuration \ + --network-load-balancer-arns arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-vpce/e94221227f1ba532 \ + --acceptance-required + +Output:: + + { + "ServiceConfiguration": { + "ServiceType": [ + { + "ServiceType": "Interface" + } + ], + "NetworkLoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-vpce/e94221227f1ba532" + ], + "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-03d5ebb7d9579a2b3", + "ServiceState": "Available", + "ServiceId": "vpce-svc-03d5ebb7d9579a2b3", + "AcceptanceRequired": true, + "AvailabilityZones": [ + "us-east-1d" + ], + "BaseEndpointDnsNames": [ + "vpce-svc-03d5ebb7d9579a2b3.us-east-1.vpce.amazonaws.com" + ] + } + } + +For more information, see `Create an endpoint service `__ in the *AWS PrivateLink User Guide*. + +**Example 2: To create an endpoint service configuration for a Gateway Load Balancer endpoint** + +The following ``create-vpc-endpoint-service-configuration`` example creates a VPC endpoint service configuration using the Gateway Load Balancer ``GWLBService``. Requests to connect to the service through a Gateway Load Balancer endpoint are automatically accepted. :: + + aws ec2 create-vpc-endpoint-service-configuration \ + --gateway-load-balancer-arns arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/gwy/GWLBService/123123123123abcc \ + --no-acceptance-required + +Output:: + + { + "ServiceConfiguration": { + "ServiceType": [ + { + "ServiceType": "GatewayLoadBalancer" + } + ], + "ServiceId": "vpce-svc-123123a1c43abc123", + "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123", + "ServiceState": "Available", + "AvailabilityZones": [ + "us-east-1d" + ], + "AcceptanceRequired": false, + "ManagesVpcEndpoints": false, + "GatewayLoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/gwy/GWLBService/123123123123abcc" + ] + } + } + +For more information, see `Create a Gateway Load Balancer endpoint service `__ in the *AWS PrivateLink User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/create-vpc-endpoint.rst b/awscli/examples/ec2/create-vpc-endpoint.rst index e2e82963bcad..5f93b9496a7a 100644 --- a/awscli/examples/ec2/create-vpc-endpoint.rst +++ b/awscli/examples/ec2/create-vpc-endpoint.rst @@ -1,118 +1,196 @@ -**Example 1: To create a gateway endpoint** - -The following ``create-vpc-endpoint`` example creates a gateway VPC endpoint between VPC ``vpc-1a2b3c4d`` and Amazon S3 in the ``us-east-1`` region, and associates route table ``rtb-11aa22bb`` with the endpoint. :: - - aws ec2 create-vpc-endpoint \ - --vpc-id vpc-1a2b3c4d \ - --service-name com.amazonaws.us-east-1.s3 \ - --route-table-ids rtb-11aa22bb - -Output:: - - { - "VpcEndpoint": { - "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"\*\",\"Action\":\"\*\",\"Resource\":\"\*\"}]}", - "VpcId": "vpc-1a2b3c4d", - "State": "available", - "ServiceName": "com.amazonaws.us-east-1.s3", - "RouteTableIds": [ - "rtb-11aa22bb" - ], - "VpcEndpointId": "vpc-1a2b3c4d", - "CreationTimestamp": "2015-05-15T09:40:50Z" - } - } - -For more information, see `Creating a gateway endpoint `__ in the *AWSPrivateLink Guide*. - -**Example 2: To create an interface endpoint** - -The following ``create-vpc-endpoint`` example creates an interface VPC endpoint between VPC ``vpc-1a2b3c4d`` and Amazon S3 in the ``us-east-1`` region. The command creates the endpoint in subnet ``subnet-1a2b3c4d``, associates it with security group ``sg-1a2b3c4d``, and adds a tag with a key of "Service" and a Value of "S3". :: - - aws ec2 create-vpc-endpoint \ - --vpc-id vpc-1a2b3c4d \ - --vpc-endpoint-type Interface \ - --service-name com.amazonaws.us-east-1.s3 \ - --subnet-ids subnet-7b16de0c \ - --security-group-id sg-1a2b3c4d \ - --tag-specifications ResourceType=vpc-endpoint,Tags=[{Key=service,Value=S3}] - -Output:: - - { - "VpcEndpoint": { - "VpcEndpointId": "vpce-1a2b3c4d5e6f1a2b3", - "VpcEndpointType": "Interface", - "VpcId": "vpc-1a2b3c4d", - "ServiceName": "com.amazonaws.us-east-1.s3", - "State": "pending", - "RouteTableIds": [], - "SubnetIds": [ - "subnet-1a2b3c4d" - ], - "Groups": [ - { - "GroupId": "sg-1a2b3c4d", - "GroupName": "default" - } - ], - "PrivateDnsEnabled": false, - "RequesterManaged": false, - "NetworkInterfaceIds": [ - "eni-0b16f0581c8ac6877" - ], - "DnsEntries": [ - { - "DnsName": "*.vpce-1a2b3c4d5e6f1a2b3-9hnenorg.s3.us-east-1.vpce.amazonaws.com", - "HostedZoneId": "Z7HUB22UULQXV" - }, - { - "DnsName": "*.vpce-1a2b3c4d5e6f1a2b3-9hnenorg-us-east-1c.s3.us-east-1.vpce.amazonaws.com", - "HostedZoneId": "Z7HUB22UULQXV" - } - ], - "CreationTimestamp": "2021-03-05T14:46:16.030000+00:00", - "Tags": [ - { - "Key": "service", - "Value": "S3" - } - ], - "OwnerId": "123456789012" - } - } - -For more information, see `Creating an interface endpoint `__ in the *User Guide for AWSPrivateLink*. - -**Example 3: To create a Gateway Load Balancer endpoint** - -The following ``create-vpc-endpoint`` example creates a Gateway Load Balancer endpoint between VPC ``vpc-111122223333aabbc`` and and a service that is configured using a Gateway Load Balancer. :: - - aws ec2 create-vpc-endpoint \ - --service-name com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123 \ - --vpc-endpoint-type GatewayLoadBalancer \ - --vpc-id vpc-111122223333aabbc \ - --subnet-ids subnet-0011aabbcc2233445 - -Output:: - - { - "VpcEndpoint": { - "VpcEndpointId": "vpce-aabbaabbaabbaabba", - "VpcEndpointType": "GatewayLoadBalancer", - "VpcId": "vpc-111122223333aabbc", - "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123", - "State": "pending", - "SubnetIds": [ - "subnet-0011aabbcc2233445" - ], - "RequesterManaged": false, - "NetworkInterfaceIds": [ - "eni-01010120203030405" - ], - "CreationTimestamp": "2020-11-11T08:06:03.522Z", - "OwnerId": "123456789012" - } - } - -For more information, see `Gateway Load Balancer endpoints `__ in the *User Guide for AWSPrivateLink*. \ No newline at end of file +**Example 1: To create a gateway endpoint** + +The following ``create-vpc-endpoint`` example creates a gateway VPC endpoint between VPC ``vpc-1a2b3c4d`` and Amazon S3 in the ``us-east-1`` region, and associates route table ``rtb-11aa22bb`` with the endpoint. :: + + aws ec2 create-vpc-endpoint \ + --vpc-id vpc-1a2b3c4d \ + --service-name com.amazonaws.us-east-1.s3 \ + --route-table-ids rtb-11aa22bb + +Output:: + + { + "VpcEndpoint": { + "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"\*\",\"Action\":\"\*\",\"Resource\":\"\*\"}]}", + "VpcId": "vpc-1a2b3c4d", + "State": "available", + "ServiceName": "com.amazonaws.us-east-1.s3", + "RouteTableIds": [ + "rtb-11aa22bb" + ], + "VpcEndpointId": "vpc-1a2b3c4d", + "CreationTimestamp": "2015-05-15T09:40:50Z" + } + } + +For more information, see `Create a gateway endpoint `__ in the *AWS PrivateLink User Guide*. + +**Example 2: To create an interface endpoint** + +The following ``create-vpc-endpoint`` example creates an interface VPC endpoint between VPC ``vpc-1a2b3c4d`` and Amazon S3 in the ``us-east-1`` region. The command creates the endpoint in subnet ``subnet-1a2b3c4d``, associates it with security group ``sg-1a2b3c4d``, and adds a tag with a key of "Service" and a Value of "S3". :: + + aws ec2 create-vpc-endpoint \ + --vpc-id vpc-1a2b3c4d \ + --vpc-endpoint-type Interface \ + --service-name com.amazonaws.us-east-1.s3 \ + --subnet-ids subnet-7b16de0c \ + --security-group-id sg-1a2b3c4d \ + --tag-specifications ResourceType=vpc-endpoint,Tags=[{Key=service,Value=S3}] + +Output:: + + { + "VpcEndpoint": { + "VpcEndpointId": "vpce-1a2b3c4d5e6f1a2b3", + "VpcEndpointType": "Interface", + "VpcId": "vpc-1a2b3c4d", + "ServiceName": "com.amazonaws.us-east-1.s3", + "State": "pending", + "RouteTableIds": [], + "SubnetIds": [ + "subnet-1a2b3c4d" + ], + "Groups": [ + { + "GroupId": "sg-1a2b3c4d", + "GroupName": "default" + } + ], + "PrivateDnsEnabled": false, + "RequesterManaged": false, + "NetworkInterfaceIds": [ + "eni-0b16f0581c8ac6877" + ], + "DnsEntries": [ + { + "DnsName": "*.vpce-1a2b3c4d5e6f1a2b3-9hnenorg.s3.us-east-1.vpce.amazonaws.com", + "HostedZoneId": "Z7HUB22UULQXV" + }, + { + "DnsName": "*.vpce-1a2b3c4d5e6f1a2b3-9hnenorg-us-east-1c.s3.us-east-1.vpce.amazonaws.com", + "HostedZoneId": "Z7HUB22UULQXV" + } + ], + "CreationTimestamp": "2021-03-05T14:46:16.030000+00:00", + "Tags": [ + { + "Key": "service", + "Value": "S3" + } + ], + "OwnerId": "123456789012" + } + } + +For more information, see `Create an interface VPC endpoint `__ in the *AWS PrivateLink User Guide*. + +**Example 3: To create a Gateway Load Balancer endpoint** + +The following ``create-vpc-endpoint`` example creates a Gateway Load Balancer endpoint between VPC ``vpc-111122223333aabbc`` and and a service that is configured using a Gateway Load Balancer. :: + + aws ec2 create-vpc-endpoint \ + --service-name com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123 \ + --vpc-endpoint-type GatewayLoadBalancer \ + --vpc-id vpc-111122223333aabbc \ + --subnet-ids subnet-0011aabbcc2233445 + +Output:: + + { + "VpcEndpoint": { + "VpcEndpointId": "vpce-aabbaabbaabbaabba", + "VpcEndpointType": "GatewayLoadBalancer", + "VpcId": "vpc-111122223333aabbc", + "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123", + "State": "pending", + "SubnetIds": [ + "subnet-0011aabbcc2233445" + ], + "RequesterManaged": false, + "NetworkInterfaceIds": [ + "eni-01010120203030405" + ], + "CreationTimestamp": "2020-11-11T08:06:03.522Z", + "OwnerId": "123456789012" + } + } + +For more information, see `Gateway Load Balancer endpoints `__ in the *AWS PrivateLink User Guide*. + +**Example 4: To create a resource endpoint** + +The following ``create-vpc-endpoint`` example creates a resource endpoint. :: + + aws ec2 create-vpc-endpoint \ + --vpc-endpoint-type Resource \ + --vpc-id vpc-111122223333aabbc \ + --subnet-ids subnet-0011aabbcc2233445 \ + --resource-configuration-arn arn:aws:vpc-lattice-us-east-1:123456789012:resourceconfiguration/rcfg-0123abcde98765432 + +Output:: + + { + "VpcEndpoint": { + "VpcEndpointId": "vpce-00939a7ed9EXAMPLE", + "VpcEndpointType": "Resource", + "VpcId": "vpc-111122223333aabbc", + "State": "Pending", + "SubnetIds": [ + "subnet-0011aabbcc2233445" + ], + "Groups": [ + { + "GroupId": "sg-03e2f15fbfc09b000", + "GroupName": "default" + } + ], + "IpAddressType": "IPV4", + "PrivateDnsEnabled": false, + "CreationTimestamp": "2025-02-06T23:38:49.525000+00:00", + "Tags": [], + "OwnerId": "123456789012", + "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-0123abcde98765432" + } + } + +For more information, see `Resource endpoints `__ in the *AWS PrivateLink User Guide*. + +**Example 5: To create a service network endpoint** + +The following ``create-vpc-endpoint`` example creates a service network endpoint. :: + + aws ec2 create-vpc-endpoint \ + --vpc-endpoint-type ServiceNetwork \ + --vpc-id vpc-111122223333aabbc \ + --subnet-ids subnet-0011aabbcc2233445 \ + --service-network-arn arn:aws:vpc-lattice:us-east-1:123456789012:servicenetwork/sn-0101abcd5432abcd0 \ + --security-group-ids sg-0123456789012abcd + +Output:: + + { + "VpcEndpoint": { + "VpcEndpointId": "vpce-0f00567fa8EXAMPLE", + "VpcEndpointType": "ServiceNetwork", + "VpcId": "vpc-111122223333aabbc", + "State": "Pending", + "SubnetIds": [ + "subnet-0011aabbcc2233445" + ], + "Groups": [ + { + "GroupId": "sg-0123456789012abcd", + "GroupName": "my-security-group" + } + ], + "IpAddressType": "IPV4", + "PrivateDnsEnabled": false, + "CreationTimestamp": "2025-02-06T23:44:20.449000+00:00", + "Tags": [], + "OwnerId": "123456789012", + "ServiceNetworkArn": "arn:aws:vpc-lattice:us-east-1:123456789012:servicenetwork/sn-0101abcd5432abcd0" + } + } + +For more information, see `Service network endpoints `__ in the *AWS PrivateLink User Guide*. + diff --git a/awscli/examples/ec2/create-vpc.rst b/awscli/examples/ec2/create-vpc.rst index 94c842be3369..7980ed7de429 100755 --- a/awscli/examples/ec2/create-vpc.rst +++ b/awscli/examples/ec2/create-vpc.rst @@ -4,7 +4,7 @@ The following ``create-vpc`` example creates a VPC with the specified IPv4 CIDR aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ - --tag-specification ResourceType=vpc,Tags=[{Key=Name,Value=MyVpc}] + --tag-specifications ResourceType=vpc,Tags=[{Key=Name,Value=MyVpc}] Output:: @@ -128,7 +128,7 @@ Windows:: Output:: - { + { "Vpc": { "CidrBlock": "10.0.1.0/24", "DhcpOptionsId": "dopt-2afccf50", diff --git a/awscli/examples/ec2/delete-ipam-pool.rst b/awscli/examples/ec2/delete-ipam-pool.rst index 08262dfda767..bf81fe83768f 100644 --- a/awscli/examples/ec2/delete-ipam-pool.rst +++ b/awscli/examples/ec2/delete-ipam-pool.rst @@ -4,7 +4,7 @@ In this example, you're a IPAM delegated admin who wants to delete an IPAM pool To complete this request: -* You'll need the IPAM pool ID which you can get with `describe-ipam-pools `__. +* You'll need the IPAM pool ID which you can get with `describe-ipam-pools `__. * The ``--region`` must be the IPAM home Region. The following ``delete-ipam-pool`` example deletes an IPAM pool in your AWS account. :: diff --git a/awscli/examples/ec2/delete-verified-access-endpoint.rst b/awscli/examples/ec2/delete-verified-access-endpoint.rst index caed2b0be502..958fbe118c1c 100644 --- a/awscli/examples/ec2/delete-verified-access-endpoint.rst +++ b/awscli/examples/ec2/delete-verified-access-endpoint.rst @@ -34,4 +34,4 @@ Output:: } } -For more information, see `Verified Access endpoints `__ in the *AWS Verified Access User Guide*. +For more information, see `Verified Access endpoints `__ in the *AWS Verified Access User Guide*. diff --git a/awscli/examples/ec2/describe-addresses-attribute.rst b/awscli/examples/ec2/describe-addresses-attribute.rst index cedd9d434049..a1611cfa3533 100644 --- a/awscli/examples/ec2/describe-addresses-attribute.rst +++ b/awscli/examples/ec2/describe-addresses-attribute.rst @@ -26,4 +26,4 @@ Output:: ] } -To view the attributes of an elastic IP address, you must have first associated a domain name with the elastic IP address. For more information, see `Use reverse DNS for email applications `__ in the *Amazon EC2 User Guide* or `modify-address-attribute `__ in the *AWS CLI Command Reference*. +To view the attributes of an elastic IP address, you must have first associated a domain name with the elastic IP address. For more information, see `Use reverse DNS for email applications `__ in the *Amazon EC2 User Guide* or `modify-address-attribute `__ in the *AWS CLI Command Reference*. diff --git a/awscli/examples/ec2/describe-addresses.rst b/awscli/examples/ec2/describe-addresses.rst index 4dabe985bc23..8c10d457544d 100644 --- a/awscli/examples/ec2/describe-addresses.rst +++ b/awscli/examples/ec2/describe-addresses.rst @@ -87,7 +87,7 @@ The following ``describe-addresses`` example displays details about the Elastic **Example 5: To retrieve details about Elastic IP addresses in EC2-Classic** -TThe following ``describe-addresses`` example displays details about your Elastic IP addresses for use in EC2-Classic. :: +The following ``describe-addresses`` example displays details about your Elastic IP addresses for use in EC2-Classic. :: aws ec2 describe-addresses \ --filters "Name=domain,Values=standard" diff --git a/awscli/examples/ec2/describe-capacity-reservation-fleets.rst b/awscli/examples/ec2/describe-capacity-reservation-fleets.rst index b9f4abe3b1dd..0b55a285fcb6 100644 --- a/awscli/examples/ec2/describe-capacity-reservation-fleets.rst +++ b/awscli/examples/ec2/describe-capacity-reservation-fleets.rst @@ -1,6 +1,6 @@ **To view a Capacity Reservation Fleet** -The following ``describe-capacity-reservation-fleets`` example lists configuration and capacity information for the specified Capacity Reservation Fleet. It also lists details about the individual Capacity Reservations that are inside the Fleet.:: +The following ``describe-capacity-reservation-fleets`` example lists configuration and capacity information for the specified Capacity Reservation Fleet. It also lists details about the individual Capacity Reservations that are inside the Fleet. :: aws ec2 describe-capacity-reservation-fleets \ --capacity-reservation-fleet-ids crf-abcdef01234567890 @@ -10,7 +10,7 @@ Output:: { "CapacityReservationFleets": [ { - "Status": "active", + "State": "active", "EndDate": "2022-12-31T23:59:59.000Z", "InstanceMatchCriteria": "open", "Tags": [], @@ -38,4 +38,4 @@ Output:: ] } -For more information about Capacity Reservation Fleets, see `Capacity Reservation Fleets `__ in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information about Capacity Reservation Fleets, see `Capacity Reservation Fleets `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/describe-capacity-reservations.rst b/awscli/examples/ec2/describe-capacity-reservations.rst index 6894e824b5ba..f6151c288782 100644 --- a/awscli/examples/ec2/describe-capacity-reservations.rst +++ b/awscli/examples/ec2/describe-capacity-reservations.rst @@ -10,35 +10,45 @@ Output:: "CapacityReservations": [ { "CapacityReservationId": "cr-1234abcd56EXAMPLE ", - "EndDateType": "unlimited", - "AvailabilityZone": "eu-west-1a", - "InstanceMatchCriteria": "open", - "Tags": [], - "EphemeralStorage": false, - "CreateDate": "2019-08-16T09:03:18.000Z", - "AvailableInstanceCount": 1, + "OwnerId": "123456789111", + "CapacityReservationArn": "arn:aws:ec2:us-east-1:123456789111:capacity-reservation/cr-1234abcd56EXAMPLE", + "AvailabilityZoneId": "use1-az2", + "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", - "TotalInstanceCount": 1, - "State": "active", + "AvailabilityZone": "us-east-1a", "Tenancy": "default", + "TotalInstanceCount": 1, + "AvailableInstanceCount": 1, "EbsOptimized": true, - "InstanceType": "a1.medium" - }, - { - "CapacityReservationId": "cr-abcdEXAMPLE9876ef ", + "EphemeralStorage": false, + "State": "active", + "StartDate": "2024-10-23T15:00:24+00:00", "EndDateType": "unlimited", - "AvailabilityZone": "eu-west-1a", "InstanceMatchCriteria": "open", + "CreateDate": "2024-10-23T15:00:24+00:00", "Tags": [], - "EphemeralStorage": false, - "CreateDate": "2019-08-07T11:34:19.000Z", - "AvailableInstanceCount": 3, + "CapacityAllocations": [] + }, + { + "CapacityReservationId": "cr-abcdEXAMPLE9876ef ", + "OwnerId": "123456789111", + "CapacityReservationArn": "arn:aws:ec2:us-east-1:123456789111:capacity-reservation/cr-abcdEXAMPLE9876ef", + "AvailabilityZoneId": "use1-az2", + "InstanceType": "c4.large", "InstancePlatform": "Linux/UNIX", - "TotalInstanceCount": 3, - "State": "cancelled", + "AvailabilityZone": "us-east-1a", "Tenancy": "default", + "TotalInstanceCount": 1, + "AvailableInstanceCount": 1, "EbsOptimized": true, - "InstanceType": "m5.large" + "EphemeralStorage": false, + "State": "cancelled", + "StartDate": "2024-10-23T15:01:03+00:00", + "EndDateType": "unlimited", + "InstanceMatchCriteria": "open", + "CreateDate": "2024-10-23T15:01:02+00:00", + "Tags": [], + "CapacityAllocations": [] } ] } @@ -55,20 +65,25 @@ Output:: { "CapacityReservations": [ { - "CapacityReservationId": "cr-1234abcd56EXAMPLE", - "EndDateType": "unlimited", - "AvailabilityZone": "eu-west-1a", - "InstanceMatchCriteria": "open", - "Tags": [], - "EphemeralStorage": false, - "CreateDate": "2019-08-16T09:03:18.000Z", - "AvailableInstanceCount": 1, + "CapacityReservationId": "cr-abcdEXAMPLE9876ef ", + "OwnerId": "123456789111", + "CapacityReservationArn": "arn:aws:ec2:us-east-1:123456789111:capacity-reservation/cr-abcdEXAMPLE9876ef", + "AvailabilityZoneId": "use1-az2", + "InstanceType": "c4.large", "InstancePlatform": "Linux/UNIX", - "TotalInstanceCount": 1, - "State": "active", + "AvailabilityZone": "us-east-1a", "Tenancy": "default", + "TotalInstanceCount": 1, + "AvailableInstanceCount": 1, "EbsOptimized": true, - "InstanceType": "a1.medium" + "EphemeralStorage": false, + "State": "active", + "StartDate": "2024-10-23T15:01:03+00:00", + "EndDateType": "unlimited", + "InstanceMatchCriteria": "open", + "CreateDate": "2024-10-23T15:01:02+00:00", + "Tags": [], + "CapacityAllocations": [] } ] } diff --git a/awscli/examples/ec2/describe-instance-image-metadata.rst b/awscli/examples/ec2/describe-instance-image-metadata.rst new file mode 100644 index 000000000000..c768a6610efe --- /dev/null +++ b/awscli/examples/ec2/describe-instance-image-metadata.rst @@ -0,0 +1,186 @@ +**Example 1: To describe the AMI metadata for all instances** + +The following ``describe-instance-image-metadata`` example describes the AMI metadata of all the instances in your AWS account in the specified Region. :: + + aws ec2 describe-instance-image-metadata \ + --region us-east-1 + +Output:: + + { + "InstanceImageMetadata": [ + { + "InstanceId": "i-1234567890EXAMPLE", + "InstanceType": "t2.micro", + "LaunchTime": "2024-08-28T11:25:45+00:00", + "AvailabilityZone": "us-east-1a", + "State": { + "Code": 16, + "Name": "running" + }, + "OwnerId": "123412341234", + "Tags": [ + { + "Key": "MyTagName", + "Value": "my-tag-value" + } + ], + "ImageMetadata": { + "ImageId": "ami-0b752bf1df193a6c4", + "Name": "al2023-ami-2023.5.20240819.0-kernel-6.1-x86_64", + "OwnerId": "137112412989", + "State": "available", + "ImageOwnerAlias": "amazon", + "CreationDate": "2023-01-25T17:20:40Z", + "DeprecationTime": "2025-01-25T17:20:40Z", + "IsPublic": true + } + } + ], + "NextToken": "...EXAMPLEwIAABAA2JHaFxLnEXAMPLE..." + } + +For more information, see `Amazon Machine Images in Amazon EC2 `__ in the *Amazon EC2 User Guide*. + +**Example 2: To describe the AMI metadata for the specified instances** + +The following ``describe-instance-image-metadata`` example describes the AMI metadata for the specified instances. :: + + aws ec2 describe-instance-image-metadata \ + --region us-east-1 \ + --instance-ids i-1234567890EXAMPLE i-0987654321EXAMPLE + +Output:: + + { + "InstanceImageMetadata": [ + { + "InstanceId": "i-1234567890EXAMPLE", + "InstanceType": "t2.micro", + "LaunchTime": "2024-08-28T11:25:45+00:00", + "AvailabilityZone": "us-east-1a", + "State": { + "Code": 16, + "Name": "running" + }, + "OwnerId": "123412341234", + "Tags": [ + { + "Key": "MyTagName", + "Value": "my-tag-value" + } + ], + "ImageMetadata": { + "ImageId": "ami-0b752bf1df193a6c4", + "Name": "al2023-ami-2023.5.20240819.0-kernel-6.1-x86_64", + "OwnerId": "137112412989", + "State": "available", + "ImageOwnerAlias": "amazon", + "CreationDate": "2023-01-25T17:20:40Z", + "DeprecationTime": "2025-01-25T17:20:40Z", + "IsPublic": true + } + }, + { + "InstanceId": "i-0987654321EXAMPLE", + "InstanceType": "t2.micro", + "LaunchTime": "2024-08-28T11:25:45+00:00", + "AvailabilityZone": "us-east-1a", + "State": { + "Code": 16, + "Name": "running" + }, + "OwnerId": "123412341234", + "Tags": [ + { + "Key": "MyTagName", + "Value": "my-tag-value" + } + ], + "ImageMetadata": { + "ImageId": "ami-0b752bf1df193a6c4", + "Name": "al2023-ami-2023.5.20240819.0-kernel-6.1-x86_64", + "OwnerId": "137112412989", + "State": "available", + "ImageOwnerAlias": "amazon", + "CreationDate": "2023-01-25T17:20:40Z", + "DeprecationTime": "2025-01-25T17:20:40Z", + "IsPublic": true + } + } + ] + } + +For more information, see `Amazon Machine Images in Amazon EC2 `__ in the *Amazon EC2 User Guide*. + +**Example 3: To describe the AMI metadata for instances based on filters** + +The following ``describe-instance-image-metadata`` example describes the AMI metadata for ``t2.nano`` and ``t2.micro`` instances in the ``us-east-1a`` Availability Zone. :: + + aws ec2 describe-instance-image-metadata \ + --region us-east-1 \ + --filters Name=availability-zone,Values=us-east-1a Name=instance-type,Values=t2.nano,t2.micro + +Output:: + + { + "InstanceImageMetadata": [ + { + "InstanceId": "i-1234567890EXAMPLE", + "InstanceType": "t2.micro", + "LaunchTime": "2024-08-28T11:25:45+00:00", + "AvailabilityZone": "us-east-1a", + "State": { + "Code": 16, + "Name": "running" + }, + "OwnerId": "123412341234", + "Tags": [ + { + "Key": "MyTagName", + "Value": "my-tag-value" + } + ], + "ImageMetadata": { + "ImageId": "ami-0b752bf1df193a6c4", + "Name": "al2023-ami-2023.5.20240819.0-kernel-6.1-x86_64", + "OwnerId": "137112412989", + "State": "available", + "ImageOwnerAlias": "amazon", + "CreationDate": "2023-01-25T17:20:40Z", + "DeprecationTime": "2025-01-25T17:20:40Z", + "IsPublic": true + } + }, + { + "InstanceId": "i-0987654321EXAMPLE", + "InstanceType": "t2.micro", + "LaunchTime": "2024-08-28T11:25:45+00:00", + "AvailabilityZone": "us-east-1a", + "State": { + "Code": 16, + "Name": "running" + }, + "OwnerId": "123412341234", + "Tags": [ + { + "Key": "MyTagName", + "Value": "my-tag-value" + } + ], + "ImageMetadata": { + "ImageId": "ami-0b752bf1df193a6c4", + "Name": "al2023-ami-2023.5.20240819.0-kernel-6.1-x86_64", + "OwnerId": "137112412989", + "State": "available", + "ImageOwnerAlias": "amazon", + "CreationDate": "2023-01-25T17:20:40Z", + "DeprecationTime": "2025-01-25T17:20:40Z", + "IsPublic": true + } + } + ], + "NextToken": "...EXAMPLEV7ixRYHwIAABAA2JHaFxLnDAzpatfEXAMPLE..." + } + +For more information, see `Amazon Machine Images in Amazon EC2 `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/describe-locked-snapshots.rst b/awscli/examples/ec2/describe-locked-snapshots.rst new file mode 100644 index 000000000000..6900577e8e34 --- /dev/null +++ b/awscli/examples/ec2/describe-locked-snapshots.rst @@ -0,0 +1,24 @@ +**To describe the lock status of a snapshot** + +The following ``describe-locked-snapshots`` example describes the lock status of the specified snapshot. :: + + aws ec2 describe-locked-snapshots \ + --snapshot-ids snap-0b5e733b4a8df6e0d + +Output:: + + { + "Snapshots": [ + { + "OwnerId": "123456789012", + "SnapshotId": "snap-0b5e733b4a8df6e0d", + "LockState": "governance", + "LockDuration": 365, + "LockCreatedOn": "2024-05-05T00:56:06.208000+00:00", + "LockDurationStartTime": "2024-05-05T00:56:06.208000+00:00", + "LockExpiresOn": "2025-05-05T00:56:06.208000+00:00" + } + ] + } + +For more information, see `Snapshot lock `__ in the *Amazon EBS User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/describe-security-group-vpc-associations.rst b/awscli/examples/ec2/describe-security-group-vpc-associations.rst new file mode 100644 index 000000000000..6efdaea8b978 --- /dev/null +++ b/awscli/examples/ec2/describe-security-group-vpc-associations.rst @@ -0,0 +1,21 @@ +**To describe VPC associations** + +The following ``describe-security-group-vpc-associations`` example describes the VPC associations for the specified security group. :: + + aws ec2 describe-security-group-vpc-associations \ + --filters Name=group-id,Values=sg-04dbb43907d3f8a78 + +Output:: + + { + "SecurityGroupVpcAssociations": [ + { + "GroupId": "sg-04dbb43907d3f8a78", + "VpcId": "vpc-0bf4c2739bc05a694", + "VpcOwnerId": "123456789012", + "State": "associated" + } + ] + } + +For more information, see `Associate security groups with multiple VPCs `__ in the *Amazon VPC User Guide*. diff --git a/awscli/examples/ec2/describe-spot-datafeed-subscription.rst b/awscli/examples/ec2/describe-spot-datafeed-subscription.rst index b532ff50a93f..24f68d689540 100644 --- a/awscli/examples/ec2/describe-spot-datafeed-subscription.rst +++ b/awscli/examples/ec2/describe-spot-datafeed-subscription.rst @@ -12,7 +12,7 @@ Output:: "SpotDatafeedSubscription": { "OwnerId": "123456789012", "Prefix": "spotdata", - "Bucket": "my-s3-bucket", + "Bucket": "amzn-s3-demo-bucket", "State": "Active" } } diff --git a/awscli/examples/ec2/describe-store-image-tasks.rst b/awscli/examples/ec2/describe-store-image-tasks.rst index c0aa6f8ae2d1..ad62ec8e81ef 100644 --- a/awscli/examples/ec2/describe-store-image-tasks.rst +++ b/awscli/examples/ec2/describe-store-image-tasks.rst @@ -7,13 +7,17 @@ The following ``describe-store-image-tasks`` example describes the progress of a Output:: { - "AmiId": "ami-1234567890abcdef0", - "Bucket": "my-ami-bucket", - "ProgressPercentage": 17, - "S3ObjectKey": "ami-1234567890abcdef0.bin", - "StoreTaskState": "InProgress", - "StoreTaskFailureReason": null, - "TaskStartTime": "2022-01-01T01:01:01.001Z" + "StoreImageTaskResults": [ + { + "AmiId": "ami-1234567890abcdef0", + "Bucket": "my-ami-bucket", + "ProgressPercentage": 17, + "S3objectKey": "ami-1234567890abcdef0.bin", + "StoreTaskState": "InProgress", + "StoreTaskFailureReason": null, + "TaskStartTime": "2022-01-01T01:01:01.001Z" + } + ] } For more information about storing and restoring an AMI using S3, see `Store and restore an AMI using S3 ` in the *Amazon EC2 User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/describe-verified-access-endpoints.rst b/awscli/examples/ec2/describe-verified-access-endpoints.rst index 8f15d97f2cf4..65926683bc12 100644 --- a/awscli/examples/ec2/describe-verified-access-endpoints.rst +++ b/awscli/examples/ec2/describe-verified-access-endpoints.rst @@ -1,6 +1,6 @@ **To describe a Verified Access endpoint** -The following ``delete-verified-access-endpoints`` example describes the specified Verified Access endpoint. :: +The following ``describe-verified-access-endpoints`` example describes the specified Verified Access endpoint. :: aws ec2 describe-verified-access-endpoints \ --verified-access-endpoint-ids vae-066fac616d4d546f2 @@ -42,4 +42,4 @@ Output:: ] } -For more information, see `Verified Access endpoints `__ in the *AWS Verified Access User Guide*. +For more information, see `Verified Access endpoints `__ in the *AWS Verified Access User Guide*. diff --git a/awscli/examples/ec2/describe-vpc-endpoint-associations.rst b/awscli/examples/ec2/describe-vpc-endpoint-associations.rst new file mode 100644 index 000000000000..59d98c094e14 --- /dev/null +++ b/awscli/examples/ec2/describe-vpc-endpoint-associations.rst @@ -0,0 +1,24 @@ +**To describe VPC endpoint associations** + +The following ``describe-vpc-endpoint-associations`` example describes your VPC endpoint associations. :: + + aws ec2 describe-vpc-endpoint-associations + +Output:: + + { + "VpcEndpointAssociations": [ + { + "Id": "vpce-rsc-asc-0a810ca6ac8866bf9", + "VpcEndpointId": "vpce-019b90d6f16d4f958", + "AssociatedResourceAccessibility": "Accessible", + "DnsEntry": { + "DnsName": "vpce-019b90d6f16d4f958.rcfg-07129f3acded87625.4232ccc.vpc-lattice-rsc.us-east-2.on.aws", + "HostedZoneId": "Z03265862FOUNWMZOKUF4" + }, + "AssociatedResourceArn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-07129f3acded87625" + } + ] + } + +For more information, see `Manage VPC endpoint associations `__ in the *AWS PrivateLink User Guide*. diff --git a/awscli/examples/ec2/describe-vpc-endpoint-service-configurations.rst b/awscli/examples/ec2/describe-vpc-endpoint-service-configurations.rst index 4240eeb0b757..7a917077df90 100644 --- a/awscli/examples/ec2/describe-vpc-endpoint-service-configurations.rst +++ b/awscli/examples/ec2/describe-vpc-endpoint-service-configurations.rst @@ -1,62 +1,62 @@ -**To describe endpoint service configurations** - -The following ``describe-vpc-endpoint-service-configurations`` example describes your endpoint service configurations. :: - - aws ec2 describe-vpc-endpoint-service-configurations - -Output:: - - { - "ServiceConfigurations": [ - { - "ServiceType": [ - { - "ServiceType": "GatewayLoadBalancer" - } - ], - "ServiceId": "vpce-svc-012d33a1c4321cabc", - "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-012d33a1c4321cabc", - "ServiceState": "Available", - "AvailabilityZones": [ - "us-east-1d" - ], - "AcceptanceRequired": false, - "ManagesVpcEndpoints": false, - "GatewayLoadBalancerArns": [ - "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/gwy/GWLBService/123210844e429123" - ], - "Tags": [] - }, - { - "ServiceType": [ - { - "ServiceType": "Interface" - } - ], - "ServiceId": "vpce-svc-123cabc125efa123", - "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123cabc125efa123", - "ServiceState": "Available", - "AvailabilityZones": [ - "us-east-1a" - ], - "AcceptanceRequired": true, - "ManagesVpcEndpoints": false, - "NetworkLoadBalancerArns": [ - "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/NLBforService/1238753950b25123" - ], - "BaseEndpointDnsNames": [ - "vpce-svc-123cabc125efa123.us-east-1.vpce.amazonaws.com" - ], - "PrivateDnsName": "example.com", - "PrivateDnsNameConfiguration": { - "State": "failed", - "Type": "TXT", - "Value": "vpce:qUAth3FdeABCApUiXabc", - "Name": "_1d367jvbg34znqvyefrj" - }, - "Tags": [] - } - ] - } - -For more information, see `VPC endpoint services `__ in the *Amazon VPC User Guide*. +**To describe endpoint service configurations** + +The following ``describe-vpc-endpoint-service-configurations`` example describes your endpoint service configurations. :: + + aws ec2 describe-vpc-endpoint-service-configurations + +Output:: + + { + "ServiceConfigurations": [ + { + "ServiceType": [ + { + "ServiceType": "GatewayLoadBalancer" + } + ], + "ServiceId": "vpce-svc-012d33a1c4321cabc", + "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-012d33a1c4321cabc", + "ServiceState": "Available", + "AvailabilityZones": [ + "us-east-1d" + ], + "AcceptanceRequired": false, + "ManagesVpcEndpoints": false, + "GatewayLoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/gwy/GWLBService/123210844e429123" + ], + "Tags": [] + }, + { + "ServiceType": [ + { + "ServiceType": "Interface" + } + ], + "ServiceId": "vpce-svc-123cabc125efa123", + "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123cabc125efa123", + "ServiceState": "Available", + "AvailabilityZones": [ + "us-east-1a" + ], + "AcceptanceRequired": true, + "ManagesVpcEndpoints": false, + "NetworkLoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/NLBforService/1238753950b25123" + ], + "BaseEndpointDnsNames": [ + "vpce-svc-123cabc125efa123.us-east-1.vpce.amazonaws.com" + ], + "PrivateDnsName": "example.com", + "PrivateDnsNameConfiguration": { + "State": "failed", + "Type": "TXT", + "Value": "vpce:qUAth3FdeABCApUiXabc", + "Name": "_1d367jvbg34znqvyefrj" + }, + "Tags": [] + } + ] + } + +For more information, see `Concepts `__ in the *AWS PrivateLink User Guide*. diff --git a/awscli/examples/ec2/describe-vpc-endpoint-services.rst b/awscli/examples/ec2/describe-vpc-endpoint-services.rst index e378fac0fa43..bf57f83b6a87 100644 --- a/awscli/examples/ec2/describe-vpc-endpoint-services.rst +++ b/awscli/examples/ec2/describe-vpc-endpoint-services.rst @@ -1,134 +1,132 @@ -**Example 1: To describe all VPC endpoint services** - -The following "describe-vpc-endpoint-services" example lists all VPC endpoint services for an AWS Region. :: - - aws ec2 describe-vpc-endpoint-services - -Output:: - - { - "ServiceDetails": [ - { - "ServiceType": [ - { - "ServiceType": "Gateway" - } - ], - "AcceptanceRequired": false, - "ServiceName": "com.amazonaws.us-east-1.dynamodb", - "VpcEndpointPolicySupported": true, - "Owner": "amazon", - "AvailabilityZones": [ - "us-east-1a", - "us-east-1b", - "us-east-1c", - "us-east-1d", - "us-east-1e", - "us-east-1f" - ], - "BaseEndpointDnsNames": [ - "dynamodb.us-east-1.amazonaws.com" - ] - }, - { - "ServiceType": [ - { - "ServiceType": "Interface" - } - ], - "PrivateDnsName": "ec2.us-east-1.amazonaws.com", - "ServiceName": "com.amazonaws.us-east-1.ec2", - "VpcEndpointPolicySupported": false, - "Owner": "amazon", - "AvailabilityZones": [ - "us-east-1a", - "us-east-1b", - "us-east-1c", - "us-east-1d", - "us-east-1e", - "us-east-1f" - ], - "AcceptanceRequired": false, - "BaseEndpointDnsNames": [ - "ec2.us-east-1.vpce.amazonaws.com" - ] - }, - { - "ServiceType": [ - { - "ServiceType": "Interface" - } - ], - "PrivateDnsName": "ssm.us-east-1.amazonaws.com", - "ServiceName": "com.amazonaws.us-east-1.ssm", - "VpcEndpointPolicySupported": true, - "Owner": "amazon", - "AvailabilityZones": [ - "us-east-1a", - "us-east-1b", - "us-east-1c", - "us-east-1d", - "us-east-1e" - ], - "AcceptanceRequired": false, - "BaseEndpointDnsNames": [ - "ssm.us-east-1.vpce.amazonaws.com" - ] - } - ], - "ServiceNames": [ - "com.amazonaws.us-east-1.dynamodb", - "com.amazonaws.us-east-1.ec2", - "com.amazonaws.us-east-1.ec2messages", - "com.amazonaws.us-east-1.elasticloadbalancing", - "com.amazonaws.us-east-1.kinesis-streams", - "com.amazonaws.us-east-1.s3", - "com.amazonaws.us-east-1.ssm" - ] - } - -For more information, see `View available AWS service names `__ in the *User Guide for AWSPrivateLink*. - -**Example 2: To describe the details about an endpoint service** - -The following "describe-vpc-endpoint-services" example lists the details of the Amazon S3 interface endpoint srvice :: - - aws ec2 describe-vpc-endpoint-services \ - --filter "Name=service-type,Values=Interface" Name=service-name,Values=com.amazonaws.us-east-1.s3 - -Output:: - - { - "ServiceDetails": [ - { - "ServiceName": "com.amazonaws.us-east-1.s3", - "ServiceId": "vpce-svc-081d84efcdEXAMPLE", - "ServiceType": [ - { - "ServiceType": "Interface" - } - ], - "AvailabilityZones": [ - "us-east-1a", - "us-east-1b", - "us-east-1c", - "us-east-1d", - "us-east-1e", - "us-east-1f" - ], - "Owner": "amazon", - "BaseEndpointDnsNames": [ - "s3.us-east-1.vpce.amazonaws.com" - ], - "VpcEndpointPolicySupported": true, - "AcceptanceRequired": false, - "ManagesVpcEndpoints": false, - "Tags": [] - } - ], - "ServiceNames": [ - "com.amazonaws.us-east-1.s3" - ] - } - -For more information, see `View available AWS service names `__ in the *User Guide for AWSPrivateLink*. \ No newline at end of file +**Example 1: To describe all VPC endpoint services** + +The following ``describe-vpc-endpoint-services`` example lists all VPC endpoint services for an AWS Region. :: + + aws ec2 describe-vpc-endpoint-services + +Output:: + + { + "ServiceDetails": [ + { + "ServiceType": [ + { + "ServiceType": "Gateway" + } + ], + "AcceptanceRequired": false, + "ServiceName": "com.amazonaws.us-east-1.dynamodb", + "VpcEndpointPolicySupported": true, + "Owner": "amazon", + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1c", + "us-east-1d", + "us-east-1e", + "us-east-1f" + ], + "BaseEndpointDnsNames": [ + "dynamodb.us-east-1.amazonaws.com" + ] + }, + { + "ServiceType": [ + { + "ServiceType": "Interface" + } + ], + "PrivateDnsName": "ec2.us-east-1.amazonaws.com", + "ServiceName": "com.amazonaws.us-east-1.ec2", + "VpcEndpointPolicySupported": false, + "Owner": "amazon", + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1c", + "us-east-1d", + "us-east-1e", + "us-east-1f" + ], + "AcceptanceRequired": false, + "BaseEndpointDnsNames": [ + "ec2.us-east-1.vpce.amazonaws.com" + ] + }, + { + "ServiceType": [ + { + "ServiceType": "Interface" + } + ], + "PrivateDnsName": "ssm.us-east-1.amazonaws.com", + "ServiceName": "com.amazonaws.us-east-1.ssm", + "VpcEndpointPolicySupported": true, + "Owner": "amazon", + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1c", + "us-east-1d", + "us-east-1e" + ], + "AcceptanceRequired": false, + "BaseEndpointDnsNames": [ + "ssm.us-east-1.vpce.amazonaws.com" + ] + } + ], + "ServiceNames": [ + "com.amazonaws.us-east-1.dynamodb", + "com.amazonaws.us-east-1.ec2", + "com.amazonaws.us-east-1.ec2messages", + "com.amazonaws.us-east-1.elasticloadbalancing", + "com.amazonaws.us-east-1.kinesis-streams", + "com.amazonaws.us-east-1.s3", + "com.amazonaws.us-east-1.ssm" + ] + } + +**Example 2: To describe the details about an endpoint service** + +The following ``describe-vpc-endpoint-services`` example lists the details of the Amazon S3 interface endpoint service. :: + + aws ec2 describe-vpc-endpoint-services \ + --filter 'Name=service-type,Values=Interface' Name=service-name,Values=com.amazonaws.us-east-1.s3 + +Output:: + + { + "ServiceDetails": [ + { + "ServiceName": "com.amazonaws.us-east-1.s3", + "ServiceId": "vpce-svc-081d84efcdEXAMPLE", + "ServiceType": [ + { + "ServiceType": "Interface" + } + ], + "AvailabilityZones": [ + "us-east-1a", + "us-east-1b", + "us-east-1c", + "us-east-1d", + "us-east-1e", + "us-east-1f" + ], + "Owner": "amazon", + "BaseEndpointDnsNames": [ + "s3.us-east-1.vpce.amazonaws.com" + ], + "VpcEndpointPolicySupported": true, + "AcceptanceRequired": false, + "ManagesVpcEndpoints": false, + "Tags": [] + } + ], + "ServiceNames": [ + "com.amazonaws.us-east-1.s3" + ] + } + +For more information, see `View available AWS service names `__ in the *AWS PrivateLink User Guide*. diff --git a/awscli/examples/ec2/describe-vpc-endpoints.rst b/awscli/examples/ec2/describe-vpc-endpoints.rst index c28b740a45fa..ad7902e63cfa 100644 --- a/awscli/examples/ec2/describe-vpc-endpoints.rst +++ b/awscli/examples/ec2/describe-vpc-endpoints.rst @@ -1,89 +1,89 @@ -**To describe your VPC endpoints** - -The following ``describe-vpc-endpoints`` example displays details for all of your VPC endpoints. :: - - aws ec2 describe-vpc-endpoints - -Output:: - - { - "VpcEndpoints": [ - { - "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}", - "VpcId": "vpc-aabb1122", - "NetworkInterfaceIds": [], - "SubnetIds": [], - "PrivateDnsEnabled": true, - "State": "available", - "ServiceName": "com.amazonaws.us-east-1.dynamodb", - "RouteTableIds": [ - "rtb-3d560345" - ], - "Groups": [], - "VpcEndpointId": "vpce-032a826a", - "VpcEndpointType": "Gateway", - "CreationTimestamp": "2017-09-05T20:41:28Z", - "DnsEntries": [], - "OwnerId": "123456789012" - }, - { - "PolicyDocument": "{\n \"Statement\": [\n {\n \"Action\": \"*\", \n \"Effect\": \"Allow\", \n \"Principal\": \"*\", \n \"Resource\": \"*\"\n }\n ]\n}", - "VpcId": "vpc-1a2b3c4d", - "NetworkInterfaceIds": [ - "eni-2ec2b084", - "eni-1b4a65cf" - ], - "SubnetIds": [ - "subnet-d6fcaa8d", - "subnet-7b16de0c" - ], - "PrivateDnsEnabled": false, - "State": "available", - "ServiceName": "com.amazonaws.us-east-1.elasticloadbalancing", - "RouteTableIds": [], - "Groups": [ - { - "GroupName": "default", - "GroupId": "sg-54e8bf31" - } - ], - "VpcEndpointId": "vpce-0f89a33420c1931d7", - "VpcEndpointType": "Interface", - "CreationTimestamp": "2017-09-05T17:55:27.583Z", - "DnsEntries": [ - { - "HostedZoneId": "Z7HUB22UULQXV", - "DnsName": "vpce-0f89a33420c1931d7-bluzidnv.elasticloadbalancing.us-east-1.vpce.amazonaws.com" - }, - { - "HostedZoneId": "Z7HUB22UULQXV", - "DnsName": "vpce-0f89a33420c1931d7-bluzidnv-us-east-1b.elasticloadbalancing.us-east-1.vpce.amazonaws.com" - }, - { - "HostedZoneId": "Z7HUB22UULQXV", - "DnsName": "vpce-0f89a33420c1931d7-bluzidnv-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com" - } - ], - "OwnerId": "123456789012" - }, - { - "VpcEndpointId": "vpce-aabbaabbaabbaabba", - "VpcEndpointType": "GatewayLoadBalancer", - "VpcId": "vpc-111122223333aabbc", - "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123", - "State": "available", - "SubnetIds": [ - "subnet-0011aabbcc2233445" - ], - "RequesterManaged": false, - "NetworkInterfaceIds": [ - "eni-01010120203030405" - ], - "CreationTimestamp": "2020-11-11T08:06:03.522Z", - "Tags": [], - "OwnerId": "123456789012" - } - ] - } - -For more information, see `VPC endpoints `__ in the *Amazon VPC User Guide*. +**To describe your VPC endpoints** + +The following ``describe-vpc-endpoints`` example displays details for all of your VPC endpoints. :: + + aws ec2 describe-vpc-endpoints + +Output:: + + { + "VpcEndpoints": [ + { + "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}", + "VpcId": "vpc-aabb1122", + "NetworkInterfaceIds": [], + "SubnetIds": [], + "PrivateDnsEnabled": true, + "State": "available", + "ServiceName": "com.amazonaws.us-east-1.dynamodb", + "RouteTableIds": [ + "rtb-3d560345" + ], + "Groups": [], + "VpcEndpointId": "vpce-032a826a", + "VpcEndpointType": "Gateway", + "CreationTimestamp": "2017-09-05T20:41:28Z", + "DnsEntries": [], + "OwnerId": "123456789012" + }, + { + "PolicyDocument": "{\n \"Statement\": [\n {\n \"Action\": \"*\", \n \"Effect\": \"Allow\", \n \"Principal\": \"*\", \n \"Resource\": \"*\"\n }\n ]\n}", + "VpcId": "vpc-1a2b3c4d", + "NetworkInterfaceIds": [ + "eni-2ec2b084", + "eni-1b4a65cf" + ], + "SubnetIds": [ + "subnet-d6fcaa8d", + "subnet-7b16de0c" + ], + "PrivateDnsEnabled": false, + "State": "available", + "ServiceName": "com.amazonaws.us-east-1.elasticloadbalancing", + "RouteTableIds": [], + "Groups": [ + { + "GroupName": "default", + "GroupId": "sg-54e8bf31" + } + ], + "VpcEndpointId": "vpce-0f89a33420c1931d7", + "VpcEndpointType": "Interface", + "CreationTimestamp": "2017-09-05T17:55:27.583Z", + "DnsEntries": [ + { + "HostedZoneId": "Z7HUB22UULQXV", + "DnsName": "vpce-0f89a33420c1931d7-bluzidnv.elasticloadbalancing.us-east-1.vpce.amazonaws.com" + }, + { + "HostedZoneId": "Z7HUB22UULQXV", + "DnsName": "vpce-0f89a33420c1931d7-bluzidnv-us-east-1b.elasticloadbalancing.us-east-1.vpce.amazonaws.com" + }, + { + "HostedZoneId": "Z7HUB22UULQXV", + "DnsName": "vpce-0f89a33420c1931d7-bluzidnv-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com" + } + ], + "OwnerId": "123456789012" + }, + { + "VpcEndpointId": "vpce-aabbaabbaabbaabba", + "VpcEndpointType": "GatewayLoadBalancer", + "VpcId": "vpc-111122223333aabbc", + "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123123a1c43abc123", + "State": "available", + "SubnetIds": [ + "subnet-0011aabbcc2233445" + ], + "RequesterManaged": false, + "NetworkInterfaceIds": [ + "eni-01010120203030405" + ], + "CreationTimestamp": "2020-11-11T08:06:03.522Z", + "Tags": [], + "OwnerId": "123456789012" + } + ] + } + +For more information, see `Concepts `__ in the *AWS PrivateLink User Guide*. diff --git a/awscli/examples/ec2/disable-address-transfer.rst b/awscli/examples/ec2/disable-address-transfer.rst index dafbeb514a69..0653c3a383d3 100644 --- a/awscli/examples/ec2/disable-address-transfer.rst +++ b/awscli/examples/ec2/disable-address-transfer.rst @@ -15,4 +15,4 @@ Output:: } } -For more information, see `Transfer Elastic IP addresses `__ in the *Amazon VPC User Guide*. +For more information, see `Transfer Elastic IP addresses `__ in the *Amazon VPC User Guide*. diff --git a/awscli/examples/ec2/disable-aws-network-performance-metric-subscription.rst b/awscli/examples/ec2/disable-aws-network-performance-metric-subscription.rst index acc29262a982..b70677e4a5c2 100644 --- a/awscli/examples/ec2/disable-aws-network-performance-metric-subscription.rst +++ b/awscli/examples/ec2/disable-aws-network-performance-metric-subscription.rst @@ -14,4 +14,4 @@ Output:: "Output": true } -For more information, see `Manage subscriptions `__ in the *Infrastructure Performance User Guide*. \ No newline at end of file +For more information, see `Manage CloudWatch subscriptions using the CLI `__ in the *Infrastructure Performance User Guide*. diff --git a/awscli/examples/ec2/disable-fast-launch.rst b/awscli/examples/ec2/disable-fast-launch.rst index 00f576b138ce..28b9b204687f 100644 --- a/awscli/examples/ec2/disable-fast-launch.rst +++ b/awscli/examples/ec2/disable-fast-launch.rst @@ -1,6 +1,6 @@ **To discontinue fast launching for an image** -The following ``disable-fast-launch`` example discontinues fast launching on the specified AMI, and cleans up existing pre-provisioned snapshots. :: +The following ``disable-fast-launch`` example discontinues Fast Launch for the specified AMI, and cleans up existing pre-provisioned snapshots. :: aws ec2 disable-fast-launch \ --image-id ami-01234567890abcedf @@ -23,4 +23,4 @@ Output:: "StateTransitionTime": "2022-01-27T22:47:29.265000+00:00" } -For more information about configuring a Windows AMI for faster launching, see `Configure your AMI for faster launching `__ in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information, see `Configure EC2 Fast Launch settings for your Windows AMI `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/disable-image-block-public-access.rst b/awscli/examples/ec2/disable-image-block-public-access.rst index 9b6f1e3f44ae..83e765900eff 100644 --- a/awscli/examples/ec2/disable-image-block-public-access.rst +++ b/awscli/examples/ec2/disable-image-block-public-access.rst @@ -11,4 +11,4 @@ Output:: "ImageBlockPublicAccessState": "unblocked" } -For more information, see `Block public access to your AMIs `__ in the *Amazon EC2 User Guide*. +For more information, see `Block public access to your AMIs `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/disable-image-deprecation.rst b/awscli/examples/ec2/disable-image-deprecation.rst index b1e916e42370..ad137bb3d558 100644 --- a/awscli/examples/ec2/disable-image-deprecation.rst +++ b/awscli/examples/ec2/disable-image-deprecation.rst @@ -12,4 +12,4 @@ Output:: "Return": "true" } -For more information, see `Deprecate an AMI ` in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information, see `Deprecate an AMI `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/disable-image-deregistration-protection.rst b/awscli/examples/ec2/disable-image-deregistration-protection.rst new file mode 100644 index 000000000000..7a017f3800cd --- /dev/null +++ b/awscli/examples/ec2/disable-image-deregistration-protection.rst @@ -0,0 +1,14 @@ +**To disable deregistration protection** + +The following ``disable-image-deregistration-protection`` example disables deregistration protection for the specified image. :: + + aws ec2 disable-image-deregistration-protection \ + --image-id ami-0b1a928a144a74ec9 + +Output:: + + { + "Return": "disabled" + } + +For more information, see `Protect an AMI from deregistration `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/disable-snapshot-block-public-access.rst b/awscli/examples/ec2/disable-snapshot-block-public-access.rst new file mode 100644 index 000000000000..4821347f0ff2 --- /dev/null +++ b/awscli/examples/ec2/disable-snapshot-block-public-access.rst @@ -0,0 +1,13 @@ +**To disable block public access for snapshots** + +The following ``disable-snapshot-block-public-access`` example disables block public access for snapshots to allow public sharing of your snapshots. :: + + aws ec2 disable-snapshot-block-public-access + +Output:: + + { + "State": "unblocked" + } + +For more information, see `Block public access for snapshots `__ in the *Amazon EBS User Guide*. diff --git a/awscli/examples/ec2/disassociate-security-group-vpc.rst b/awscli/examples/ec2/disassociate-security-group-vpc.rst new file mode 100644 index 000000000000..e66494dd2739 --- /dev/null +++ b/awscli/examples/ec2/disassociate-security-group-vpc.rst @@ -0,0 +1,15 @@ +**To disassociate a security group from a VPC** + +The following ``disassociate-security-group-vpc`` example disassociates the specified security group from the specified VPC. :: + + aws ec2 disassociate-security-group-vpc \ + --group-id sg-04dbb43907d3f8a78 \ + --vpc-id vpc-0bf4c2739bc05a694 + +Output:: + + { + "State": "disassociating" + } + +For more information, see `Associate security groups with multiple VPCs `__ in the *Amazon VPC User Guide*. diff --git a/awscli/examples/ec2/disassociate-transit-gateway-multicast-domain.rst b/awscli/examples/ec2/disassociate-transit-gateway-multicast-domain.rst index f8283f72e225..21620d965145 100755 --- a/awscli/examples/ec2/disassociate-transit-gateway-multicast-domain.rst +++ b/awscli/examples/ec2/disassociate-transit-gateway-multicast-domain.rst @@ -24,4 +24,4 @@ Output:: } } -For more information, see `Working with multicast `__ in the *Transit Gateways Guide*'. \ No newline at end of file +For more information, see `Multicast domains `__ in the *Transit Gateways Guide*'. diff --git a/awscli/examples/ec2/enable-address-transfer.rst b/awscli/examples/ec2/enable-address-transfer.rst index 43abe389e37b..e35d3d5c8aa6 100644 --- a/awscli/examples/ec2/enable-address-transfer.rst +++ b/awscli/examples/ec2/enable-address-transfer.rst @@ -18,4 +18,4 @@ Output:: } } -For more information, see `Transfer Elastic IP addresses `__ in the *Amazon VPC User Guide*. +For more information, see `Transfer Elastic IP addresses `__ in the *Amazon VPC User Guide*. diff --git a/awscli/examples/ec2/enable-fast-launch.rst b/awscli/examples/ec2/enable-fast-launch.rst index 0f903f39ed3c..5b3ba2af9b20 100644 --- a/awscli/examples/ec2/enable-fast-launch.rst +++ b/awscli/examples/ec2/enable-fast-launch.rst @@ -1,6 +1,6 @@ **To start fast launching for an image** -The following ``enable-fast-launch`` example starts fast launching on the specified AMI and sets the maximum number of parallel instances to launch to 6. The type of resource to use to pre-provision the AMI is set to ``snapshot``, which is also the default value. :: +The following ``enable-fast-launch`` example configures the specified AMI for Fast Launch and sets the maximum number of parallel instances to launch to 6. The type of resource to use to pre-provision the AMI is set to ``snapshot``, which is also the default value. :: aws ec2 enable-fast-launch \ --image-id ami-01234567890abcedf \ @@ -23,4 +23,4 @@ Output:: "StateTransitionTime": "2022-01-27T22:16:03.199000+00:00" } -For more information about configuring a Windows AMI for faster launching, see `Configure your AMI for faster launching `__ in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information, see `Configure EC2 Fast Launch settings for your Windows AMI `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/enable-image-deprecation.rst b/awscli/examples/ec2/enable-image-deprecation.rst index 6d1066b52bc2..4f1580634490 100644 --- a/awscli/examples/ec2/enable-image-deprecation.rst +++ b/awscli/examples/ec2/enable-image-deprecation.rst @@ -1,10 +1,10 @@ -**Example 1: To deprecate an AMI** +**To deprecate an AMI** The following ``enable-image-deprecation`` example deprecates an AMI on a specific date and time. If you specify a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. You must be the AMI owner to perform this procedure. :: aws ec2 enable-image-deprecation \ --image-id ami-1234567890abcdef0 \ - --deprecate-at "2022-10-15T13:17:12.000Z" + --deprecate-at '2022-10-15T13:17:12.000Z' Output:: @@ -13,4 +13,4 @@ Output:: "Return": "true" } -For more information, see `Deprecate an AMI ` in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information, see `Deprecate an AMI `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/enable-image-deregistration-protection.rst b/awscli/examples/ec2/enable-image-deregistration-protection.rst new file mode 100644 index 000000000000..66874f881f92 --- /dev/null +++ b/awscli/examples/ec2/enable-image-deregistration-protection.rst @@ -0,0 +1,14 @@ +**To enable deregistration protection** + +The following ``enable-image-deregistration-protection`` example enables deregistration protection for the specified image. :: + + aws ec2 enable-image-deregistration-protection \ + --image-id ami-0b1a928a144a74ec9 + +Output:: + + { + "Return": "enabled-without-cooldown" + } + +For more information, see `Protect an EC2 AMI from deregistration `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/enable-snapshot-block-public-access.rst b/awscli/examples/ec2/enable-snapshot-block-public-access.rst new file mode 100644 index 000000000000..fcfefe9f1eb7 --- /dev/null +++ b/awscli/examples/ec2/enable-snapshot-block-public-access.rst @@ -0,0 +1,14 @@ +**To enable block public access for snapshots** + +The following ``enable-snapshot-block-public-access`` example blocks all public sharing of your snapshots. :: + + aws ec2 enable-snapshot-block-public-access \ + --state block-all-sharing + +Output:: + + { + "State": "block-all-sharing" + } + +For more information, see `Block public access for snapshots `__ in the *Amazon EBS User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/export-client-vpn-client-configuration.rst b/awscli/examples/ec2/export-client-vpn-client-configuration.rst index 697cd9069726..3aef880d2ebe 100644 --- a/awscli/examples/ec2/export-client-vpn-client-configuration.rst +++ b/awscli/examples/ec2/export-client-vpn-client-configuration.rst @@ -1,43 +1,43 @@ -**To export the client configuration** - -The following ``export-client-vpn-client-configuration`` example exports the client configuration for the specified Client VPN endpoint. In this example, the output is returned in text format to make it easier to read. :: - - aws ec2 export-client-vpn-client-configuration \ - --client-vpn-endpoint-id cvpn-endpoint-123456789123abcde \ - --output text - -Output:: - - client - dev tun - proto udp - remote cvpn-endpoint-123456789123abcde.prod.clientvpn.ap-south-1.amazonaws.com 443 - remote-random-hostname - resolv-retry infinite - nobind - persist-key - persist-tun - remote-cert-tls server - cipher AES-256-GCM - verb 3 - - -----BEGIN CERTIFICATE----- - MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC - VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 - b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd - BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN - MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD - VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z - b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt - YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ - 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T - rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE - Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 - nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb - FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb - NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= - -----END CERTIFICATE----- - - reneg-sec 0 - -For more information, see `Client VPN Endpoints `__ in the *AWS Client VPN Administrator Guide*. +**To export the client configuration** + +The following ``export-client-vpn-client-configuration`` example exports the client configuration for the specified Client VPN endpoint. In this example, the output is returned in text format to make it easier to read. :: + + aws ec2 export-client-vpn-client-configuration \ + --client-vpn-endpoint-id cvpn-endpoint-123456789123abcde \ + --output text + +Output:: + + client + dev tun + proto udp + remote cvpn-endpoint-123456789123abcde.prod.clientvpn.ap-south-1.amazonaws.com 443 + remote-random-hostname + resolv-retry infinite + nobind + persist-key + persist-tun + remote-cert-tls server + cipher AES-256-GCM + verb 3 + + -----BEGIN CERTIFICATE----- + MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC + VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 + b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd + BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN + MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD + VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z + b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt + YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ + 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T + rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE + Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 + nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb + FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb + NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= + -----END CERTIFICATE----- + + reneg-sec 0 + +For more information, see `Client VPN endpoint configuration file export `__ in the *AWS Client VPN Administrator Guide*. diff --git a/awscli/examples/ec2/get-aws-network-performance-data.rst b/awscli/examples/ec2/get-aws-network-performance-data.rst index 8b6408bd701b..4462587d4e80 100644 --- a/awscli/examples/ec2/get-aws-network-performance-data.rst +++ b/awscli/examples/ec2/get-aws-network-performance-data.rst @@ -66,4 +66,4 @@ Output:: ] } -For more information, see `Monitor network performance `__ in the *Infrastructure Performance User Guide*. \ No newline at end of file +For more information, see `Monitor network performance `__ in the *Infrastructure Performance User Guide*. diff --git a/awscli/examples/ec2/get-capacity-reservation-usage.rst b/awscli/examples/ec2/get-capacity-reservation-usage.rst index 15dcffe3c6cc..579a3203ee8e 100644 --- a/awscli/examples/ec2/get-capacity-reservation-usage.rst +++ b/awscli/examples/ec2/get-capacity-reservation-usage.rst @@ -1,24 +1,24 @@ -**To view capacity reservation usage across AWS accounts** - -The following ``get-capacity-reservation-usage`` example displays usage information for the specified capacity reservation. :: - - aws ec2 get-capacity-reservation-usage \ - --capacity-reservation-id cr-1234abcd56EXAMPLE - -Output:: - - { - "CapacityReservationId": "cr-1234abcd56EXAMPLE ", - "InstanceUsages": [ - { - "UsedInstanceCount": 1, - "AccountId": "123456789012" - } - ], - "AvailableInstanceCount": 4, - "TotalInstanceCount": 5, - "State": "active", - "InstanceType": "t2.medium" - } - -For more information, see `Viewing Shared Capacity Reservation Usage `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +**To view capacity reservation usage across AWS accounts** + +The following ``get-capacity-reservation-usage`` example displays usage information for the specified capacity reservation. :: + + aws ec2 get-capacity-reservation-usage \ + --capacity-reservation-id cr-1234abcd56EXAMPLE + +Output:: + + { + "CapacityReservationId": "cr-1234abcd56EXAMPLE ", + "InstanceUsages": [ + { + "UsedInstanceCount": 1, + "AccountId": "123456789012" + } + ], + "AvailableInstanceCount": 4, + "TotalInstanceCount": 5, + "State": "active", + "InstanceType": "t2.medium" + } + +For more information, see `Shared Capacity Reservations `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/get-coip-pool-usage.rst b/awscli/examples/ec2/get-coip-pool-usage.rst index 51d2c6978cda..7daf8cea7c67 100644 --- a/awscli/examples/ec2/get-coip-pool-usage.rst +++ b/awscli/examples/ec2/get-coip-pool-usage.rst @@ -27,4 +27,4 @@ Output:: "LocalGatewayRouteTableId": "lgw-rtb-059615ef7dEXAMPLE" } -For more information, see `Customer-owned IP addresses `__ in the *AWS Outposts User Guide*. +For more information, see `Customer-owned IP addresses `__ in the *AWS Outposts User Guide for Outposts racks*. diff --git a/awscli/examples/ec2/get-flow-logs-integration-template.rst b/awscli/examples/ec2/get-flow-logs-integration-template.rst index be0a153254a9..1ee8fa5fb050 100644 --- a/awscli/examples/ec2/get-flow-logs-integration-template.rst +++ b/awscli/examples/ec2/get-flow-logs-integration-template.rst @@ -6,20 +6,20 @@ Linux:: aws ec2 get-flow-logs-integration-template \ --flow-log-id fl-1234567890abcdef0 \ - --config-delivery-s3-destination-arn arn:aws:s3:::DOC-EXAMPLE-BUCKET \ - --integrate-services AthenaIntegrations='[{IntegrationResultS3DestinationArn=arn:aws:s3:::DOC-EXAMPLE-BUCKET,PartitionLoadFrequency=none,PartitionStartDate=2021-07-21T00:40:00,PartitionEndDate=2021-07-21T00:42:00},{IntegrationResultS3DestinationArn=arn:aws:s3:::DOC-EXAMPLE-BUCKET,PartitionLoadFrequency=none,PartitionStartDate=2021-07-21T00:40:00,PartitionEndDate=2021-07-21T00:42:00}]' + --config-delivery-s3-destination-arn arn:aws:s3:::amzn-s3-demo-bucket \ + --integrate-services AthenaIntegrations='[{IntegrationResultS3DestinationArn=arn:aws:s3:::amzn-s3-demo-bucket,PartitionLoadFrequency=none,PartitionStartDate=2021-07-21T00:40:00,PartitionEndDate=2021-07-21T00:42:00},{IntegrationResultS3DestinationArn=arn:aws:s3:::amzn-s3-demo-bucket,PartitionLoadFrequency=none,PartitionStartDate=2021-07-21T00:40:00,PartitionEndDate=2021-07-21T00:42:00}]' Windows:: aws ec2 get-flow-logs-integration-template ^ --flow-log-id fl-1234567890abcdef0 ^ - --config-delivery-s3-destination-arn arn:aws:s3:::DOC-EXAMPLE-BUCKET ^ - --integrate-services AthenaIntegrations=[{IntegrationResultS3DestinationArn=arn:aws:s3:::DOC-EXAMPLE-BUCKET,PartitionLoadFrequency=none,PartitionStartDate=2021-07-21T00:40:00,PartitionEndDate=2021-07-21T00:42:00},{IntegrationResultS3DestinationArn=arn:aws:s3:::DOC-EXAMPLE-BUCKET,PartitionLoadFrequency=none,PartitionStartDate=2021-07-21T00:40:00,PartitionEndDate=2021-07-21T00:42:00}] + --config-delivery-s3-destination-arn arn:aws:s3:::amzn-s3-demo-bucket ^ + --integrate-services AthenaIntegrations=[{IntegrationResultS3DestinationArn=arn:aws:s3:::amzn-s3-demo-bucket,PartitionLoadFrequency=none,PartitionStartDate=2021-07-21T00:40:00,PartitionEndDate=2021-07-21T00:42:00},{IntegrationResultS3DestinationArn=arn:aws:s3:::amzn-s3-demo-bucket,PartitionLoadFrequency=none,PartitionStartDate=2021-07-21T00:40:00,PartitionEndDate=2021-07-21T00:42:00}] Output:: { - "Result": "https://DOC-EXAMPLE-BUCKET.s3.us-east-2.amazonaws.com/VPCFlowLogsIntegrationTemplate_fl-1234567890abcdef0_Wed%20Jul%2021%2000%3A57%3A56%20UTC%202021.yml" + "Result": "https://amzn-s3-demo-bucket.s3.us-east-2.amazonaws.com/VPCFlowLogsIntegrationTemplate_fl-1234567890abcdef0_Wed%20Jul%2021%2000%3A57%3A56%20UTC%202021.yml" } For information on using CloudFormation templates, see `Working with AWS CloudFormation templates `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/ec2/get-groups-for-capacity-reservation.rst b/awscli/examples/ec2/get-groups-for-capacity-reservation.rst index e8a4d1d38f36..cdb4cb509e08 100644 --- a/awscli/examples/ec2/get-groups-for-capacity-reservation.rst +++ b/awscli/examples/ec2/get-groups-for-capacity-reservation.rst @@ -16,4 +16,4 @@ Output:: ] } -For more information, see `Working with Capacity Reservations `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. \ No newline at end of file +For more information, see `Capacity Reservation groups `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/get-ipam-discovered-public-addresses.rst b/awscli/examples/ec2/get-ipam-discovered-public-addresses.rst index c003560ac69d..72eaba496338 100644 --- a/awscli/examples/ec2/get-ipam-discovered-public-addresses.rst +++ b/awscli/examples/ec2/get-ipam-discovered-public-addresses.rst @@ -1,6 +1,6 @@ **To view discovered public IP addresses** -In this example, you are an IPAM delegated admin and you want to view the IP addresses of resources discovered by IPAM. You can get the resource discovery ID with `describe-ipam-resource-discoveries `__. +In this example, you are an IPAM delegated admin and you want to view the IP addresses of resources discovered by IPAM. You can get the resource discovery ID with `describe-ipam-resource-discoveries `__. The following ``get-ipam-discovered-public-addresses`` example shows the discovered public IP addresses for a resource discovery. :: diff --git a/awscli/examples/ec2/get-network-insights-access-scope-analysis-findings.rst b/awscli/examples/ec2/get-network-insights-access-scope-analysis-findings.rst index e5c4d8bdba74..c1d2d1f12eb1 100644 --- a/awscli/examples/ec2/get-network-insights-access-scope-analysis-findings.rst +++ b/awscli/examples/ec2/get-network-insights-access-scope-analysis-findings.rst @@ -1,60 +1,60 @@ -**To get the findings of Network Insights access scope analysis** - -The following ``get-network-insights-access-scope-analysis-findings`` example gets the selected scope analysis findings in your AWS account. :: - - aws ec2 get-network-insights-access-scope-analysis-findings \ - --region us-east-1 \ - --network-insights-access-scope-analysis-id nis \ - --nis-123456789111 - -Output:: - - { - "NetworkInsightsAccessScopeAnalysisId": "nisa-123456789222", - "AnalysisFindings": [ - { - "NetworkInsightsAccessScopeAnalysisId": "nisa-123456789222", - "NetworkInsightsAccessScopeId": "nis-123456789111", - "FindingComponents": [ - { - "SequenceNumber": 1, - "Component": { - "Id": "eni-02e3d42d5cceca67d", - "Arn": "arn:aws:ec2:us-east-1:936459623503:network-interface/eni-02e3d32d9cceca17d" - }, - "OutboundHeader": { - "DestinationAddresses": [ - "0.0.0.0/5", - "11.0.0.0/8", - "12.0.0.0/6", - "128.0.0.0/3", - "16.0.0.0/4", - "160.0.0.0/5", - "168.0.0.0/6", - "172.0.0.0/12" - "8.0.0.0/7" - ], - "DestinationPortRanges": [ - { - "From": 0, - "To": 65535 - } - ], - "Protocol": "6", - "SourceAddresses": [ - "10.0.2.253/32" - ], - "SourcePortRanges": [ - { - "From": 0, - "To": 65535 - } - ] - }, [etc] - ] - } - } - ] - } - -For more information, see `Getting started with Network Access Analyzer using the AWS CLI `__ in the *Network Access Analyzer Guide*. \ No newline at end of file +**To get the findings of Network Insights access scope analysis** + +The following ``get-network-insights-access-scope-analysis-findings`` example gets the selected scope analysis findings in your AWS account. :: + + aws ec2 get-network-insights-access-scope-analysis-findings \ + --region us-east-1 \ + --network-insights-access-scope-analysis-id nis \ + --nis-123456789111 + +Output:: + + { + "NetworkInsightsAccessScopeAnalysisId": "nisa-123456789222", + "AnalysisFindings": [ + { + "NetworkInsightsAccessScopeAnalysisId": "nisa-123456789222", + "NetworkInsightsAccessScopeId": "nis-123456789111", + "FindingComponents": [ + { + "SequenceNumber": 1, + "Component": { + "Id": "eni-02e3d42d5cceca67d", + "Arn": "arn:aws:ec2:us-east-1:936459623503:network-interface/eni-02e3d32d9cceca17d" + }, + "OutboundHeader": { + "DestinationAddresses": [ + "0.0.0.0/5", + "11.0.0.0/8", + "12.0.0.0/6", + "128.0.0.0/3", + "16.0.0.0/4", + "160.0.0.0/5", + "168.0.0.0/6", + "172.0.0.0/12" + "8.0.0.0/7" + ], + "DestinationPortRanges": [ + { + "From": 0, + "To": 65535 + } + ], + "Protocol": "6", + "SourceAddresses": [ + "10.0.2.253/32" + ], + "SourcePortRanges": [ + { + "From": 0, + "To": 65535 + } + ] + }, [etc] + ] + } + } + ] + } + +For more information, see `Getting started with Network Access Analyzer using the AWS CLI `__ in the *Network Access Analyzer Guide*. diff --git a/awscli/examples/ec2/get-network-insights-access-scope-content.rst b/awscli/examples/ec2/get-network-insights-access-scope-content.rst index 713984a042b6..f5a0013cd57a 100644 --- a/awscli/examples/ec2/get-network-insights-access-scope-content.rst +++ b/awscli/examples/ec2/get-network-insights-access-scope-content.rst @@ -1,35 +1,35 @@ -**To get Network Insights access scope content** - -The following ``get-network-insights-access-scope-content`` example gets the content of the selected scope analysis ID in your AWS account. :: - - aws ec2 get-network-insights-access-scope-content \ - --region us-east-1 \ - --network-insights-access-scope-id nis-123456789222 - -Output:: - - { - "NetworkInsightsAccessScopeContent": { - "NetworkInsightsAccessScopeId": "nis-123456789222", - "MatchPaths": [ - { - "Source": { - "ResourceStatement": { - "ResourceTypes": [ - "AWS::EC2::NetworkInterface" - ] - } - }, - "Destination": { - "ResourceStatement": { - "ResourceTypes": [ - "AWS::EC2::InternetGateway" - ] - } - } - } - ] - } - } - -For more information, see `Getting started with Network Access Analyzer using the AWS CLI `__ in the *Network Access Analyzer Guide*. \ No newline at end of file +**To get Network Insights access scope content** + +The following ``get-network-insights-access-scope-content`` example gets the content of the selected scope analysis ID in your AWS account. :: + + aws ec2 get-network-insights-access-scope-content \ + --region us-east-1 \ + --network-insights-access-scope-id nis-123456789222 + +Output:: + + { + "NetworkInsightsAccessScopeContent": { + "NetworkInsightsAccessScopeId": "nis-123456789222", + "MatchPaths": [ + { + "Source": { + "ResourceStatement": { + "ResourceTypes": [ + "AWS::EC2::NetworkInterface" + ] + } + }, + "Destination": { + "ResourceStatement": { + "ResourceTypes": [ + "AWS::EC2::InternetGateway" + ] + } + } + } + ] + } + } + +For more information, see `Getting started with Network Access Analyzer using the AWS CLI `__ in the *Network Access Analyzer Guide*. diff --git a/awscli/examples/ec2/get-snapshot-block-public-access-state.rst b/awscli/examples/ec2/get-snapshot-block-public-access-state.rst new file mode 100644 index 000000000000..5ce016deee20 --- /dev/null +++ b/awscli/examples/ec2/get-snapshot-block-public-access-state.rst @@ -0,0 +1,13 @@ +**To get the current state of block public access for snapshots** + +The following ``get-snapshot-block-public-access-state`` example gets the current state of block public access for snapshots. :: + + aws ec2 get-snapshot-block-public-access-state + +Output:: + + { + "State": "block-all-sharing" + } + +For more information, see `Block public access for snapshots `__ in the *Amazon EBS User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/get-transit-gateway-multicast-domain-associations.rst b/awscli/examples/ec2/get-transit-gateway-multicast-domain-associations.rst index 08e3c8ab8def..90ddbbe1c2cb 100755 --- a/awscli/examples/ec2/get-transit-gateway-multicast-domain-associations.rst +++ b/awscli/examples/ec2/get-transit-gateway-multicast-domain-associations.rst @@ -57,4 +57,4 @@ Output:: ] } -For more information, see `Managing multicast domains `__ in the *Transit Gateways Guide*. \ No newline at end of file +For more information, see `Multicast domains `__ in the *Transit Gateways Guide*. diff --git a/awscli/examples/ec2/get-transit-gateway-prefix-list-references.rst b/awscli/examples/ec2/get-transit-gateway-prefix-list-references.rst index f3c695898eb1..2a73a6e20ad1 100644 --- a/awscli/examples/ec2/get-transit-gateway-prefix-list-references.rst +++ b/awscli/examples/ec2/get-transit-gateway-prefix-list-references.rst @@ -1,28 +1,28 @@ -**To get prefix list references in a transit gateway route table** - -The following ``get-transit-gateway-prefix-list-references`` example gets the prefix list references for the specified transit gateway route table, and filters by the ID of a specific prefix list. :: - - aws ec2 get-transit-gateway-prefix-list-references \ - --transit-gateway-route-table-id tgw-rtb-0123456789abcd123 \ - --filters Name=prefix-list-id,Values=pl-11111122222222333 - -Output:: - - { - "TransitGatewayPrefixListReferences": [ - { - "TransitGatewayRouteTableId": "tgw-rtb-0123456789abcd123", - "PrefixListId": "pl-11111122222222333", - "PrefixListOwnerId": "123456789012", - "State": "available", - "Blackhole": false, - "TransitGatewayAttachment": { - "TransitGatewayAttachmentId": "tgw-attach-aabbccddaabbccaab", - "ResourceType": "vpc", - "ResourceId": "vpc-112233445566aabbc" - } - } - ] - } - -For more information, see `Prefix list references `__ in the *Transit Gateways Guide*. +**To get prefix list references in a transit gateway route table** + +The following ``get-transit-gateway-prefix-list-references`` example gets the prefix list references for the specified transit gateway route table, and filters by the ID of a specific prefix list. :: + + aws ec2 get-transit-gateway-prefix-list-references \ + --transit-gateway-route-table-id tgw-rtb-0123456789abcd123 \ + --filters Name=prefix-list-id,Values=pl-11111122222222333 + +Output:: + + { + "TransitGatewayPrefixListReferences": [ + { + "TransitGatewayRouteTableId": "tgw-rtb-0123456789abcd123", + "PrefixListId": "pl-11111122222222333", + "PrefixListOwnerId": "123456789012", + "State": "available", + "Blackhole": false, + "TransitGatewayAttachment": { + "TransitGatewayAttachmentId": "tgw-attach-aabbccddaabbccaab", + "ResourceType": "vpc", + "ResourceId": "vpc-112233445566aabbc" + } + } + ] + } + +For more information, see `Prefix list references `__ in the *Transit Gateways Guide*. diff --git a/awscli/examples/ec2/import-snapshot.rst b/awscli/examples/ec2/import-snapshot.rst index 502ebfd6c5e9..60f21ac9514c 100755 --- a/awscli/examples/ec2/import-snapshot.rst +++ b/awscli/examples/ec2/import-snapshot.rst @@ -4,7 +4,7 @@ The following ``import-snapshot`` example imports the specified disk as a snapsh aws ec2 import-snapshot \ --description "My server VMDK" \ - --disk-container Format=VMDK,UserBucket={S3Bucket=my-import-bucket,S3Key=vms/my-server-vm.vmdk} + --disk-container Format=VMDK,UserBucket={'S3Bucket=my-import-bucket,S3Key=vms/my-server-vm.vmdk'} Output:: diff --git a/awscli/examples/ec2/list-images-in-recycle-bin.rst b/awscli/examples/ec2/list-images-in-recycle-bin.rst index b375b8cde15c..ceee4b13566f 100644 --- a/awscli/examples/ec2/list-images-in-recycle-bin.rst +++ b/awscli/examples/ec2/list-images-in-recycle-bin.rst @@ -18,4 +18,4 @@ Output:: ] } -For more information, see `Recover AMIs from the Recycle Bin `__ in the *Amazon Elastic Compute Cloud User Guide*. \ No newline at end of file +For more information, see `Recover deleted AMIs from the Recycle Bin `__ in the *Amazon EBS User Guide*. diff --git a/awscli/examples/ec2/list-snapshots-in-recycle-bin.rst b/awscli/examples/ec2/list-snapshots-in-recycle-bin.rst index c4a8d6b7436d..9abe1fb74f5e 100644 --- a/awscli/examples/ec2/list-snapshots-in-recycle-bin.rst +++ b/awscli/examples/ec2/list-snapshots-in-recycle-bin.rst @@ -19,4 +19,4 @@ Output:: ] } -For more information about Recycle Bin for Amazon EBS, see `Recover snapshots from the Recycle Bin `__ in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information about Recycle Bin, see `Recover deleted snapshots from the Recycle Bin `__ in the *Amazon EBS User Guide*. diff --git a/awscli/examples/ec2/lock-snapshot.rst b/awscli/examples/ec2/lock-snapshot.rst new file mode 100644 index 000000000000..d6eed93af2a0 --- /dev/null +++ b/awscli/examples/ec2/lock-snapshot.rst @@ -0,0 +1,46 @@ +**Example 1: To lock a snapshot in governance mode** + +The following ``lock-snapshot`` example locks the specified snapshot in governance mode. :: + + aws ec2 lock-snapshot \ + --snapshot-id snap-0b5e733b4a8df6e0d \ + --lock-mode governance \ + --lock-duration 365 + +Output:: + + { + "SnapshotId": "snap-0b5e733b4a8df6e0d", + "LockState": "governance", + "LockDuration": 365, + "LockCreatedOn": "2024-05-05T00:56:06.208000+00:00", + "LockExpiresOn": "2025-05-05T00:56:06.208000+00:00", + "LockDurationStartTime": "2024-05-05T00:56:06.208000+00:00" + } + +For more information, see `Snapshot lock `__ in the *Amazon EBS User Guide*. + +**Example 2: To lock a snapshot in compliance mode** + +The following ``lock-snapshot`` example lock the specified snapshot in compliance mode. :: + + aws ec2 lock-snapshot \ + --snapshot-id snap-0163a8524c5b9901f \ + --lock-mode compliance \ + --cool-off-period 24 \ + --lock-duration 365 + +Output:: + + { + "SnapshotId": "snap-0b5e733b4a8df6e0d", + "LockState": "compliance-cooloff", + "LockDuration": 365, + "CoolOffPeriod": 24, + "CoolOffPeriodExpiresOn": "2024-05-06T01:02:20.527000+00:00", + "LockCreatedOn": "2024-05-05T01:02:20.527000+00:00", + "LockExpiresOn": "2025-05-05T01:02:20.527000+00:00", + "LockDurationStartTime": "2024-05-05T01:02:20.527000+00:00" + } + +For more information, see `Snapshot lock `__ in the *Amazon EBS User Guide*. \ No newline at end of file diff --git a/awscli/examples/ec2/modify-availability-zone-group.rst b/awscli/examples/ec2/modify-availability-zone-group.rst index c6e79c72ae0a..c9315139869c 100644 --- a/awscli/examples/ec2/modify-availability-zone-group.rst +++ b/awscli/examples/ec2/modify-availability-zone-group.rst @@ -12,4 +12,4 @@ Output:: "Return": true } -For more information, see `Regions and Zones `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. \ No newline at end of file +For more information, see `Regions and Zones `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/modify-capacity-reservation.rst b/awscli/examples/ec2/modify-capacity-reservation.rst index e1306bca5efa..4668040d76d1 100644 --- a/awscli/examples/ec2/modify-capacity-reservation.rst +++ b/awscli/examples/ec2/modify-capacity-reservation.rst @@ -1,24 +1,26 @@ -**Example 1: To change the number of instances reserved by an existing capacity reservation** - -The following ``modify-capacity-reservation`` example changes the number of instances for which the capacity reservation reserves capacity. :: - - aws ec2 modify-capacity-reservation \ - --capacity-reservation-id cr-1234abcd56EXAMPLE \ - --instance-count 5 - -Output:: - - { - "Return": true - } - -**Example 2: To change the end date and time for an existing capacity reservation** - -The following ``modify-capacity-reservation`` example modifies an existing capacity reservation to end at the specified date and time. :: - - aws ec2 modify-capacity-reservation \ - --capacity-reservation-id cr-1234abcd56EXAMPLE \ - --end-date-type limited \ - --end-date 2019-08-31T23:59:59Z - -For more information, see `Modifying a Capacity Reservation `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +**Example 1: To change the number of instances reserved by an existing capacity reservation** + +The following ``modify-capacity-reservation`` example changes the number of instances for which the capacity reservation reserves capacity. :: + + aws ec2 modify-capacity-reservation \ + --capacity-reservation-id cr-1234abcd56EXAMPLE \ + --instance-count 5 + +Output:: + + { + "Return": true + } + +For more information, see `Modify a Capacity Reservation `__ in the *Amazon EC2 User Guide*. + +**Example 2: To change the end date and time for an existing capacity reservation** + +The following ``modify-capacity-reservation`` example modifies an existing capacity reservation to end at the specified date and time. :: + + aws ec2 modify-capacity-reservation \ + --capacity-reservation-id cr-1234abcd56EXAMPLE \ + --end-date-type limited \ + --end-date 2019-08-31T23:59:59Z + +For more information, see `Modify a Capacity Reservation `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/modify-fleet.rst b/awscli/examples/ec2/modify-fleet.rst index 4bc309a86497..922dca1f4f19 100644 --- a/awscli/examples/ec2/modify-fleet.rst +++ b/awscli/examples/ec2/modify-fleet.rst @@ -12,4 +12,4 @@ Output:: "Return": true } -For more information, see `Managing an EC2 Fleet `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. \ No newline at end of file +For more information, see `Manage an EC2 Fleet `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/modify-hosts.rst b/awscli/examples/ec2/modify-hosts.rst index 737457d77f2c..952e9483c23f 100644 --- a/awscli/examples/ec2/modify-hosts.rst +++ b/awscli/examples/ec2/modify-hosts.rst @@ -1,35 +1,37 @@ -**Example 1: To enable auto-placement for a Dedicated Host** - -The following ``modify-hosts`` example enables auto-placement for a Dedicated Host so that it accepts any untargeted instance launches that match its instance type configuration. :: - - aws ec2 modify-hosts \ - --host-id h-06c2f189b4EXAMPLE \ - --auto-placement on - -Output:: - - { - "Successful": [ - "h-06c2f189b4EXAMPLE" - ], - "Unsuccessful": [] - } - -**Example 2: To enable host recovery for a Dedicated Host** - -The following ``modify-hosts`` example enables host recovery for the specified Dedicated Host. :: - - aws ec2 modify-hosts \ - --host-id h-06c2f189b4EXAMPLE \ - --host-recovery on - -Output:: - - { - "Successful": [ - "h-06c2f189b4EXAMPLE" - ], - "Unsuccessful": [] - } - -For more information, see `Modifying Dedicated Host Auto-Placement `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +**Example 1: To enable auto-placement for a Dedicated Host** + +The following ``modify-hosts`` example enables auto-placement for a Dedicated Host so that it accepts any untargeted instance launches that match its instance type configuration. :: + + aws ec2 modify-hosts \ + --host-id h-06c2f189b4EXAMPLE \ + --auto-placement on + +Output:: + + { + "Successful": [ + "h-06c2f189b4EXAMPLE" + ], + "Unsuccessful": [] + } + +For more information, see `Modify the auto-placement setting for a Dedicated Host `__ in the *Amazon EC2 User Guide*. + +**Example 2: To enable host recovery for a Dedicated Host** + +The following ``modify-hosts`` example enables host recovery for the specified Dedicated Host. :: + + aws ec2 modify-hosts \ + --host-id h-06c2f189b4EXAMPLE \ + --host-recovery on + +Output:: + + { + "Successful": [ + "h-06c2f189b4EXAMPLE" + ], + "Unsuccessful": [] + } + +For more information, see `Modify the auto-placement setting for a Dedicated Host `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/modify-instance-capacity-reservation-attributes.rst b/awscli/examples/ec2/modify-instance-capacity-reservation-attributes.rst index 7d08f5857870..821dcc50e30b 100644 --- a/awscli/examples/ec2/modify-instance-capacity-reservation-attributes.rst +++ b/awscli/examples/ec2/modify-instance-capacity-reservation-attributes.rst @@ -1,29 +1,31 @@ -**Example 1: To modify an instance's capacity reservation targeting settings** - -The following ``modify-instance-capacity-reservation-attributes`` example modifies a stopped instance to target a specific capacity reservation. :: - - aws ec2 modify-instance-capacity-reservation-attributes \ - --instance-id i-EXAMPLE8765abcd4e \ - --capacity-reservation-specification 'CapacityReservationTarget={CapacityReservationId= cr-1234abcd56EXAMPLE }' - -Output:: - - { - "Return": true - } - -**Example 2: To modify an instance's capacity reservation targeting settings** - -The following ``modify-instance-capacity-reservation-attributes`` example modifies a stopped instance that targets the specified capacity reservation to launch in any capacity reservation that has matching attributes (instance type, platform, Availability Zone) and that has open instance matching criteria. :: - - aws ec2 modify-instance-capacity-reservation-attributes \ - --instance-id i-EXAMPLE8765abcd4e \ - --capacity-reservation-specification 'CapacityReservationPreference=open' - -Output:: - - { - "Return": true - } - -For more information, see `Modifying an Instance's Capacity Reservation Settings `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +**Example 1: To modify an instance's capacity reservation targeting settings** + +The following ``modify-instance-capacity-reservation-attributes`` example modifies a stopped instance to target a specific capacity reservation. :: + + aws ec2 modify-instance-capacity-reservation-attributes \ + --instance-id i-EXAMPLE8765abcd4e \ + --capacity-reservation-specification 'CapacityReservationTarget={CapacityReservationId= cr-1234abcd56EXAMPLE }' + +Output:: + + { + "Return": true + } + +For more information, see `Modify the Capacity Reservation settings of your instance `__ in the *Amazon EC2 User Guide*. + +**Example 2: To modify an instance's capacity reservation targeting settings** + +The following ``modify-instance-capacity-reservation-attributes`` example modifies a stopped instance that targets the specified capacity reservation to launch in any capacity reservation that has matching attributes (instance type, platform, Availability Zone) and that has open instance matching criteria. :: + + aws ec2 modify-instance-capacity-reservation-attributes \ + --instance-id i-EXAMPLE8765abcd4e \ + --capacity-reservation-specification 'CapacityReservationPreference=open' + +Output:: + + { + "Return": true + } + +For more information, see `Modify the Capacity Reservation settings of your instance `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/modify-instance-maintenance-options.rst b/awscli/examples/ec2/modify-instance-maintenance-options.rst index d3615befa19a..ffb974d38e2b 100644 --- a/awscli/examples/ec2/modify-instance-maintenance-options.rst +++ b/awscli/examples/ec2/modify-instance-maintenance-options.rst @@ -13,7 +13,7 @@ Output:: "AutoRecovery": "disabled" } -For more information, see `Recover your instance `__ in the *Amazon EC2 User Guide for Linux Instances*. +For more information, see `Configure simplified automatic recovery `__ in the *Amazon EC2 User Guide*. **Example 2: To set the recovery behavior of an instance to default** @@ -30,4 +30,4 @@ Output:: "AutoRecovery": "default" } -For more information, see `Recover your instance `__ in the *Amazon EC2 User Guide for Linux Instances*. +For more information, see `Configure simplified automatic recovery `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/modify-instance-metadata-options.rst b/awscli/examples/ec2/modify-instance-metadata-options.rst index 951d8181849a..d48be5aa7765 100644 --- a/awscli/examples/ec2/modify-instance-metadata-options.rst +++ b/awscli/examples/ec2/modify-instance-metadata-options.rst @@ -19,8 +19,8 @@ Output:: } } -For more information, see `Instance metadata and user data `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. - +For more information, see `Instance metadata `__ in the *Amazon EC2 User Guide*. + **Example 2: To disable instance metadata** The following ``modify-instance-metadata-options`` example disables the use of all versions of instance metadata on the specified instance. :: @@ -41,11 +41,11 @@ Output:: } } -For more information, see `Instance metadata and user data `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +For more information, see `Instance metadata `__ in the *Amazon EC2 User Guide*. **Example 3: To enable instance metadata IPv6 endpoint for your instance** -The following ``modify-instance-metadata-options`` example shows you how to turn on the IPv6 endpoint for the instance metadata service. :: +The following ``modify-instance-metadata-options`` example shows you how to turn on the IPv6 endpoint for the instance metadata service. By default, the IPv6 endpoint is disabled. This is true even if you have launched an instance into an IPv6-only subnet. The IPv6 endpoint for IMDS is only accessible on instances built on the Nitro System. :: aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ @@ -65,4 +65,4 @@ Output:: } } -By default, the IPv6 endpoint is disabled. This is true even if you have launched an instance into an IPv6-only subnet. The IPv6 endpoint for IMDS is only accessible on instances built on the Nitro System. For more information, see `Instance metadata and user data `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. \ No newline at end of file +For more information, see `Instance metadata `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/modify-instance-placement.rst b/awscli/examples/ec2/modify-instance-placement.rst index cd55c72eaeb9..4c356c2e1bb9 100644 --- a/awscli/examples/ec2/modify-instance-placement.rst +++ b/awscli/examples/ec2/modify-instance-placement.rst @@ -1,80 +1,76 @@ -**Example 1: To remove an instance's affinity with a Dedicated Host** - -The following ``modify-instance-placement`` example removes an instance's affinity with a Dedicated Host and enables it to launch on any available Dedicated Host in your account that supports its instance type. :: - - aws ec2 modify-instance-placement \ - --instance-id i-0e6ddf6187EXAMPLE \ - --affinity default - -Output:: - - { - "Return": true - } - -**Example 2: To establish affinity between an instance and the specified Dedicated Host** - -The following ``modify-instance-placement`` example establishes a launch relationship between an instance and a Dedicated Host. The instance is only able to run on the specified Dedicated Host. :: - - aws ec2 modify-instance-placement \ - --instance-id i-0e6ddf6187EXAMPLE \ - --affinity host \ - --host-id i-0e6ddf6187EXAMPLE - -Output:: - - { - "Return": true - } - -For more information, see `Modifying Instance Tenancy and Affinity `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. - -**Example 3: To move an instance to a placement group** - -The following ``modify-instance-placement`` example moves an instance to a placement group, stop the instance, modify the instance placement, and then restart the instance. :: - - aws ec2 stop-instances \ - --instance-ids i-0123a456700123456 - - aws ec2 modify-instance-placement \ - --instance-id i-0123a456700123456 \ - --group-name MySpreadGroup - - aws ec2 start-instances \ - --instance-ids i-0123a456700123456 - -For more information, see `Changing the Placement Group for an Instance `__ in the *Amazon Elastic Compute Cloud Users Guide*. - -**Example 4: To remove an instance from a placement group** - -The following ``modify-instance-placement`` example removes an instance from a placement group by stopping the instance, modifying the instance placement, and then restarting the instance. The following example specifies an empty string ("") for the placement group name to indicate that the instance is not to be located in a placement group. - -Stop the instance:: - - aws ec2 stop-instances \ - --instance-ids i-0123a456700123456 - -Modify the placement (Windows Command Prompt, Linux, and macOS):: - - aws ec2 modify-instance-placement \ - --instance-id i-0123a456700123456 \ - --group-name "" - -Modify the placement (Windows PowerShell):: - - aws ec2 modify-instance-placement ` - --instance-id i-0123a456700123456 ` - --group-name """" - -Restart the instance:: - - aws ec2 start-instances \ - --instance-ids i-0123a456700123456 - -Output:: - - { - "Return": true - } - -For more information, see `Modifying Instance Tenancy and Affinity `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. \ No newline at end of file +**Example 1: To remove an instance's affinity with a Dedicated Host** + +The following ``modify-instance-placement`` example removes an instance's affinity with a Dedicated Host and enables it to launch on any available Dedicated Host in your account that supports its instance type. :: + + aws ec2 modify-instance-placement \ + --instance-id i-0e6ddf6187EXAMPLE \ + --affinity default + +Output:: + + { + "Return": true + } + +**Example 2: To establish affinity between an instance and the specified Dedicated Host** + +The following ``modify-instance-placement`` example establishes a launch relationship between an instance and a Dedicated Host. The instance is only able to run on the specified Dedicated Host. :: + + aws ec2 modify-instance-placement \ + --instance-id i-0e6ddf6187EXAMPLE \ + --affinity host \ + --host-id i-0e6ddf6187EXAMPLE + +Output:: + + { + "Return": true + } + +**Example 3: To move an instance to a placement group** + +The following ``modify-instance-placement`` example moves an instance to a placement group, stop the instance, modify the instance placement, and then restart the instance. :: + + aws ec2 stop-instances \ + --instance-ids i-0123a456700123456 + + aws ec2 modify-instance-placement \ + --instance-id i-0123a456700123456 \ + --group-name MySpreadGroup + + aws ec2 start-instances \ + --instance-ids i-0123a456700123456 + +**Example 4: To remove an instance from a placement group** + +The following ``modify-instance-placement`` example removes an instance from a placement group by stopping the instance, modifying the instance placement, and then restarting the instance. The following example specifies an empty string ("") for the placement group name to indicate that the instance is not to be located in a placement group. + +Stop the instance:: + + aws ec2 stop-instances \ + --instance-ids i-0123a456700123456 + +Modify the placement (Windows Command Prompt):: + + aws ec2 modify-instance-placement \ + --instance-id i-0123a456700123456 \ + --group-name "" + +Modify the placement (Windows PowerShell, Linux, and macOS):: + + aws ec2 modify-instance-placement ` + --instance-id i-0123a456700123456 ` + --group-name '' + +Restart the instance:: + + aws ec2 start-instances \ + --instance-ids i-0123a456700123456 + +Output:: + + { + "Return": true + } + +For more information, see `Modify Dedicated Host tenancy and affinity `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/modify-ipam-resource-discovery.rst b/awscli/examples/ec2/modify-ipam-resource-discovery.rst index 8a1566697d03..ca6111217d05 100644 --- a/awscli/examples/ec2/modify-ipam-resource-discovery.rst +++ b/awscli/examples/ec2/modify-ipam-resource-discovery.rst @@ -5,7 +5,7 @@ In this example, you're an IPAM delegated admin who wants to modify the operatin To complete this request: * You cannot modify a default resource discovery and you must be the owner of the resource discovery. -* You need the resource discovery ID, which you can get with `describe-ipam-resource-discoveries `__. +* You need the resource discovery ID, which you can get with `describe-ipam-resource-discoveries `__. The following ``modify-ipam-resource-discovery`` example modifies a non-default resource discovery in your AWS account. :: diff --git a/awscli/examples/ec2/modify-ipam-scope.rst b/awscli/examples/ec2/modify-ipam-scope.rst index 6bd3677f98e5..45ee47076055 100644 --- a/awscli/examples/ec2/modify-ipam-scope.rst +++ b/awscli/examples/ec2/modify-ipam-scope.rst @@ -2,7 +2,7 @@ In this scenario, you're an IPAM delegated admin who wants to modify the description of an IPAM scope. -To complete this request, you'll need the scope ID, which you can get with `describe-ipam-scopes `__. +To complete this request, you'll need the scope ID, which you can get with `describe-ipam-scopes `__. The following ``modify-ipam-scope`` example updates the description of the scope. :: diff --git a/awscli/examples/ec2/modify-snapshot-tier.rst b/awscli/examples/ec2/modify-snapshot-tier.rst index 89f7b5549020..d00059ed4bac 100644 --- a/awscli/examples/ec2/modify-snapshot-tier.rst +++ b/awscli/examples/ec2/modify-snapshot-tier.rst @@ -1,6 +1,6 @@ -**Example 1: To archive a snapshot** +**To archive a snapshot** -The following ``modify-snapshot-tier`` example archives the specified snapshot. :: +The following ``modify-snapshot-tier`` example archives the specified snapshot. The ``TieringStartTime`` response parameter indicates the date and time at which the archive process was started, in UTC time format (YYYY-MM-DDTHH:MM:SSZ). :: aws ec2 modify-snapshot-tier \ --snapshot-id snap-01234567890abcedf \ @@ -13,6 +13,4 @@ Output:: "TieringStartTime": "2021-09-15T16:44:37.574Z" } -The ``TieringStartTime`` response parameter indicates the date and time at which the archive process was started, in UTC time format (YYYY-MM-DDTHH:MM:SSZ). - -For more information about snapshot archiving, see `Archive Amazon EBS snapshots `__ in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information about snapshot archiving, see `Archive Amazon EBS snapshots `__ in the *Amazon EBS User Guide*. diff --git a/awscli/examples/ec2/modify-transit-gateway-prefix-list-reference.rst b/awscli/examples/ec2/modify-transit-gateway-prefix-list-reference.rst index b4719a323560..4af295a7029d 100644 --- a/awscli/examples/ec2/modify-transit-gateway-prefix-list-reference.rst +++ b/awscli/examples/ec2/modify-transit-gateway-prefix-list-reference.rst @@ -1,27 +1,27 @@ -**To modify a reference to a prefix list** - -The following ``modify-transit-gateway-prefix-list-reference`` example modifies the prefix list reference in the specified route table by changing the attachment to which traffic is routed. :: - - aws ec2 modify-transit-gateway-prefix-list-reference \ - --transit-gateway-route-table-id tgw-rtb-0123456789abcd123 \ - --prefix-list-id pl-11111122222222333 \ - --transit-gateway-attachment-id tgw-attach-aabbccddaabbccaab - -Output:: - - { - "TransitGatewayPrefixListReference": { - "TransitGatewayRouteTableId": "tgw-rtb-0123456789abcd123", - "PrefixListId": "pl-11111122222222333", - "PrefixListOwnerId": "123456789012", - "State": "modifying", - "Blackhole": false, - "TransitGatewayAttachment": { - "TransitGatewayAttachmentId": "tgw-attach-aabbccddaabbccaab", - "ResourceType": "vpc", - "ResourceId": "vpc-112233445566aabbc" - } - } - } - -For more information, see `Prefix list references `__ in the *Transit Gateways Guide*. +**To modify a reference to a prefix list** + +The following ``modify-transit-gateway-prefix-list-reference`` example modifies the prefix list reference in the specified route table by changing the attachment to which traffic is routed. :: + + aws ec2 modify-transit-gateway-prefix-list-reference \ + --transit-gateway-route-table-id tgw-rtb-0123456789abcd123 \ + --prefix-list-id pl-11111122222222333 \ + --transit-gateway-attachment-id tgw-attach-aabbccddaabbccaab + +Output:: + + { + "TransitGatewayPrefixListReference": { + "TransitGatewayRouteTableId": "tgw-rtb-0123456789abcd123", + "PrefixListId": "pl-11111122222222333", + "PrefixListOwnerId": "123456789012", + "State": "modifying", + "Blackhole": false, + "TransitGatewayAttachment": { + "TransitGatewayAttachmentId": "tgw-attach-aabbccddaabbccaab", + "ResourceType": "vpc", + "ResourceId": "vpc-112233445566aabbc" + } + } + } + +For more information, see `Prefix list references `__ in the *Transit Gateways Guide*. diff --git a/awscli/examples/ec2/modify-verified-access-endpoint.rst b/awscli/examples/ec2/modify-verified-access-endpoint.rst index 4158acfc610c..d21e2cf5a5da 100644 --- a/awscli/examples/ec2/modify-verified-access-endpoint.rst +++ b/awscli/examples/ec2/modify-verified-access-endpoint.rst @@ -4,7 +4,7 @@ The following ``modify-verified-access-endpoint`` example adds the specified des aws ec2 modify-verified-access-endpoint \ --verified-access-endpoint-id vae-066fac616d4d546f2 \ - --description "Testing Verified Access" + --description 'Testing Verified Access' Output:: @@ -35,4 +35,4 @@ Output:: } } -For more information, see `Verified Access endpoints `__ in the *AWS Verified Access User Guide*. +For more information, see `Verified Access endpoints `__ in the *AWS Verified Access User Guide*. diff --git a/awscli/examples/ec2/register-image.rst b/awscli/examples/ec2/register-image.rst index 71e3743e7bfa..5b794d6d7d70 100644 --- a/awscli/examples/ec2/register-image.rst +++ b/awscli/examples/ec2/register-image.rst @@ -1,32 +1,32 @@ -**Example 1: To register an AMI using a manifest file** - -The following ``register-image`` example registers an AMI using the specified manifest file in Amazon S3. :: - - aws ec2 register-image \ - --name my-image \ - --image-location my-s3-bucket/myimage/image.manifest.xml - -Output:: - - { - "ImageId": "ami-1234567890EXAMPLE" - } - -For more information, see `Amazon Machine Images (AMI) `__ in the *Amazon EC2 User Guide*. - -**Example 2: To register an AMI using a snapshot of a root device** - -The following ``register-image`` example registers an AMI using the specified snapshot of an EBS root volume as device ``/dev/xvda``. The block device mapping also includes an empty 100 GiB EBS volume as device ``/dev/xvdf``. :: - - aws ec2 register-image \ - --name my-image \ - --root-device-name /dev/xvda \ - --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0db2cf683925d191f} DeviceName=/dev/xvdf,Ebs={VolumeSize=100} - -Output:: - - { - "ImageId": "ami-1a2b3c4d5eEXAMPLE" - } - -For more information, see `Amazon Machine Images (AMI) `__ in the *Amazon EC2 User Guide*. +**Example 1: To register an AMI using a manifest file** + +The following ``register-image`` example registers an AMI using the specified manifest file in Amazon S3. :: + + aws ec2 register-image \ + --name my-image \ + --image-location amzn-s3-demo-bucket/myimage/image.manifest.xml + +Output:: + + { + "ImageId": "ami-1234567890EXAMPLE" + } + +For more information, see `Amazon Machine Images (AMI) `__ in the *Amazon EC2 User Guide*. + +**Example 2: To register an AMI using a snapshot of a root device** + +The following ``register-image`` example registers an AMI using the specified snapshot of an EBS root volume as device ``/dev/xvda``. The block device mapping also includes an empty 100 GiB EBS volume as device ``/dev/xvdf``. :: + + aws ec2 register-image \ + --name my-image \ + --root-device-name /dev/xvda \ + --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0db2cf683925d191f} DeviceName=/dev/xvdf,Ebs={VolumeSize=100} + +Output:: + + { + "ImageId": "ami-1a2b3c4d5eEXAMPLE" + } + +For more information, see `Amazon Machine Images (AMI) `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/register-instance-event-notification-attributes.rst b/awscli/examples/ec2/register-instance-event-notification-attributes.rst index b47c7aaf4316..db45a4dfacc1 100644 --- a/awscli/examples/ec2/register-instance-event-notification-attributes.rst +++ b/awscli/examples/ec2/register-instance-event-notification-attributes.rst @@ -14,7 +14,7 @@ Output:: } } -For more information, see `Scheduled events for your instances `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. +For more information, see `Scheduled events for your instances `__ in the *Amazon EC2 User Guide*. **Example 2: To include specific tags in event notifications** @@ -35,4 +35,4 @@ Output:: } } -For more information, see `Scheduled events for your instances `__ in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. \ No newline at end of file +For more information, see `Scheduled events for your instances `__ in the *Amazon EC2 User Guide*. diff --git a/awscli/examples/ec2/register-transit-gateway-multicast-group-members.rst b/awscli/examples/ec2/register-transit-gateway-multicast-group-members.rst index 46ddf85f5cf6..bbb74add71e2 100755 --- a/awscli/examples/ec2/register-transit-gateway-multicast-group-members.rst +++ b/awscli/examples/ec2/register-transit-gateway-multicast-group-members.rst @@ -19,4 +19,4 @@ Output:: } } -For more information, see `Managing multicast domains `__ in the *Transit Gateways User Guide*. \ No newline at end of file +For more information, see `Multicast domains `__ in the *Transit Gateways User Guide*. diff --git a/awscli/examples/ec2/register-transit-gateway-multicast-group-sources.rst b/awscli/examples/ec2/register-transit-gateway-multicast-group-sources.rst index c8b67bfe69ff..545087ca7928 100644 --- a/awscli/examples/ec2/register-transit-gateway-multicast-group-sources.rst +++ b/awscli/examples/ec2/register-transit-gateway-multicast-group-sources.rst @@ -19,4 +19,4 @@ Output:: } } -For more information, see `Managing multicast domains `__ in the *Transit Gateways Guide*. \ No newline at end of file +For more information, see `Multicast domains `__ in the *Transit Gateways Guide*. diff --git a/awscli/examples/ec2/release-ipam-pool-allocation.rst b/awscli/examples/ec2/release-ipam-pool-allocation.rst index fec1e3424ae6..bac530e1142e 100644 --- a/awscli/examples/ec2/release-ipam-pool-allocation.rst +++ b/awscli/examples/ec2/release-ipam-pool-allocation.rst @@ -4,8 +4,8 @@ In this example, you're an IPAM delegated admin who tried to delete an IPAM pool Note the following: -* You can only use this command for custom allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using `modify-ipam-resource-cidr `__. -* To complete this request, you'll need the IPAM pool ID, which you can get with `describe-ipam-pools `__. You'll also need the allocation ID, which you can get with `get-ipam-pool-allocations `__. +* You can only use this command for custom allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using `modify-ipam-resource-cidr `__. +* To complete this request, you'll need the IPAM pool ID, which you can get with `describe-ipam-pools `__. You'll also need the allocation ID, which you can get with `get-ipam-pool-allocations `__. * If you do not want to remove allocations one by one, you can use the ``--cascade option`` when you delete an IPAM pool to automatically release any allocations in the pool before deleting it. * There are a number of prerequisites before running this command. For more information, see `Release an allocation `__ in the *Amazon VPC IPAM User Guide*. * The ``--region`` in which you run this command must be the locale of the IPAM pool where the allocation is. @@ -24,4 +24,4 @@ Output:: "Success": true } -Once you release an allocation, you may want to run `delete-ipam-pool `__. \ No newline at end of file +Once you release an allocation, you may want to run `delete-ipam-pool `__. \ No newline at end of file diff --git a/awscli/examples/ec2/restore-image-from-recycle-bin.rst b/awscli/examples/ec2/restore-image-from-recycle-bin.rst index f3bc9224486d..97f5b47b7315 100644 --- a/awscli/examples/ec2/restore-image-from-recycle-bin.rst +++ b/awscli/examples/ec2/restore-image-from-recycle-bin.rst @@ -11,4 +11,4 @@ Output:: "Return": true } -For more information, see `Recover AMIs from the Recycle Bin `__ in the *Amazon Elastic Compute Cloud User Guide*. \ No newline at end of file +For more information, see `Recover deleted AMIs from the Recycle Bin `__ in the *Amazon EBS User Guide*. diff --git a/awscli/examples/ec2/restore-snapshot-from-recycle-bin.rst b/awscli/examples/ec2/restore-snapshot-from-recycle-bin.rst index 901823578b61..89970d86c142 100644 --- a/awscli/examples/ec2/restore-snapshot-from-recycle-bin.rst +++ b/awscli/examples/ec2/restore-snapshot-from-recycle-bin.rst @@ -7,4 +7,4 @@ The following ``restore-snapshot-from-recycle-bin`` example restores a snapshot This command produces no output. -For more information about Recycle Bin for Amazon EBS, see `Recover snapshots from the Recycle Bin `__ in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information about Recycle Bin, see `Recover deleted snapshots from the Recycle Bin `__ in the *Amazon EBS User Guide*. diff --git a/awscli/examples/ec2/restore-snapshot-tier.rst b/awscli/examples/ec2/restore-snapshot-tier.rst index e62a70a856c9..f0c6cd206e69 100644 --- a/awscli/examples/ec2/restore-snapshot-tier.rst +++ b/awscli/examples/ec2/restore-snapshot-tier.rst @@ -13,7 +13,7 @@ Output:: "IsPermanentRestore": true } -For more information about snapshot archiving, see `Archive Amazon EBS snapshots ` in the *Amazon EC2 User Guide*. +For more information about snapshot archiving, see `Archive Amazon EBS snapshots `__ in the *Amazon EBS User Guide*. **Example 2: To temporarily restore an archived snapshot** @@ -31,7 +31,7 @@ Output:: "IsPermanentRestore": false } -For more information about snapshot archiving, see `Archive Amazon EBS snapshots ` in the *Amazon EC2 User Guide*. +For more information about snapshot archiving, see `Archive Amazon EBS snapshots `__ in the *Amazon EBS User Guide*. **Example 3: To modify the restore period** @@ -49,7 +49,7 @@ Output:: "IsPermanentRestore": false } -For more information about snapshot archiving, see `Archive Amazon EBS snapshots ` in the *Amazon EC2 User Guide*. +For more information about snapshot archiving, see `Archive Amazon EBS snapshots `__ in the *Amazon EBS User Guide*. **Example 4: To modify the restore type** @@ -66,4 +66,4 @@ Output:: "IsPermanentRestore": true } -For more information about snapshot archiving, see `Archive Amazon EBS snapshots ` in the *Amazon EC2 User Guide*. \ No newline at end of file +For more information about snapshot archiving, see `Archive Amazon EBS snapshots `__ in the *Amazon EBS User Guide*. diff --git a/awscli/examples/ec2/search-transit-gateway-multicast-groups.rst b/awscli/examples/ec2/search-transit-gateway-multicast-groups.rst index 0f801b40a60c..09adac09a4a3 100755 --- a/awscli/examples/ec2/search-transit-gateway-multicast-groups.rst +++ b/awscli/examples/ec2/search-transit-gateway-multicast-groups.rst @@ -23,4 +23,4 @@ Output:: ] } -For more information, see `Managing multicast groups `__ in the *Transit Gateways Guide*. \ No newline at end of file +For more information, see `Multicast on transit gateways `__ in the *Transit Gateways Guide*. diff --git a/awscli/examples/ec2/start-network-insights-access-scope-analysis.rst b/awscli/examples/ec2/start-network-insights-access-scope-analysis.rst index 90bddfc0b94a..4903f56b8bea 100644 --- a/awscli/examples/ec2/start-network-insights-access-scope-analysis.rst +++ b/awscli/examples/ec2/start-network-insights-access-scope-analysis.rst @@ -1,21 +1,21 @@ -**To start a Network Insights access scope analysis** - -The following ``start-network-insights-access-scope-analysis`` example starts the scope analysis in your AWS account. :: - - aws ec2 start-network-insights-access-scope-analysis \ - --region us-east-1 \ - --network-insights-access-scope-id nis-123456789111 - -Output:: - - { - "NetworkInsightsAccessScopeAnalysis": { - "NetworkInsightsAccessScopeAnalysisId": "nisa-123456789222", - "NetworkInsightsAccessScopeAnalysisArn": "arn:aws:ec2:us-east-1:123456789012:network-insights-access-scope-analysis/nisa-123456789222", - "NetworkInsightsAccessScopeId": "nis-123456789111", - "Status": "running", - "StartDate": "2022-01-26T00:47:06.814000+00:00" - } - } - -For more information, see `Getting started with Network Access Analyzer using the AWS CLI `__ in the *Network Access Analyzer Guide*. \ No newline at end of file +**To start a Network Insights access scope analysis** + +The following ``start-network-insights-access-scope-analysis`` example starts the scope analysis in your AWS account. :: + + aws ec2 start-network-insights-access-scope-analysis \ + --region us-east-1 \ + --network-insights-access-scope-id nis-123456789111 + +Output:: + + { + "NetworkInsightsAccessScopeAnalysis": { + "NetworkInsightsAccessScopeAnalysisId": "nisa-123456789222", + "NetworkInsightsAccessScopeAnalysisArn": "arn:aws:ec2:us-east-1:123456789012:network-insights-access-scope-analysis/nisa-123456789222", + "NetworkInsightsAccessScopeId": "nis-123456789111", + "Status": "running", + "StartDate": "2022-01-26T00:47:06.814000+00:00" + } + } + +For more information, see `Getting started with Network Access Analyzer using the AWS CLI `__ in the *Network Access Analyzer Guide*. diff --git a/awscli/examples/ec2/unassign-private-nat-gateway-address.rst b/awscli/examples/ec2/unassign-private-nat-gateway-address.rst index 68cd2890efab..9bad4eca6552 100644 --- a/awscli/examples/ec2/unassign-private-nat-gateway-address.rst +++ b/awscli/examples/ec2/unassign-private-nat-gateway-address.rst @@ -1,6 +1,6 @@ **To unassign a private IP address from your private NAT gateway** -The following ``unassign-private-nat-gateway-address`` example unassigns the specifed IP address from the specified private NAT gateway. :: +The following ``unassign-private-nat-gateway-address`` example unassigns the specified IP address from the specified private NAT gateway. :: aws ec2 unassign-private-nat-gateway-address \ --nat-gateway-id nat-1234567890abcdef0 \ diff --git a/awscli/examples/ec2/unlock-snapshot.rst b/awscli/examples/ec2/unlock-snapshot.rst new file mode 100644 index 000000000000..ee83c65fcc9e --- /dev/null +++ b/awscli/examples/ec2/unlock-snapshot.rst @@ -0,0 +1,14 @@ +**To unlock a snapshot** + +The following ``unlock-snapshot`` example unlocks the specified snapshot. :: + + aws ec2 unlock-snapshot \ + --snapshot-id snap-0b5e733b4a8df6e0d + +Output:: + + { + "SnapshotId": "snap-0b5e733b4a8df6e0d" + } + +For more information, see `Snapshot lock `__ in the *Amazon EBS User Guide*. diff --git a/awscli/examples/ecr-public/batch-delete-image.rst b/awscli/examples/ecr-public/batch-delete-image.rst new file mode 100644 index 000000000000..3f053e245783 --- /dev/null +++ b/awscli/examples/ecr-public/batch-delete-image.rst @@ -0,0 +1,92 @@ +**Example 1: To delete an image by using image digest ids, the image and all of its tags are deleted within a repository in a public registry** + +The following ``batch-delete-image`` example deletes an image by specifying the image digest.:: + + aws ecr-public batch-delete-image \ + --repository-name project-a/nginx-web-app \ + --image-ids imageDigest=sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2 + +Output:: + + { + "imageIds": [ + { + "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", + "imageTag": "latest" + } + ], + "failures": [] + } + +For more information, see `Deleting an image in a public repository `__ in the *Amazon ECR Public User Guide*. + +**Example 2: To delete any image by specifying the tag associated with the image you want to delete from the repository.** + +The following ``batch-delete-image`` example deletes an image by specifying the tag associated with the image repository named ``project-a/nginx-web-app`` in a public registry. If you have only one tag and execute this command, it will remove the image. Otherwise, if you have multiple tags for the same image, specify one, and only the tag is removed from repository and not the image. :: + + aws ecr-public batch-delete-image \ + --repository-name project-a/nginx-web-app \ + --image-ids imageTag=_temp + +Output:: + + { + "imageIds": [ + { + "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", + "imageTag": "_temp" + } + ], + "failures": [] + } + +For more information, see `Deleting an image in a public repository `__ in the *Amazon ECR Public User Guide*. + +**Example 3: To delete multiple images, you can specify multiple image tags or image digests in the request for a repository in a public registry.** + +The following ``batch-delete-image`` example delete multiple images from a repository named `project-a/nginx-web-app` by specifying multiple image tags or image digests in the request. :: + + aws ecr-public batch-delete-image \ + --repository-name project-a/nginx-web-app \ + --image-ids imageTag=temp2.0 imageDigest=sha256:47ba980bc055353d9c0af89b1894f68faa43ca93856917b8406316be86f01278 + +Output:: + + { + "imageIds": [ + { + "imageDigest": "sha256:47ba980bc055353d9c0af89b1894f68faa43ca93856917b8406316be86f01278" + }, + { + "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", + "imageTag": "temp2.0" + } + ], + "failures": [] + } + +For more information, see `Deleting an image in a public repository `__ in the *Amazon ECR Public User Guide*. + +**Example 4: To delete an image in cross AWS Account using registry-id and imagedigest ids, the image and all of its tags are deleted within a repository in a public registry** + +The following ``batch-delete-image`` example deletes an image by specifying the image digest in the cross AWS Account.:: + + aws ecr-public batch-delete-image \ + --registry-id 123456789098 \ + --repository-name project-a/nginx-web-app \ + --image-ids imageDigest=sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2 \ + --region us-east-1 + +Output:: + + { + "imageIds": [ + { + "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", + "imageTag": "temp2.0" + } + ], + "failures": [] + } + +For more information, see `Deleting an image in a public repository `__ in the *Amazon ECR Public User Guide*. diff --git a/awscli/examples/ecr-public/create-repository.rst b/awscli/examples/ecr-public/create-repository.rst new file mode 100644 index 000000000000..9637a552bcd1 --- /dev/null +++ b/awscli/examples/ecr-public/create-repository.rst @@ -0,0 +1,123 @@ +**Example 1: To create a repository in a public registry** + +The following ``create-repository`` example creates a repository named `project-a/nginx-web-app` in a public registry. :: + + aws ecr-public create-repository \ + --repository-name project-a/nginx-web-app + +Output:: + + { + "repository": { + "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", + "createdAt": "2024-07-01T21:08:55.131000+00:00" + }, + "catalogData": {} + } + +For more information, see `Creating a public repository `__ in the *Amazon ECR Public User Guide*. + +**Example 2: To create a repository in a public registry with short description of the contents of the repository, system and operating architecture that the images in the repository are compatible with** + +The following ``create-repository`` example creates a repository named `project-a/nginx-web-app` in a public registry with short description of the contents of the repository, system and operating architecture that the images in the repository are compatible with. :: + + aws ecr-public create-repository \ + --repository-name project-a/nginx-web-app \ + --catalog-data 'description=My project-a ECR Public Repository,architectures=ARM,ARM 64,x86,x86-64,operatingSystems=Linux' + + +Output:: + + { + "repository": { + "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", + "createdAt": "2024-07-01T21:23:20.455000+00:00" + }, + "catalogData": { + "description": "My project-a ECR Public Repository", + "architectures": [ + "ARM", + "ARM 64", + "x86", + "x86-64" + ], + "operatingSystems": [ + "Linux" + ] + } + } + +For more information, see `Creating a public repository `__ in the *Amazon ECR Public User Guide*. + +**Example 3: To create a repository in a public registry, along with logoImageBlob, aboutText, usageText and tags information** + +The following ``create-repository`` example creates a repository named `project-a/nginx-web-app` in a public registry, along with logoImageBlob, aboutText, usageText and tags information. :: + + aws ecr-public create-repository \ + --cli-input-json file://myfile.json + +Contents of ``myfile.json``:: + + { + "repositoryName": "project-a/nginx-web-app", + "catalogData": { + "description": "My project-a ECR Public Repository", + "architectures": [ + "ARM", + "ARM 64", + "x86", + "x86-64" + ], + "operatingSystems": [ + "Linux" + ], + "logoImageBlob": "iVBORw0KGgoA<>ErkJggg==", + "aboutText": "## Quick reference\n\nMaintained by: [the Amazon Linux Team](https://github.com/aws/amazon-linux-docker-images)\n\nWhere to get help: [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker)\n\n## Supported tags and respective `dockerfile` links\n\n* [`2.0.20200722.0`, `2`, `latest`](https://github.com/amazonlinux/container-images/blob/03d54f8c4d522bf712cffd6c8f9aafba0a875e78/Dockerfile)\n* [`2.0.20200722.0-with-sources`, `2-with-sources`, `with-sources`](https://github.com/amazonlinux/container-images/blob/1e7349845e029a2e6afe6dc473ef17d052e3546f/Dockerfile)\n* [`2018.03.0.20200602.1`, `2018.03`, `1`](https://github.com/amazonlinux/container-images/blob/f10932e08c75457eeb372bf1cc47ea2a4b8e98c8/Dockerfile)\n* [`2018.03.0.20200602.1-with-sources`, `2018.03-with-sources`, `1-with-sources`](https://github.com/amazonlinux/container-images/blob/8c9ee491689d901aa72719be0ec12087a5fa8faf/Dockerfile)\n\n## What is Amazon Linux?\n\nAmazon Linux is provided by Amazon Web Services (AWS). It is designed to provide a stable, secure, and high-performance execution environment for applications running on Amazon EC2. The full distribution includes packages that enable easy integration with AWS, including launch configuration tools and many popular AWS libraries and tools. AWS provides ongoing security and maintenance updates to all instances running Amazon Linux.\n\nThe Amazon Linux container image contains a minimal set of packages. To install additional packages, [use `yum`](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-software.html).\n\nAWS provides two versions of Amazon Linux: [Amazon Linux 2](https://aws.amazon.com/amazon-linux-2/) and [Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/).\n\nFor information on security updates for Amazon Linux, please refer to [Amazon Linux 2 Security Advisories](https://alas.aws.amazon.com/alas2.html) and [Amazon Linux AMI Security Advisories](https://alas.aws.amazon.com/). Note that Docker Hub's vulnerability scanning for Amazon Linux is currently based on RPM versions, which does not reflect the state of backported patches for vulnerabilities.\n\n## Where can I run Amazon Linux container images?\n\nYou can run Amazon Linux container images in any Docker based environment. Examples include, your laptop, in Amazon EC2 instances, and Amazon ECS clusters.\n\n## License\n\nAmazon Linux is available under the [GNU General Public License, version 2.0](https://github.com/aws/amazon-linux-docker-images/blob/master/LICENSE). Individual software packages are available under their own licenses; run `rpm -qi [package name]` or check `/usr/share/doc/[package name]-*` and `/usr/share/licenses/[package name]-*` for details.\n\nAs with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).\n\nSome additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `amazonlinux/` directory](https://github.com/docker-library/repo-info/tree/master/repos/amazonlinux).\n\n## Security\n\nFor information on security updates for Amazon Linux, please refer to [Amazon Linux 2 Security Advisories](https://alas.aws.amazon.com/alas2.html) and [Amazon Linux AMI Security Advisories](https://alas.aws.amazon.com/). Note that Docker Hub's vulnerability scanning for Amazon Linux is currently based on RPM versions, which does not reflect the state of backported patches for vulnerabilities.", + "usageText": "## Supported architectures\n\namd64, arm64v8\n\n## Where can I run Amazon Linux container images?\n\nYou can run Amazon Linux container images in any Docker based environment. Examples include, your laptop, in Amazon EC2 instances, and ECS clusters.\n\n## How do I install a software package from Extras repository in Amazon Linux 2?\n\nAvailable packages can be listed with the `amazon-linux-extras` command. Packages can be installed with the `amazon-linux-extras install ` command. Example: `amazon-linux-extras install rust1`\n\n## Will updates be available for Amazon Linux containers?\n\nSimilar to the Amazon Linux images for Amazon EC2 and on-premises use, Amazon Linux container images will get ongoing updates from Amazon in the form of security updates, bug fix updates, and other enhancements. Security bulletins for Amazon Linux are available at https://alas.aws.amazon.com/\n\n## Will AWS Support the current version of Amazon Linux going forward?\n\nYes; in order to avoid any disruption to your existing applications and to facilitate migration to Amazon Linux 2, AWS will provide regular security updates for Amazon Linux 2018.03 AMI and container image for 2 years after the final LTS build is announced. You can also use all your existing support channels such as AWS Support and Amazon Linux Discussion Forum to continue to submit support requests." + }, + "tags": [ + { + "Key": "Name", + "Value": "project-a/nginx-web-app" + }, + { + "Key": "Environment", + "Value": "Prod" + } + ] + } + +Output:: + + { + "repository": { + "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", + "createdAt": "2024-07-01T21:53:05.749000+00:00" + }, + "catalogData": { + "description": "My project-a ECR Public Repository", + "architectures": [ + "ARM", + "ARM 64", + "x86", + "x86-64" + ], + "operatingSystems": [ + "Linux" + ], + "logoUrl": "https://d3g9o9u8re44ak.cloudfront.net/logo/23861450-4b9b-403c-9a4c-7aa0ef140bb8/2f9bf5a7-a32f-45b4-b5cd-c5770a35e6d7.png", + "aboutText": "## Quick reference\n\nMaintained by: [the Amazon Linux Team](https://github.com/aws/amazon-linux-docker-images)\n\nWhere to get help: [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker)\n\n## Supported tags and respective `dockerfile` links\n\n* [`2.0.20200722.0`, `2`, `latest`](https://github.com/amazonlinux/container-images/blob/03d54f8c4d522bf712cffd6c8f9aafba0a875e78/Dockerfile)\n* [`2.0.20200722.0-with-sources`, `2-with-sources`, `with-sources`](https://github.com/amazonlinux/container-images/blob/1e7349845e029a2e6afe6dc473ef17d052e3546f/Dockerfile)\n* [`2018.03.0.20200602.1`, `2018.03`, `1`](https://github.com/amazonlinux/container-images/blob/f10932e08c75457eeb372bf1cc47ea2a4b8e98c8/Dockerfile)\n* [`2018.03.0.20200602.1-with-sources`, `2018.03-with-sources`, `1-with-sources`](https://github.com/amazonlinux/container-images/blob/8c9ee491689d901aa72719be0ec12087a5fa8faf/Dockerfile)\n\n## What is Amazon Linux?\n\nAmazon Linux is provided by Amazon Web Services (AWS). It is designed to provide a stable, secure, and high-performance execution environment for applications running on Amazon EC2. The full distribution includes packages that enable easy integration with AWS, including launch configuration tools and many popular AWS libraries and tools. AWS provides ongoing security and maintenance updates to all instances running Amazon Linux.\n\nThe Amazon Linux container image contains a minimal set of packages. To install additional packages, [use `yum`](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-software.html).\n\nAWS provides two versions of Amazon Linux: [Amazon Linux 2](https://aws.amazon.com/amazon-linux-2/) and [Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/).\n\nFor information on security updates for Amazon Linux, please refer to [Amazon Linux 2 Security Advisories](https://alas.aws.amazon.com/alas2.html) and [Amazon Linux AMI Security Advisories](https://alas.aws.amazon.com/). Note that Docker Hub's vulnerability scanning for Amazon Linux is currently based on RPM versions, which does not reflect the state of backported patches for vulnerabilities.\n\n## Where can I run Amazon Linux container images?\n\nYou can run Amazon Linux container images in any Docker based environment. Examples include, your laptop, in Amazon EC2 instances, and Amazon ECS clusters.\n\n## License\n\nAmazon Linux is available under the [GNU General Public License, version 2.0](https://github.com/aws/amazon-linux-docker-images/blob/master/LICENSE). Individual software packages are available under their own licenses; run `rpm -qi [package name]` or check `/usr/share/doc/[package name]-*` and `/usr/share/licenses/[package name]-*` for details.\n\nAs with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).\n\nSome additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `amazonlinux/` directory](https://github.com/docker-library/repo-info/tree/master/repos/amazonlinux).\n\n## Security\n\nFor information on security updates for Amazon Linux, please refer to [Amazon Linux 2 Security Advisories](https://alas.aws.amazon.com/alas2.html) and [Amazon Linux AMI Security Advisories](https://alas.aws.amazon.com/). Note that Docker Hub's vulnerability scanning for Amazon Linux is currently based on RPM versions, which does not reflect the state of backported patches for vulnerabilities.", + "usageText": "## Supported architectures\n\namd64, arm64v8\n\n## Where can I run Amazon Linux container images?\n\nYou can run Amazon Linux container images in any Docker based environment. Examples include, your laptop, in Amazon EC2 instances, and ECS clusters.\n\n## How do I install a software package from Extras repository in Amazon Linux 2?\n\nAvailable packages can be listed with the `amazon-linux-extras` command. Packages can be installed with the `amazon-linux-extras install ` command. Example: `amazon-linux-extras install rust1`\n\n## Will updates be available for Amazon Linux containers?\n\nSimilar to the Amazon Linux images for Amazon EC2 and on-premises use, Amazon Linux container images will get ongoing updates from Amazon in the form of security updates, bug fix updates, and other enhancements. Security bulletins for Amazon Linux are available at https://alas.aws.amazon.com/\n\n## Will AWS Support the current version of Amazon Linux going forward?\n\nYes; in order to avoid any disruption to your existing applications and to facilitate migration to Amazon Linux 2, AWS will provide regular security updates for Amazon Linux 2018.03 AMI and container image for 2 years after the final LTS build is announced. You can also use all your existing support channels such as AWS Support and Amazon Linux Discussion Forum to continue to submit support requests." + } + } + +For more information, see `Creating a public repository `__ in the *Amazon ECR Public User Guide* and `Repository catalog data `__ in the *Amazon ECR Public User Guide*. diff --git a/awscli/examples/ecr-public/delete-repository-policy.rst b/awscli/examples/ecr-public/delete-repository-policy.rst new file mode 100644 index 000000000000..724d71dd587c --- /dev/null +++ b/awscli/examples/ecr-public/delete-repository-policy.rst @@ -0,0 +1,17 @@ +**To delete a repository policy in a public registry** + +The following ``delete-repository-policy`` example delete repository policy for the ECR Public repository in your AWS account. :: + + aws ecr-public delete-repository-policy \ + --repository-name project-a/nginx-web-app \ + --region us-east-1 + +Output:: + + { + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"AllowPush\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : [ \"arn:aws:iam:"123456789012":user/eksuser1\", \"arn:aws:iam:"123456789012":user/admin\" ]\n },\n \"Action\" : [ \"ecr-public:BatchCheckLayerAvailability\", \"ecr-public:PutImage\", \"ecr-public:InitiateLayerUpload\", \"ecr-public:UploadLayerPart\", \"ecr-public:CompleteLayerUpload\" ]\n } ]\n}" + } + +For more information, see `Deleting a public repository policy statement `__ in the *Amazon ECR Public User Guide*. diff --git a/awscli/examples/ecr-public/delete-repository.rst b/awscli/examples/ecr-public/delete-repository.rst new file mode 100644 index 000000000000..cf8308e6a013 --- /dev/null +++ b/awscli/examples/ecr-public/delete-repository.rst @@ -0,0 +1,20 @@ +**To delete a repository in a public registry** + +The following ``delete-repository`` example deletes a repository named ``project-a/nginx-web-app`` from your public registry. :: + + aws ecr-public delete-repository \ + --repository-name project-a/nginx-web-app + +Output:: + + { + "repository": { + "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", + "createdAt": "2024-07-01T22:14:50.103000+00:00" + } + } + +For more information, see `Deleting a public repository `__ in the *Amazon ECR Public*. diff --git a/awscli/examples/ecr-public/describe-image-tags.rst b/awscli/examples/ecr-public/describe-image-tags.rst new file mode 100644 index 000000000000..7dd562e2df61 --- /dev/null +++ b/awscli/examples/ecr-public/describe-image-tags.rst @@ -0,0 +1,25 @@ +**Example 1: To describe image tag details in public repository** + +The following ``describe-image-tags`` example describe imagetags in the ``project-a/nginx-web-app`` sample repository. :: + + aws ecr-public describe-image-tags \ + --repository-name project-a/nginx-web-app \ + --region us-east-1 + +Output:: + + { + "imageTagDetails": [ + { + "imageTag": "latest", + "createdAt": "2024-07-10T22:29:00-05:00", + "imageDetail": { + "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", + "imageSizeInBytes": 121956548, + "imagePushedAt": "2024-07-10T22:29:00-05:00", + "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", + "artifactMediaType": "application/vnd.docker.container.image.v1+json" + } + } + ] + } diff --git a/awscli/examples/ecr-public/describe-images.rst b/awscli/examples/ecr-public/describe-images.rst new file mode 100644 index 000000000000..a89779ede061 --- /dev/null +++ b/awscli/examples/ecr-public/describe-images.rst @@ -0,0 +1,82 @@ +**Example 1: To describe images in a public registry repository** + +The following ``describe-images`` example describes imagesDetails in a repository named ``project-a/nginx-web-app`` in a public registry. :: + + aws ecr-public describe-images \ + --repository-name project-a/nginx-web-app \ + --region us-east-1 + +Output:: + + { + "imageDetails": [ + { + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "imageDigest": "sha256:0d8c93e72e82fa070d49565c00af32abbe8ddfd7f75e39f4306771ae0628c7e8", + "imageTags": [ + "temp1.0" + ], + "imageSizeInBytes": 123184716, + "imagePushedAt": "2024-07-23T11:32:49-05:00", + "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", + "artifactMediaType": "application/vnd.docker.container.image.v1+json" + }, + { + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", + "imageTags": [ + "temp2.0" + ], + "imageSizeInBytes": 121956548, + "imagePushedAt": "2024-07-23T11:39:38-05:00", + "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", + "artifactMediaType": "application/vnd.docker.container.image.v1+json" + }, + { + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", + "imageTags": [ + "temp3.0", + "latest" + ], + "imageSizeInBytes": 232108879, + "imagePushedAt": "2024-07-22T00:54:34-05:00", + "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", + "artifactMediaType": "application/vnd.docker.container.image.v1+json" + } + ] + } + +For more information, see `Describe an image in a public repository `__ in the *Amazon ECR Public*. + +**Example 2: To describe images from the repository by sort imageTags & imagePushedAt** + +The following ``describe-images`` example describe images within repository named `project-a/nginx-web-app` in a public registry. :: + + aws ecr-public describe-images \ + --repository-name project-a/nginx-web-app \ + --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[*]' \ + --output text + +Output:: + + temp3.0 latest + temp1.0 + temp2.0 + +**Example 3: To describe images from the repository to generate the last 2 image tags pushed in the repository** + +The following ``describe-images`` example gets imagetags details from the repository named ``project-a/nginx-web-app`` in a public registry and queries the result to display only the first two records. :: + + aws ecr-public describe-images \ + --repository-name project-a/nginx-web-app \ + --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[*] | [0:2]' \ + --output text + +Output:: + + temp3.0 latest + temp1.0 diff --git a/awscli/examples/ecr-public/describe-registries.rst b/awscli/examples/ecr-public/describe-registries.rst new file mode 100644 index 000000000000..8c563bf33cc1 --- /dev/null +++ b/awscli/examples/ecr-public/describe-registries.rst @@ -0,0 +1,26 @@ +**To describe all registries in a public registry** + +The following ``describe-registries`` example describes all registries in your account. :: + + aws ecr-public describe-registries + +Output:: + + { + "registries": [ + { + "registryId": "123456789012", + "registryArn": "arn:aws:ecr-public::123456789012:registry/123456789012", + "registryUri": "public.ecr.aws/publicregistrycustomalias", + "verified": false, + "aliases": [ + { + "name": "publicregistrycustomalias", + "status": "ACTIVE", + "primaryRegistryAlias": true, + "defaultRegistryAlias": true + } + ] + } + ] + } \ No newline at end of file diff --git a/awscli/examples/ecr-public/describe-repository.rst b/awscli/examples/ecr-public/describe-repository.rst new file mode 100644 index 000000000000..79761e292e05 --- /dev/null +++ b/awscli/examples/ecr-public/describe-repository.rst @@ -0,0 +1,43 @@ +**Example 1: To describe a repository in a public registry** + +The following ``describe-repositories`` example describes a repository named ``project-a/nginx-web-app`` in a public registry. :: + + aws ecr-public describe-repositories \ + --repository-name project-a/nginx-web-app + +Output:: + + { + "repositories": [ + { + "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", + "createdAt": "2024-07-07T00:07:56.526000-05:00" + } + ] + } + +**Example 2: To describe all repositories in a public registry in a table** + +The following ``describe-repositories`` example describes all repositories in a public registry and then outputs the repository names into a table format. :: + + aws ecr-public describe-repositories \ + --region us-east-1 \ + --output table \ + --query "repositories[*].repositoryName" + +Output:: + + ----------------------------- + | DescribeRepositories | + +---------------------------+ + | project-a/nginx-web-app | + | nginx | + | myfirstrepo1 | + | helm-test-chart | + | test-ecr-public | + | nginx-web-app | + | sample-repo | + +---------------------------+ \ No newline at end of file diff --git a/awscli/examples/ecr-public/get-authorization-token.rst b/awscli/examples/ecr-public/get-authorization-token.rst new file mode 100644 index 000000000000..52c5fad05805 --- /dev/null +++ b/awscli/examples/ecr-public/get-authorization-token.rst @@ -0,0 +1,32 @@ +**Example 1: To retrieve an authorization token for any Amazon ECR public registry that the IAM principal has access** + +The following ``get-authorization-token`` example gets an authorization token with the AWS CLI and sets it to an environment variable. :: + + aws ecr-public get-authorization-token \ + --region us-east-1 + +Output:: + + { + "authorizationData": { + "authorizationToken": "QVdTOmV5SndZWGxzYjJKJFHDSFKJHERWUY65IOU36TRYEGFNSDLRIUOTUYTHJKLDFGOcmFUQk9OSFV2UVV4a0x6Sm1ZV0Z6TDFndlZtUjJSVmgxVEVObU9IZEdTWEZxU210c1JUQm5RWGxOUVV4NlNFUnROWG92ZWtGbWJFUjRkbWMyV0U5amFpczRNWGxTVkM5Tk5qWkVUM2RDYm05TVJqSkxjV3BsUVZvMmFYSm5iV1ZvVFdGSVRqVlFMMHN4VnpsTGVXbDFRWGRoTmpsbWFuQllhbVl6TkdGaGMwUjJha2xsYUhscWRscHZTRUpFVkVnNVQwNUdOVFpPY2xZclVFNVFVWGRSVFZvd04xUkhjVGxZZFVkQ1ZFZHBPRUptUzBVclYxQldMMjVMVkRsd2VFVlNSa1EzTWpWSlIxRkVWakJGZFZOVWEzaFBSVk5FWWpSc1lWZHZWMHBSYmxaMlJYWmhZekpaWVVOeFppdFlUa2xKU1RCdFUwdElVbXRJYlhGRk1WaFhNVTVRTkdwc1FYRlVNVWxZZUhkV05Xa3ZXWGd3ZUVZMWIyeE5VRU5QZEdSaWRHOU9lakZOZVdwTVZEUkNRVzlvYzNKSlpsRXhhR2cwWjJwRVJFVjNWalEzYjNCUmRIcEZUR1pYU1Rsc1kxSlNNbU5hUW5wRE1tOUpRMHR5Y1hkeGNXNDVMMmx4Um5GUlVGQnhjMVpQZG5WYUswOW9SQ3RPY0hwSlRsUk5lVXQyY0c1b1FsQjVZVEprVmtSdmJsQklOM05RU3pkNmQydERhMkZ5VmxSRmFVUndWVlE1ZGtsVWFXUkJWMFZEWVhoSFdXTk5VMXBTYTFreVRHZEVlVVZ0ZFRWRk4xTTVjRXBDUjBRMlYyTkdPVWhGWkVweVVGcEVaRFJxZUVablkwNXFaamh5YkVKWmJGSTNOVzFXSzFjdllXSTVTMWx2YUZacksxSnJWSFJ0Wml0T1NFSnpWVFZvV204eVFYbzFWRU5SYjNaR01Va3hPR3h2TWxkNVJsSmpUbTVSTjNjemJsUkdVRlZKVDBjeE9VeHlXVEpGVFRSS2NWbFdkVEJrV0VreFVsSktXbkpCVGtsMFdVZEJOMjltWjFFNGVHRktNbGRuWlVoUlNXNXdZV3A0VjI5M2FYZGljbE5tZGpkQ1ZYTmhOVFUyTDBzeVpteDBka0pUTVdkNGJ6TkxkSEJDYml0cE0waGhTbVpEZEZkQ00yOU1TM1pXTDNSVFlWaFpWelZXVWxjNFRXNXdhR3BhUmpoU1FuWnFkRlJMVW5abGRYRlNjVVJKZDBaSFpXUTRabEZUTUdOTVQwcFFkVXAyYjA5Tk9UaFlZMjEwVnpFMlpXdE9hMnBWV0hST1owUkpVV3R1VFU1dGJXWjNNVGc0VTAxUlNHZE9TbXRMY2tWYWJVeFljVVk0ZWpsTFdWWlRNbEZMVDJkMk1FaFBTMDl5YzJSM1NqTlplRGhUWVVOQlJGWnRlbkU1WTBKVFdqTktSR05WTkd0RGNEVjZNalJHVXpkVk9HTnVSa2xLUVd4SVJDODJXbGcyYldGemJVczJPRVp6TDBoNFMwWkRUMmdyYldGa1QwWjVhMlZQTm5SQ1l6QkpNbFpyVUhSaGVIbFVOR296VjFGVlQyMHpNeTlPWVVoSk1FdDBWalZFU2pneU5rcHNLemQxZDNwcVp6RlNja3AwVm10VU0yRnRWWGMzZDJnMFduSnFjVXczWTBjclNXeHFUVlUyVkZwWGNWY3ZSV0V6WW1oT2JIRklZVlJHU1RrMGEyOVJiMHBPVUhORk9FdERjbFJZY0daS2VVdHRZa2x5YjFORE4zSkJaWEJPZUU5eGR6WnhZMlY1WXprM1JtSkZhVFZFYkVFck5EUk9ZMWRyVEVNd1dqa2lMQ0prWVhSaGEyVjVJam9pWlhsS1VWSkdaMmxQYVVwV1ZXeENhVk5YVm14WFdFWk5VMjFrV21SRE9YaGFhWFF4VkhwS1MyTkljSHBVUms0MFlWaHNTbUpIYUhsWFZHdDZZVWhqZDFKRmFETldNbFYyWTJ0cmVVMUlTbHBWUjJONFRURlJNMDlHYUd4U01uaHVWRVJzUWxaV1pGZFJibkJLV1RCYU5HTXpUakpXTUhoWFRrWndhRTVyTVVwVFZFSkdWV3RzTUZaVVpEQlRSVGxyVkVkb2FGUlVVWHBaTVhCSFQxWmFOVlJxU20xaVZXUnVTM3BaTlZaV2NIcFdWMlJGVkcwMVRHSXdSakpXUnpoNlVsUm5kbUpzUmpGT2FUazFWVzFTY0dWR1FtOVdiVEZoVmpKc1NWRllhRmRTUkZwc1V6SkdSbUpWYkhCVlNFbDJWVzB4Ym1OVk1IWmFhelZ3WkZoa1FtVnFUa3BpTTJoTVRWVk9jMVo2V2t4aWJFWnJWRVUxVW1ONlp6QldWVFZPWW14c01sZFlZekprUjFwVFkxaE9kRnBXWkhaVFZWcGhWa2MxU2xWRlVtdFRiWE16WWpOVmVrNXFSa2RVTTJSd1QwaGtXbVJIVVhsbGJYQkRaRlp2ZGxvd1ZqWmlNbEl4Vkc1T2FtSldjRU5VU0ZVd1kwZDRjbU14WkhaVVYwNTRaRzV2TWxSVlVsQmpiSEJPVkc1VmVsZEZPVzVYYkVwWlUyNWtVbGRZWkZWaVdFWlNUVzF3VFZSSVFraE9XRnBwWVZoak0xUnJXak5OYm04eFpEQk9XbEZzYkhSTmEyaHpaRmRTUTJORVFUQlpWMk01VUZOSmMwbHJiRUpTUTBrMlNXNUZlbHA2U1RGVVZXeFVZekIwYVU5RWFEVmtiRVpzVVZWc2QxbHJWbmxOYW13MVZWaG9UazVzVWpWbFJHaDZZMjFHVkZVeFFubFZXRTVLVGpCMGFXSlZNWGhpUjBwTVlUSTVNRTVVYXpCTE0wVnlWakF4VG1WSE5VcGtSa0pRVld4V1UwOVdVWGhqTVc4eVZraFdlVnA2VGsxV01tUnhVV3Q0ZEdGcVRsUk5hMnN5V2tSV2FtUkdVakZqVm5CUFVrUlNjR0pHUm1GbGFscDRXV2x6Y2xFd1VYcGhSRnBZVmtaU2FVNXVSVFZYYlVaVFpXdHdkVmRZVGpaVGEyaDBWMnhDVlU0elZrWlRSRUpIVlVWa2MwNVlhRFZsUkVwelQwWkNSbE5WY0ZGWFNFWXhaVmMxVEZsVE9VeFdhMGt4V1ROS1Rrd3pXazFpYkhCdFVrUldWRlJHVlhaTmJVazBZbFZzUkV3d2N6UldSV2MxVDBWa05tSXpiM2hXVms1V1ZtMDFiRkZUT1hoUFJVcHpUMGRzU2xaSVJrTkxNVTVFWWtaa05WWnViRmRYVjJRd1RXcG5kMVJWUmpCa1JYQkdZVlYwZFZNeU1VVlpWVTVQV25wa1ExZHFVbE5sUjBaRVlWVTFXbVZwY3pSTE1HTTFVbFZGTlZwRll6UlRSMVoxVFcxb05XTnJkRUpWZWxsM1RETmplbUV4WkdGU1JsWm9ZVVpzZEdWR2JFTlVNblJYVkRCNE5HUXlkRXhaTWxKTlYxZDBWRTB5YUZwaFJsazFVMGR3Y0ZGVk9YaGxhekV6VVZRd09VbHVNRDBpTENKMlpYSnphVzl1SWpvaU15SXNJblI1Y0dVaU9pSkVRVlJCWDB0RldTSXNJbVY0Y0dseVlYUnBiMjRpT2pFM01qRTVOVGMzTmpKOQ==", + "expiresAt": "2024-07-25T21:37:26.301000-04:00" + } + } + +For more information, see `Amazon ECR public registries `__ in the *Amazon ECR Public*. + +**Example 2: To retrieve an authorization token for any Amazon ECR public registry that the IAM principal has access** + +The following ``get-authorization-token`` example gets an authorization token with the AWS CLI and sets it to an environment variable. :: + + aws ecr-public get-authorization-token \ + --region us-east-1 \ + --output=text \ + --query 'authorizationData.authorizationToken' + +Output:: + + QVdTOmV5SndZWGxzYjJKJFHDSFKJHERWUY65IOU36TRYEGFNSDLRIUOTUYTHJKLDFGOcmFUQk9OSFV2UVV4a0x6Sm1ZV0Z6TDFndlZtUjJSVmgxVEVObU9IZEdTWEZxU210c1JUQm5RWGxOUVV4NlNFUnROWG92ZWtGbWJFUjRkbWMyV0U5amFpczRNWGxTVkM5Tk5qWkVUM2RDYm05TVJqSkxjV3BsUVZvMmFYSm5iV1ZvVFdGSVRqVlFMMHN4VnpsTGVXbDFRWGRoTmpsbWFuQllhbVl6TkdGaGMwUjJha2xsYUhscWRscHZTRUpFVkVnNVQwNUdOVFpPY2xZclVFNVFVWGRSVFZvd04xUkhjVGxZZFVkQ1ZFZHBPRUptUzBVclYxQldMMjVMVkRsd2VFVlNSa1EzTWpWSlIxRkVWakJGZFZOVWEzaFBSVk5FWWpSc1lWZHZWMHBSYmxaMlJYWmhZekpaWVVOeFppdFlUa2xKU1RCdFUwdElVbXRJYlhGRk1WaFhNVTVRTkdwc1FYRlVNVWxZZUhkV05Xa3ZXWGd3ZUVZMWIyeE5VRU5QZEdSaWRHOU9lakZOZVdwTVZEUkNRVzlvYzNKSlpsRXhhR2cwWjJwRVJFVjNWalEzYjNCUmRIcEZUR1pYU1Rsc1kxSlNNbU5hUW5wRE1tOUpRMHR5Y1hkeGNXNDVMMmx4Um5GUlVGQnhjMVpQZG5WYUswOW9SQ3RPY0hwSlRsUk5lVXQyY0c1b1FsQjVZVEprVmtSdmJsQklOM05RU3pkNmQydERhMkZ5VmxSRmFVUndWVlE1ZGtsVWFXUkJWMFZEWVhoSFdXTk5VMXBTYTFreVRHZEVlVVZ0ZFRWRk4xTTVjRXBDUjBRMlYyTkdPVWhGWkVweVVGcEVaRFJxZUVablkwNXFaamh5YkVKWmJGSTNOVzFXSzFjdllXSTVTMWx2YUZacksxSnJWSFJ0Wml0T1NFSnpWVFZvV204eVFYbzFWRU5SYjNaR01Va3hPR3h2TWxkNVJsSmpUbTVSTjNjemJsUkdVRlZKVDBjeE9VeHlXVEpGVFRSS2NWbFdkVEJrV0VreFVsSktXbkpCVGtsMFdVZEJOMjltWjFFNGVHRktNbGRuWlVoUlNXNXdZV3A0VjI5M2FYZGljbE5tZGpkQ1ZYTmhOVFUyTDBzeVpteDBka0pUTVdkNGJ6TkxkSEJDYml0cE0waGhTbVpEZEZkQ00yOU1TM1pXTDNSVFlWaFpWelZXVWxjNFRXNXdhR3BhUmpoU1FuWnFkRlJMVW5abGRYRlNjVVJKZDBaSFpXUTRabEZUTUdOTVQwcFFkVXAyYjA5Tk9UaFlZMjEwVnpFMlpXdE9hMnBWV0hST1owUkpVV3R1VFU1dGJXWjNNVGc0VTAxUlNHZE9TbXRMY2tWYWJVeFljVVk0ZWpsTFdWWlRNbEZMVDJkMk1FaFBTMDl5YzJSM1NqTlplRGhUWVVOQlJGWnRlbkU1WTBKVFdqTktSR05WTkd0RGNEVjZNalJHVXpkVk9HTnVSa2xLUVd4SVJDODJXbGcyYldGemJVczJPRVp6TDBoNFMwWkRUMmdyYldGa1QwWjVhMlZQTm5SQ1l6QkpNbFpyVUhSaGVIbFVOR296VjFGVlQyMHpNeTlPWVVoSk1FdDBWalZFU2pneU5rcHNLemQxZDNwcVp6RlNja3AwVm10VU0yRnRWWGMzZDJnMFduSnFjVXczWTBjclNXeHFUVlUyVkZwWGNWY3ZSV0V6WW1oT2JIRklZVlJHU1RrMGEyOVJiMHBPVUhORk9FdERjbFJZY0daS2VVdHRZa2x5YjFORE4zSkJaWEJPZUU5eGR6WnhZMlY1WXprM1JtSkZhVFZFYkVFck5EUk9ZMWRyVEVNd1dqa2lMQ0prWVhSaGEyVjVJam9pWlhsS1VWSkdaMmxQYVVwV1ZXeENhVk5YVm14WFdFWk5VMjFrV21SRE9YaGFhWFF4VkhwS1MyTkljSHBVUms0MFlWaHNTbUpIYUhsWFZHdDZZVWhqZDFKRmFETldNbFYyWTJ0cmVVMUlTbHBWUjJONFRURlJNMDlHYUd4U01uaHVWRVJzUWxaV1pGZFJibkJLV1RCYU5HTXpUakpXTUhoWFRrWndhRTVyTVVwVFZFSkdWV3RzTUZaVVpEQlRSVGxyVkVkb2FGUlVVWHBaTVhCSFQxWmFOVlJxU20xaVZXUnVTM3BaTlZaV2NIcFdWMlJGVkcwMVRHSXdSakpXUnpoNlVsUm5kbUpzUmpGT2FUazFWVzFTY0dWR1FtOVdiVEZoVmpKc1NWRllhRmRTUkZwc1V6SkdSbUpWYkhCVlNFbDJWVzB4Ym1OVk1IWmFhelZ3WkZoa1FtVnFUa3BpTTJoTVRWVk9jMVo2V2t4aWJFWnJWRVUxVW1ONlp6QldWVFZPWW14c01sZFlZekprUjFwVFkxaE9kRnBXWkhaVFZWcGhWa2MxU2xWRlVtdFRiWE16WWpOVmVrNXFSa2RVTTJSd1QwaGtXbVJIVVhsbGJYQkRaRlp2ZGxvd1ZqWmlNbEl4Vkc1T2FtSldjRU5VU0ZVd1kwZDRjbU14WkhaVVYwNTRaRzV2TWxSVlVsQmpiSEJPVkc1VmVsZEZPVzVYYkVwWlUyNWtVbGRZWkZWaVdFWlNUVzF3VFZSSVFraE9XRnBwWVZoak0xUnJXak5OYm04eFpEQk9XbEZzYkhSTmEyaHpaRmRTUTJORVFUQlpWMk01VUZOSmMwbHJiRUpTUTBrMlNXNUZlbHA2U1RGVVZXeFVZekIwYVU5RWFEVmtiRVpzVVZWc2QxbHJWbmxOYW13MVZWaG9UazVzVWpWbFJHaDZZMjFHVkZVeFFubFZXRTVLVGpCMGFXSlZNWGhpUjBwTVlUSTVNRTVVYXpCTE0wVnlWakF4VG1WSE5VcGtSa0pRVld4V1UwOVdVWGhqTVc4eVZraFdlVnA2VGsxV01tUnhVV3Q0ZEdGcVRsUk5hMnN5V2tSV2FtUkdVakZqVm5CUFVrUlNjR0pHUm1GbGFscDRXV2x6Y2xFd1VYcGhSRnBZVmtaU2FVNXVSVFZYYlVaVFpXdHdkVmRZVGpaVGEyaDBWMnhDVlU0elZrWlRSRUpIVlVWa2MwNVlhRFZsUkVwelQwWkNSbE5WY0ZGWFNFWXhaVmMxVEZsVE9VeFdhMGt4V1ROS1Rrd3pXazFpYkhCdFVrUldWRlJHVlhaTmJVazBZbFZzUkV3d2N6UldSV2MxVDBWa05tSXpiM2hXVms1V1ZtMDFiRkZUT1hoUFJVcHpUMGRzU2xaSVJrTkxNVTVFWWtaa05WWnViRmRYVjJRd1RXcG5kMVJWUmpCa1JYQkdZVlYwZFZNeU1VVlpWVTVQV25wa1ExZHFVbE5sUjBaRVlWVTFXbVZwY3pSTE1HTTFVbFZGTlZwRll6UlRSMVoxVFcxb05XTnJkRUpWZWxsM1RETmplbUV4WkdGU1JsWm9ZVVpzZEdWR2JFTlVNblJYVkRCNE5HUXlkRXhaTWxKTlYxZDBWRTB5YUZwaFJsazFVMGR3Y0ZGVk9YaGxhekV6VVZRd09VbHVNRDBpTENKMlpYSnphVzl1SWpvaU15SXNJblI1Y0dVaU9pSkVRVlJCWDB0RldTSXNJbVY0Y0dseVlYUnBiMjRpT2pFM01qRTVOVGMzTmpKOQ + +For more information, see `Amazon ECR public registries `__ in the *Amazon ECR Public*. diff --git a/awscli/examples/ecr-public/get-login-password.rst b/awscli/examples/ecr-public/get-login-password.rst new file mode 100644 index 000000000000..99879cc05f0b --- /dev/null +++ b/awscli/examples/ecr-public/get-login-password.rst @@ -0,0 +1,27 @@ +**Example 1: To authenticate docker to an Amazon ECR public registry** + +The following ``get-login-password`` example retrieves and displays an authentication token using the GetAuthorizationToken API that you can use to authenticate to an Amazon ECR public registry. :: + + aws ecr-public get-login-password \ + --region us-east-1 + | docker login \ + --username AWS \ + --password-stdin public.ecr.aws + +This command produces no output in the terminal but instead pipes the output to Docker. + +For more information, see `Authenticate to the public registry `__ in the *Amazon ECR Public*. + +**Example 2: To authenticate docker to your own custom AmazonECR public registry** + +The following ``get-login-password`` example retrieves and displays an authentication token using the GetAuthorizationToken API that you can use to authenticate to your own custom Amazon ECR public registry. :: + + aws ecr-public get-login-password \ + --region us-east-1 \ + | docker login \ + --username AWS \ + --password-stdin public.ecr.aws/ + +This command produces no output in the terminal but insteads pipes the output to Docker. + +For more information, see `Authenticate to your own Amazon ECR Public `__ in the *Amazon ECR Public*. diff --git a/awscli/examples/ecr-public/get-registry-catalog-data.rst b/awscli/examples/ecr-public/get-registry-catalog-data.rst new file mode 100644 index 000000000000..e293089a41af --- /dev/null +++ b/awscli/examples/ecr-public/get-registry-catalog-data.rst @@ -0,0 +1,14 @@ +**To retrieve catalog metadata for a public ECR registry** + +The following ``get-registry-catalog-data`` retrieves catalog metadata for an ECR public registry. :: + + aws ecr-public get-registry-catalog-data \ + --region us-east-1 + +Output:: + + { + "registryCatalogData": { + "displayName": "YourCustomPublicRepositoryalias" + } + } diff --git a/awscli/examples/ecr-public/get-repository-catalog-data.rst b/awscli/examples/ecr-public/get-repository-catalog-data.rst new file mode 100644 index 000000000000..b3db31e94692 --- /dev/null +++ b/awscli/examples/ecr-public/get-repository-catalog-data.rst @@ -0,0 +1,29 @@ +**To retrieve catalog metadata for a repository in a public registry** + +The following ``get-repository-catalog-data`` example lists the catalog metadata for the repository ``project-a/nginx-web-app`` in a public registry. :: + + aws ecr-public get-repository-catalog-data \ + --repository-name project-a/nginx-web-app \ + --region us-east-1 + +Output:: + + { + "catalogData": { + "description": "My project-a ECR Public Repository", + "architectures": [ + "ARM", + "ARM 64", + "x86", + "x86-64" + ], + "operatingSystems": [ + "Linux" + ], + "logoUrl": "https://d3g9o9u8re44ak.cloudfront.net/logo/491d3846-8f33-4d8b-a10c-c2ce271e6c0d/4f09d87c-2569-4916-a932-5c296bf6f88a.png", + "aboutText": "## Quick reference\n\nMaintained ", + "usageText": "## Supported architectures\n\namd64, arm64v8\n\n## " + } + } + +For more information, see `Repository catalog data `__ in the *Amazon ECR Public*. \ No newline at end of file diff --git a/awscli/examples/ecr-public/get-repository-policy.rst b/awscli/examples/ecr-public/get-repository-policy.rst new file mode 100644 index 000000000000..e684c775a6b1 --- /dev/null +++ b/awscli/examples/ecr-public/get-repository-policy.rst @@ -0,0 +1,17 @@ +**To get a repository policy associated with the repository** + +The following ``get-repository-policy`` example gets a repository policy associated with the repository. :: + + aws ecr-public get-repository-policy \ + --repository-name project-a/nginx-web-app \ + --region us-east-1 + +Output:: + + { + "registryId": "123456789012", + "repositoryName": "project-a/nginx-web-app", + "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"AllowPush\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : [ \"arn:aws:iam::123456789012:user/eksuser1\", \"arn:aws:iam::123456789012:user/admin\" ]\n },\n \"Action\" : [ \"ecr-public:BatchCheckLayerAvailability\", \"ecr-public:PutImage\", \"ecr-public:InitiateLayerUpload\", \"ecr-public:UploadLayerPart\", \"ecr-public:CompleteLayerUpload\" ]\n } ]\n}" + } + +For more information, see `Use GetRepositoryPolicy with an AWS SDK or CLI `__ in the *Amazon ECR Public User Guide*. \ No newline at end of file diff --git a/awscli/examples/ecr-public/list-tags-for-resource.rst b/awscli/examples/ecr-public/list-tags-for-resource.rst new file mode 100644 index 000000000000..fd700be2205f --- /dev/null +++ b/awscli/examples/ecr-public/list-tags-for-resource.rst @@ -0,0 +1,28 @@ +**To list tags for a public repository in a public registry** + +The following ``list-tags-for-resource`` example lists the tags for a resource named ``project-a/nginx-web-app`` in a public registry. :: + + aws ecr-public list-tags-for-resource \ + --resource-arn arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app \ + --region us-east-1 + +Output:: + + { + "tags": [ + { + "Key": "Environment", + "Value": "Prod" + }, + { + "Key": "stack", + "Value": "dev1" + }, + { + "Key": "Name", + "Value": "project-a/nginx-web-app" + } + ] + } + +For more information, see `List tags for a public repository `__ in the *Amazon ECR Public*. diff --git a/awscli/examples/ecr-public/put-registry-catalog-data.rst b/awscli/examples/ecr-public/put-registry-catalog-data.rst new file mode 100644 index 000000000000..57c83973ece1 --- /dev/null +++ b/awscli/examples/ecr-public/put-registry-catalog-data.rst @@ -0,0 +1,15 @@ +**To create or update catalog metadata for a public ECR registry** + +The following ``put-registry-catalog-data`` creates or updates catalog metadata for an ECR public registry. Only accounts that have the verified account badge can have a registry display name. :: + + aws ecr-public put-registry-catalog-data \ + --region us-east-1 \ + --display-name + +Output:: + + { + "registryCatalogData": { + "displayName": "YourCustomPublicRepositoryalias" + } + } diff --git a/awscli/examples/ecr-public/put-repository-catalog-data.rst b/awscli/examples/ecr-public/put-repository-catalog-data.rst new file mode 100644 index 000000000000..678b9fd87c1a --- /dev/null +++ b/awscli/examples/ecr-public/put-repository-catalog-data.rst @@ -0,0 +1,51 @@ +**To create or update the catalog data for a repository in a public registry** + +The following ``put-repository-catalog-data`` example creates or update catalog data for reposiotry named `project-a/nginx-web-app` in a public registry, along with logoImageBlob, aboutText, usageText and tags information. :: + + aws ecr-public put-repository-catalog-data \ + --repository-name project-a/nginx-web-app \ + --cli-input-json file://repository-catalog-data.json \ + --region us-east-1 + +Contents of ``repository-catalog-data.json``:: + + { + "repositoryName": "project-a/nginx-web-app", + "catalogData": { + "description": "My project-a ECR Public Repository", + "architectures": [ + "ARM", + "ARM 64", + "x86", + "x86-64" + ], + "operatingSystems": [ + "Linux" + ], + "logoImageBlob": "iVBORw0KGgoA<>ErkJggg==", + "aboutText": "## Quick reference.", + "usageText": "## Supported architectures are as follows." + } + } + +Output:: + + { + "catalogData": { + "description": "My project-a ECR Public Repository", + "architectures": [ + "ARM", + "ARM 64", + "x86", + "x86-64" + ], + "operatingSystems": [ + "Linux" + ], + "logoUrl": "https://d3g9o9u8re44ak.cloudfront.net/logo/df86cf58-ee60-4061-b804-0be24d97ccb1/4a9ed9b2-69e4-4ede-b924-461462d20ef0.png", + "aboutText": "## Quick reference.", + "usageText": "## Supported architectures are as follows." + } + } + +For more information, see `Repository catalog data `__ in the *Amazon ECR Public*. diff --git a/awscli/examples/ecr-public/set-repository-policy.rst b/awscli/examples/ecr-public/set-repository-policy.rst new file mode 100644 index 000000000000..b87b257f482b --- /dev/null +++ b/awscli/examples/ecr-public/set-repository-policy.rst @@ -0,0 +1,118 @@ +**Example 1: To set a repository policy to allow a pull on the repository** + +The following ``set-repository-policy`` example applies an ECR public repository policy to the specified repository to control access permissions. :: + + aws ecr-public set-repository-policy \ + --repository-name project-a/nginx-web-app \ + --policy-text file://my-repository-policy.json + +Contents of ``my-repository-policy.json``:: + + { + "Version" : "2008-10-17", + "Statement" : [ + { + "Sid" : "allow public pull", + "Effect" : "Allow", + "Principal" : "*", + "Action" : [ + "ecr:BatchCheckLayerAvailability", + "ecr:BatchGetImage", + "ecr:GetDownloadUrlForLayer" + ] + } + ] + } + +Output:: + + { + "registryId": "12345678901", + "repositoryName": "project-a/nginx-web-app", + "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"allow public pull\",\n \"Effect\" : \"Allow\",\n \"Principal\" : \"*\",\n \"Action\" : [ \"ecr:BatchCheckLayerAvailability\", \"ecr:BatchGetImage\", \"ecr:GetDownloadUrlForLayer\" ]\n } ]\n}" + } + +For more information, see `Setting a repository policy statement `__ in the *Amazon ECR Public User Guide*. + +**Example 2: To set a repository policy to allow an IAM user within your account to push images** + +The following ``set-repository-policy`` example allows an IAM user within your account to push images using to an ECR repository in your AWS account using the input file named ``file://my-repository-policy.json`` as policy text. :: + + aws ecr-public set-repository-policy \ + --repository-name project-a/nginx-web-app \ + --policy-text file://my-repository-policy.json + +Contents of ``my-repository-policy.json``:: + + { + "Version": "2008-10-17", + "Statement": [ + { + "Sid": "AllowPush", + "Effect": "Allow", + "Principal": { + "AWS": [ + "arn:aws:iam::account-id:user/push-pull-user-1", + "arn:aws:iam::account-id:user/push-pull-user-2" + ] + }, + "Action": [ + "ecr-public:BatchCheckLayerAvailability", + "ecr-public:PutImage", + "ecr-public:InitiateLayerUpload", + "ecr-public:UploadLayerPart", + "ecr-public:CompleteLayerUpload" + ] + } + ] + } + +Output:: + + { + "registryId": "12345678901", + "repositoryName": "project-a/nginx-web-app", + "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"AllowPush\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : [ \"arn:aws:iam::12345678901:user/admin\", \"arn:aws:iam::12345678901:user/eksuser1\" ]\n },\n \"Action\" : [ \"ecr-public:BatchCheckLayerAvailability\", \"ecr-public:PutImage\", \"ecr-public:InitiateLayerUpload\", \"ecr-public:UploadLayerPart\", \"ecr-public:CompleteLayerUpload\" ]\n } ]\n}" + } + +For more information, see `Setting a repository policy statement `__ in the *Amazon ECR Public User Guide*. + +**Example 3: To set a repository policy to allow an IAM user from different account to push images** + +The following ``set-repository-policy`` example allows a specific account to push images using cli input file://my-repository-policy.json in your AWS account. :: + + aws ecr-public set-repository-policy \ + --repository-name project-a/nginx-web-app \ + --policy-text file://my-repository-policy.json + +Contents of ``my-repository-policy.json``:: + + { + "Version": "2008-10-17", + "Statement": [ + { + "Sid": "AllowCrossAccountPush", + "Effect": "Allow", + "Principal": { + "AWS": "arn:aws:iam::other-or-same-account-id:role/RoleName" + }, + "Action": [ + "ecr-public:BatchCheckLayerAvailability", + "ecr-public:PutImage", + "ecr-public:InitiateLayerUpload", + "ecr-public:UploadLayerPart", + "ecr-public:CompleteLayerUpload" + ] + } + ] + } + +Output:: + + { + "registryId": "12345678901", + "repositoryName": "project-a/nginx-web-app", + "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"AllowCrossAccountPush\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"arn:aws:iam::12345678901:role/RoleName\"\n },\n \"Action\" : [ \"ecr-public:BatchCheckLayerAvailability\", \"ecr-public:PutImage\", \"ecr-public:InitiateLayerUpload\", \"ecr-public:UploadLayerPart\", \"ecr-public:CompleteLayerUpload\" ]\n } ]\n}" + } + +For more information, see `Public repository policy examples `__ in the *Amazon ECR Public User Guide*. diff --git a/awscli/examples/ecr-public/tag-resource.rst b/awscli/examples/ecr-public/tag-resource.rst new file mode 100644 index 000000000000..1d070887329b --- /dev/null +++ b/awscli/examples/ecr-public/tag-resource.rst @@ -0,0 +1,21 @@ +**Example 1: To tags an existing public repository in a public registry** + +The following ``tag-resource`` example tags a repository named ``project-a/nginx-web-app`` in a public registry. :: + + aws ecr-public tag-resource \ + --resource-arn arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app \ + --tags Key=stack,Value=dev \ + --region us-east-1 + +For more information, see `Using Tags for a public repository `__ in the *Amazon ECR Public*. + +**Example 2: To tag an existing public repository with multiple tags in a public registry.** + +The following ``tag-resource`` example tags an existing repository with multiple tags. :: + + aws ecr-public tag-resource \ + --resource-arn arn:aws:ecr-public::890517186334:repository/project-a/nginx-web-app \ + --tags Key=key1,Value=value1 Key=key2,Value=value2 Key=key3,Value=value3 \ + --region us-east-1 + +For more information, see `Using Tags for a public repository `__ in the *Amazon ECR Public*. diff --git a/awscli/examples/ecr-public/untag-resource.rst b/awscli/examples/ecr-public/untag-resource.rst new file mode 100644 index 000000000000..4ff4445b5494 --- /dev/null +++ b/awscli/examples/ecr-public/untag-resource.rst @@ -0,0 +1,12 @@ +**Example 1: To untags an existing public repository in a public registry** + +The following ``untag-resource`` example tags a repository named ``project-a/nginx-web-app`` in a public registry. :: + + aws ecr-public untag-resource \ + --resource-arn arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app \ + --tag-keys stack \ + --region us-east-1 + +This command produces no output. + +For more information, see `Using Tags for a public repository `__ in the *Amazon ECR Public*. diff --git a/awscli/examples/ecr/create-repository.rst b/awscli/examples/ecr/create-repository.rst index 343d4b52d44b..805ab39b5598 100644 --- a/awscli/examples/ecr/create-repository.rst +++ b/awscli/examples/ecr/create-repository.rst @@ -3,15 +3,15 @@ The following ``create-repository`` example creates a repository inside the specified namespace in the default registry for an account. :: aws ecr create-repository \ - --repository-name project-a/nginx-web-app + --repository-name project-a/sample-repo Output:: { "repository": { "registryId": "123456789012", - "repositoryName": "sample-repo", - "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/nginx-web-app" + "repositoryName": "project-a/sample-repo", + "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo" } } @@ -22,7 +22,7 @@ For more information, see `Creating a Repository `__ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/create-cluster.rst b/awscli/examples/ecs/create-cluster.rst index b412fbce13f2..f49d7503ee40 100644 --- a/awscli/examples/ecs/create-cluster.rst +++ b/awscli/examples/ecs/create-cluster.rst @@ -1,9 +1,11 @@ **Example 1: To create a new cluster** -The following ``create-cluster`` example creates a cluster. :: +The following ``create-cluster`` example creates a cluster named ``MyCluster`` and enables CloudWatch Container Insights with enhanced observability. :: aws ecs create-cluster \ - --cluster-name MyCluster + --cluster-name MyCluster \ + --settings name=containerInsights,value=enhanced + Output:: @@ -17,6 +19,12 @@ Output:: "runningTasksCount": 0, "activeServicesCount": 0, "statistics": [], + "settings": [ + { + "name": "containerInsights", + "value": "enhanced" + } + ], "tags": [] } } @@ -25,7 +33,7 @@ For more information, see `Creating a Cluster `_ in the *AWS CLI User Guide*. :: +The following ``create-cluster`` example creates a cluster with multiple tags. For more information about adding tags using shorthand syntax, see `Using Shorthand Syntax with the AWS Command Line Interface `__ in the *AWS CLI User Guide*. :: aws ecs create-cluster \ --cluster-name MyCluster \ - --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3 + --tags key=key1,value=value1 key=key2,value=value2 Output:: - { - "cluster": { - "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", - "clusterName": "MyCluster", - "status": "ACTIVE", - "registeredContainerInstancesCount": 0, - "pendingTasksCount": 0, - "runningTasksCount": 0, - "activeServicesCount": 0, - "statistics": [], - "tags": [ - { - "key": "key1", - "value": "value1" - }, - { - "key": "key2", - "value": "value2" - }, - { - "key": "key3", - "value": "value3" - } - ] + { + "cluster": { + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "clusterName": "MyCluster", + "status": "ACTIVE", + "registeredContainerInstancesCount": 0, + "pendingTasksCount": 0, + "runningTasksCount": 0, + "activeServicesCount": 0, + "statistics": [], + "tags": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] } } -For more information, see `Creating a Cluster `__ in the *Amazon ECS Developer Guide*. \ No newline at end of file +For more information, see `Creating a Cluster `__ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/create-service.rst b/awscli/examples/ecs/create-service.rst index b6c1997dd55f..5ac1aff6e95f 100644 --- a/awscli/examples/ecs/create-service.rst +++ b/awscli/examples/ecs/create-service.rst @@ -9,7 +9,7 @@ The following ``create-service`` example shows how to create a service using a F --desired-count 2 \ --launch-type FARGATE \ --platform-version LATEST \ - --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321],assignPublicIp=ENABLED}" \ + --network-configuration 'awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321],assignPublicIp=ENABLED}' \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3 Output:: @@ -93,6 +93,8 @@ Output:: } } +For more information, see `Creating a Service `__ in the *Amazon ECS Developer Guide*. + **Example 2: To create a service using the EC2 launch type** The following ``create-service`` example shows how to create a service called ``ecs-simple-service`` with a task that uses the EC2 launch type. The service uses the ``sleep360`` task definition and it maintains 1 instantiation of the task. :: @@ -145,6 +147,8 @@ Output:: } } +For more information, see `Creating a Service `__ in the *Amazon ECS Developer Guide*. + **Example 3: To create a service that uses an external deployment controller** The following ``create-service`` example creates a service that uses an external deployment controller. :: @@ -189,11 +193,20 @@ Output:: } } +For more information, see `Creating a Service `__ in the *Amazon ECS Developer Guide*. + **Example 4: To create a new service behind a load balancer** -The following ``create-service`` example shows how to create a service that is behind a load balancer. You must have a load balancer configured in the same Region as your container instance. This example uses the ``--cli-input-json`` option and a JSON input file called ``ecs-simple-service-elb.json`` with the following content:: +The following ``create-service`` example shows how to create a service that is behind a load balancer. You must have a load balancer configured in the same Region as your container instance. This example uses the ``--cli-input-json`` option and a JSON input file called ``ecs-simple-service-elb.json`` with the following content. :: - { + aws ecs create-service \ + --cluster MyCluster \ + --service-name ecs-simple-service-elb \ + --cli-input-json file://ecs-simple-service-elb.json + +Contents of ``ecs-simple-service-elb.json``:: + + { "serviceName": "ecs-simple-service-elb", "taskDefinition": "ecs-demo", "loadBalancers": [ @@ -207,13 +220,6 @@ The following ``create-service`` example shows how to create a service that is b "role": "ecsServiceRole" } -Command:: - - aws ecs create-service \ - --cluster MyCluster \ - --service-name ecs-simple-service-elb \ - --cli-input-json file://ecs-simple-service-elb.json - Output:: { @@ -231,7 +237,7 @@ Output:: "roleArn": "arn:aws:iam::123456789012:role/ecsServiceRole", "desiredCount": 10, "serviceName": "ecs-simple-service-elb", - "clusterArn": "arn:aws:ecs:`_ in the *Amazon ECS Developer Guide*. \ No newline at end of file +For more information, see `Use load balancing to distribute Amazon ECS service traffic `__ in the *Amazon ECS Developer Guide*. + +**Example 5: To configure Amazon EBS volumes at service creation** + +The following ``create-service`` example shows how to configure Amazon EBS volumes for each task managed by the service. You must have an Amazon ECS infrastructure role configured with the ``AmazonECSInfrastructureRolePolicyForVolumes`` managed policy attached. You must specify a task definition with the same volume name as in the ``create-service`` request. This example uses the ``--cli-input-json`` option and a JSON input file called ``ecs-simple-service-ebs.json`` with the following content. :: + + aws ecs create-service \ + --cli-input-json file://ecs-simple-service-ebs.json + +Contents of ``ecs-simple-service-ebs.json``:: + + { + "cluster": "mycluster", + "taskDefinition": "mytaskdef", + "serviceName": "ecs-simple-service-ebs", + "desiredCount": 2, + "launchType": "FARGATE", + "networkConfiguration":{ + "awsvpcConfiguration":{ + "assignPublicIp": "ENABLED", + "securityGroups": ["sg-12344321"], + "subnets":["subnet-12344321"] + } + }, + "volumeConfigurations": [ + { + "name": "myEbsVolume", + "managedEBSVolume": { + "roleArn":"arn:aws:iam::123456789012:role/ecsInfrastructureRole", + "volumeType": "gp3", + "sizeInGiB": 100, + "iops": 3000, + "throughput": 125, + "filesystemType": "ext4" + } + } + ] + } + +Output:: + + { + "service": { + "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/mycluster/ecs-simple-service-ebs", + "serviceName": "ecs-simple-service-ebs", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/mycluster", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 2, + "runningCount": 0, + "pendingCount": 0, + "launchType": "EC2", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:3", + "deploymentConfiguration": { + "deploymentCircuitBreaker": { + "enable": false, + "rollback": false + }, + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "id": "ecs-svc/7851020056849183687", + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:3", + "desiredCount": 0, + "pendingCount": 0, + "runningCount": 0, + "failedTasks": 0, + "createdAt": "2025-01-21T11:32:38.034000-06:00", + "updatedAt": "2025-01-21T11:32:38.034000-06:00", + "launchType": "EC2", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "DISABLED" + } + }, + "rolloutState": "IN_PROGRESS", + "rolloutStateReason": "ECS deployment ecs-svc/7851020056849183687 in progress.", + "volumeConfigurations": [ + { + "name": "myEBSVolume", + "managedEBSVolume": { + "volumeType": "gp3", + "sizeInGiB": 100, + "iops": 3000, + "throughput": 125, + "roleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", + "filesystemType": "ext4" + } + } + ] + } + ], + "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "events": [], + "createdAt": "2025-01-21T11:32:38.034000-06:00", + "placementConstraints": [], + "placementStrategy": [], + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "DISABLED" + } + }, + "healthCheckGracePeriodSeconds": 0, + "schedulingStrategy": "REPLICA", + "deploymentController": { + "type": "ECS" + }, + "createdBy": "arn:aws:iam::123456789012:user/AIDACKCEVSQ6C2EXAMPLE", + "enableECSManagedTags": false, + "propagateTags": "NONE", + "enableExecuteCommand": false, + "availabilityZoneRebalancing": "DISABLED" + } + } + +For more information, see `Use Amazon EBS volumes with Amazon ECS `__ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/ecs/describe-service-deployments.rst b/awscli/examples/ecs/describe-service-deployments.rst new file mode 100644 index 000000000000..f7f97b6810f4 --- /dev/null +++ b/awscli/examples/ecs/describe-service-deployments.rst @@ -0,0 +1,54 @@ +**To describe service deployment details** + +The following ``describe-service-deployments`` example returns the service deployment details for the service deployment with the ARN ``arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe``. :: + + aws ecs describe-service-deployments \ + --service-deployment-arn arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe + +Output:: + + { + "serviceDeployments": [ + { + "serviceDeploymentArn": "arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe", + "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", + "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", + "createdAt": "2024-10-31T08:03:30.917000-04:00", + "startedAt": "2024-10-31T08:03:32.510000-04:00", + "finishedAt": "2024-10-31T08:05:04.527000-04:00", + "updatedAt": "2024-10-31T08:05:04.527000-04:00", + "sourceServiceRevisions": [], + "targetServiceRevision": { + "arn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", + "requestedTaskCount": 1, + "runningTaskCount": 1, + "pendingTaskCount": 0 + }, + "status": "SUCCESSFUL", + "deploymentConfiguration": { + "deploymentCircuitBreaker": { + "enable": true, + "rollback": true + }, + "maximumPercent": 200, + "minimumHealthyPercent": 100, + "alarms": { + "alarmNames": [], + "rollback": false, + "enable": false + } + }, + "deploymentCircuitBreaker": { + "status": "MONITORING_COMPLETE", + "failureCount": 0, + "threshold": 3 + }, + "alarms": { + "status": "DISABLED" + } + } + ], + "failures": [] + } + +For more information, see `View service history using Amazon ECS service deployments `_ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/describe-service-revisions.rst b/awscli/examples/ecs/describe-service-revisions.rst new file mode 100644 index 000000000000..22fb2436dbbc --- /dev/null +++ b/awscli/examples/ecs/describe-service-revisions.rst @@ -0,0 +1,60 @@ +**To describe service revision details** + +The following ``describe-service-revisions`` example returns the service revision details for the service revision with the ARN ``arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678``. :: + + aws ecs describe-service-revisions \ + --service-revision-arns arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678 + +Output:: + + { + "serviceRevisions": [ + { + "serviceRevisionArn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", + "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", + "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", + "taskDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/webserver:5", + "capacityProviderStrategy": [ + { + "capacityProvider": "FARGATE", + "weight": 1, + "base": 0 + } + ], + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-0d0eab1bb38d5ca64", + "subnet-0db5010045995c2d5" + ], + "securityGroups": [ + "sg-02556bf85a191f59a" + ], + "assignPublicIp": "ENABLED" + } + }, + "containerImages": [ + { + "containerName": "aws-otel-collector", + "imageDigest": "sha256:7a1b3560655071bcacd66902c20ebe9a69470d5691fe3bd36baace7c2f3c4640", + "image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.32.0" + }, + { + "containerName": "web", + "imageDigest": "sha256:28402db69fec7c17e179ea87882667f1e054391138f77ffaf0c3eb388efc3ffb", + "image": "nginx" + } + ], + "guardDutyEnabled": false, + "serviceConnectConfiguration": { + "enabled": false + }, + "createdAt": "2024-10-31T08:03:29.302000-04:00" + } + ], + "failures": [] + } + +For more information, see `Amazon ECS service revisions `_ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/describe-task-definition.rst b/awscli/examples/ecs/describe-task-definition.rst index bb2bde22d4bd..d308fcc1d1a3 100644 --- a/awscli/examples/ecs/describe-task-definition.rst +++ b/awscli/examples/ecs/describe-task-definition.rst @@ -8,108 +8,58 @@ The following ``describe-task-definition`` example retrieves the details of a ta Output:: { - "tasks": [ - { - "attachments": [ - { - "id": "17f3dff6-a9e9-4d83-99a9-7eb5193c2634", - "type": "ElasticNetworkInterface", - "status": "ATTACHED", - "details": [ - { - "name": "subnetId", - "value": "subnet-0d0eab1bb38d5ca64" - }, - { - "name": "networkInterfaceId", - "value": "eni-0d542ffb4a12aa6d9" - }, - { - "name": "macAddress", - "value": "0e:6d:18:f6:2d:29" - }, - { - "name": "privateDnsName", - "value": "ip-10-0-1-170.ec2.internal" - }, - { - "name": "privateIPv4Address", - "value": "10.0.1.170" - } - ] - } - ], - "attributes": [ - { - "name": "ecs.cpu-architecture", - "value": "x86_64" - } - ], - "availabilityZone": "us-east-1b", - "clusterArn": "arn:aws:ecs:us-east-1:053534965804:cluster/fargate-cluster", - "connectivity": "CONNECTED", - "connectivityAt": "2023-11-28T11:10:52.907000-05:00", - "containers": [ - { - "containerArn": "arn:aws:ecs:us-east-1:053534965804:container/fargate-cluster/c524291ae4154100b601a543108b193a/772c4784-92ae-414e-8df2-03d3358e39fa", - "taskArn": "arn:aws:ecs:us-east-1:053534965804:task/fargate-cluster/c524291ae4154100b601a543108b193a", - "name": "web", - "image": "nginx", - "imageDigest": "sha256:10d1f5b58f74683ad34eb29287e07dab1e90f10af243f151bb50aa5dbb4d62ee", - "runtimeId": "c524291ae4154100b601a543108b193a-265927825", - "lastStatus": "RUNNING", - "networkBindings": [], - "networkInterfaces": [ - { - "attachmentId": "17f3dff6-a9e9-4d83-99a9-7eb5193c2634", - "privateIpv4Address": "10.0.1.170" - } - ], - "healthStatus": "HEALTHY", - "cpu": "99", - "memory": "100" - }, - { - "containerArn": "arn:aws:ecs:us-east-1:053534965804:container/fargate-cluster/c524291ae4154100b601a543108b193a/c051a779-40d2-48ca-ad5e-6ec875ceb610", - "taskArn": "arn:aws:ecs:us-east-1:053534965804:task/fargate-cluster/c524291ae4154100b601a543108b193a", - "name": "aws-guardduty-agent-FvWGoDU", - "imageDigest": "sha256:359b8b014e5076c625daa1056090e522631587a7afa3b2e055edda6bd1141017", - "runtimeId": "c524291ae4154100b601a543108b193a-505093495", - "lastStatus": "RUNNING", - "networkBindings": [], - "networkInterfaces": [ - { - "attachmentId": "17f3dff6-a9e9-4d83-99a9-7eb5193c2634", - "privateIpv4Address": "10.0.1.170" - } - ], - "healthStatus": "UNKNOWN" - } - ], - "cpu": "256", - "createdAt": "2023-11-28T11:10:49.299000-05:00", - "desiredStatus": "RUNNING", - "enableExecuteCommand": false, - "group": "family:webserver", - "healthStatus": "HEALTHY", - "lastStatus": "RUNNING", - "launchType": "FARGATE", - "memory": "512" - "platformVersion": "1.4.0", - "platformFamily": "Linux", - "pullStartedAt": "2023-11-28T11:10:59.773000-05:00", - "pullStoppedAt": "2023-11-28T11:11:12.624000-05:00", - "startedAt": "2023-11-28T11:11:20.316000-05:00", - "tags": [], - "taskArn": "arn:aws:ecs:us-east-1:053534965804:task/fargate-cluster/c524291ae4154100b601a543108b193a", - "taskDefinitionArn": "arn:aws:ecs:us-east-1:053534965804:task-definition/webserver:5", - "version": 4, - "ephemeralStorage": { - "sizeInGiB": 20 + "taskDefinition": { + "taskDefinitionArn": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:8", + "containerDefinitions": [ + { + "cpu": 10, + "environment": [], + "essential": true, + "image": "wordpress", + "links": [ + "mysql" + ] , + "memory": 500, + "mountPoints": [], + "name": "wordpress", + "portMappings": [ + { + "containerPort": 80, + "hostPort": 80 + } + ], + "volumesFrom": [] + }, + { + "cpu": 10, + "environment": [ + { + "name": "MYSQL_ROOT_PASSWORD", + "value": "password" + } + ], + "essential": true, + "image": "mysql", + "memory": 500, + "mountPoints": [], + "name": "mysql", + "portMappings": [], + "volumesFrom": [] } - } + ], + "family": "hello_world", + "revision": 8, + "volumes": [], + "status": "ACTIVE", + "placementConstraints": [], + "compatibilities": [ + "EXTERNAL", + "EC2" ], - "failures": [] + "registeredAt": "2024-06-21T11:15:12.669000-05:00", + "registeredBy": "arn:aws:sts::012345678910:assumed-role/demo-role/jane-doe" + }, + "tags": [] } For more information, see `Amazon ECS Task Definitions `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/ecs/describe-tasks.rst b/awscli/examples/ecs/describe-tasks.rst index 7e66c0867f33..5c9f7fa664c9 100644 --- a/awscli/examples/ecs/describe-tasks.rst +++ b/awscli/examples/ecs/describe-tasks.rst @@ -1,4 +1,4 @@ -**Exampe 1: To describe a single task tasks** +**Example 1: To describe a single task tasks** The following ``describe-tasks`` example retrieves the details of a task in a cluster. You can specify the task by using either the ID or full ARN of the task. This example uses the full ARN of the task. :: @@ -77,7 +77,7 @@ Output:: For more information, see `Amazon ECS Task Definitions `__ in the *Amazon ECS Developer Guide*. -**Exampe 2: To describe multiple tasks** +**Example 2: To describe multiple tasks** The following ``describe-tasks`` example retrieves the details of multiple tasks in a cluster. You can specify the task by using either the ID or full ARN of the task. This example uses the full IDs of the tasks. :: diff --git a/awscli/examples/ecs/get-task-protection.rst b/awscli/examples/ecs/get-task-protection.rst new file mode 100644 index 000000000000..456fb65d16ef --- /dev/null +++ b/awscli/examples/ecs/get-task-protection.rst @@ -0,0 +1,21 @@ +**Retrieve the protection status of task in ECS service** + +The following ``get-task-protection`` provides the protection status of ECS tasks that belong to Amazon ECS service. :: + + aws ecs get-task-protection \ + --cluster ECS-project-update-cluster \ + --tasks c43ed3b1331041f289316f958adb6a24 + +Output:: + + { + "protectedTasks": [ + { + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", + "protectionEnabled": false + } + ], + "failures": [] + } + +For more formation on task protection, see `Protect your Amazon ECS tasks from being terminated by scale-in events `__ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/list-service-deployments.rst b/awscli/examples/ecs/list-service-deployments.rst new file mode 100644 index 000000000000..c1583085f22f --- /dev/null +++ b/awscli/examples/ecs/list-service-deployments.rst @@ -0,0 +1,25 @@ +**To list service deployments** + +The following ``list-service-deployments`` example retrieves the service deployments for the service named ``example-service``. :: + + aws ecs list-service-deployments \ + --service arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service + +Output:: + + { + "serviceDeployments": [ + { + "serviceDeploymentArn": "arn:aws:ecs:us-east-1:123456789012:service-deployment/example-cluster/example-service/ejGvqq2ilnbKT9qj0vLJe", + "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/example-cluster/example-service", + "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/example-cluster", + "startedAt": "2024-10-31T08:03:32.510000-04:00", + "createdAt": "2024-10-31T08:03:30.917000-04:00", + "finishedAt": "2024-10-31T08:05:04.527000-04:00", + "targetServiceRevisionArn": "arn:aws:ecs:us-east-1:123456789012:service-revision/example-cluster/example-service/1485800978477494678", + "status": "SUCCESSFUL" + } + ] + } + +For more information, see `View service history using Amazon ECS service deployments `_ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/put-account-setting.rst b/awscli/examples/ecs/put-account-setting.rst index cca46677cd52..52104581703d 100644 --- a/awscli/examples/ecs/put-account-setting.rst +++ b/awscli/examples/ecs/put-account-setting.rst @@ -1,16 +1,19 @@ **To modify the account setting for your IAM user account** -The following ``put-account-setting`` example enables the ``serviceLongArnFormat`` account setting for your IAM user account. :: +The following ``put-account-setting`` example sets the ``containerInsights`` account setting to ``enhanced`` for your IAM user account. This turns on Container Insights with enhanced observability. :: - aws ecs put-account-setting --name serviceLongArnFormat --value enabled + aws ecs put-account-setting \ + --name containerInsights \ + --value enhanced Output:: { "setting": { - "name": "serviceLongArnFormat", - "value": "enabled", - "principalArn": "arn:aws:iam::130757420319:user/your_username" + "name": "containerInsights", + "value": "enhanced", + "principalArn": "arn:aws:iam::123456789012:user/johndoe", + "type": "user" } } diff --git a/awscli/examples/ecs/run-task.rst b/awscli/examples/ecs/run-task.rst index 109093d9f654..d9af590038e5 100644 --- a/awscli/examples/ecs/run-task.rst +++ b/awscli/examples/ecs/run-task.rst @@ -1,4 +1,4 @@ -**To run a task on your default cluster** +**Example 1: To run a task on your default cluster** The following ``run-task`` example runs a task on the default cluster and uses a client token. :: @@ -60,4 +60,129 @@ Output:: "failures": [] } -For more information, see `Running Tasks `__ in the *Amazon ECS Developer Guide*. \ No newline at end of file +For more information, see `Running an application as a standalone task `__ in the *Amazon ECS Developer Guide*. + +**Example 2: To configure an Amazon EBS volume for a standalone task** + +The following ``run-task`` example configures an encrypted Amazon EBS volume for a Fargate task on the default cluster. You must have an Amazon ECS infrastructure role configured with the ``AmazonECSInfrastructureRolePolicyForVolumes`` managed policy attached. You must specify a task definition with the same volume name as in the ``run-task`` request. This example uses the ``--cli-input-json`` option and a JSON input file called ``ebs.json``. :: + + aws ecs run-task \ + --cli-input-json file://ebs.json + +Contents of ``ebs.json``:: + + { + "cluster": "default", + "taskDefinition": "mytaskdef", + "launchType": "FARGATE", + "networkConfiguration":{ + "awsvpcConfiguration":{ + "assignPublicIp": "ENABLED", + "securityGroups": ["sg-12344321"], + "subnets":["subnet-12344321"] + } + }, + "volumeConfigurations": [ + { + "name": "myEBSVolume", + "managedEBSVolume": { + "volumeType": "gp3", + "sizeInGiB": 100, + "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole", + "encrypted": true, + "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + } + } + ] + } + +Output:: + + { + "tasks": [ + { + "attachments": [ + { + "id": "ce868693-15ca-4083-91ac-f782f64000c9", + "type": "ElasticNetworkInterface", + "status": "PRECREATED", + "details": [ + { + "name": "subnetId", + "value": "subnet-070982705451dad82" + } + ] + }, + { + "id": "a17ed863-786c-4372-b5b3-b23e53f37877", + "type": "AmazonElasticBlockStorage", + "status": "CREATED", + "details": [ + { + "name": "roleArn", + "value": "arn:aws:iam::123456789012:role/ecsInfrastructureRole" + }, + { + "name": "volumeName", + "value": "myEBSVolume" + }, + { + "name": "deleteOnTermination", + "value": "true" + } + ] + } + ], + "attributes": [ + { + "name": "ecs.cpu-architecture", + "value": "x86_64" + } + ], + "availabilityZone": "us-west-2b", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", + "containers": [ + { + "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/default/7f1fbd3629434cc4b82d72d2f09b67c9/e21962a2-f328-4699-98a3-5161ac2c186a", + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/7f1fbd3629434cc4b82d72d2f09b67c9", + "name": "container-using-ebs", + "image": "amazonlinux:2", + "lastStatus": "PENDING", + "networkInterfaces": [], + "cpu": "0" + } + ], + "cpu": "1024", + "createdAt": "2025-01-23T10:29:46.650000-06:00", + "desiredStatus": "RUNNING", + "enableExecuteCommand": false, + "group": "family:mytaskdef", + "lastStatus": "PROVISIONING", + "launchType": "FARGATE", + "memory": "3072", + "overrides": { + "containerOverrides": [ + { + "name": "container-using-ebs" + } + ], + "inferenceAcceleratorOverrides": [] + }, + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "tags": [], + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/7f1fbd3629434cc4b82d72d2f09b67c9", + "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:4", + "version": 1, + "ephemeralStorage": { + "sizeInGiB": 20 + }, + "fargateEphemeralStorage": { + "sizeInGiB": 20 + } + } + ], + "failures": [] + } + +For more information, see `Use Amazon EBS volumes with Amazon ECS `__ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/start-task.rst b/awscli/examples/ecs/start-task.rst index e1c320b61900..6c3b033bb215 100644 --- a/awscli/examples/ecs/start-task.rst +++ b/awscli/examples/ecs/start-task.rst @@ -1,6 +1,6 @@ -**To start a new task** +**Example 1: To start a new task** -The following ``start-task`` starts a task using the latest revision of the ``sleep360`` task definition on the specified container instance in the default cluster. :: +The following ``start-task`` example starts a task using the latest revision of the ``sleep360`` task definition on the specified container instance in the default cluster. :: aws ecs start-task \ --task-definition sleep360 \ @@ -11,10 +11,10 @@ Output:: { "tasks": [ { - "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", - "clusterArn": "arn:aws:ecs:us-west-2:130757420319:cluster/default", - "taskDefinitionArn": "arn:aws:ecs:us-west-2:130757420319:task-definition/sleep360:3", - "containerInstanceArn": "arn:aws:ecs:us-west-2:130757420319:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", + "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/sleep360:3", + "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", "overrides": { "containerOverrides": [ { @@ -28,8 +28,8 @@ Output:: "memory": "128", "containers": [ { - "containerArn": "arn:aws:ecs:us-west-2:130757420319:container/75f11ed4-8a3d-4f26-a33b-ad1db9e02d41", - "taskArn": "arn:aws:ecs:us-west-2:130757420319:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", + "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/75f11ed4-8a3d-4f26-a33b-ad1db9e02d41", + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/666fdccc2e2d4b6894dd422f4eeee8f8", "name": "sleep", "lastStatus": "PENDING", "networkInterfaces": [], @@ -47,3 +47,123 @@ Output:: ], "failures": [] } + +For more information, see `Schedule your containers on Amazon ECS `__ in the *Amazon ECS Developer Guide*. + +**Example 2: To configure an Amazon EBS volume at task start** + +The following ``start-task`` example configures an encrypted Amazon EBS volume for a task on the specified container instance. You must have an Amazon ECS infrastructure role configured with the ``AmazonECSInfrastructureRolePolicyForVolumes`` managed policy attached. You must specify a task definition with the same volume name as in the ``start-task`` request. This example uses the ``--cli-input-json`` option and a JSON input file called ``ebs.json`` with the following content. :: + + aws ecs start-task \ + --cli-input-json file://ebs.json \ + --container-instances 765936fadbdd46b5991a4bd70c2a43d4 + +Contents of ``ebs.json``:: + + { + "cluster": "default", + "taskDefinition": "mytaskdef", + "networkConfiguration":{ + "awsvpcConfiguration":{ + "assignPublicIp": "ENABLED", + "securityGroups": ["sg-12344321"], + "subnets":["subnet-12344321"] + } + }, + "volumeConfigurations": [ + { + "name": "myEBSVolume", + "managedEBSVolume": { + "volumeType": "gp3", + "sizeInGiB": 100, + "roleArn":"arn:aws:iam::123456789012:role/ecsInfrastructureRole", + "encrypted": true, + "kmsKeyId": "arn:aws:kms:region:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" + } + } + ] + } + +Output:: + + { + "tasks": [ + { + "attachments": [ + { + "id": "aea29489-9dcd-49f1-8164-4d91566e1113", + "type": "ElasticNetworkInterface", + "status": "PRECREATED", + "details": [ + { + "name": "subnetId", + "value": "subnet-12344321" + } + ] + }, + { + "id": "f29e1222-9a1e-410f-b499-a12a7cd6d42e", + "type": "AmazonElasticBlockStorage", + "status": "CREATED", + "details": [ + { + "name": "roleArn", + "value": "arn:aws:iam::123456789012:role/ecsInfrastructureRole" + }, + { + "name": "volumeName", + "value": "myEBSVolume" + }, + { + "name": "deleteOnTermination", + "value": "true" + } + ] + } + ], + "attributes": [ + { + "name": "ecs.cpu-architecture", + "value": "arm64" + } + ], + "availabilityZone": "us-west-2c", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/default", + "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/default/765936fadbdd46b5991a4bd70c2a43d4", + "containers": [ + { + "containerArn": "arn:aws:ecs:us-west-2:123456789012:container/default/bb122ace3ed84add92c00a351a03c69e/a4a9ed10-51c7-4567-9653-50e71b94f867", + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/bb122ace3ed84add92c00a351a03c69e", + "name": "container-using-ebs", + "image": "amazonlinux:2", + "lastStatus": "PENDING", + "networkInterfaces": [], + "cpu": "0" + } + ], + "cpu": "1024", + "createdAt": "2025-01-23T14:51:05.191000-06:00", + "desiredStatus": "RUNNING", + "enableExecuteCommand": false, + "group": "family:mytaskdef", + "lastStatus": "PROVISIONING", + "launchType": "EC2", + "memory": "3072", + "overrides": { + "containerOverrides": [ + { + "name": "container-using-ebs" + } + ], + "inferenceAcceleratorOverrides": [] + }, + "tags": [], + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/default/bb122ace3ed84add92c00a351a03c69e", + "taskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:4", + "version": 1 + } + ], + "failures": [] + } + +For more information, see `Use Amazon EBS volumes with Amazon ECS `__ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/update-cluster-settings.rst b/awscli/examples/ecs/update-cluster-settings.rst index c9f317150878..839ae0d754a0 100644 --- a/awscli/examples/ecs/update-cluster-settings.rst +++ b/awscli/examples/ecs/update-cluster-settings.rst @@ -1,16 +1,16 @@ **To modify the settings for your cluster** -The following ``update-cluster-settings`` example enables CloudWatch Container Insights for the ``default`` cluster. :: +The following ``update-cluster-settings`` example enables CloudWatch Container Insights with enhanced observability for the ``MyCluster`` cluster. :: aws ecs update-cluster-settings \ - --cluster default \ - --settings name=containerInsights,value=enabled + --cluster MyCluster \ + --settings name=containerInsights,value=enhanced Output:: { "cluster": { - "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/MyCluster", + "clusterArn": "arn:aws:ecs:us-esat-1:123456789012:cluster/MyCluster", "clusterName": "default", "status": "ACTIVE", "registeredContainerInstancesCount": 0, @@ -22,10 +22,10 @@ Output:: "settings": [ { "name": "containerInsights", - "value": "enabled" + "value": "enhanced" } ] } } -For more information, see `Modifying Account Settings `__ in the *Amazon ECS Developer Guide*. \ No newline at end of file +For more information, see `Modifying Account Settings `__ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/update-cluster.rst b/awscli/examples/ecs/update-cluster.rst new file mode 100644 index 000000000000..4bd1c90bcc4a --- /dev/null +++ b/awscli/examples/ecs/update-cluster.rst @@ -0,0 +1,176 @@ +**Example 1: Update ECS cluster enabling containerInsights** + +The following ``update-cluster`` updates the containerInsights value to ``enabled`` in an already created cluster. By default, it is disabled. :: + + aws ecs update-cluster \ + --cluster ECS-project-update-cluster \ + --settings name=containerInsights,value=enabled + +Output:: + + "cluster": { + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/ECS-project-update-cluster", + "clusterName": "ECS-project-update-cluster", + "status": "ACTIVE", + "registeredContainerInstancesCount": 0, + "runningTasksCount": 0, + "pendingTasksCount": 0, + "activeServicesCount": 0, + "statistics": [], + "tags": [], + "settings": [ + { + "name": "containerInsights", + "value": "enabled" + } + ], + "capacityProviders": [ + "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" + ], + "defaultCapacityProviderStrategy": [ + { + "capacityProvider": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", + "weight": 1, + "base": 0 + } + ], + "attachments": [ + { + "id": "069d002b-7634-42e4-b1d4-544f4c8f6380", + "type": "as_policy", + "status": "CREATED", + "details": [ + { + "name": "capacityProviderName", + "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" + }, + { + "name": "scalingPolicyName", + "value": "ECSManagedAutoScalingPolicy-152363a6-8c65-484c-b721-42c3e070ae93" + } + ] + }, + { + "id": "08b5b6ca-45e9-4209-a65d-e962a27c490a", + "type": "managed_draining", + "status": "CREATED", + "details": [ + { + "name": "capacityProviderName", + "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" + }, + { + "name": "autoScalingLifecycleHookName", + "value": "ecs-managed-draining-termination-hook" + } + ] + }, + { + "id": "45d0b36f-8cff-46b6-9380-1288744802ab", + "type": "sc", + "status": "ATTACHED", + "details": [] + } + ], + "attachmentsStatus": "UPDATE_COMPLETE", + "serviceConnectDefaults": { + "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-igwrsylmy3kwvcdx" + } + } + + +**Example 2: Update ECS cluster to set a default Service Connect namespace** + +The following ``update-cluster`` updates ECS cluster by setting a default Service Connect namespace. :: + + aws ecs update-cluster \ + --cluster ECS-project-update-cluster \ + --service-connect-defaults namespace=test + +Output:: + + { + "cluster": { + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/ECS-project-update-cluster", + "clusterName": "ECS-project-update-cluster", + "status": "ACTIVE", + "registeredContainerInstancesCount": 0, + "runningTasksCount": 0, + "pendingTasksCount": 0, + "activeServicesCount": 0, + "statistics": [], + "tags": [], + "settings": [ + { + "name": "containerInsights", + "value": "enabled" + } + ], + "capacityProviders": [ + "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" + ], + "defaultCapacityProviderStrategy": [ + { + "capacityProvider": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt", + "weight": 1, + "base": 0 + } + ], + "attachments": [ + { + "id": "069d002b-7634-42e4-b1d4-544f4c8f6380", + "type": "as_policy", + "status": "CREATED", + "details": [ + { + "name": "capacityProviderName", + "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" + }, + { + "name": "scalingPolicyName", + "value": "ECSManagedAutoScalingPolicy-152363a6-8c65-484c-b721-42c3e070ae93" + } + ] + }, + { + "id": "08b5b6ca-45e9-4209-a65d-e962a27c490a", + "type": "managed_draining", + "status": "CREATED", + "details": [ + { + "name": "capacityProviderName", + "value": "Infra-ECS-Cluster-ECS-project-update-cluster-d6bb6d5b-EC2CapacityProvider-3fIpdkLywwFt" + }, + { + "name": "autoScalingLifecycleHookName", + "value": "ecs-managed-draining-termination-hook" + } + ] + }, + { + "id": "45d0b36f-8cff-46b6-9380-1288744802ab", + "type": "sc", + "status": "DELETED", + "details": [] + }, + { + "id": "3e6890c3-609c-4832-91de-d6ca891b3ef1", + "type": "sc", + "status": "ATTACHED", + "details": [] + }, + { + "id": "961b8ec1-c2f1-4070-8495-e669b7668e90", + "type": "sc", + "status": "DELETED", + "details": [] + } + ], + "attachmentsStatus": "UPDATE_COMPLETE", + "serviceConnectDefaults": { + "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-dtjmxqpfi46ht7dr" + } + } + } + +For more information on Service Connect, see `Use Service Connect to connect Amazon ECS services with short names `__ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/update-service.rst b/awscli/examples/ecs/update-service.rst index ac872373e45c..f23a8d572950 100644 --- a/awscli/examples/ecs/update-service.rst +++ b/awscli/examples/ecs/update-service.rst @@ -2,12 +2,750 @@ The following ``update-service`` example updates the ``my-http-service`` service to use the ``amazon-ecs-sample`` task definition. :: - aws ecs update-service --service my-http-service --task-definition amazon-ecs-sample + aws ecs update-service \ + --cluster test \ + --service my-http-service \ + --task-definition amazon-ecs-sample + +Output:: + + { + "service": { + "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/test/my-http-service", + "serviceName": "my-http-service", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/test", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 2, + "runningCount": 2, + "pendingCount": 0, + "launchType": "FARGATE", + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:2", + "deploymentConfiguration": { + "deploymentCircuitBreaker": { + "enable": true, + "rollback": true + }, + "maximumPercent": 200, + "minimumHealthyPercent": 100, + "alarms": { + "alarmNames": [], + "rollback": false, + "enable": false + } + }, + "deployments": [ + { + "id": "ecs-svc/7419115625193919142", + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/amazon-ecs-sample:2", + "desiredCount": 0, + "pendingCount": 0, + "runningCount": 0, + "failedTasks": 0, + "createdAt": "2025-02-21T13:26:02.734000-06:00", + "updatedAt": "2025-02-21T13:26:02.734000-06:00", + "launchType": "FARGATE", + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "rolloutState": "IN_PROGRESS", + "rolloutStateReason": "ECS deployment ecs-svc/7419115625193919142 in progress." + }, + { + "id": "ecs-svc/1709597507655421668", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/old-amazon-ecs-sample:4", + "desiredCount": 2, + "pendingCount": 0, + "runningCount": 2, + "failedTasks": 0, + "createdAt": "2025-01-24T11:13:07.621000-06:00", + "updatedAt": "2025-02-02T16:11:30.838000-06:00", + "launchType": "FARGATE", + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "rolloutState": "COMPLETED", + "rolloutStateReason": "ECS deployment ecs-svc/1709597507655421668 completed." + } + ], + "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "events": [ + { + "id": "e40b4d1c-80d9-4834-aaf3-6a268e530e17", + "createdAt": "2025-02-21T10:31:26.037000-06:00", + "message": "(my-http-service) has reached a steady state." + }, + { + "id": "6ac069ad-fc8b-4e49-a35d-b5574a964c8e", + "createdAt": "2025-02-21T04:31:22.703000-06:00", + "message": "(my-http-service) has reached a steady state." + }, + { + "id": "265f7d37-dfd1-4880-a846-ec486f341919", + "createdAt": "2025-02-20T22:31:22.514000-06:00", + "message": "(my-http-service) has reached a steady state." + } + ], + "createdAt": "2024-10-30T17:12:43.218000-05:00", + "placementConstraints": [], + "placementStrategy": [], + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321", + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "healthCheckGracePeriodSeconds": 0, + "schedulingStrategy": "REPLICA", + "deploymentController": { + "type": "ECS" + }, + "createdBy": "arn:aws:iam::123456789012:role/AIDACKCEVSQ6C2EXAMPLE", + "enableECSManagedTags": true, + "propagateTags": "NONE", + "enableExecuteCommand": false, + "availabilityZoneRebalancing": "DISABLED" + } + } + +For more information, see `Update an Amazon ECS service using the console `__ in the *Amazon ECS Developer Guide*. **Example 2: To change the number of tasks in a service** -The following ``update-service`` example updates the desired task count of the service ``my-http-service`` to 3. :: +The following ``update-service`` example updates the desired task count of the service ``my-http-service`` from to 2. :: + + aws ecs update-service \ + --cluster MyCluster \ + --service my-http-service \ + --desired-count 2 + +Output:: + + { + "service": { + "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/MyCluster/my-http-service", + "serviceName": "my-http-service", + "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 2, + "runningCount": 1, + "pendingCount": 0, + "capacityProviderStrategy": [ + { + "capacityProvider": "FARGATE", + "weight": 1, + "base": 0 + } + ], + "platformVersion": "LATEST", + "platformFamily": "Linux", + "taskDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/MyTaskDefinition", + "deploymentConfiguration": { + "deploymentCircuitBreaker": { + "enable": true, + "rollback": true + }, + "maximumPercent": 200, + "minimumHealthyPercent": 100, + "alarms": { + "alarmNames": [], + "rollback": false, + "enable": false + } + }, + "deployments": [ + { + "id": "ecs-svc/1976744184940610707", + "status": "PRIMARY", + "taskkDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/MyTaskDefinition", + "desiredCount": 1, + "pendingCount": 0, + "runningCount": 1, + "failedTasks": 0, + "createdAt": "2024-12-03T16:24:25.225000-05:00", + "updatedAt": "2024-12-03T16:25:15.837000-05:00", + "capacityProviderStrategy": [ + { + "capacityProvider": "FARGATE", + "weight": 1, + "base": 0 + } + ], + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-0d0eab1bb38d5ca64", + "subnet-0db5010045995c2d5" + ], + "securityGroups": [ + "sg-02556bf85a191f59a" + ], + "assignPublicIp": "ENABLED" + } + }, + "rolloutState": "COMPLETED", + "rolloutStateReason": "ECS deployment ecs-svc/1976744184940610707 completed." + } + ], + "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "events": [ + { + "id": "f27350b9-4b2a-4e2e-b72e-a4b68380de45", + "createdAt": "2024-12-30T13:24:07.345000-05:00", + "message": "(service my-http-service) has reached a steady state." + }, + { + "id": "e764ec63-f53f-45e3-9af2-d99f922d2957", + "createdAt": "2024-12-30T12:32:21.600000-05:00", + "message": "(service my-http-service) has reached a steady state." + }, + { + "id": "28444756-c2fa-47f8-bd60-93a8e05f3991", + "createdAt": "2024-12-08T19:26:10.367000-05:00", + "message": "(service my-http-service) has reached a steady state." + } + ], + "createdAt": "2024-12-03T16:24:25.225000-05:00", + "placementConstraints": [], + "placementStrategy": [], + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-0d0eab1bb38d5ca64", + "subnet-0db5010045995c2d5" + ], + "securityGroups": [ + "sg-02556bf85a191f59a" + ], + "assignPublicIp": "ENABLED" + } + }, + "healthCheckGracePeriodSeconds": 0, + "schedulingStrategy": "REPLICA", + "deploymentController": { + "type": "ECS" + }, + "createdBy": "arn:aws:iam::123456789012:role/Admin", + "enableECSManagedTags": true, + "propagateTags": "NONE", + "enableExecuteCommand": false, + "availabilityZoneRebalancing": "ENABLED" + } + } + +For more information, see `Updating an Amazon ECS service using the console `__ in the *Amazon ECS Developer Guide*. + +**Example 3: To configure Amazon EBS volumes for attachment at service update** + +The following ``update-service`` example updates the service ``my-http-service`` to use Amazon EBS volumes. You must have an Amazon ECS infrastructure role configured with the ``AmazonECSInfrastructureRolePolicyForVolumes`` managed policy attached. You must also specify a task definition with the same volume name as in the ``update-service`` request and with ``configuredAtLaunch`` set to ``true``. This example uses the ``--cli-input-json`` option and a JSON input file called ``ebs.json``. :: + + aws ecs update-service \ + --cli-input-json file://ebs.json + +Contents of ``ebs.json``:: + + { + "cluster": "mycluster", + "taskDefinition": "mytaskdef", + "service": "my-http-service", + "desiredCount": 2, + "volumeConfigurations": [ + { + "name": "myEbsVolume", + "managedEBSVolume": { + "roleArn":"arn:aws:iam::123456789012:role/ecsInfrastructureRole", + "volumeType": "gp3", + "sizeInGiB": 100, + "iops": 3000, + "throughput": 125, + "filesystemType": "ext4" + } + } + ] + } + +Output:: + + { + "service": { + "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/mycluster/my-http-service", + "serviceName": "my-http-service", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/mycluster", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 2, + "runningCount": 2, + "pendingCount": 0, + "launchType": "FARGATE", + "platformVersion": "LATEST", + "platformFamily": "Linux", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:1", + "deploymentConfiguration": { + "deploymentCircuitBreaker": { + "enable": true, + "rollback": true + }, + "maximumPercent": 200, + "minimumHealthyPercent": 100, + "alarms": { + "alarmNames": [], + "rollback": false, + "enable": false + } + }, + "deployments": [ + { + "id": "ecs-svc/2420458347226626275", + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:1", + "desiredCount": 0, + "pendingCount": 0, + "runningCount": 0, + "failedTasks": 0, + "createdAt": "2025-02-21T15:07:20.519000-06:00", + "updatedAt": "2025-02-21T15:07:20.519000-06:00", + "launchType": "FARGATE", + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321", + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "rolloutState": "IN_PROGRESS", + "rolloutStateReason": "ECS deployment ecs-svc/2420458347226626275 in progress.", + "volumeConfigurations": [ + { + "name": "ebs-volume", + "managedEBSVolume": { + "volumeType": "gp3", + "sizeInGiB": 100, + "iops": 3000, + "throughput": 125, + "roleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", + "filesystemType": "ext4" + } + } + ] + }, + { + "id": "ecs-svc/5191625155316533644", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:2", + "desiredCount": 2, + "pendingCount": 0, + "runningCount": 2, + "failedTasks": 0, + "createdAt": "2025-02-21T14:54:48.862000-06:00", + "updatedAt": "2025-02-21T14:57:22.502000-06:00", + "launchType": "FARGATE", + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "rolloutState": "COMPLETED", + "rolloutStateReason": "ECS deployment ecs-svc/5191625155316533644 completed." + } + ], + "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "events": [ + { + "id": "b5823113-c2c5-458e-9649-8c2ed38f23a5", + "createdAt": "2025-02-21T14:57:22.508000-06:00", + "message": "(service my-http-service) has reached a steady state." + }, + { + "id": "b05a48e8-da35-4074-80aa-37ceb3167357", + "createdAt": "2025-02-21T14:57:22.507000-06:00", + "message": "(service my-http-service) (deployment ecs-svc/5191625155316533644) deployment completed." + }, + { + "id": "a10cd55d-4ba6-4cea-a655-5a5d32ada8a0", + "createdAt": "2025-02-21T14:55:32.833000-06:00", + "message": "(service my-http-service) has started 1 tasks: (task fb9c8df512684aec92f3c57dc3f22361)." + }, + ], + "createdAt": "2025-02-21T14:54:48.862000-06:00", + "placementConstraints": [], + "placementStrategy": [], + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "healthCheckGracePeriodSeconds": 0, + "schedulingStrategy": "REPLICA", + "deploymentController": { + "type": "ECS" + }, + "createdBy": "arn:aws:iam::123456789012:role/AIDACKCEVSQ6C2EXAMPLE", + "enableECSManagedTags": true, + "propagateTags": "NONE", + "enableExecuteCommand": false, + "availabilityZoneRebalancing": "ENABLED" + } + } + + +For more information, see `Use Amazon EBS volumes with Amazon ECS `__ in the *Amazon ECS Developer Guide*. + +**Example 4: To update a service to no longer use Amazon EBS volumes** + +The following ``update-service`` example updates the service ``my-http-service`` to no longer use Amazon EBS volumes. You must specify a task definition revision with ``configuredAtLaunch`` set to ``false``. :: + + aws ecs update-service \ + --cluster mycluster \ + --task-definition mytaskdef \ + --service my-http-service \ + --desired-count 2 \ + --volume-configurations "[]" + +Output:: + + { + "service": { + "serviceArn": "arn:aws:ecs:us-west-2:123456789012:service/mycluster/my-http-service", + "serviceName": "my-http-service", + "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/mycluster", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 2, + "runningCount": 2, + "pendingCount": 0, + "launchType": "FARGATE", + "platformVersion": "LATEST", + "platformFamily": "Linux", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:3", + "deploymentConfiguration": { + "deploymentCircuitBreaker": { + "enable": true, + "rollback": true + }, + "maximumPercent": 200, + "minimumHealthyPercent": 100, + "alarms": { + "alarmNames": [], + "rollback": false, + "enable": false + } + }, + "deployments": [ + { + "id": "ecs-svc/7522791612543716777", + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/mytaskdef:3", + "desiredCount": 0, + "pendingCount": 0, + "runningCount": 0, + "failedTasks": 0, + "createdAt": "2025-02-21T15:25:38.598000-06:00", + "updatedAt": "2025-02-21T15:25:38.598000-06:00", + "launchType": "FARGATE", + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "rolloutState": "IN_PROGRESS", + "rolloutStateReason": "ECS deployment ecs-svc/7522791612543716777 in progress." + }, + { + "id": "ecs-svc/2420458347226626275", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-west-2:123456789012:task-definition/myoldtaskdef:1", + "desiredCount": 2, + "pendingCount": 0, + "runningCount": 2, + "failedTasks": 0, + "createdAt": "2025-02-21T15:07:20.519000-06:00", + "updatedAt": "2025-02-21T15:10:59.955000-06:00", + "launchType": "FARGATE", + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "rolloutState": "COMPLETED", + "rolloutStateReason": "ECS deployment ecs-svc/2420458347226626275 completed.", + "volumeConfigurations": [ + { + "name": "ebs-volume", + "managedEBSVolume": { + "volumeType": "gp3", + "sizeInGiB": 100, + "iops": 3000, + "throughput": 125, + "roleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", + "filesystemType": "ext4" + } + } + ] + } + ], + "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "events": [ + { + "id": "4f2c3ca1-7800-4048-ba57-bba210ada2ad", + "createdAt": "2025-02-21T15:10:59.959000-06:00", + "message": "(service my-http-service) has reached a steady state." + }, + { + "id": "4b36a593-2d40-4ed6-8be8-b9b699eb6198", + "createdAt": "2025-02-21T15:10:59.958000-06:00", + "message": "(service my-http-service) (deployment ecs-svc/2420458347226626275) deployment completed." + }, + { + "id": "88380089-14e2-4ef0-8dbb-a33991683371", + "createdAt": "2025-02-21T15:09:39.055000-06:00", + "message": "(service my-http-service) has stopped 1 running tasks: (task fb9c8df512684aec92f3c57dc3f22361)." + }, + { + "id": "97d84243-d52f-4255-89bb-9311391c61f6", + "createdAt": "2025-02-21T15:08:57.653000-06:00", + "message": "(service my-http-service) has stopped 1 running tasks: (task 33eff090ad2c40539daa837e6503a9bc)." + }, + { + "id": "672ece6c-e2d0-4021-b5da-eefb14001687", + "createdAt": "2025-02-21T15:08:15.631000-06:00", + "message": "(service my-http-service) has started 1 tasks: (task 996c02a66ff24f3190a4a8e0c841740f)." + }, + { + "id": "a3cf9bea-9be6-4175-ac28-4c68360986eb", + "createdAt": "2025-02-21T15:07:36.931000-06:00", + "message": "(service my-http-service) has started 1 tasks: (task d5d23c39f89e46cf9a647b9cc6572feb)." + }, + { + "id": "b5823113-c2c5-458e-9649-8c2ed38f23a5", + "createdAt": "2025-02-21T14:57:22.508000-06:00", + "message": "(service my-http-service) has reached a steady state." + }, + { + "id": "b05a48e8-da35-4074-80aa-37ceb3167357", + "createdAt": "2025-02-21T14:57:22.507000-06:00", + "message": "(service my-http-service) (deployment ecs-svc/5191625155316533644) deployment completed." + }, + { + "id": "a10cd55d-4ba6-4cea-a655-5a5d32ada8a0", + "createdAt": "2025-02-21T14:55:32.833000-06:00", + "message": "(service my-http-service) has started 1 tasks: (task fb9c8df512684aec92f3c57dc3f22361)." + }, + { + "id": "42da91fa-e26d-42ef-88c3-bb5965c56b2f", + "createdAt": "2025-02-21T14:55:02.703000-06:00", + "message": "(service my-http-service) has started 1 tasks: (task 33eff090ad2c40539daa837e6503a9bc)." + } + ], + "createdAt": "2025-02-21T14:54:48.862000-06:00", + "placementConstraints": [], + "placementStrategy": [], + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-12344321" + ], + "securityGroups": [ + "sg-12344321" + ], + "assignPublicIp": "ENABLED" + } + }, + "healthCheckGracePeriodSeconds": 0, + "schedulingStrategy": "REPLICA", + "deploymentController": { + "type": "ECS" + }, + "createdBy": "arn:aws:iam::123456789012:role/AIDACKCEVSQ6C2EXAMPLE", + "enableECSManagedTags": true, + "propagateTags": "NONE", + "enableExecuteCommand": false, + "availabilityZoneRebalancing": "ENABLED" + } + } + +For more information, see `Use Amazon EBS volumes with Amazon ECS `__ in the *Amazon ECS Developer Guide*. + +**Example 5: To turn on Availability Zone rebalancing for a service** + +The following ``update-service`` example turns on Availability Zone rebalancing for the service ``my-http-service``. :: + + aws ecs update-service \ + --cluster MyCluster \ + --service my-http-service \ + --availability-zone-rebalancing ENABLED + +Output:: - aws ecs update-service --service my-http-service --desired-count 3 + { + "service": { + "serviceArn": "arn:aws:ecs:us-east-1:123456789012:service/MyCluster/my-http-service", + "serviceName": "my-http-service", + "clusterArn": "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", + "loadBalancers": [], + "serviceRegistries": [], + "status": "ACTIVE", + "desiredCount": 2, + "runningCount": 1, + "pendingCount": 0, + "capacityProviderStrategy": [ + { + "capacityProvider": "FARGATE", + "weight": 1, + "base": 0 + } + ], + "platformVersion": "LATEST", + "platformFamily": "Linux", + "taskDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/MyTaskDefinition", + "deploymentConfiguration": { + "deploymentCircuitBreaker": { + "enable": true, + "rollback": true + }, + "maximumPercent": 200, + "minimumHealthyPercent": 100, + "alarms": { + "alarmNames": [], + "rollback": false, + "enable": false + } + }, + "deployments": [ + { + "id": "ecs-svc/1976744184940610707", + "status": "PRIMARY", + "taskkDefinition": "arn:aws:ecs:us-east-1:123456789012:task-definition/MyTaskDefinition", + "desiredCount": 1, + "pendingCount": 0, + "runningCount": 1, + "failedTasks": 0, + "createdAt": "2024-12-03T16:24:25.225000-05:00", + "updatedAt": "2024-12-03T16:25:15.837000-05:00", + "capacityProviderStrategy": [ + { + "capacityProvider": "FARGATE", + "weight": 1, + "base": 0 + } + ], + "platformVersion": "1.4.0", + "platformFamily": "Linux", + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-0d0eab1bb38d5ca64", + "subnet-0db5010045995c2d5" + ], + "securityGroups": [ + "sg-02556bf85a191f59a" + ], + "assignPublicIp": "ENABLED" + } + }, + "rolloutState": "COMPLETED", + "rolloutStateReason": "ECS deployment ecs-svc/1976744184940610707 completed." + } + ], + "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "events": [], + "createdAt": "2024-12-03T16:24:25.225000-05:00", + "placementConstraints": [], + "placementStrategy": [], + "networkConfiguration": { + "awsvpcConfiguration": { + "subnets": [ + "subnet-0d0eab1bb38d5ca64", + "subnet-0db5010045995c2d5" + ], + "securityGroups": [ + "sg-02556bf85a191f59a" + ], + "assignPublicIp": "ENABLED" + } + }, + "healthCheckGracePeriodSeconds": 0, + "schedulingStrategy": "REPLICA", + "deploymentController": { + "type": "ECS" + }, + "createdBy": "arn:aws:iam::123456789012:role/Admin", + "enableECSManagedTags": true, + "propagateTags": "NONE", + "enableExecuteCommand": false, + "availabilityZoneRebalancing": "ENABLED" + } + } -For more information, see `Updating a Service `_ in the *Amazon ECS Developer Guide*. \ No newline at end of file +For more information, see `Updating an Amazon ECS service using the console `__ in the *Amazon ECS Developer Guide*. diff --git a/awscli/examples/ecs/update-task-protection.rst b/awscli/examples/ecs/update-task-protection.rst new file mode 100644 index 000000000000..6637b009847e --- /dev/null +++ b/awscli/examples/ecs/update-task-protection.rst @@ -0,0 +1,46 @@ +**Example 1: Enable task protection for ECS tasks** + +The following ``update-task-protection`` protects your ECS task from termination during scale-in from Deployments or Service AutoScaling. You can specify custom expiration period for task protection from 1 up to 2,880 minutes (48 hours). If you do not specify expiration period, enabling task protection default time is 2 hours. :: + + aws ecs update-task-protection \ + --cluster ECS-project-update-cluster \ + --tasks c43ed3b1331041f289316f958adb6a24 \ + --protection-enabled \ + --expires-in-minutes 300 + +Output:: + + { + "protectedTasks": [ + { + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", + "protectionEnabled": true, + "expirationDate": "2024-09-14T19:53:36.687000-05:00" + } + ], + "failures": [] + } + +**Example 2: Disable task protection for ECS tasks** + +The following ``update-task-protection`` disables the tasks protected from scale in from Deployments or Service AutoScaling. :: + + aws ecs update-task-protection \ + --cluster ECS-project-update-cluster \ + --tasks c43ed3b1331041f289316f958adb6a24 \ + --no-protection-enabled + +Output:: + + { + "protectedTasks": [ + { + "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/c43ed3b1331041f289316f958adb6a24", + "protectionEnabled": false + } + ], + "failures": [] + } + +For more formation on task protection, see `Protect your Amazon ECS tasks from being terminated by scale-in events `__ in the *Amazon ECS Developer Guide*. + diff --git a/awscli/examples/ecs/wait/services-inactive.rst b/awscli/examples/ecs/wait/services-inactive.rst new file mode 100644 index 000000000000..91d0050788c5 --- /dev/null +++ b/awscli/examples/ecs/wait/services-inactive.rst @@ -0,0 +1,9 @@ +**Wait until an ECS service becomes inactive** + +The following ``service-inactive`` example waits until ECS services becomes inactive in the cluster. :: + + aws ecs wait services-inactive \ + --cluster MyCluster \ + --services MyService + +This command produces no output. diff --git a/awscli/examples/ecs/wait/services-stable.rst b/awscli/examples/ecs/wait/services-stable.rst index 4ef1dea77f83..78bc6b3f8c74 100644 --- a/awscli/examples/ecs/wait/services-stable.rst +++ b/awscli/examples/ecs/wait/services-stable.rst @@ -4,12 +4,4 @@ The following ``wait`` example pauses and continues only after it can confirm th aws ecs wait services-stable \ --cluster MyCluster \ - --services MyService - -**Example 2: To pause running until a task is confirmed to be running** - -The following ``wait`` example pauses and continues only after the specified task enters a ``RUNNING`` state. :: - - aws ecs wait services-stable \ - --cluster MyCluster \ - --tasks arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-44444EXAMPLE \ No newline at end of file + --services MyService \ No newline at end of file diff --git a/awscli/examples/ecs/wait/task-stopped.rst b/awscli/examples/ecs/wait/task-stopped.rst new file mode 100644 index 000000000000..80f6042d9c61 --- /dev/null +++ b/awscli/examples/ecs/wait/task-stopped.rst @@ -0,0 +1,22 @@ +**Example 1: Wait until an ECS task is in stopped state** + +The following ``wait tasks-stopped`` example waits until the provided tasks in the command are in a stopped state. You can pass IDs or full ARN of the tasks. This example uses ID of the task. :: + + aws ecs wait tasks-stopped \ + --cluster MyCluster \ + --tasks 2c196f0a00dd4f58b7c8897a5c7bce13 + +This command produces no output. + +**Example 2: Wait until multiple ECS tasks are in stopped state** + +The following ``wait tasks-stopped`` example waits until the multiple tasks provided in the command are in a stopped state. You can pass IDs or full ARN of the tasks. This example uses IDs of the tasks. :: + + aws ecs wait tasks-stopped \ + --cluster MyCluster \ + --tasks 2c196f0a00dd4f58b7c8897a5c7bce13 4d590253bb114126b7afa7b58EXAMPLE + +This command produces no output. + + + diff --git a/awscli/examples/ecs/wait/tasks-running.rst b/awscli/examples/ecs/wait/tasks-running.rst new file mode 100644 index 000000000000..cff10759d5d0 --- /dev/null +++ b/awscli/examples/ecs/wait/tasks-running.rst @@ -0,0 +1,7 @@ +**Example 1: To pause running until a task is confirmed to be running** + +The following ``wait`` example pauses and continues only after the specified task enters a ``RUNNING`` state. :: + + aws ecs wait tasks-running \ + --cluster MyCluster \ + --tasks arn:aws:ecs:us-west-2:123456789012:task/a1b2c3d4-5678-90ab-cdef-44444EXAMPLE \ No newline at end of file diff --git a/awscli/examples/eks/associate-access-policy.rst b/awscli/examples/eks/associate-access-policy.rst new file mode 100644 index 000000000000..d037a5915b7f --- /dev/null +++ b/awscli/examples/eks/associate-access-policy.rst @@ -0,0 +1,29 @@ +**To associate an access policy and its scope to the access entry of the cluster** + +The following ``associate-access-policy`` associates an access policy and its scope to the access entry of the specified cluster. :: + + aws eks associate-access-policy \ + --cluster-name eks-customer \ + --principal-arn arn:aws:iam::111122223333:role/Admin \ + --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy \ + --access-scope type=namespace,namespaces=default + +Output:: + + { + "clusterName": "eks-customer", + "principalArn": "arn:aws:iam::111122223333:role/Admin", + "associatedAccessPolicy": { + "policyArn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy", + "accessScope": { + "type": "namespace", + "namespaces": [ + "default" + ] + }, + "associatedAt": "2025-05-24T15:59:51.981000-05:00", + "modifiedAt": "2025-05-24T15:59:51.981000-05:00" + } + } + +For more information, see `Associate access policies with access entries `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/create-access-entry.rst b/awscli/examples/eks/create-access-entry.rst new file mode 100644 index 000000000000..ca323a1e5c3e --- /dev/null +++ b/awscli/examples/eks/create-access-entry.rst @@ -0,0 +1,54 @@ +**Example 1: To create the access entry for EKS cluster** + +The following ``create-access-entry`` example creates an access entry that allows an IAM principal to access the EKS cluster. :: + + aws eks create-access-entry \ + --cluster-name eks-customer \ + --principal-arn arn:aws:iam::111122223333:user/eks-user + +Output:: + + { + "accessEntry": { + "clusterName": "eks-customer", + "principalArn": "arn:aws:iam::111122223333:user/eks-user", + "kubernetesGroups": [], + "accessEntryArn": "arn:aws:eks:us-west-2:111122223333:access-entry/eks-customer/user/111122223333/eks-user/a1b2c3d4-5678-90ab-cdef-a6506e3d36p0", + "createdAt": "2025-04-14T22:45:48.097000-05:00", + "modifiedAt": "2025-04-14T22:45:48.097000-05:00", + "tags": {}, + "username": "arn:aws:iam::111122223333:user/eks-user", + "type": "STANDARD" + } + } + +For more information, see `Create access entries `__ in the *Amazon EKS User Guide*. + +**Example 2: To create the access entry for EKS cluster by specifying the type of access entry** + +The following ``create-access-entry`` example creates an access entry of type ``EC2_LINUX`` in the EKS cluster. By default, a type ``STANDARD`` access entry is created. Apart from the default, if we specify any other access entry types, an IAM role ARN needs to be passed in the CLI. :: + + aws eks create-access-entry \ + --cluster-name eks-customer \ + --principal-arn arn:aws:iam::111122223333:role/admin-test-ip \ + --type EC2_LINUX + +Output:: + + { + "accessEntry": { + "clusterName": "eks-customer", + "principalArn": "arn:aws:iam::111122223333:role/admin-test-ip", + "kubernetesGroups": [ + "system:nodes" + ], + "accessEntryArn": "arn:aws:eks:us-west-2:111122223333:access-entry/eks-customer/role/111122223333/admin-test-ip/accb5418-f493-f390-3e6e-c3f19f725fcp", + "createdAt": "2025-05-06T19:42:45.453000-05:00", + "modifiedAt": "2025-05-06T19:42:45.453000-05:00", + "tags": {}, + "username": "system:node:{{EC2PrivateDNSName}}", + "type": "EC2_LINUX" + } + } + +For more information, see `Create access entries `__ in the *Amazon EKS User Guide*. diff --git a/awscli/examples/eks/create-addon.rst b/awscli/examples/eks/create-addon.rst index 21ca920a100d..e7a55cddcfd1 100644 --- a/awscli/examples/eks/create-addon.rst +++ b/awscli/examples/eks/create-addon.rst @@ -1,6 +1,6 @@ -**Example 1: To create an Amazon EKS add-on with default compatibile version for the respective EKS cluster version** +**Example 1: To create an Amazon EKS add-on with default compatible version for the respective EKS cluster version** -The following ``create-addon`` example command creates an Amazon EKS add-on with default compatibile version for the respective EKS cluster version. :: +The following ``create-addon`` example command creates an Amazon EKS add-on with default compatible version for the respective EKS cluster version. :: aws eks create-addon \ --cluster-name my-eks-cluster \ diff --git a/awscli/examples/eks/create-pod-identity-association.rst b/awscli/examples/eks/create-pod-identity-association.rst new file mode 100644 index 000000000000..11bc04780219 --- /dev/null +++ b/awscli/examples/eks/create-pod-identity-association.rst @@ -0,0 +1,59 @@ +**Example 1: To create an EKS Pod Identity association in EKS cluster** + +The following ``create-pod-identity-association`` example creates an EKS Pod Identity association between a service account in the EKS cluster and an IAM role. :: + + aws eks create-pod-identity-association \ + --cluster-name eks-customer \ + --namespace default \ + --service-account default \ + --role-arn arn:aws:iam::111122223333:role/my-role + +Output:: + + { + "association": { + "clusterName": "eks-customer", + "namespace": "default", + "serviceAccount": "default", + "roleArn": "arn:aws:iam::111122223333:role/my-role", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-8mvwvh57cu74mgcst", + "associationId": "a-8mvwvh57cu74mgcst", + "tags": {}, + "createdAt": "2025-05-24T19:40:13.961000-05:00", + "modifiedAt": "2025-05-24T19:40:13.961000-05:00" + } + } + +For more information, see `Learn how EKS Pod Identity grants pods access to AWS services `__ in the *Amazon EKS User Guide*. + +**Example 2: To create an EKS Pod Identity association in EKS cluster with tags** + +The following ``create-pod-identity-association`` creates an EKS Pod Identity association between a service account and an IAM role in the EKS cluster with tags. :: + + aws eks create-pod-identity-association \ + --cluster-name eks-customer \ + --namespace default \ + --service-account default \ + --role-arn arn:aws:iam::111122223333:role/my-role \ + --tags Key1=value1,Key2=value2 + +Output:: + + { + "association": { + "clusterName": "eks-customer", + "namespace": "default", + "serviceAccount": "default", + "roleArn": "arn:aws:iam::111122223333:role/my-role", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgoda", + "associationId": "a-9njjin9gfghecgoda", + "tags": { + "Key2": "value2", + "Key1": "value1" + }, + "createdAt": "2025-05-24T19:52:14.135000-05:00", + "modifiedAt": "2025-05-24T19:52:14.135000-05:00" + } + } + +For more information, see `Learn how EKS Pod Identity grants pods access to AWS services `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/delete-access-entry.rst b/awscli/examples/eks/delete-access-entry.rst new file mode 100644 index 000000000000..2ea42889d712 --- /dev/null +++ b/awscli/examples/eks/delete-access-entry.rst @@ -0,0 +1,11 @@ +**To delete an access entry associated with the cluster** + +The following ``delete-access-entry`` deletes an access entry associated with the EKS cluster named ``eks-customer``. :: + + aws eks delete-access-entry \ + --cluster-name eks-customer \ + --principal-arn arn:aws:iam::111122223333:role/Admin + +This command produces no output. + +For more information, see `Delete access entries `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/delete-pod-identity-association.rst b/awscli/examples/eks/delete-pod-identity-association.rst new file mode 100644 index 000000000000..7e9330d37881 --- /dev/null +++ b/awscli/examples/eks/delete-pod-identity-association.rst @@ -0,0 +1,28 @@ +**To delete the EKS Pod Identity association** + +The following ``delete-pod-identity-association`` example deletes the EKS Pod Identity association with association ID ``a-9njjin9gfghecgocd`` from the EKS cluster named ``eks-customer``. :: + + aws eks delete-pod-identity-association \ + --cluster-name eks-customer \ + --association-id a-9njjin9gfghecgocd + +Output:: + + { + "association": { + "clusterName": "eks-customer", + "namespace": "default", + "serviceAccount": "default", + "roleArn": "arn:aws:iam::111122223333:role/s3-role", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgocd", + "associationId": "a-9njjin9gfghecgocd", + "tags": { + "Key2": "value2", + "Key1": "value1" + }, + "createdAt": "2025-05-24T19:52:14.135000-05:00", + "modifiedAt": "2025-05-25T21:10:56.923000-05:00" + } + } + +For more information, see `Learn how EKS Pod Identity grants pods access to AWS services `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/describe-access-entry.rst b/awscli/examples/eks/describe-access-entry.rst new file mode 100644 index 000000000000..7c3c9c568496 --- /dev/null +++ b/awscli/examples/eks/describe-access-entry.rst @@ -0,0 +1,25 @@ +**To describe the access entry for EKS cluster** + +The following ``describe-access-entry`` example describes an access entry for the EKS cluster. :: + + aws eks describe-access-entry \ + --cluster-name eks-customer \ + --principal-arn arn:aws:iam::111122223333:user/eks-admin-user + +Output:: + + { + "accessEntry": { + "clusterName": "eks-customer", + "principalArn": "arn:aws:iam::111122223333:user/eks-admin-user", + "kubernetesGroups": [], + "accessEntryArn": "arn:aws:eks:us-west-2:111122223333:access-entry/eks-customer/user/111122223333/eks-admin-user/0acb1bc6-cb0a-ede6-11ae-a6506e3d36p0", + "createdAt": "2025-04-14T22:45:48.097000-05:00", + "modifiedAt": "2025-04-14T22:45:48.097000-05:00", + "tags": {}, + "username": "arn:aws:iam::111122223333:user/eks-admin-user", + "type": "STANDARD" + } + } + +For more information, see `Grant IAM users access to Kubernetes with EKS access entries `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/describe-addon-configuration.rst b/awscli/examples/eks/describe-addon-configuration.rst new file mode 100644 index 000000000000..4c23cd473719 --- /dev/null +++ b/awscli/examples/eks/describe-addon-configuration.rst @@ -0,0 +1,33 @@ +**Example 1: Configuration options available when creating or updating Amazon vpc-cni AddOns** + +The following ``describe-addon-configuration`` example returns the all the available configuration schema you use when an add-on is created or updated for vpc-cni add-on with respective version. :: + + aws eks describe-addon-configuration \ + --addon-name vpc-cni \ + --addon-version v1.15.1-eksbuild.1 + +Output:: + + { + "addonName": "vpc-cni", + "addonVersion": "v1.15.1-eksbuild.1", + "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Affinity\":{\"type\":[\"object\",\"null\"]},\"EniConfig\":{\"additionalProperties\":false,\"properties\":{\"create\":{\"type\":\"boolean\"},\"region\":{\"type\":\"string\"},\"subnets\":{\"additionalProperties\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"},\"securityGroups\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"}},\"required\":[\"id\"],\"type\":\"object\"},\"minProperties\":1,\"type\":\"object\"}},\"required\":[\"create\",\"region\",\"subnets\"],\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"ANNOTATE_POD_IP\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_EC2_ENDPOINT\":{\"type\":\"string\"},\"AWS_EXTERNAL_SERVICE_CIDRS\":{\"type\":\"string\"},\"AWS_MANAGE_ENIS_NON_SCHEDULABLE\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"CLUSTER_ENDPOINT\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_LEAKED_ENI_CLEANUP\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_POD_V6\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_BANDWIDTH_PLUGIN\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V4_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V6_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENI_CONFIG_ANNOTATION_DEF\":{\"type\":\"string\"},\"ENI_CONFIG_LABEL_DEF\":{\"type\":\"string\"},\"INTROSPECTION_BIND_ADDRESS\":{\"type\":\"string\"},\"IP_COOLDOWN_PERIOD\":{\"format\":\"integer\",\"type\":\"string\"},\"MAX_ENI\":{\"format\":\"integer\",\"type\":\"string\"},\"MINIMUM_IP_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"POD_SECURITY_GROUP_ENFORCING_MODE\":{\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_IP_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"Init\":{\"additionalProperties\":false,\"properties\":{\"env\":{\"$ref\":\"#/definitions/InitEnv\"}},\"title\":\"Init\",\"type\":\"object\"},\"InitEnv\":{\"additionalProperties\":false,\"properties\":{\"DISABLE_TCP_EARLY_DEMUX\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V6_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"}},\"title\":\"InitEnv\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"NodeAgent\":{\"additionalProperties\":false,\"properties\":{\"enableCloudWatchLogs\":{\"format\":\"boolean\",\"type\":\"string\"},\"enablePolicyEventLogs\":{\"format\":\"boolean\",\"type\":\"string\"},\"healthProbeBindAddr\":{\"format\":\"integer\",\"type\":\"string\"},\"metricsBindAddr\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"NodeAgent\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"Tolerations\":{\"additionalProperties\":false,\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"affinity\":{\"$ref\":\"#/definitions/Affinity\"},\"enableNetworkPolicy\":{\"format\":\"boolean\",\"type\":\"string\"},\"enableWindowsIpam\":{\"format\":\"boolean\",\"type\":\"string\"},\"eniConfig\":{\"$ref\":\"#/definitions/EniConfig\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"init\":{\"$ref\":\"#/definitions/Init\"},\"livenessProbeTimeoutSeconds\":{\"type\":\"integer\"},\"nodeAgent\":{\"$ref\":\"#/definitions/NodeAgent\"},\"readinessProbeTimeoutSeconds\":{\"type\":\"integer\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"},\"tolerations\":{\"$ref\":\"#/definitions/Tolerations\"}},\"title\":\"VpcCni\",\"type\":\"object\"}},\"description\":\"vpc-cni\"}" + } + +**Example 2: Configuration options available when creating or updating Amazon coredns AddOns** + +The following ``describe-addon-configuration`` example returns all the available configuration schema you use when an add-on is created or updated for coredns add-on with respective version. :: + + aws eks describe-addon-configuration \ + --addon-name coredns \ + --addon-version v1.8.7-eksbuild.4 + +Output:: + + { + "addonName": "coredns", + "addonVersion": "v1.8.7-eksbuild.4", + "configurationSchema": "{\"$ref\":\"#/definitions/Coredns\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Coredns\":{\"additionalProperties\":false,\"properties\":{\"computeType\":{\"type\":\"string\"},\"corefile\":{\"description\":\"Entire corefile contents to use with installation\",\"type\":\"string\"},\"nodeSelector\":{\"additionalProperties\":{\"type\":\"string\"},\"type\":\"object\"},\"replicaCount\":{\"type\":\"integer\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"Coredns\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"}}}" + } + +For more information, see `Creating or updating a kubeconfig file for an Amazon EKS cluster `__ in the *Amazon EKS*. diff --git a/awscli/examples/eks/describe-addon-versions.rst b/awscli/examples/eks/describe-addon-versions.rst index 347d852629f8..1a2d53374cd1 100644 --- a/awscli/examples/eks/describe-addon-versions.rst +++ b/awscli/examples/eks/describe-addon-versions.rst @@ -52,9 +52,9 @@ Output:: For more information, see `Managing Amazon EKS add-ons - Creating an add-on `__ in the *Amazon EKS User Guide*. -**Example 2: List all the available addons for specified Kubernetes version suppoerted for EKS** +**Example 2: List all the available addons for specified Kubernetes version supported for EKS** -The following ``describe-addon-versions`` example list all the available addons for specified Kubernetes version suppoerted for EKS. :: +The following ``describe-addon-versions`` example list all the available addons for specified Kubernetes version supported for EKS. :: aws eks describe-addon-versions \ --kubernetes-version=1.26 \ @@ -102,9 +102,9 @@ Output:: For more information, see `Managing Amazon EKS add-ons - Creating an add-on `__ in the *Amazon EKS User Guide*. -**Example 3: List all the available vpc-cni addons version for specified Kubernetes version suppoerted for EKS** +**Example 3: List all the available vpc-cni addons version for specified Kubernetes version supported for EKS** -The following ``describe-addon-versions`` example list all the available vpc-cni addons version for specified Kubernetes version suppoerted for EKS. :: +The following ``describe-addon-versions`` example list all the available vpc-cni addons version for specified Kubernetes version supported for EKS. :: aws eks describe-addon-versions \ --kubernetes-version=1.26 \ diff --git a/awscli/examples/eks/describe-cluster.rst b/awscli/examples/eks/describe-cluster.rst index 273623d00cd9..4d68e6400134 100644 --- a/awscli/examples/eks/describe-cluster.rst +++ b/awscli/examples/eks/describe-cluster.rst @@ -3,7 +3,7 @@ The following ``describe-cluster`` example actively running EKS addon in your Amazon EKS cluster. :: aws eks describe-cluster \ - --cluster-name my-eks-cluster + --name my-eks-cluster Output:: diff --git a/awscli/examples/eks/describe-insight.rst b/awscli/examples/eks/describe-insight.rst new file mode 100644 index 000000000000..08927b6d2fc5 --- /dev/null +++ b/awscli/examples/eks/describe-insight.rst @@ -0,0 +1,36 @@ +**To get the details of an insight for an EKS cluster using its ID** + +The following ``describe-insight`` example returns the details about the insight specified using the cluster name and insight ID. :: + + aws eks describe-insight \ + --cluster-name eks-customer \ + --id 38ea7a64-a14f-4e0e-95c7-8dbcab3c3623 + +Output:: + + { + "insight": { + "id": "38ea7a64-a14f-4e0e-95c7-8dbcab3c3623", + "name": "Kubelet version skew", + "category": "UPGRADE_READINESS", + "kubernetesVersion": "1.33", + "lastRefreshTime": "2025-05-24T11:22:50-05:00", + "lastTransitionTime": "2025-05-24T11:22:50-05:00", + "description": "Checks for kubelet versions of worker nodes in the cluster to see if upgrade would cause noncompliance with supported Kubernetes kubelet version skew policy.", + "insightStatus": { + "status": "PASSING", + "reason": "Node kubelet versions match the cluster control plane version." + }, + "recommendation": "Upgrade your worker nodes to match the Kubernetes version of your cluster control plane.", + "additionalInfo": { + "Kubelet version skew policy": "https://kubernetes.io/releases/version-skew-policy/#kubelet", + "Updating a managed node group": "https://docs.aws.amazon.com/eks/latest/userguide/update-managed-node-group.html" + }, + "resources": [], + "categorySpecificSummary": { + "deprecationDetails": [] + } + } + } + +For more information, see `View cluster insights `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/describe-pod-identity-association.rst b/awscli/examples/eks/describe-pod-identity-association.rst new file mode 100644 index 000000000000..f5bea57e3269 --- /dev/null +++ b/awscli/examples/eks/describe-pod-identity-association.rst @@ -0,0 +1,28 @@ +**To provide the details about Pod Identity association** + +The following ``describe-pod-identity-association`` example describes a Pod Identity association in the EKS cluster. :: + + aws eks describe-pod-identity-association \ + --cluster-name eks-customer \ + --association-id a-9njjin9gfghecgocd + +Output:: + + { + "association": { + "clusterName": "eks-customer", + "namespace": "default", + "serviceAccount": "default", + "roleArn": "arn:aws:iam::111122223333:role/my-role", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgocd", + "associationId": "a-9njjin9gfghecgocd", + "tags": { + "Key2": "value2", + "Key1": "value1" + }, + "createdAt": "2025-05-24T19:52:14.135000-05:00", + "modifiedAt": "2025-05-24T19:52:14.135000-05:00" + } + } + +For more information, see `Learn how EKS Pod Identity grants pods access to AWS services `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/disassociate-access-policy.rst b/awscli/examples/eks/disassociate-access-policy.rst new file mode 100644 index 000000000000..f7f39ebfc74a --- /dev/null +++ b/awscli/examples/eks/disassociate-access-policy.rst @@ -0,0 +1,12 @@ +**To disassociate the access policy from an access entry** + +The following ``disassociate-access-policy`` removes the access policy associated with the access entry. :: + + aws eks disassociate-access-policy \ + --cluster-name eks-customer \ + --principal-arn arn:aws:iam::111122223333:role/Admin \ + --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy + +This command produces no output. + +For more information, see `Associate access policies with access entries `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/list-access-entries.rst b/awscli/examples/eks/list-access-entries.rst new file mode 100644 index 000000000000..0c13099329e4 --- /dev/null +++ b/awscli/examples/eks/list-access-entries.rst @@ -0,0 +1,19 @@ +**To list the access entries for an EKS cluster** + +The following ``list-access-entries`` returns the list of access entries associated with the EKS cluster ``eks-customer``. :: + + aws eks list-access-entries \ + --cluster-name eks-customer + +Output:: + + { + "accessEntries": [ + "arn:aws:iam::111122223333:role/Admin", + "arn:aws:iam::111122223333:role/admin-test-ip", + "arn:aws:iam::111122223333:role/assume-worker-node-role", + "arn:aws:iam::111122223333:user/eks-admin-user" + ] + } + +For more information, see `Grant IAM users access to Kubernetes with EKS access entries `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/list-access-policies.rst b/awscli/examples/eks/list-access-policies.rst new file mode 100644 index 000000000000..9bb490f64f0d --- /dev/null +++ b/awscli/examples/eks/list-access-policies.rst @@ -0,0 +1,90 @@ +**To list all available access policies** + +This ``list-access-policies`` example returns the list of all available access policies. :: + + aws eks list-access-policies + +Output:: + + { + "accessPolicies": [ + { + "name": "AmazonEKSAdminPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy" + }, + { + "name": "AmazonEKSAdminViewPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminViewPolicy" + }, + { + "name": "AmazonEKSAutoNodePolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAutoNodePolicy" + }, + { + "name": "AmazonEKSBlockStorageClusterPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSBlockStorageClusterPolicy" + }, + { + "name": "AmazonEKSBlockStoragePolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSBlockStoragePolicy" + }, + { + "name": "AmazonEKSClusterAdminPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy" + }, + { + "name": "AmazonEKSComputeClusterPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSComputeClusterPolicy" + }, + { + "name": "AmazonEKSComputePolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSComputePolicy" + }, + { + "name": "AmazonEKSEditPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy" + }, + { + "name": "AmazonEKSHybridPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSHybridPolicy" + }, + { + "name": "AmazonEKSLoadBalancingClusterPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSLoadBalancingClusterPolicy" + }, + { + "name": "AmazonEKSLoadBalancingPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSLoadBalancingPolicy" + }, + { + "name": "AmazonEKSNetworkingClusterPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSNetworkingClusterPolicy" + }, + { + "name": "AmazonEKSNetworkingPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSNetworkingPolicy" + }, + { + "name": "AmazonEKSViewPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy" + }, + { + "name": "AmazonEMRJobPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEMRJobPolicy" + }, + { + "name": "AmazonSagemakerHyperpodClusterPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonSagemakerHyperpodClusterPolicy" + }, + { + "name": "AmazonSagemakerHyperpodControllerPolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonSagemakerHyperpodControllerPolicy" + }, + { + "name": "AmazonSagemakerHyperpodSystemNamespacePolicy", + "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonSagemakerHyperpodSystemNamespacePolicy" + } + ] + } + +For more information, see `Associate access policies with access entries `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/list-associated-access-policies.rst b/awscli/examples/eks/list-associated-access-policies.rst new file mode 100644 index 000000000000..6e159be526a4 --- /dev/null +++ b/awscli/examples/eks/list-associated-access-policies.rst @@ -0,0 +1,27 @@ +**To list the access policies associated with an access entry** + +The following ``list-associated-access-policies`` example returns the list of access policies associated with an access entry in the EKS cluster. :: + + aws eks list-associated-access-policies \ + --cluster-name eks-customer \ + --principal-arn arn:aws:iam::111122223333:role/Admin + +Output:: + + { + "associatedAccessPolicies": [ + { + "policyArn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy", + "accessScope": { + "type": "cluster", + "namespaces": [] + }, + "associatedAt": "2025-05-24T17:26:22.935000-05:00", + "modifiedAt": "2025-05-24T17:26:22.935000-05:00" + } + ], + "clusterName": "eks-customer", + "principalArn": "arn:aws:iam::111122223333:role/Admin" + } + +For more information, see `Grant IAM users access to Kubernetes with EKS access entries `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/list-insights.rst b/awscli/examples/eks/list-insights.rst new file mode 100644 index 000000000000..31d90696cf44 --- /dev/null +++ b/awscli/examples/eks/list-insights.rst @@ -0,0 +1,67 @@ +**To list all insights for the specified cluster** + +The following ``list-insights`` example returns the list of all insights checked against the specified cluster. :: + + aws eks list-insights \ + --cluster-name eks-customer + +Output:: + + { + "insights": [ + { + "id": "38ea7a64-a14f-4e0e-95c7-8dbcab3c3616", + "name": "Kubelet version skew", + "category": "UPGRADE_READINESS", + "kubernetesVersion": "1.33", + "lastRefreshTime": "2025-05-24T11:22:50-05:00", + "lastTransitionTime": "2025-05-24T11:22:50-05:00", + "description": "Checks for kubelet versions of worker nodes in the cluster to see if upgrade would cause noncompliance with supported Kubernetes kubelet version skew policy.", + "insightStatus": { + "status": "PASSING", + "reason": "Node kubelet versions match the cluster control plane version." + } + }, + { + "id": "9cd91472-f99c-45a9-b7d7-54d4900dee23", + "name": "EKS add-on version compatibility", + "category": "UPGRADE_READINESS", + "kubernetesVersion": "1.33", + "lastRefreshTime": "2025-05-24T11:22:59-05:00", + "lastTransitionTime": "2025-05-24T11:22:50-05:00", + "description": "Checks version of installed EKS add-ons to ensure they are compatible with the next version of Kubernetes. ", + "insightStatus": { + "status": "PASSING", + "reason": "All installed EKS add-on versions are compatible with next Kubernetes version." + } + }, + { + "id": "0deb269d-b1e1-458c-a2b4-7a57f940c875", + "name": "Cluster health issues", + "category": "UPGRADE_READINESS", + "kubernetesVersion": "1.33", + "lastRefreshTime": "2025-05-24T11:22:59-05:00", + "lastTransitionTime": "2025-05-24T11:22:50-05:00", + "description": "Checks for any cluster health issues that prevent successful upgrade to the next Kubernetes version on EKS.", + "insightStatus": { + "status": "PASSING", + "reason": "No cluster health issues detected." + } + }, + { + "id": "214fa274-344f-420b-812a-5049ce72c9ww", + "name": "kube-proxy version skew", + "category": "UPGRADE_READINESS", + "kubernetesVersion": "1.33", + "lastRefreshTime": "2025-05-24T11:22:50-05:00", + "lastTransitionTime": "2025-05-24T11:22:50-05:00", + "description": "Checks version of kube-proxy in cluster to see if upgrade would cause noncompliance with supported Kubernetes kube-proxy version skew policy.", + "insightStatus": { + "status": "PASSING", + "reason": "kube-proxy versions match the cluster control plane version." + } + } + ] + } + +For more information, see `View cluster insights `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/list-pod-identity-associations.rst b/awscli/examples/eks/list-pod-identity-associations.rst new file mode 100644 index 000000000000..5e7c341501b0 --- /dev/null +++ b/awscli/examples/eks/list-pod-identity-associations.rst @@ -0,0 +1,61 @@ +**Example 1: To list the Pod Identity associations in an EKS cluster** + +The following ``list-pod-identity-associations`` returns the list of Pod Identity associations associated with the EKS cluster named ``eks-customer`` in all namespaces and service accounts. :: + + aws eks list-pod-identity-associations \ + --cluster-name eks-customer + +Output:: + + { + "associations": [ + { + "clusterName": "eks-customer", + "namespace": "default", + "serviceAccount": "default", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgocd", + "associationId": "a-9njjin9gfghecgocd" + }, + { + "clusterName": "eks-customer", + "namespace": "kube-system", + "serviceAccount": "eks-customer", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-dvtacahdvjn01ffbc", + "associationId": "a-dvtacahdvjn01ffbc" + }, + { + "clusterName": "eks-customer", + "namespace": "kube-system", + "serviceAccount": "coredns", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-yrpsdroc4ei7k6xps", + "associationId": "a-yrpsdroc4ei7k6xps" + } + ] + } + +For more information, see `Learn how EKS Pod Identity grants pods access to AWS services `__ in the *Amazon EKS User Guide*. + +**Example 2: To list the Pod Identity associations in an EKS cluster based on namespace and service account** + +The following ``list-pod-identity-associations`` returns the list of Pod Identity associations in the EKS cluster based on namespace and service account. :: + + aws eks list-pod-identity-associations \ + --cluster-name eks-customer \ + --namespace kube-system \ + --service-account eks-customer + +Output:: + + { + "associations": [ + { + "clusterName": "eks-customer", + "namespace": "kube-system", + "serviceAccount": "eks-customer", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-dvtacahdvjn01ffbc", + "associationId": "a-dvtacahdvjn01ffbc" + } + ] + } + +For more information, see `Learn how EKS Pod Identity grants pods access to AWS services `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/update-access-entry.rst b/awscli/examples/eks/update-access-entry.rst new file mode 100644 index 000000000000..ad7de2fe2ac9 --- /dev/null +++ b/awscli/examples/eks/update-access-entry.rst @@ -0,0 +1,28 @@ +**To update an access entry for an EKS cluster** + +The following ``update-access-entry`` updates an access entry for the EKS cluster by adding the Kubernetes group ``tester``. :: + + aws eks update-access-entry \ + --cluster-name eks-customer \ + --principal-arn arn:aws:iam::111122223333:role/Admin \ + --kubernetes-groups tester + +Output:: + + { + "accessEntry": { + "clusterName": "eks-customer", + "principalArn": "arn:aws:iam::111122223333:role/Admin", + "kubernetesGroups": [ + "tester" + ], + "accessEntryArn": "arn:aws:eks:us-west-2:111122223333:access-entry/eks-customer/role/111122223333/Admin/d2cb8183-d6ec-b82a-d967-eca21902a4b4", + "createdAt": "2025-05-24T11:02:04.432000-05:00", + "modifiedAt": "2025-05-24T17:08:01.608000-05:00", + "tags": {}, + "username": "arn:aws:sts::111122223333:assumed-role/Admin/{{SessionName}}", + "type": "STANDARD" + } + } + +For more information, see `Update access entries `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/update-kubeconfig/_description.rst b/awscli/examples/eks/update-kubeconfig/_description.rst index 00da7bca22f1..29c93f23c55e 100644 --- a/awscli/examples/eks/update-kubeconfig/_description.rst +++ b/awscli/examples/eks/update-kubeconfig/_description.rst @@ -4,16 +4,16 @@ Note: To use the resulting configuration, you must have kubectl installed and in your PATH environment variable. This command constructs a configuration with prepopulated server and certificate authority data values for a specified cluster. -You can specify an IAM role ARN with the --role-arn option to use for authentication when you issue kubectl commands. +You can specify an IAM role ARN with the ``--role-arn`` option to use for authentication when you issue kubectl commands. Otherwise, the IAM entity in your default AWS CLI or SDK credential chain is used. You can view your default AWS CLI or SDK identity by running the ``aws sts get-caller-identity`` command. The resulting kubeconfig is created as a new file or merged with an existing kubeconfig file using the following logic: -* If you specify a path with the --kubeconfig option, then the resulting configuration file is created there or merged with an existing kubeconfig at that location. -* Or, if you have the KUBECONFIG environment variable set, then the resulting configuration file is created at the first entry in that variable or merged with an existing kubeconfig at that location. -* Otherwise, by default, the resulting configuration file is created at the default kubeconfig path (.kube/config) in your home directory or merged with an existing kubeconfig at that location. +* If you specify a path with the ``--kubeconfig option``, then the resulting configuration file is created there or merged with an existing kubeconfig at that location. +* Or, if you have the ``KUBECONFIG`` environment variable set, then the resulting configuration file is created at the first entry in that variable or merged with an existing kubeconfig at that location. +* Otherwise, by default, the resulting configuration file is created at the default kubeconfig path (``.kube/config``) in your home directory or merged with an existing kubeconfig at that location. * If a previous cluster configuration exists for an Amazon EKS cluster with the same name at the specified path, the existing configuration is overwritten with the new configuration. * When update-kubeconfig writes a configuration to a kubeconfig file, the current-context of the kubeconfig file is set to that configuration. -You can use the --dry-run option to print the resulting configuration to stdout instead of writing it to the specified location. +You can use the ``--dry-run`` option to print the resulting configuration to stdout instead of writing it to the specified location. diff --git a/awscli/examples/eks/update-pod-identity-association.rst b/awscli/examples/eks/update-pod-identity-association.rst new file mode 100644 index 000000000000..0d3a34d68014 --- /dev/null +++ b/awscli/examples/eks/update-pod-identity-association.rst @@ -0,0 +1,29 @@ +**To update the EKS Pod Identity association** + +The following ``update-pod-identity-association`` example updates an EKS Pod Identity association by changing the associated IAM role from ``arn:aws:iam::111122223333:role/my-role`` to ``arn:aws:iam::111122223333:role/s3-role`` for association ID ``a-9njjin9gfghecgocd``. This API only allows updating the associated IAM role. :: + + aws eks update-pod-identity-association \ + --cluster-name eks-customer \ + --association-id a-9njjin9gfghecgocd \ + --role-arn arn:aws:iam::111122223333:role/s3-role + +Output:: + + { + "association": { + "clusterName": "eks-customer", + "namespace": "default", + "serviceAccount": "default", + "roleArn": "arn:aws:iam::111122223333:role/s3-role", + "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgocd", + "associationId": "a-9njjin9gfghecgocd", + "tags": { + "Key2": "value2", + "Key1": "value1" + }, + "createdAt": "2025-05-24T19:52:14.135000-05:00", + "modifiedAt": "2025-05-25T21:01:53.120000-05:00" + } + } + +For more information, see `Learn how EKS Pod Identity grants pods access to AWS services `__ in the *Amazon EKS User Guide*. \ No newline at end of file diff --git a/awscli/examples/eks/wait/addon-active.rst b/awscli/examples/eks/wait/addon-active.rst new file mode 100644 index 000000000000..b7e31f5b3bad --- /dev/null +++ b/awscli/examples/eks/wait/addon-active.rst @@ -0,0 +1,9 @@ +**To wait for an add-on running in the Amazon EKS cluster to become ACTIVE** + +The following ``wait addon-active`` example command waits for an add-on named ``aws-efs-csi-driver`` running in the Amazon EKS cluster named ``my-eks-cluster`` to become ``ACTIVE``. :: + + aws eks wait addon-active \ + --cluster-name my-eks-cluster \ + --addon-name aws-efs-csi-driver + +This command produces no output. \ No newline at end of file diff --git a/awscli/examples/eks/wait/addon-deleted.rst b/awscli/examples/eks/wait/addon-deleted.rst new file mode 100644 index 000000000000..9bf105e73e22 --- /dev/null +++ b/awscli/examples/eks/wait/addon-deleted.rst @@ -0,0 +1,9 @@ +**To wait for an add-on running in the Amazon EKS cluster to be deleted** + +The following ``wait addon-deleted`` example command waits until ``ResourceNotFoundException`` is thrown when polling with `describe-addon` for an add-on named ``aws-efs-csi-driver`` running in the Amazon EKS cluster named ``my-eks-cluster``. :: + + aws eks wait addon-deleted \ + --cluster-name my-eks-cluster \ + --addon-name aws-efs-csi-driver + +This command produces no output. \ No newline at end of file diff --git a/awscli/examples/eks/wait/cluster-active.rst b/awscli/examples/eks/wait/cluster-active.rst index 959259d4770c..b9d1e2ad9df4 100644 --- a/awscli/examples/eks/wait/cluster-active.rst +++ b/awscli/examples/eks/wait/cluster-active.rst @@ -1,11 +1,8 @@ **To wait for an Amazon EKS cluster to become ACTIVE** -The following ``wait`` example command waits for an Amazon EKS cluster named ``my-eks-cluster`` to become active. +The following ``wait cluster-active`` example command waits for an Amazon EKS cluster named ``my-eks-cluster`` status to become ``ACTIVE``. :: - aws eks wait \ - cluster-active \ + aws eks wait cluster-active \ --name my-eks-cluster -Output:: - - \ No newline at end of file +This command produces no output. \ No newline at end of file diff --git a/awscli/examples/eks/wait/cluster-deleted.rst b/awscli/examples/eks/wait/cluster-deleted.rst index 94f5a720dabe..54d354cc1912 100644 --- a/awscli/examples/eks/wait/cluster-deleted.rst +++ b/awscli/examples/eks/wait/cluster-deleted.rst @@ -1,11 +1,8 @@ -**To wait for an Amazon EKS cluster to become deleted** +**To wait until Amazon EKS cluster is deleted** -The following ``wait`` example command waits for an Amazon EKS cluster named ``my-eks-cluster`` to be deleted. +The following ``wait cluster-deleted`` example command waits until ``ResourceNotFoundException`` is thrown when polling with ``describe-cluster`` for Amazon EKS cluster named ``my-eks-cluster``. :: - aws eks wait \ - cluster-deleted \ + aws eks wait cluster-deleted \ --name my-eks-cluster -Output:: - - +This command produces no output. \ No newline at end of file diff --git a/awscli/examples/eks/wait/fargate-profile-active.rst b/awscli/examples/eks/wait/fargate-profile-active.rst new file mode 100644 index 000000000000..e59aee8fe77a --- /dev/null +++ b/awscli/examples/eks/wait/fargate-profile-active.rst @@ -0,0 +1,9 @@ +**To wait for an fargate-profile running in the Amazon EKS cluster to become ACTIVE** + +The following ``wait fargate-profile-active`` example command waits for an fargate-profile named ``my-fargate-profile`` running in the Amazon EKS cluster named ``my-eks-cluster`` to be ``ACTIVE``. :: + + aws eks wait fargate-profile-active \ + --cluster-name my-eks-cluster \ + --fargate-profile-name my-fargate-profile + +This command produces no output. \ No newline at end of file diff --git a/awscli/examples/eks/wait/fargate-profile-deleted.rst b/awscli/examples/eks/wait/fargate-profile-deleted.rst new file mode 100644 index 000000000000..396a6ac9af59 --- /dev/null +++ b/awscli/examples/eks/wait/fargate-profile-deleted.rst @@ -0,0 +1,9 @@ +**To wait for an fargate-profile running in the Amazon EKS cluster to become deleted** + +The following ``wait fargate-profile-deleted`` example command waits until ``ResourceNotFoundException`` is thrown when polling with `describe-fargate-profile` for an fargate-profile named ``my-fargate-profile`` running in the Amazon EKS cluster named ``my-eks-cluster``. :: + + aws eks wait fargate-profile-deleted \ + --cluster-name my-eks-cluster \ + --fargate-profile-name my-fargate-profile + +This command produces no output. \ No newline at end of file diff --git a/awscli/examples/eks/wait/nodegroup-active.rst b/awscli/examples/eks/wait/nodegroup-active.rst new file mode 100644 index 000000000000..76d58f87ea9e --- /dev/null +++ b/awscli/examples/eks/wait/nodegroup-active.rst @@ -0,0 +1,9 @@ +**Example 8: To wait for an nodegroup running in the Amazon EKS cluster to become ACTIVE** + +The following ``wait nodegroup-active`` example command waits for an nodegroup named ``my-nodegroup`` running in the Amazon EKS cluster named ``my-eks-cluster`` to be Active. :: + + aws eks wait nodegroup-active \ + --cluster-name my-eks-cluster \ + --nodegroup-name my-nodegroup + +This command produces no output. diff --git a/awscli/examples/eks/wait/nodegroup-deleted.rst b/awscli/examples/eks/wait/nodegroup-deleted.rst new file mode 100644 index 000000000000..9251e60592a9 --- /dev/null +++ b/awscli/examples/eks/wait/nodegroup-deleted.rst @@ -0,0 +1,9 @@ +**To wait for an nodegroup running in the Amazon EKS cluster to become deleted** + +The following ``wait nodegroup-deleted`` example command waits until ``ResourceNotFoundException`` is thrown when polling with `describe-nodegroup` for an nodegroup named ``my-nodegroup`` running in the Amazon EKS cluster named ``my-eks-cluster``. :: + + aws eks wait nodegroup-deleted \ + --cluster-name my-eks-cluster \ + --nodegroup-name my-nodegroup + +This command produces no output. diff --git a/awscli/examples/elasticbeanstalk/create-application-version.rst b/awscli/examples/elasticbeanstalk/create-application-version.rst index cf504b44965a..1043b7eb7629 100644 --- a/awscli/examples/elasticbeanstalk/create-application-version.rst +++ b/awscli/examples/elasticbeanstalk/create-application-version.rst @@ -2,9 +2,9 @@ The following command creates a new version, "v1" of an application named "MyApp":: - aws elasticbeanstalk create-application-version --application-name MyApp --version-label v1 --description MyAppv1 --source-bundle S3Bucket="my-bucket",S3Key="sample.war" --auto-create-application + aws elasticbeanstalk create-application-version --application-name MyApp --version-label v1 --description MyAppv1 --source-bundle S3Bucket="amzn-s3-demo-bucket",S3Key="sample.war" --auto-create-application -The application will be created automatically if it does not already exist, due to the auto-create-application option. The source bundle is a .war file stored in an s3 bucket named "my-bucket" that contains the Apache Tomcat sample application. +The application will be created automatically if it does not already exist, due to the auto-create-application option. The source bundle is a .war file stored in an s3 bucket named "amzn-s3-demo-bucket" that contains the Apache Tomcat sample application. Output:: @@ -16,7 +16,7 @@ Output:: "DateCreated": "2015-02-03T23:01:25.412Z", "DateUpdated": "2015-02-03T23:01:25.412Z", "SourceBundle": { - "S3Bucket": "my-bucket", + "S3Bucket": "amzn-s3-demo-bucket", "S3Key": "sample.war" } } diff --git a/awscli/examples/elastictranscoder/cancel-job.rst b/awscli/examples/elastictranscoder/cancel-job.rst deleted file mode 100644 index 4acd71e65e90..000000000000 --- a/awscli/examples/elastictranscoder/cancel-job.rst +++ /dev/null @@ -1,8 +0,0 @@ -**To cancel a job for ElasticTranscoder** - -This cancels the specified job for ElasticTranscoder. - -Command:: - - aws elastictranscoder cancel-job --id 3333333333333-abcde3 - diff --git a/awscli/examples/elastictranscoder/create-job.rst b/awscli/examples/elastictranscoder/create-job.rst deleted file mode 100644 index 6b10d1a28bbf..000000000000 --- a/awscli/examples/elastictranscoder/create-job.rst +++ /dev/null @@ -1,94 +0,0 @@ -**To create a job for ElasticTranscoder** - -The following ``create-job`` example creates a job for ElasticTranscoder. :: - - aws elastictranscoder create-job \ - --pipeline-id 1111111111111-abcde1 \ - --inputs file://inputs.json \ - --outputs file://outputs.json \ - --output-key-prefix "recipes/" \ - --user-metadata file://user-metadata.json - -Contents of ``inputs.json``:: - - [{ - "Key":"ETS_example_file.mp4", - "FrameRate":"auto", - "Resolution":"auto", - "AspectRatio":"auto", - "Interlaced":"auto", - "Container":"mp4" - }] - -Contents of outputs.json:: - - [ - { - "Key":"webm/ETS_example_file-kindlefirehd.webm", - "Rotate":"0", - "PresetId":"1351620000001-100250" - } - ] - -Contents of ``user-metadata.json``:: - - { - "Food type":"Italian", - "Cook book":"recipe notebook" - } - -Output:: - - { - "Job": { - "Status": "Submitted", - "Inputs": [ - { - "Container": "mp4", - "FrameRate": "auto", - "Key": "ETS_example_file.mp4", - "AspectRatio": "auto", - "Resolution": "auto", - "Interlaced": "auto" - } - ], - "Playlists": [], - "Outputs": [ - { - "Status": "Submitted", - "Rotate": "0", - "PresetId": "1351620000001-100250", - "Watermarks": [], - "Key": "webm/ETS_example_file-kindlefirehd.webm", - "Id": "1" - } - ], - "PipelineId": "3333333333333-abcde3", - "OutputKeyPrefix": "recipes/", - "UserMetadata": { - "Cook book": "recipe notebook", - "Food type": "Italian" - }, - "Output": { - "Status": "Submitted", - "Rotate": "0", - "PresetId": "1351620000001-100250", - "Watermarks": [], - "Key": "webm/ETS_example_file-kindlefirehd.webm", - "Id": "1" - }, - "Timing": { - "SubmitTimeMillis": 1533838012298 - }, - "Input": { - "Container": "mp4", - "FrameRate": "auto", - "Key": "ETS_example_file.mp4", - "AspectRatio": "auto", - "Resolution": "auto", - "Interlaced": "auto" - }, - "Id": "1533838012294-example", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:job/1533838012294-example" - } - } diff --git a/awscli/examples/elastictranscoder/create-pipeline.rst b/awscli/examples/elastictranscoder/create-pipeline.rst deleted file mode 100644 index 166bdd4c94f0..000000000000 --- a/awscli/examples/elastictranscoder/create-pipeline.rst +++ /dev/null @@ -1,94 +0,0 @@ -**To create a pipeline for ElasticTranscoder** - -The following ``create-pipeline`` example creates a pipeline for ElasticTranscoder. :: - - aws elastictranscoder create-pipeline \ - --name Default \ - --input-bucket salesoffice.example.com-source \ - --role arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role \ - --notifications Progressing="",Completed="",Warning="",Error=arn:aws:sns:us-east-1:111222333444:ETS_Errors \ - --content-config file://content-config.json \ - --thumbnail-config file://thumbnail-config.json - -Contents of ``content-config.json``:: - - { - "Bucket":"salesoffice.example.com-public-promos", - "Permissions":[ - { - "GranteeType":"Email", - "Grantee":"marketing-promos@example.com", - "Access":[ - "FullControl" - ] - } - ], - "StorageClass":"Standard" - } - -Contents of ``thumbnail-config.json``:: - - { - "Bucket":"salesoffice.example.com-public-promos-thumbnails", - "Permissions":[ - { - "GranteeType":"Email", - "Grantee":"marketing-promos@example.com", - "Access":[ - "FullControl" - ] - } - ], - "StorageClass":"ReducedRedundancy" - } - -Output:: - - { - "Pipeline": { - "Status": "Active", - "ContentConfig": { - "Bucket": "salesoffice.example.com-public-promos", - "StorageClass": "Standard", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Name": "Default", - "ThumbnailConfig": { - "Bucket": "salesoffice.example.com-public-promos-thumbnails", - "StorageClass": "ReducedRedundancy", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Notifications": { - "Completed": "", - "Warning": "", - "Progressing": "", - "Error": "arn:aws:sns:us-east-1:123456789012:ETS_Errors" - }, - "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", - "InputBucket": "salesoffice.example.com-source", - "Id": "1533765810590-example", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/1533765810590-example" - }, - "Warnings": [ - { - "Message": "The SNS notification topic for Error events and the pipeline are in different regions, which increases processing time for jobs in the pipeline and can incur additional charges. To decrease processing time and prevent cross-regional charges, use the same region for the SNS notification topic and the pipeline.", - "Code": "6006" - } - ] - } diff --git a/awscli/examples/elastictranscoder/create-preset.rst b/awscli/examples/elastictranscoder/create-preset.rst deleted file mode 100644 index bbf482c49e84..000000000000 --- a/awscli/examples/elastictranscoder/create-preset.rst +++ /dev/null @@ -1,141 +0,0 @@ -**To create a preset for ElasticTranscoder** - -The following ``create-preset`` example creates a preset for ElasticTranscoder. :: - - aws elastictranscoder create-preset \ - --name DefaultPreset \ - --description "Use for published videos" \ - --container mp4 \ - --video file://video.json \ - --audio file://audio.json \ - --thumbnails file://thumbnails.json - -Contents of ``video.json``:: - - { - "Codec":"H.264", - "CodecOptions":{ - "Profile":"main", - "Level":"2.2", - "MaxReferenceFrames":"3", - "MaxBitRate":"", - "BufferSize":"", - "InterlacedMode":"Progressive", - "ColorSpaceConversionMode":"None" - }, - "KeyframesMaxDist":"240", - "FixedGOP":"false", - "BitRate":"1600", - "FrameRate":"auto", - "MaxFrameRate":"30", - "MaxWidth":"auto", - "MaxHeight":"auto", - "SizingPolicy":"Fit", - "PaddingPolicy":"Pad", - "DisplayAspectRatio":"auto", - "Watermarks":[ - { - "Id":"company logo", - "MaxWidth":"20%", - "MaxHeight":"20%", - "SizingPolicy":"ShrinkToFit", - "HorizontalAlign":"Right", - "HorizontalOffset":"10px", - "VerticalAlign":"Bottom", - "VerticalOffset":"10px", - "Opacity":"55.5", - "Target":"Content" - } - ] - } - -Contents of ``audio.json``:: - - { - "Codec":"AAC", - "CodecOptions":{ - "Profile":"AAC-LC" - }, - "SampleRate":"44100", - "BitRate":"96", - "Channels":"2" - } - -Contents of ``thumbnails.json``:: - - { - "Format":"png", - "Interval":"120", - "MaxWidth":"auto", - "MaxHeight":"auto", - "SizingPolicy":"Fit", - "PaddingPolicy":"Pad" - } - - -Output:: - - { - "Preset": { - "Thumbnails": { - "SizingPolicy": "Fit", - "MaxWidth": "auto", - "Format": "png", - "PaddingPolicy": "Pad", - "Interval": "120", - "MaxHeight": "auto" - }, - "Container": "mp4", - "Description": "Use for published videos", - "Video": { - "SizingPolicy": "Fit", - "MaxWidth": "auto", - "PaddingPolicy": "Pad", - "MaxFrameRate": "30", - "FrameRate": "auto", - "MaxHeight": "auto", - "KeyframesMaxDist": "240", - "FixedGOP": "false", - "Codec": "H.264", - "Watermarks": [ - { - "SizingPolicy": "ShrinkToFit", - "VerticalOffset": "10px", - "VerticalAlign": "Bottom", - "Target": "Content", - "MaxWidth": "20%", - "MaxHeight": "20%", - "HorizontalAlign": "Right", - "HorizontalOffset": "10px", - "Opacity": "55.5", - "Id": "company logo" - } - ], - "CodecOptions": { - "Profile": "main", - "MaxBitRate": "32", - "InterlacedMode": "Progressive", - "Level": "2.2", - "ColorSpaceConversionMode": "None", - "MaxReferenceFrames": "3", - "BufferSize": "5" - }, - "BitRate": "1600", - "DisplayAspectRatio": "auto" - }, - "Audio": { - "Channels": "2", - "CodecOptions": { - "Profile": "AAC-LC" - }, - "SampleRate": "44100", - "Codec": "AAC", - "BitRate": "96" - }, - "Type": "Custom", - "Id": "1533765290724-example" - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:preset/1533765290724-example", - "Name": "DefaultPreset" - }, - "Warning": "" - } diff --git a/awscli/examples/elastictranscoder/delete-pipeline.rst b/awscli/examples/elastictranscoder/delete-pipeline.rst deleted file mode 100644 index 2ccfc95cdc29..000000000000 --- a/awscli/examples/elastictranscoder/delete-pipeline.rst +++ /dev/null @@ -1,13 +0,0 @@ -**To delete the specified ElasticTranscoder pipeline** - -This deletes the specified ElasticTranscoder pipeline. - -Command:: - - aws elastictranscoder delete-pipeline --id 1111111111111-abcde1 - -Output:: - - { - "Success":"true" - } diff --git a/awscli/examples/elastictranscoder/delete-preset.rst b/awscli/examples/elastictranscoder/delete-preset.rst deleted file mode 100644 index e6907a59e10d..000000000000 --- a/awscli/examples/elastictranscoder/delete-preset.rst +++ /dev/null @@ -1,8 +0,0 @@ -**To delete the specified ElasticTranscoder preset** - -This deletes the specified ElasticTranscoder preset. - -Command:: - - aws elastictranscoder delete-preset --id 5555555555555-abcde5 - diff --git a/awscli/examples/elastictranscoder/list-jobs-by-pipeline.rst b/awscli/examples/elastictranscoder/list-jobs-by-pipeline.rst deleted file mode 100644 index 7217beff9aed..000000000000 --- a/awscli/examples/elastictranscoder/list-jobs-by-pipeline.rst +++ /dev/null @@ -1,13 +0,0 @@ -**To retrieve a list of ElasticTranscoder jobs in the specified pipeline** - -This example retrieves a list of ElasticTranscoder jobs in the specified pipeline. - -Command:: - - aws elastictranscoder list-jobs-by-pipeline --pipeline-id 1111111111111-abcde1 - -Output:: - - { - "Jobs": [] - } diff --git a/awscli/examples/elastictranscoder/list-jobs-by-status.rst b/awscli/examples/elastictranscoder/list-jobs-by-status.rst deleted file mode 100644 index 84f62d272f01..000000000000 --- a/awscli/examples/elastictranscoder/list-jobs-by-status.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To retrieve a list of ElasticTranscoder jobs with a status of Complete** - -This example retrieves a list of ElasticTranscoder jobs with a status of Complete. - -Command:: - - aws elastictranscoder list-jobs-by-status --status Complete - -Output:: - - { - "Jobs": [] - } - diff --git a/awscli/examples/elastictranscoder/list-pipelines.rst b/awscli/examples/elastictranscoder/list-pipelines.rst deleted file mode 100644 index f318f28505e3..000000000000 --- a/awscli/examples/elastictranscoder/list-pipelines.rst +++ /dev/null @@ -1,84 +0,0 @@ -**To retrieve a list of ElasticTranscoder pipelines** - -This example retrieves a list of ElasticTranscoder pipelines. - -Command:: - - aws elastictranscoder list-pipelines - -Output:: - - { - "Pipelines": [ - { - "Status": "Active", - "ContentConfig": { - "Bucket": "ets-example", - "Permissions": [] - }, - "Name": "example-pipeline", - "ThumbnailConfig": { - "Bucket": "ets-example", - "Permissions": [] - }, - "Notifications": { - "Completed": "arn:aws:sns:us-west-2:123456789012:ets_example", - "Warning": "", - "Progressing": "", - "Error": "" - }, - "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", - "InputBucket": "ets-example", - "OutputBucket": "ets-example", - "Id": "3333333333333-abcde3", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde3" - }, - { - "Status": "Paused", - "ContentConfig": { - "Bucket": "ets-example", - "Permissions": [] - }, - "Name": "example-php-test", - "ThumbnailConfig": { - "Bucket": "ets-example", - "Permissions": [] - }, - "Notifications": { - "Completed": "", - "Warning": "", - "Progressing": "", - "Error": "" - }, - "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", - "InputBucket": "ets-example", - "OutputBucket": "ets-example", - "Id": "3333333333333-abcde2", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde2" - }, - { - "Status": "Active", - "ContentConfig": { - "Bucket": "ets-west-output", - "Permissions": [] - }, - "Name": "pipeline-west", - "ThumbnailConfig": { - "Bucket": "ets-west-output", - "Permissions": [] - }, - "Notifications": { - "Completed": "arn:aws:sns:us-west-2:123456789012:ets-notifications", - "Warning": "", - "Progressing": "", - "Error": "" - }, - "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", - "InputBucket": "ets-west-input", - "OutputBucket": "ets-west-output", - "Id": "3333333333333-abcde1", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde1" - } - ] - } - diff --git a/awscli/examples/elastictranscoder/list-presets.rst b/awscli/examples/elastictranscoder/list-presets.rst deleted file mode 100644 index 239cf9ab9239..000000000000 --- a/awscli/examples/elastictranscoder/list-presets.rst +++ /dev/null @@ -1,95 +0,0 @@ -**To retrieve a list of ElasticTranscoder presets** - -This example retrieves a list of ElasticTranscoder presets. - -Command:: - - aws elastictranscoder list-presets --max-items 2 - -Output:: - - { - "Presets": [ - { - "Container": "mp4", - "Name": "KindleFireHD-preset", - "Video": { - "Resolution": "1280x720", - "FrameRate": "30", - "KeyframesMaxDist": "90", - "FixedGOP": "false", - "Codec": "H.264", - "Watermarks": [], - "CodecOptions": { - "Profile": "main", - "MaxReferenceFrames": "3", - "ColorSpaceConversionMode": "None", - "InterlacedMode": "Progressive", - "Level": "4" - }, - "AspectRatio": "16:9", - "BitRate": "2200" - }, - "Audio": { - "Channels": "2", - "CodecOptions": { - "Profile": "AAC-LC" - }, - "SampleRate": "48000", - "Codec": "AAC", - "BitRate": "160" - }, - "Type": "Custom", - "Id": "3333333333333-abcde2", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:preset/3333333333333-abcde2", - "Thumbnails": { - "AspectRatio": "16:9", - "Interval": "60", - "Resolution": "192x108", - "Format": "png" - } - }, - { - "Thumbnails": { - "AspectRatio": "16:9", - "Interval": "60", - "Resolution": "192x108", - "Format": "png" - }, - "Container": "mp4", - "Description": "Custom preset for transcoding jobs", - "Video": { - "Resolution": "1280x720", - "FrameRate": "30", - "KeyframesMaxDist": "90", - "FixedGOP": "false", - "Codec": "H.264", - "Watermarks": [], - "CodecOptions": { - "Profile": "main", - "MaxReferenceFrames": "3", - "ColorSpaceConversionMode": "None", - "InterlacedMode": "Progressive", - "Level": "3.1" - }, - "AspectRatio": "16:9", - "BitRate": "2200" - }, - "Audio": { - "Channels": "2", - "CodecOptions": { - "Profile": "AAC-LC" - }, - "SampleRate": "44100", - "Codec": "AAC", - "BitRate": "160" - }, - "Type": "Custom", - "Id": "3333333333333-abcde3", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:preset/3333333333333-abcde3", - "Name": "Roman's Preset" - } - ], - "NextToken": "eyJQYWdlVG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==" - } - diff --git a/awscli/examples/elastictranscoder/read-job.rst b/awscli/examples/elastictranscoder/read-job.rst deleted file mode 100644 index dd2bfe1b84ab..000000000000 --- a/awscli/examples/elastictranscoder/read-job.rst +++ /dev/null @@ -1,65 +0,0 @@ -**To retrieve an ElasticTranscoder job** - -This example retrieves the specified ElasticTranscoder job. - -Command:: - - aws elastictranscoder read-job --id 1533838012294-example - -Output:: - - { - "Job": { - "Status": "Progressing", - "Inputs": [ - { - "Container": "mp4", - "FrameRate": "auto", - "Key": "ETS_example_file.mp4", - "AspectRatio": "auto", - "Resolution": "auto", - "Interlaced": "auto" - } - ], - "Playlists": [], - "Outputs": [ - { - "Status": "Progressing", - "Rotate": "0", - "PresetId": "1351620000001-100250", - "Watermarks": [], - "Key": "webm/ETS_example_file-kindlefirehd.webm", - "Id": "1" - } - ], - "PipelineId": "3333333333333-abcde3", - "OutputKeyPrefix": "recipes/", - "UserMetadata": { - "Cook book": "recipe notebook", - "Food type": "Italian" - }, - "Output": { - "Status": "Progressing", - "Rotate": "0", - "PresetId": "1351620000001-100250", - "Watermarks": [], - "Key": "webm/ETS_example_file-kindlefirehd.webm", - "Id": "1" - }, - "Timing": { - "SubmitTimeMillis": 1533838012298, - "StartTimeMillis": 1533838013786 - }, - "Input": { - "Container": "mp4", - "FrameRate": "auto", - "Key": "ETS_example_file.mp4", - "AspectRatio": "auto", - "Resolution": "auto", - "Interlaced": "auto" - }, - "Id": "1533838012294-example", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:job/1533838012294-example" - } - } - diff --git a/awscli/examples/elastictranscoder/read-pipeline.rst b/awscli/examples/elastictranscoder/read-pipeline.rst deleted file mode 100644 index 471180183c2d..000000000000 --- a/awscli/examples/elastictranscoder/read-pipeline.rst +++ /dev/null @@ -1,59 +0,0 @@ -**To retrieve an ElasticTranscoder pipeline** - -This example retrieves the specified ElasticTranscoder pipeline. - -Command:: - - aws elastictranscoder read-pipeline --id 3333333333333-abcde3 - -Output:: - - { - "Pipeline": { - "Status": "Active", - "ContentConfig": { - "Bucket": "ets-example", - "StorageClass": "Standard", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Name": "Default", - "ThumbnailConfig": { - "Bucket": "ets-example", - "StorageClass": "ReducedRedundancy", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Notifications": { - "Completed": "", - "Warning": "", - "Progressing": "", - "Error": "arn:aws:sns:us-east-1:123456789012:ETS_Errors" - }, - "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", - "InputBucket": "ets-example", - "Id": "3333333333333-abcde3", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde3" - }, - "Warnings": [ - { - "Message": "The SNS notification topic for Error events and the pipeline are in different regions, which increases processing time for jobs in the pipeline and can incur additional charges. To decrease processing time and prevent cross-regional charges, use the same region for the SNS notification topic and the pipeline.", - "Code": "6006" - } - ] - } - diff --git a/awscli/examples/elastictranscoder/read-preset.rst b/awscli/examples/elastictranscoder/read-preset.rst deleted file mode 100644 index 8ab201c41372..000000000000 --- a/awscli/examples/elastictranscoder/read-preset.rst +++ /dev/null @@ -1,100 +0,0 @@ -**To retrieve an ElasticTranscoder preset** - -This example retrieves the specified ElasticTranscoder preset. - -Command:: - - aws elastictranscoder read-preset --id 1351620000001-500020 - -Output:: - - { - "Preset": { - "Thumbnails": { - "SizingPolicy": "ShrinkToFit", - "MaxWidth": "192", - "Format": "png", - "PaddingPolicy": "NoPad", - "Interval": "300", - "MaxHeight": "108" - }, - "Container": "fmp4", - "Description": "System preset: MPEG-Dash Video - 4.8M", - "Video": { - "SizingPolicy": "ShrinkToFit", - "MaxWidth": "1280", - "PaddingPolicy": "NoPad", - "FrameRate": "30", - "MaxHeight": "720", - "KeyframesMaxDist": "60", - "FixedGOP": "true", - "Codec": "H.264", - "Watermarks": [ - { - "SizingPolicy": "ShrinkToFit", - "VerticalOffset": "10%", - "VerticalAlign": "Top", - "Target": "Content", - "MaxWidth": "10%", - "MaxHeight": "10%", - "HorizontalAlign": "Left", - "HorizontalOffset": "10%", - "Opacity": "100", - "Id": "TopLeft" - }, - { - "SizingPolicy": "ShrinkToFit", - "VerticalOffset": "10%", - "VerticalAlign": "Top", - "Target": "Content", - "MaxWidth": "10%", - "MaxHeight": "10%", - "HorizontalAlign": "Right", - "HorizontalOffset": "10%", - "Opacity": "100", - "Id": "TopRight" - }, - { - "SizingPolicy": "ShrinkToFit", - "VerticalOffset": "10%", - "VerticalAlign": "Bottom", - "Target": "Content", - "MaxWidth": "10%", - "MaxHeight": "10%", - "HorizontalAlign": "Left", - "HorizontalOffset": "10%", - "Opacity": "100", - "Id": "BottomLeft" - }, - { - "SizingPolicy": "ShrinkToFit", - "VerticalOffset": "10%", - "VerticalAlign": "Bottom", - "Target": "Content", - "MaxWidth": "10%", - "MaxHeight": "10%", - "HorizontalAlign": "Right", - "HorizontalOffset": "10%", - "Opacity": "100", - "Id": "BottomRight" - } - ], - "CodecOptions": { - "Profile": "main", - "MaxBitRate": "4800", - "InterlacedMode": "Progressive", - "Level": "3.1", - "ColorSpaceConversionMode": "None", - "MaxReferenceFrames": "3", - "BufferSize": "9600" - }, - "BitRate": "4800", - "DisplayAspectRatio": "auto" - }, - "Type": "System", - "Id": "1351620000001-500020", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:preset/1351620000001-500020", - "Name": "System preset: MPEG-Dash Video - 4.8M" - } - } - diff --git a/awscli/examples/elastictranscoder/update-pipeline-notifications.rst b/awscli/examples/elastictranscoder/update-pipeline-notifications.rst deleted file mode 100644 index faf4a0061d96..000000000000 --- a/awscli/examples/elastictranscoder/update-pipeline-notifications.rst +++ /dev/null @@ -1,52 +0,0 @@ -**To update the notifications of an ElasticTranscoder pipeline** - -This example updates the notifications of the specified ElasticTranscoder pipeline. - -Command:: - - aws elastictranscoder update-pipeline-notifications --id 1111111111111-abcde1 --notifications Progressing=arn:aws:sns:us-west-2:0123456789012:my-topic,Completed=arn:aws:sns:us-west-2:0123456789012:my-topic,Warning=arn:aws:sns:us-west-2:0123456789012:my-topic,Error=arn:aws:sns:us-east-1:111222333444:ETS_Errors - -Output:: - - { - "Pipeline": { - "Status": "Active", - "ContentConfig": { - "Bucket": "ets-example", - "StorageClass": "Standard", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Name": "Default", - "ThumbnailConfig": { - "Bucket": "ets-example", - "StorageClass": "ReducedRedundancy", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Notifications": { - "Completed": "arn:aws:sns:us-west-2:0123456789012:my-topic", - "Warning": "arn:aws:sns:us-west-2:0123456789012:my-topic", - "Progressing": "arn:aws:sns:us-west-2:0123456789012:my-topic", - "Error": "arn:aws:sns:us-east-1:111222333444:ETS_Errors" - }, - "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", - "InputBucket": "ets-example", - "Id": "1111111111111-abcde1", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/1111111111111-abcde1" - } - } diff --git a/awscli/examples/elastictranscoder/update-pipeline-status.rst b/awscli/examples/elastictranscoder/update-pipeline-status.rst deleted file mode 100644 index b4587e6c2830..000000000000 --- a/awscli/examples/elastictranscoder/update-pipeline-status.rst +++ /dev/null @@ -1,53 +0,0 @@ -**To update the status of an ElasticTranscoder pipeline** - -This example updates the status of the specified ElasticTranscoder pipeline. - -Command:: - - aws elastictranscoder update-pipeline-status --id 1111111111111-abcde1 --status Paused - -Output:: - - { - "Pipeline": { - "Status": "Paused", - "ContentConfig": { - "Bucket": "ets-example", - "StorageClass": "Standard", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Name": "Default", - "ThumbnailConfig": { - "Bucket": "ets-example", - "StorageClass": "ReducedRedundancy", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Notifications": { - "Completed": "", - "Warning": "", - "Progressing": "", - "Error": "arn:aws:sns:us-east-1:803981987763:ETS_Errors" - }, - "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", - "InputBucket": "ets-example", - "Id": "1111111111111-abcde1", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/1111111111111-abcde1" - } - } - diff --git a/awscli/examples/elastictranscoder/update-pipeline.rst b/awscli/examples/elastictranscoder/update-pipeline.rst deleted file mode 100644 index c5b1e84f6a00..000000000000 --- a/awscli/examples/elastictranscoder/update-pipeline.rst +++ /dev/null @@ -1,95 +0,0 @@ -**To update an ElasticTranscoder pipeline** - -The following ``update-pipeline`` example updates the specified ElasticTranscoder pipeline. :: - - aws elastictranscoder update-pipeline \ - --id 1111111111111-abcde1 - --name DefaultExample \ - --input-bucket salesoffice.example.com-source \ - --role arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role \ - --notifications Progressing="",Completed="",Warning="",Error=arn:aws:sns:us-east-1:111222333444:ETS_Errors \ - --content-config file://content-config.json \ - --thumbnail-config file://thumbnail-config.json - -Contents of ``content-config.json``:: - - { - "Bucket":"salesoffice.example.com-public-promos", - "Permissions":[ - { - "GranteeType":"Email", - "Grantee":"marketing-promos@example.com", - "Access":[ - "FullControl" - ] - } - ], - "StorageClass":"Standard" - } - -Contents of ``thumbnail-config.json``:: - - { - "Bucket":"salesoffice.example.com-public-promos-thumbnails", - "Permissions":[ - { - "GranteeType":"Email", - "Grantee":"marketing-promos@example.com", - "Access":[ - "FullControl" - ] - } - ], - "StorageClass":"ReducedRedundancy" - } - -Output:: - - { - "Pipeline": { - "Status": "Active", - "ContentConfig": { - "Bucket": "ets-example", - "StorageClass": "Standard", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Name": "DefaultExample", - "ThumbnailConfig": { - "Bucket": "ets-example", - "StorageClass": "ReducedRedundancy", - "Permissions": [ - { - "Access": [ - "FullControl" - ], - "Grantee": "marketing-promos@example.com", - "GranteeType": "Email" - } - ] - }, - "Notifications": { - "Completed": "", - "Warning": "", - "Progressing": "", - "Error": "arn:aws:sns:us-east-1:111222333444:ETS_Errors" - }, - "Role": "arn:aws:iam::123456789012:role/Elastic_Transcoder_Default_Role", - "InputBucket": "ets-example", - "Id": "3333333333333-abcde3", - "Arn": "arn:aws:elastictranscoder:us-west-2:123456789012:pipeline/3333333333333-abcde3" - }, - "Warnings": [ - { - "Message": "The SNS notification topic for Error events and the pipeline are in different regions, which increases processing time for jobs in the pipeline and can incur additional charges. To decrease processing time and prevent cross-regional charges, use the same region for the SNS notification topic and the pipeline.", - "Code": "6006" - } - ] - } diff --git a/awscli/examples/elbv2/describe-target-groups.rst b/awscli/examples/elbv2/describe-target-groups.rst index c947472f304e..11848b8e4dff 100644 --- a/awscli/examples/elbv2/describe-target-groups.rst +++ b/awscli/examples/elbv2/describe-target-groups.rst @@ -52,4 +52,4 @@ Output:: "my-lambda-target" ] -For more information, see `Target groups `__ in the *Applicaion Load Balancers Guide*. \ No newline at end of file +For more information, see `Target groups `__ in the *Application Load Balancers Guide*. \ No newline at end of file diff --git a/awscli/examples/elbv2/modify-listener.rst b/awscli/examples/elbv2/modify-listener.rst index c2e3767989ef..5bc4c996535d 100644 --- a/awscli/examples/elbv2/modify-listener.rst +++ b/awscli/examples/elbv2/modify-listener.rst @@ -1,86 +1,95 @@ -**Example 1: To change the default action to a forward action** - -The following ``modify-listener`` example changes the default action (to a **forward** action)for the specified listener. :: - - aws elbv2 modify-listener \ - --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ - --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f - -Output:: - - { - "Listeners": [ - { - "Protocol": "HTTP", - "DefaultActions": [ - { - "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f", - "Type": "forward" - } - ], - "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", - "Port": 80, - "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" - } - ] - } - -**Example 2: To change the default action to a redirect action** - -The following ``modify-listener`` example changes the default action to a **redirect** action for the specified listener. :: - - aws elbv2 modify-listener \ - --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ - --default-actions Type=redirect,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f - -Output:: - - { - "Listeners": [ - { - "Protocol": "HTTP", - "DefaultActions": [ - { - "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f", - "Type": "redirect" - } - ], - "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", - "Port": 80, - "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" - } - ] - } - -**Example 3: To change the server certificate** - -This example changes the server certificate for the specified HTTPS listener. :: - - aws elbv2 modify-listener \ - --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65 \ - --certificates CertificateArn=arn:aws:iam::123456789012:server-certificate/my-new-server-cert - -Output:: - - { - "Listeners": [ - { - "Protocol": "HTTPS", - "DefaultActions": [ - { - "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", - "Type": "forward" - } - ], - "SslPolicy": "ELBSecurityPolicy-2015-05", - "Certificates": [ - { - "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-new-server-cert" - } - ], - "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", - "Port": 443, - "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65" - } - ] - } \ No newline at end of file +**Example 1: To change the default action to a forward action** + +The following ``modify-listener`` example changes the default action to a ``forward`` action for the specified listener. :: + + aws elbv2 modify-listener \ + --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ + --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f + +Output:: + + { + "Listeners": [ + { + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Protocol": "HTTP", + "Port": 80, + "DefaultActions": [ + { + "Type": "forward", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f" + } + ] + } + ] + } + +**Example 2: To change the default action to a redirect action** + +The following ``modify-listener`` example changes the default action to a ``redirect`` action for the specified listener. :: + + aws elbv2 modify-listener \ + --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \ + --default-actions Type=redirect, RedirectConfig='{Protocol=HTTPS,StatusCode=HTTP_302}' + +Output:: + + { + "Listeners": [ + { + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Protocol": "HTTP", + "Port": 80, + "DefaultActions": [ + { + "Type": "redirect", + "RedirectConfig": { + "Protocol": "HTTPS", + "Port": "#{port}", + "Host": "#{host}", + "Path": "/#{path}", + "Query": "#{query}", + "StatusCode": "HTTP_302", + } + } + ] + } + ] + } + +**Example 3: To change the server certificate** + +The following ``modify-listener`` example changes the server certificate for the specified HTTPS listener. :: + + aws elbv2 modify-listener \ + --listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65 \ + --certificates CertificateArn=arn:aws:iam::123456789012:server-certificate/my-new-server-cert + +Output:: + + { + "Listeners": [ + { + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Protocol": "HTTPS", + "Port": 443, + "DefaultActions": [ + { + "Type": "forward", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + } + ], + "SslPolicy": "ELBSecurityPolicy-2015-05", + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-new-server-cert" + } + ], + } + ] + } + +For more information, see `Listener rules `__ in the *Application Load Balancers User Guide*. \ No newline at end of file diff --git a/awscli/examples/elbv2/modify-target-group.rst b/awscli/examples/elbv2/modify-target-group.rst index 359b5f387191..ce97ec8f91ef 100644 --- a/awscli/examples/elbv2/modify-target-group.rst +++ b/awscli/examples/elbv2/modify-target-group.rst @@ -38,4 +38,4 @@ Output:: ] } -For more information, see `Target groups `__ in the *Applicaion Load Balancers Guide*. \ No newline at end of file +For more information, see `Target groups `__ in the *Application Load Balancers Guide*. \ No newline at end of file diff --git a/awscli/examples/emr/add-steps.rst b/awscli/examples/emr/add-steps.rst index 282c77edbe41..6ec39f356ebe 100644 --- a/awscli/examples/emr/add-steps.rst +++ b/awscli/examples/emr/add-steps.rst @@ -2,7 +2,7 @@ - Command:: - aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://mybucket/mytest.jar,Args=arg1,arg2,arg3 Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://mybucket/mytest.jar,MainClass=mymainclass,Args=arg1,arg2,arg3 + aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://amzn-s3-demo-bucket/mytest.jar,Args=arg1,arg2,arg3 Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://amzn-s3-demo-bucket/mytest.jar,MainClass=mymainclass,Args=arg1,arg2,arg3 - Required parameters:: @@ -25,7 +25,7 @@ - Command:: - aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=STREAMING,Name='Streaming Program',ActionOnFailure=CONTINUE,Args=[-files,s3://elasticmapreduce/samples/wordcount/wordSplitter.py,-mapper,wordSplitter.py,-reducer,aggregate,-input,s3://elasticmapreduce/samples/wordcount/input,-output,s3://mybucket/wordcount/output] + aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=STREAMING,Name='Streaming Program',ActionOnFailure=CONTINUE,Args=[-files,s3://elasticmapreduce/samples/wordcount/wordSplitter.py,-mapper,wordSplitter.py,-reducer,aggregate,-input,s3://elasticmapreduce/samples/wordcount/input,-output,s3://amzn-s3-demo-bucket/wordcount/output] - Required parameters:: @@ -40,7 +40,7 @@ [ { "Name": "JSON Streaming Step", - "Args": ["-files","s3://elasticmapreduce/samples/wordcount/wordSplitter.py","-mapper","wordSplitter.py","-reducer","aggregate","-input","s3://elasticmapreduce/samples/wordcount/input","-output","s3://mybucket/wordcount/output"], + "Args": ["-files","s3://elasticmapreduce/samples/wordcount/wordSplitter.py","-mapper","wordSplitter.py","-reducer","aggregate","-input","s3://elasticmapreduce/samples/wordcount/input","-output","s3://amzn-s3-demo-bucket/wordcount/output"], "ActionOnFailure": "CONTINUE", "Type": "STREAMING" } @@ -72,15 +72,15 @@ NOTE: JSON arguments must include options and values as their own items in the l "ActionOnFailure": "CONTINUE", "Args": [ "-files", - "s3://mybucket/mapper.py,s3://mybucket/reducer.py", + "s3://amzn-s3-demo-bucket/mapper.py,s3://amzn-s3-demo-bucket/reducer.py", "-mapper", "mapper.py", "-reducer", "reducer.py", "-input", - "s3://mybucket/input", + "s3://amzn-s3-demo-bucket/input", "-output", - "s3://mybucket/output"] + "s3://amzn-s3-demo-bucket/output"] } ] @@ -109,7 +109,7 @@ NOTE: JSON arguments must include options and values as their own items in the l - Command:: - aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=HIVE,Name='Hive program',ActionOnFailure=CONTINUE,Args=[-f,s3://mybucket/myhivescript.q,-d,INPUT=s3://mybucket/myhiveinput,-d,OUTPUT=s3://mybucket/myhiveoutput,arg1,arg2] Type=HIVE,Name='Hive steps',ActionOnFailure=TERMINATE_CLUSTER,Args=[-f,s3://elasticmapreduce/samples/hive-ads/libs/model-build.q,-d,INPUT=s3://elasticmapreduce/samples/hive-ads/tables,-d,OUTPUT=s3://mybucket/hive-ads/output/2014-04-18/11-07-32,-d,LIBS=s3://elasticmapreduce/samples/hive-ads/libs] + aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=HIVE,Name='Hive program',ActionOnFailure=CONTINUE,Args=[-f,s3://amzn-s3-demo-bucket/myhivescript.q,-d,INPUT=s3://amzn-s3-demo-bucket/myhiveinput,-d,OUTPUT=s3://amzn-s3-demo-bucket/myhiveoutput,arg1,arg2] Type=HIVE,Name='Hive steps',ActionOnFailure=TERMINATE_CLUSTER,Args=[-f,s3://elasticmapreduce/samples/hive-ads/libs/model-build.q,-d,INPUT=s3://elasticmapreduce/samples/hive-ads/tables,-d,OUTPUT=s3://amzn-s3-demo-bucket/hive-ads/output/2014-04-18/11-07-32,-d,LIBS=s3://elasticmapreduce/samples/hive-ads/libs] - Required parameters:: @@ -134,7 +134,7 @@ NOTE: JSON arguments must include options and values as their own items in the l - Command:: - aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=PIG,Name='Pig program',ActionOnFailure=CONTINUE,Args=[-f,s3://mybucket/mypigscript.pig,-p,INPUT=s3://mybucket/mypiginput,-p,OUTPUT=s3://mybucket/mypigoutput,arg1,arg2] Type=PIG,Name='Pig program',Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://mybucket/pig-apache/output,arg1,arg2] + aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=PIG,Name='Pig program',ActionOnFailure=CONTINUE,Args=[-f,s3://amzn-s3-demo-bucket/mypigscript.pig,-p,INPUT=s3://amzn-s3-demo-bucket/mypiginput,-p,OUTPUT=s3://amzn-s3-demo-bucket/mypigoutput,arg1,arg2] Type=PIG,Name='Pig program',Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://amzn-s3-demo-bucket/pig-apache/output,arg1,arg2] - Required parameters:: diff --git a/awscli/examples/emr/create-cluster-examples.rst b/awscli/examples/emr/create-cluster-examples.rst index 3dea47bc7161..23d48e524fe9 100644 --- a/awscli/examples/emr/create-cluster-examples.rst +++ b/awscli/examples/emr/create-cluster-examples.rst @@ -114,7 +114,7 @@ The following example references ``configurations.json`` as a local file. :: The following example references ``configurations.json`` as a file in Amazon S3. :: aws emr create-cluster \ - --configurations https://s3.amazonaws.com/myBucket/configurations.json \ + --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/configurations.json \ --release-label emr-5.9.0 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ --auto-terminate @@ -223,7 +223,7 @@ The following ``create-cluster`` example uses the ``--enable-debugging`` paramet aws emr create-cluster \ --enable-debugging \ - --log-uri s3://myBucket/myLog \ + --log-uri s3://amzn-s3-demo-bucket/myLog \ --release-label emr-5.9.0 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ --auto-terminate @@ -357,7 +357,7 @@ The following ``create-cluster`` example adds steps by specifying a JAR file sto Custom JAR steps require the ``Jar=`` parameter, which specifies the path and file name of the JAR. Optional parameters are ``Type``, ``Name``, ``ActionOnFailure``, ``Args``, and ``MainClass``. If main class is not specified, the JAR file should specify ``Main-Class`` in its manifest file. :: aws emr create-cluster \ - --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://myBucket/mytest.jar,Args=arg1,arg2,arg3 Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://myBucket/mytest.jar,MainClass=mymainclass,Args=arg1,arg2,arg3 \ + --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://amzn-s3-demo-bucket/mytest.jar,Args=arg1,arg2,arg3 Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://amzn-s3-demo-bucket/mytest.jar,MainClass=mymainclass,Args=arg1,arg2,arg3 \ --release-label emr-5.3.1 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ --auto-terminate @@ -369,7 +369,7 @@ The following ``create-cluster`` examples add a streaming step to a cluster that The following example specifies the step inline. :: aws emr create-cluster \ - --steps Type=STREAMING,Name='Streaming Program',ActionOnFailure=CONTINUE,Args=[-files,s3://elasticmapreduce/samples/wordcount/wordSplitter.py,-mapper,wordSplitter.py,-reducer,aggregate,-input,s3://elasticmapreduce/samples/wordcount/input,-output,s3://mybucket/wordcount/output] \ + --steps Type=STREAMING,Name='Streaming Program',ActionOnFailure=CONTINUE,Args=[-files,s3://elasticmapreduce/samples/wordcount/wordSplitter.py,-mapper,wordSplitter.py,-reducer,aggregate,-input,s3://elasticmapreduce/samples/wordcount/input,-output,s3://amzn-s3-demo-bucket/wordcount/output] \ --release-label emr-5.3.1 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ --auto-terminate @@ -397,7 +397,7 @@ Contents of ``multiplefiles.json``:: "-input", "s3://elasticmapreduce/samples/wordcount/input", "-output", - "s3://mybucket/wordcount/output" + "s3://amzn-s3-demo-bucket/wordcount/output" ], "ActionOnFailure": "CONTINUE", "Type": "STREAMING" @@ -409,7 +409,7 @@ Contents of ``multiplefiles.json``:: The following example add Hive steps when creating a cluster. Hive steps require parameters ``Type`` and ``Args``. Hive steps optional parameters are ``Name`` and ``ActionOnFailure``. :: aws emr create-cluster \ - --steps Type=HIVE,Name='Hive program',ActionOnFailure=CONTINUE,ActionOnFailure=TERMINATE_CLUSTER,Args=[-f,s3://elasticmapreduce/samples/hive-ads/libs/model-build.q,-d,INPUT=s3://elasticmapreduce/samples/hive-ads/tables,-d,OUTPUT=s3://mybucket/hive-ads/output/2014-04-18/11-07-32,-d,LIBS=s3://elasticmapreduce/samples/hive-ads/libs] \ + --steps Type=HIVE,Name='Hive program',ActionOnFailure=CONTINUE,ActionOnFailure=TERMINATE_CLUSTER,Args=[-f,s3://elasticmapreduce/samples/hive-ads/libs/model-build.q,-d,INPUT=s3://elasticmapreduce/samples/hive-ads/tables,-d,OUTPUT=s3://amzn-s3-demo-bucket/hive-ads/output/2014-04-18/11-07-32,-d,LIBS=s3://elasticmapreduce/samples/hive-ads/libs] \ --applications Name=Hive \ --release-label emr-5.3.1 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large @@ -419,7 +419,7 @@ The following example add Hive steps when creating a cluster. Hive steps require The following example adds Pig steps when creating a cluster. Pig steps required parameters are ``Type`` and ``Args``. Pig steps optional parameters are ``Name`` and ``ActionOnFailure``. :: aws emr create-cluster \ - --steps Type=PIG,Name='Pig program',ActionOnFailure=CONTINUE,Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://mybucket/pig-apache/output] \ + --steps Type=PIG,Name='Pig program',ActionOnFailure=CONTINUE,Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://amzn-s3-demo-bucket/pig-apache/output] \ --applications Name=Pig \ --release-label emr-5.3.1 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large @@ -429,7 +429,7 @@ The following example adds Pig steps when creating a cluster. Pig steps required The following ``create-cluster`` example runs two bootstrap actions defined as scripts that are stored in Amazon S3. :: aws emr create-cluster \ - --bootstrap-actions Path=s3://mybucket/myscript1,Name=BootstrapAction1,Args=[arg1,arg2] Path=s3://mybucket/myscript2,Name=BootstrapAction2,Args=[arg1,arg2] \ + --bootstrap-actions Path=s3://amzn-s3-demo-bucket/myscript1,Name=BootstrapAction1,Args=[arg1,arg2] Path=s3://amzn-s3-demo-bucket/myscript2,Name=BootstrapAction2,Args=[arg1,arg2] \ --release-label emr-5.3.1 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large \ --auto-terminate @@ -503,7 +503,7 @@ The following ``create-cluster`` example creates an Amazon EMR cluster that uses aws emr create-cluster \ --release-label emr-5.30.0 \ - --log-uri s3://myBucket/myLog \ + --log-uri s3://amzn-s3-demo-bucket/myLog \ --log-encryption-kms-key-id arn:aws:kms:us-east-1:110302272565:key/dd559181-283e-45d7-99d1-66da348c4d33 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=2,InstanceType=m4.large diff --git a/awscli/examples/emr/create-cluster-synopsis.txt b/awscli/examples/emr/create-cluster-synopsis.txt index a3f60c896ecf..c52900f9c4fe 100644 --- a/awscli/examples/emr/create-cluster-synopsis.txt +++ b/awscli/examples/emr/create-cluster-synopsis.txt @@ -32,3 +32,4 @@ [--managed-scaling-policy ] [--placement-group-configs ] [--auto-termination-policy ] + [--extended-support | --no-extended-support] diff --git a/awscli/examples/emr/schedule-hbase-backup.rst b/awscli/examples/emr/schedule-hbase-backup.rst index 9f9d99de79cd..2c81d52c3323 100644 --- a/awscli/examples/emr/schedule-hbase-backup.rst +++ b/awscli/examples/emr/schedule-hbase-backup.rst @@ -1,28 +1,28 @@ **Note: This command can only be used with HBase on AMI version 2.x and 3.x** -**1. To schedule a full HBase backup** +**1. To schedule a full HBase backup** >>>>>>> 06ab6d6e13564b5733d75abaf3b599f93cf39a23 -- Command:: - - aws emr schedule-hbase-backup --cluster-id j-XXXXXXYY --type full --dir - s3://myBucket/backup --interval 10 --unit hours --start-time - 2014-04-21T05:26:10Z --consistent - -- Output:: - - None - - -**2. To schedule an incremental HBase backup** - -- Command:: - - aws emr schedule-hbase-backup --cluster-id j-XXXXXXYY --type incremental - --dir s3://myBucket/backup --interval 30 --unit minutes --start-time - 2014-04-21T05:26:10Z --consistent - -- Output:: - - None +- Command:: + + aws emr schedule-hbase-backup --cluster-id j-XXXXXXYY --type full --dir + s3://amzn-s3-demo-bucket/backup --interval 10 --unit hours --start-time + 2014-04-21T05:26:10Z --consistent + +- Output:: + + None + + +**2. To schedule an incremental HBase backup** + +- Command:: + + aws emr schedule-hbase-backup --cluster-id j-XXXXXXYY --type incremental + --dir s3://amzn-s3-demo-bucket/backup --interval 30 --unit minutes --start-time + 2014-04-21T05:26:10Z --consistent + +- Output:: + + None diff --git a/awscli/examples/gamelift/describe-fleet-events.rst b/awscli/examples/gamelift/describe-fleet-events.rst index a8cca28a0914..0739cdc1239a 100755 --- a/awscli/examples/gamelift/describe-fleet-events.rst +++ b/awscli/examples/gamelift/describe-fleet-events.rst @@ -1,6 +1,6 @@ **To request events for a specified time span** -The following ``describe-fleet-events`` example diplays details of all fleet-related events that occurred during the specified time span. :: +The following ``describe-fleet-events`` example displays details of all fleet-related events that occurred during the specified time span. :: aws gamelift describe-fleet-events \ --fleet-id arn:aws:gamelift:us-west-2::fleet/fleet-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ diff --git a/awscli/examples/global_options.rst b/awscli/examples/global_options.rst index 088e1be7aeea..d450cf0ce78a 100644 --- a/awscli/examples/global_options.rst +++ b/awscli/examples/global_options.rst @@ -12,7 +12,7 @@ ``--no-paginate`` (boolean) - Disable automatic pagination. + Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results. ``--output`` (string) @@ -70,3 +70,7 @@ The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds. +``--v2-debug`` (boolean) + + Enable AWS CLI v2 migration assistance. Prints warnings if the command would face a breaking change after swapping AWS CLI v1 for AWS CLI v2 in the current environment. Prints one warning for each breaking change detected. + diff --git a/awscli/examples/global_synopsis.rst b/awscli/examples/global_synopsis.rst index c5baaa9583ba..12865958a809 100644 --- a/awscli/examples/global_synopsis.rst +++ b/awscli/examples/global_synopsis.rst @@ -12,3 +12,4 @@ [--ca-bundle ] [--cli-read-timeout ] [--cli-connect-timeout ] +[--v2-debug] diff --git a/awscli/examples/glue/create-job.rst b/awscli/examples/glue/create-job.rst index dd5aca9d6849..57fcfb2b8bf6 100644 --- a/awscli/examples/glue/create-job.rst +++ b/awscli/examples/glue/create-job.rst @@ -7,7 +7,7 @@ The following ``create-job`` example creates a streaming job that runs a script --role AWSGlueServiceRoleDefault \ --command '{ \ "Name": "gluestreaming", \ - "ScriptLocation": "s3://DOC-EXAMPLE-BUCKET/folder/" \ + "ScriptLocation": "s3://amzn-s3-demo-bucket/folder/" \ }' \ --region us-east-1 \ --output json \ diff --git a/awscli/examples/greengrass/get-connector-definition-version.rst b/awscli/examples/greengrass/get-connector-definition-version.rst index 0d412fffc4a6..5a2eb594806b 100644 --- a/awscli/examples/greengrass/get-connector-definition-version.rst +++ b/awscli/examples/greengrass/get-connector-definition-version.rst @@ -1,4 +1,4 @@ -**To retreive information about a specific version of a connector definition** +**To retrieve information about a specific version of a connector definition** The following ``get-connector-definition-version`` example retrieves information about the specified version of the specified connector definition. To retrieve the IDs of all versions of the connector definition, use the ``list-connector-definition-versions`` command. To retrieve the ID of the last version added to the connector definition, use the ``get-connector-definition`` command and check the ``LatestVersion`` property. :: diff --git a/awscli/examples/greengrass/list-core-definition-versions.rst b/awscli/examples/greengrass/list-core-definition-versions.rst index b31b5a4bc448..e8c45c251402 100644 --- a/awscli/examples/greengrass/list-core-definition-versions.rst +++ b/awscli/examples/greengrass/list-core-definition-versions.rst @@ -1,6 +1,6 @@ **To list the versions of a Greengrass core definition** -The following ``list-core-definitions`` example lists all versions of the specied Greengrass core definition. You can use the ``list-core-definitions`` command to get the version ID. :: +The following ``list-core-definitions`` example lists all versions of the specified Greengrass core definition. You can use the ``list-core-definitions`` command to get the version ID. :: aws greengrass list-core-definition-versions \ --core-definition-id "eaf280cb-138c-4d15-af36-6f681a1348f7" diff --git a/awscli/examples/guardduty/accept-invitation.rst b/awscli/examples/guardduty/accept-invitation.rst index e9d757df61b8..d82af3c153f9 100644 --- a/awscli/examples/guardduty/accept-invitation.rst +++ b/awscli/examples/guardduty/accept-invitation.rst @@ -6,7 +6,7 @@ The following ``accept-invitation`` example shows how to accept an invitation to --detector-id 12abc34d567e8fa901bc2d34eexample \ --master-id 123456789111 \ --invitation-id d6b94fb03a66ff665f7db8764example - + This command produces no output. -For more information, see `Managing GuardDuty Accounts by Invitation `__ in the GuardDuty User Guide. \ No newline at end of file +For more information, see `Managing GuardDuty accounts by invitation `__ in the GuardDuty User Guide. diff --git a/awscli/examples/guardduty/archive-findings.rst b/awscli/examples/guardduty/archive-findings.rst index 96a878efed02..c67b714ddefb 100644 --- a/awscli/examples/guardduty/archive-findings.rst +++ b/awscli/examples/guardduty/archive-findings.rst @@ -1,11 +1,11 @@ **To archive findings in the current region** -This example shows how to archive findings in the current region. :: +This ``archive-findings`` example shows how to archive findings in the current region. :: aws guardduty archive-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-ids d6b94fb03a66ff665f7db8764example 3eb970e0de00c16ec14e6910fexample -This command produces no output. +This command produces no output. -For more information, see `Managing GuardDuty Accounts by Invitation `__ in the *GuardDuty User Guide*. \ No newline at end of file +For more information, see `Creating suppression rules `__ in the *GuardDuty User Guide*. diff --git a/awscli/examples/guardduty/create-filter.rst b/awscli/examples/guardduty/create-filter.rst index f888154ff8ea..d074dccd4a94 100644 --- a/awscli/examples/guardduty/create-filter.rst +++ b/awscli/examples/guardduty/create-filter.rst @@ -1,17 +1,34 @@ -**To create a new filter for the current region** +**Example 1: To create a new filter in the current region** -This example creates a filter that matches all portscan findings for instance created from a specific image.:: +The following ``create-filter`` example creates a filter that matches all Portscan findings for instance created from a specific image. This does not suppress those findings. :: + + aws guardduty create-filter \ + --detector-id b6b992d6d2f48e64bc59180bfexample \ + --name myFilterExample \ + --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}' + +Output:: + + { + "Name": "myFilterExample" + } + +For more information, see `Filtering GuardDuty findings `__ in the *GuardDuty User Guide*. + +**Example 2: To create a new filter and suppress findings in the current region** + +The following ``create-filter`` example creates a filter that matches all Portscan findings for instance created from a specific image. This filter archives those findings so that they do not appear in your current findings. :: aws guardduty create-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --action ARCHIVE \ - --name myFilter \ + --name myFilterSecondExample \ --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}' Output:: { - "Name": "myFilter" + "Name": "myFilterSecondExample" } -For more information, see `Filtering findings `__ in the *GuardDuty User Guide*. +For more information, see `Filtering GuardDuty findings `__ in the *GuardDuty User Guide*. diff --git a/awscli/examples/guardduty/create-ip-set.rst b/awscli/examples/guardduty/create-ip-set.rst index 14cf6d3d38a1..580049c4e202 100644 --- a/awscli/examples/guardduty/create-ip-set.rst +++ b/awscli/examples/guardduty/create-ip-set.rst @@ -1,18 +1,18 @@ -**To create a trusted IP set** +**To create and activate a trusted IP set** -The following ``create-ip-set`` example creates and activates a trusted IP set in the current region. :: +The following ``create-ip-set`` example creates and activates a trusted IP set in the current Region. :: aws guardduty create-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ - --name new-ip-set \ - --format TXT - --location s3://AWSDOC-EXAMPLE-BUCKET/customtrustlist.csv + --name new-ip-set-example \ + --format TXT \ + --location s3://amzn-s3-demo-bucket/customtrustlist.csv \ --activate Output:: - + { "IpSetId": "d4b94fc952d6912b8f3060768example" } -For more information, see `Working with Trusted IP Lists and Threat Lists `__ in the GuardDuty User Guide. \ No newline at end of file +For more information, see `Working with Trusted IP Lists and Threat Lists `__ in the *GuardDuty User Guide*. \ No newline at end of file diff --git a/awscli/examples/guardduty/create-publishing-destination.rst b/awscli/examples/guardduty/create-publishing-destination.rst index 2321d5394cfc..5d5e883cfef3 100644 --- a/awscli/examples/guardduty/create-publishing-destination.rst +++ b/awscli/examples/guardduty/create-publishing-destination.rst @@ -1,11 +1,11 @@ **To create a publishing destination to export GuardDuty findings in the current region to.** -This example shows how to create a publishing destination for GuardDuty findings. :: +The following ``create-publishing-destination`` example shows how to set up a publishing destination to export current (not archived) GuardDuty findings to keep track of historical findings data. :: aws guardduty create-publishing-destination \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --destination-type S3 \ - --destination-properties DestinationArn=arn:aws:s3:::yourbucket,KmsKeyArn=arn:aws:kms:us-west-1:111122223333:key/84cee9c5-dea1-401a-ab6d-e1de7example + --destination-properties 'DestinationArn=arn:aws:s3:::amzn-s3-demo-bucket,KmsKeyArn=arn:aws:kms:us-west-1:111122223333:key/84cee9c5-dea1-401a-ab6d-e1de7example' Output:: @@ -13,4 +13,4 @@ Output:: "DestinationId": "46b99823849e1bbc242dfbe3cexample" } -For more information, see `Exporting findings `__ in the *GuardDuty User Guide*. \ No newline at end of file +For more information, see `Exporting generated GuardDuty findings to Amazon S3 buckets `__ in the *GuardDuty User Guide*. \ No newline at end of file diff --git a/awscli/examples/guardduty/create-threat-intel-set.rst b/awscli/examples/guardduty/create-threat-intel-set.rst index 045f812532e6..aecffff3e69f 100644 --- a/awscli/examples/guardduty/create-threat-intel-set.rst +++ b/awscli/examples/guardduty/create-threat-intel-set.rst @@ -1,12 +1,12 @@ -**To create a new threat intel set in the current region.** +**To create and activate a new threat intel set** -This example shows how to upload a threat intel set to GuardDuty and activate it immediately. :: +The following ``create-threat-intel-set`` example creates and activates a threat intel set in the current Region. :: aws guardduty create-threat-intel-set \ --detector-id b6b992d6d2f48e64bc59180bfexample \ - --name myThreatSet \ + --name myThreatSet-example \ --format TXT \ - --location s3://EXAMPLEBUCKET/threatlist.csv \ + --location s3://amzn-s3-demo-bucket/threatlist.csv \ --activate Output:: @@ -15,4 +15,4 @@ Output:: "ThreatIntelSetId": "20b9a4691aeb33506b808878cexample" } -For more information, see `Trusted IP and threat lists `__ in the *GuardDuty User Guide*. +For more information, see `Working with Trusted IP Lists and Threat Lists `__ in the *GuardDuty User Guide*. diff --git a/awscli/examples/guardduty/disassociate-from-master-account.rst b/awscli/examples/guardduty/disassociate-from-master-account.rst index 5e91537cab68..31a6ad53a8b3 100644 --- a/awscli/examples/guardduty/disassociate-from-master-account.rst +++ b/awscli/examples/guardduty/disassociate-from-master-account.rst @@ -1,10 +1,10 @@ -**To disassociate from your current master account in the current region** +**To disassociate from your current administrator account in the current region** -The following ``disassociate-from-master-account`` example dissassociates your account from the current GuardDuty master account in the current AWS region. :: +The following ``disassociate-from-master-account`` example disassociates your account from the current GuardDuty administrator account in the current AWS region. :: aws guardduty disassociate-from-master-account \ --detector-id d4b040365221be2b54a6264dcexample This command produces no output. -For more information, see `Understanding the Relationship between GuardDuty Master and Member Accounts `__ in the GuardDuty User Guide. \ No newline at end of file +For more information, see `Understanding the relationship between GuardDuty administrator account and member accounts `__ in the *GuardDuty User Guide*. diff --git a/awscli/examples/guardduty/get-ip-set.rst b/awscli/examples/guardduty/get-ip-set.rst index c86bbdb23175..8a8acc04c596 100644 --- a/awscli/examples/guardduty/get-ip-set.rst +++ b/awscli/examples/guardduty/get-ip-set.rst @@ -1,6 +1,6 @@ **To list get details on a specified trusted IP set** -The following ``get-ip-set`` example shows the status and details of the specififed trusted IP set. :: +The following ``get-ip-set`` example shows the status and details of the specified trusted IP set. :: aws guardduty get-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ @@ -10,10 +10,10 @@ Output:: { "Status": "ACTIVE", - "Location": "s3://AWSDOC-EXAMPLE-BUCKET.s3-us-west-2.amazonaws.com/customlist.csv", + "Location": "s3://amzn-s3-demo-bucket.s3-us-west-2.amazonaws.com/customlist.csv", "Tags": {}, "Format": "TXT", - "Name": "test-ip-set" + "Name": "test-ip-set-example" } -For more information, see `Working with Trusted IP Lists and Threat Lists `__ in the GuardDuty User Guide. \ No newline at end of file +For more information, see `Working with Trusted IP Lists and Threat Lists `__ in the *GuardDuty User Guide*. diff --git a/awscli/examples/guardduty/get-master-account.rst b/awscli/examples/guardduty/get-master-account.rst index 50fb80a900fd..11d9e6699408 100644 --- a/awscli/examples/guardduty/get-master-account.rst +++ b/awscli/examples/guardduty/get-master-account.rst @@ -12,8 +12,8 @@ Output:: "InvitationId": "04b94d9704854a73f94e061e8example", "InvitedAt": "2020-06-09T22:23:04.970Z", "RelationshipStatus": "Enabled", - "AccountId": "123456789111" + "AccountId": "111122223333" } } -For more information, see `Understanding the Relationship between GuardDuty Master and Member Accounts `__ in the GuardDuty User Guide. \ No newline at end of file +For more information, see `Understanding the relationship between GuardDuty administrator account and member account `__ in the *GuardDuty User Guide*. \ No newline at end of file diff --git a/awscli/examples/guardduty/list-members.rst b/awscli/examples/guardduty/list-members.rst index b203777b1fd0..435d5a1c2f35 100644 --- a/awscli/examples/guardduty/list-members.rst +++ b/awscli/examples/guardduty/list-members.rst @@ -1,24 +1,51 @@ -**To list all members in the current region** +**Example 1: To list only current members in the current Region** -The following ``list-members`` example lists all member accounts and their details for the current region. :: +The following ``list-members`` example lists and provides details of only current member accounts associated with the GuardDuty administrator account, in the current region. :: aws guardduty list-members \ - --detector-id 12abc34d567e8fa901bc2d34eexample + --detector-id 12abc34d567e8fa901bc2d34eexample \ + --only-associated="true" Output:: - + { "Members": [ { "RelationshipStatus": "Enabled", "InvitedAt": "2020-06-09T22:49:00.910Z", - "MasterId": "123456789111", + "MasterId": "111122223333", "DetectorId": "7ab8b2f61b256c87f793f6a86example", "UpdatedAt": "2020-06-09T23:08:22.512Z", "Email": "your+member@example.com", - "AccountId": "123456789222" + "AccountId": "123456789012" + } + ] + } + +For more information, see `Understanding the relationship between GuardDuty administrator account and member accounts `__ in the *GuardDuty User Guide*. + +**Example 2: To list all the members in the current Region** + +The following ``list-members`` example lists and provides details of all the member accounts, including those who have been disassociated or have not yet accepted the invite from the GuardDuty administrator, in the current region. :: + + aws guardduty list-members \ + --detector-id 12abc34d567e8fa901bc2d34eexample \ + --only-associated="false" + +Output:: + + { + "Members": [ + { + "RelationshipStatus": "Enabled", + "InvitedAt": "2020-06-09T22:49:00.910Z", + "MasterId": "111122223333", + "DetectorId": "7ab8b2f61b256c87f793f6a86example", + "UpdatedAt": "2020-06-09T23:08:22.512Z", + "Email": "your+other+member@example.com", + "AccountId": "555555555555" } ] } -For more information, see `Understanding the Relationship between GuardDuty Master and Member Accounts `__ in the GuardDuty User Guide. \ No newline at end of file +For more information, see `Understanding the relationship between GuardDuty administrator account and member accounts `__ in the *GuardDuty User Guide*. diff --git a/awscli/examples/guardduty/update-detector.rst b/awscli/examples/guardduty/update-detector.rst new file mode 100644 index 000000000000..96a8117d67e4 --- /dev/null +++ b/awscli/examples/guardduty/update-detector.rst @@ -0,0 +1,23 @@ +**Example 1: To enable runtime monitoring in GuardDuty** + +The following ``update-detector`` example enables runtime monitoring without additional configuration. :: + + aws guardduty update-detector \ + --detector-id 12abc34d567e8fa901bc2d34eexample \ + --features 'Name=RUNTIME_MONITORING,Status=ENABLED' + +This command produces no output. + +For more information, see `Runtime monitoring `__ in the *GuardDuty User Guide*. + +**Example 2: To enable runtime monitoring with additional configuration** + +The following ``update-detector`` example enables runtime monitoring with additional configuration for EC2, ECS Fargate, and EKS. :: + + aws guardduty update-detector \ + --detector-id 12abc34d567e8fa901bc2d34eexample \ + --features 'Name=RUNTIME_MONITORING,Status=ENABLED,AdditionalConfiguration=[{Name=EC2_AGENT_MANAGEMENT,Status=ENABLED},{Name=ECS_FARGATE_AGENT_MANAGEMENT,Status=ENABLED},{Name=EKS_ADDON_MANAGEMENT,Status=ENABLED}]' + +This command produces no output. + +For more information, see `Runtime monitoring `__ in the *GuardDuty User Guide*. \ No newline at end of file diff --git a/awscli/examples/guardduty/update-ip-set.rst b/awscli/examples/guardduty/update-ip-set.rst index f75955210d86..fce7c381705f 100644 --- a/awscli/examples/guardduty/update-ip-set.rst +++ b/awscli/examples/guardduty/update-ip-set.rst @@ -5,8 +5,8 @@ The following ``update-ip-set`` example shows how to update the details of a tru aws guardduty update-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --ip-set-id d4b94fc952d6912b8f3060768example \ - --location https://AWSDOC-EXAMPLE-BUCKET.s3-us-west-2.amazonaws.com/customtrustlist2.csv + --location https://amzn-s3-demo-bucket.s3-us-west-2.amazonaws.com/customtrustlist2.csv This command produces no output. -For more information, see `Working with Trusted IP Lists and Threat Lists `__ in the GuardDuty User Guide. \ No newline at end of file +For more information, see `Working with Trusted IP Lists and Threat Lists `__ in the *GuardDuty User Guide*. diff --git a/awscli/examples/healthlake/create-fhir-datastore.rst b/awscli/examples/healthlake/create-fhir-datastore.rst index 3921476a6eb7..f2114244b770 100644 --- a/awscli/examples/healthlake/create-fhir-datastore.rst +++ b/awscli/examples/healthlake/create-fhir-datastore.rst @@ -1,20 +1,47 @@ -**To create a FHIR Data Store.** +**Example 1: Create a SigV4-enabled HealthLake data store** -The following ``create-fhir-datastore`` example demonstrates how to create a new Data Store in Amazon HealthLake. :: +The following ``create-fhir-datastore`` example demonstrates how to create a new data store in AWS HealthLake. :: aws healthlake create-fhir-datastore \ - --region us-east-1 \ - --datastore-type-version R4 \ --datastore-type-version R4 \ --datastore-name "FhirTestDatastore" Output:: { - "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Datastore ID)/r4/", - "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Datastore ID)", + "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/", + "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)", + "DatastoreStatus": "CREATING", + "DatastoreId": "(Data store ID)" + } + +**Example 2: Create a SMART on FHIR-enabled HealthLake data store** + +The following ``create-fhir-datastore`` example demonstrates how to create a new SMART on FHIR-enabled data store in AWS HealthLake. :: + + aws healthlake create-fhir-datastore \ + --datastore-name "your-data-store-name" \ + --datastore-type-version R4 \ + --preload-data-config PreloadDataType="SYNTHEA" \ + --sse-configuration '{ "KmsEncryptionConfig": { "CmkType": "CUSTOMER_MANAGED_KMS_KEY", "KmsKeyId": "arn:aws:kms:us-east-1:your-account-id:key/your-key-id" } }' \ + --identity-provider-configuration file://identity_provider_configuration.json + +Contents of ``identity_provider_configuration.json``:: + + { + "AuthorizationStrategy": "SMART_ON_FHIR_V1", + "FineGrainedAuthorizationEnabled": true, + "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name", + "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\"]}" + } + +Output:: + + { + "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/", + "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)", "DatastoreStatus": "CREATING", - "DatastoreId": "(Datastore ID)" + "DatastoreId": "(Data store ID)" } -For more information, see `Creating and monitoring a FHIR Data Store `__ in the *Amazon HealthLake Developer Guide*. +For more information, see `Creating and monitoring a FHIR data store `__ in the *AWS HealthLake Developer Guide*. diff --git a/awscli/examples/healthlake/delete-fhir-datastore.rst b/awscli/examples/healthlake/delete-fhir-datastore.rst index 7d8272d4febe..d4668f95dd6f 100644 --- a/awscli/examples/healthlake/delete-fhir-datastore.rst +++ b/awscli/examples/healthlake/delete-fhir-datastore.rst @@ -1,18 +1,17 @@ -**To delete a FHIR Data Store** +**To delete a FHIR data store** -The following ``delete-fhir-datastore`` example demonstrates how to delete a Data Store and all of its contents in Amazon HealthLake. :: +The following ``delete-fhir-datastore`` example demonstrates how to delete a data store and all of its contents in AWS HealthLake. :: aws healthlake delete-fhir-datastore \ - --datastore-id (Data Store ID) \ - --region us-east-1 + --datastore-id (Data store ID) Output:: { - "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Datastore ID)/r4/", - "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Datastore ID)", + "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Data store ID)/r4/", + "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Data store ID)", "DatastoreStatus": "DELETING", - "DatastoreId": "(Datastore ID)" + "DatastoreId": "(Data store ID)" } -For more information, see `Creating and monitoring a FHIR Data Store ` in the *Amazon HealthLake Developer Guide*. +For more information, see `Creating and monitoring a FHIR data store ` in the *AWS HealthLake Developer Guide*. diff --git a/awscli/examples/healthlake/describe-fhir-datastore.rst b/awscli/examples/healthlake/describe-fhir-datastore.rst index 8de511924d5d..3c58363f11dd 100644 --- a/awscli/examples/healthlake/describe-fhir-datastore.rst +++ b/awscli/examples/healthlake/describe-fhir-datastore.rst @@ -1,10 +1,9 @@ -**To describe a FHIR Data Store** +**To describe a FHIR data store** -The following ``describe-fhir-datastore`` example demonstrates how to find the properties of a Data Store in Amazon HealthLake. :: +The following ``describe-fhir-datastore`` example demonstrates how to find the properties of a data store in AWS HealthLake. :: aws healthlake describe-fhir-datastore \ - --datastore-id "1f2f459836ac6c513ce899f9e4f66a59" \ - --region us-east-1 + --datastore-id "1f2f459836ac6c513ce899f9e4f66a59" Output:: @@ -14,13 +13,24 @@ Output:: "PreloadDataConfig": { "PreloadDataType": "SYNTHEA" }, - "DatastoreName": "FhirTestDatastore", - "DatastoreArn": "arn:aws:healthlake:us-east-1:(AWS Account ID):datastore/(Datastore ID)", - "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore/(Datastore ID)/r4/", - "DatastoreStatus": "CREATING", + "SseConfiguration": { + "KmsEncryptionConfig": { + "CmkType": "CUSTOMER_MANAGED_KMS_KEY", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" + } + }, + "DatastoreName": "Demo", + "DatastoreArn": "arn:aws:healthlake:us-east-1::datastore/", + "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore//r4/", + "DatastoreStatus": "ACTIVE", "DatastoreTypeVersion": "R4", - "DatastoreId": "(Datastore ID)" + "CreatedAt": 1603761064.881, + "DatastoreId": "", + "IdentityProviderConfiguration": { + "AuthorizationStrategy": "AWS_AUTH", + "FineGrainedAuthorizationEnabled": false + } } } -For more information, see `Creating and monitoring a FHIR Data Stores `__ in the *Amazon HealthLake Developer Guide*. +For more information, see `Creating and monitoring a FHIR data stores `__ in the *AWS HealthLake Developer Guide*. diff --git a/awscli/examples/healthlake/describe-fhir-export-job.rst b/awscli/examples/healthlake/describe-fhir-export-job.rst index 74b35572b1b2..94369576516d 100644 --- a/awscli/examples/healthlake/describe-fhir-export-job.rst +++ b/awscli/examples/healthlake/describe-fhir-export-job.rst @@ -1,9 +1,9 @@ **To describe a FHIR export job** -The following ``describe-fhir-export-job`` example shows how to find the properties of a FHIR export job in Amazon HealthLake. :: +The following ``describe-fhir-export-job`` example shows how to find the properties of a FHIR export job in AWS HealthLake. :: aws healthlake describe-fhir-export-job \ - --datastore-id (Datastore ID) \ + --datastore-id (Data store ID) \ --job-id 9b9a51943afaedd0a8c0c26c49135a31 Output:: @@ -13,12 +13,17 @@ Output:: "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)", "JobStatus": "IN_PROGRESS", "JobId": "9009813e9d69ba7cf79bcb3468780f16", - "SubmitTime": 1609175692.715, + "SubmitTime": "2024-11-20T11:31:46.672000-05:00", + "EndTime": "2024-11-20T11:34:01.636000-05:00", "OutputDataConfig": { - "S3Uri": "s3://(Bucket Name)/(Prefix Name)/59593b2d0367ce252b5e66bf5fd6b574-FHIR_EXPORT-9009813e9d69ba7cf79bcb3468780f16/" + "S3Configuration": { + "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", + "KmsKeyId": "arn:aws:kms:us-east-1:012345678910:key/d330e7fc-b56c-4216-a250-f4c43ef46e83" + } + }, - "DatastoreId": "(Datastore ID)" + "DatastoreId": "(Data store ID)" } } -For more information, see `Exporting files from a FHIR Data Store `__ in the *Amazon HealthLake Developer Guide*. +For more information, see `Exporting files from a FHIR data store `__ in the *AWS HealthLake Developer Guide*. diff --git a/awscli/examples/healthlake/describe-fhir-import-job.rst b/awscli/examples/healthlake/describe-fhir-import-job.rst index 0df4adbc3da5..26b80f7eafd2 100644 --- a/awscli/examples/healthlake/describe-fhir-import-job.rst +++ b/awscli/examples/healthlake/describe-fhir-import-job.rst @@ -1,11 +1,10 @@ **To describe a FHIR import job** -The following ``describe-fhir-import-job`` example shows how to learn the properties of a FHIR import job using Amazon HealthLake. :: +The following ``describe-fhir-import-job`` example shows how to learn the properties of a FHIR import job using AWS HealthLake. :: aws healthlake describe-fhir-import-job \ - --datastore-id (Datastore ID) \ - --job-id c145fbb27b192af392f8ce6e7838e34f \ - --region us-east-1 + --datastore-id (Data store ID) \ + --job-id c145fbb27b192af392f8ce6e7838e34f Output:: @@ -20,8 +19,8 @@ Output:: "JobId": "c145fbb27b192af392f8ce6e7838e34f", "SubmitTime": 1606272542.161, "EndTime": 1606272609.497, - "DatastoreId": "(Datastore ID)" + "DatastoreId": "(Data store ID)" } } -For more information, see `Importing files to a FHIR Data Store `__ in the *Amazon HealthLake Developer Guide*. +For more information, see `Importing files to a FHIR data store `__ in the *AWS HealthLake Developer Guide*. diff --git a/awscli/examples/healthlake/list-fhir-datastores.rst b/awscli/examples/healthlake/list-fhir-datastores.rst index 0936d0166d41..9169a61c245e 100644 --- a/awscli/examples/healthlake/list-fhir-datastores.rst +++ b/awscli/examples/healthlake/list-fhir-datastores.rst @@ -1,9 +1,8 @@ -**To list FHIR Data Stores** +**To list FHIR data stores** -The following ``list-fhir-datastores`` example shows to how to use the command and how users can filter results based on Data Store status in Amazon HealthLake. :: +The following ``list-fhir-datastores`` example shows to how to use the command and how users can filter results based on data store status in AWS HealthLake. :: aws healthlake list-fhir-datastores \ - --region us-east-1 \ --filter DatastoreStatus=ACTIVE Output:: @@ -14,24 +13,25 @@ Output:: "PreloadDataConfig": { "PreloadDataType": "SYNTHEA" }, - "DatastoreName": "FhirTestDatastore", - "DatastoreArn": "arn:aws:healthlake:us-east-1::datastore/", - "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore//r4/", - "DatastoreStatus": "ACTIVE", - "DatastoreTypeVersion": "R4", - "CreatedAt": 1605574003.209, - "DatastoreId": "" - }, - { + "SseConfiguration": { + "KmsEncryptionConfig": { + "CmkType": "CUSTOMER_MANAGED_KMS_KEY", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" + } + }, "DatastoreName": "Demo", - "DatastoreArn": "arn:aws:healthlake:us-east-1::datastore/", - "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore//r4/", + "DatastoreArn": "arn:aws:healthlake:us-east-1::datastore/", + "DatastoreEndpoint": "https://healthlake.us-east-1.amazonaws.com/datastore//r4/", "DatastoreStatus": "ACTIVE", "DatastoreTypeVersion": "R4", "CreatedAt": 1603761064.881, - "DatastoreId": "" + "DatastoreId": "", + "IdentityProviderConfiguration": { + "AuthorizationStrategy": "AWS_AUTH", + "FineGrainedAuthorizationEnabled": false + } } ] } -For more information, see `Creating and monitoring a FHIR Data Store `__ in the *Amazon HealthLake Developer Guide*. +For more information, see `Creating and monitoring a FHIR data store `__ in the *AWS HealthLake Developer Guide*. diff --git a/awscli/examples/healthlake/list-fhir-export-jobs.rst b/awscli/examples/healthlake/list-fhir-export-jobs.rst index a4f123de4df4..7e45c19088eb 100644 --- a/awscli/examples/healthlake/list-fhir-export-jobs.rst +++ b/awscli/examples/healthlake/list-fhir-export-jobs.rst @@ -3,7 +3,7 @@ The following ``list-fhir-export-jobs`` example shows how to use the command to view a list of export jobs associated with an account. :: aws healthlake list-fhir-export-jobs \ - --datastore-id (Datastore ID) \ + --datastore-id (Data store ID) \ --submitted-before (DATE like 2024-10-13T19:00:00Z)\ --submitted-after (DATE like 2020-10-13T19:00:00Z )\ --job-name "FHIR-EXPORT" \ @@ -13,23 +13,26 @@ The following ``list-fhir-export-jobs`` example shows how to use the command to Output:: { - "ExportJobProperties": { - "OutputDataConfig": { - "S3Uri": "s3://(Bucket Name)/(Prefix Name)/" - "S3Configuration": { - "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", - "KmsKeyId" : "(KmsKey Id)" - }, - }, - "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)", - "JobStatus": "COMPLETED", - "JobId": "c145fbb27b192af392f8ce6e7838e34f", - "JobName" "FHIR-EXPORT", - "SubmitTime": 1606272542.161, - "EndTime": 1606272609.497, - "DatastoreId": "(Datastore ID)" - } + "ExportJobPropertiesList": [ + { + "ExportJobProperties": { + "OutputDataConfig": { + "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", + "S3Configuration": { + "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", + "KmsKeyId": "(KmsKey Id)" + } + }, + "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)", + "JobStatus": "COMPLETED", + "JobId": "c145fbb27b192af392f8ce6e7838e34f", + "JobName": "FHIR-EXPORT", + "SubmitTime": "2024-11-20T11:31:46.672000-05:00", + "EndTime": "2024-11-20T11:34:01.636000-05:00", + "DatastoreId": "(Data store ID)" + } + } + ] } - "NextToken": String -For more information, see `Exporting files from a FHIR Data Store `__ in the Amazon HealthLake Developer Guide. \ No newline at end of file +For more information, see `Exporting files from a FHIR data store `__ in the AWS HealthLake Developer Guide. \ No newline at end of file diff --git a/awscli/examples/healthlake/list-fhir-import-jobs.rst b/awscli/examples/healthlake/list-fhir-import-jobs.rst index c296438650ff..428df7220d93 100644 --- a/awscli/examples/healthlake/list-fhir-import-jobs.rst +++ b/awscli/examples/healthlake/list-fhir-import-jobs.rst @@ -3,7 +3,7 @@ The following ``list-fhir-import-jobs`` example shows how to use the command to view a list of all import jobs associated with an account. :: aws healthlake list-fhir-import-jobs \ - --datastore-id (Datastore ID) \ + --datastore-id (Data store ID) \ --submitted-before (DATE like 2024-10-13T19:00:00Z) \ --submitted-after (DATE like 2020-10-13T19:00:00Z ) \ --job-name "FHIR-IMPORT" \ @@ -13,23 +13,36 @@ The following ``list-fhir-import-jobs`` example shows how to use the command to Output:: { - "ImportJobProperties": { - "OutputDataConfig": { - "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", + "ImportJobPropertiesList": [ + { + "JobId": "c0fddbf76f238297632d4aebdbfc9ddf", + "JobStatus": "COMPLETED", + "SubmitTime": "2024-11-20T10:08:46.813000-05:00", + "EndTime": "2024-11-20T10:10:09.093000-05:00", + "DatastoreId": "(Data store ID)", + "InputDataConfig": { + "S3Uri": "s3://(Bucket Name)/(Prefix Name)/" + }, + "JobOutputDataConfig": { "S3Configuration": { - "S3Uri": "s3://(Bucket Name)/(Prefix Name)/", - "KmsKeyId" : "(KmsKey Id)" - }, - }, - "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)", - "JobStatus": "COMPLETED", - "JobId": "c145fbb27b192af392f8ce6e7838e34f", - "JobName" "FHIR-IMPORT", - "SubmitTime": 1606272542.161, - "EndTime": 1606272609.497, - "DatastoreId": "(Datastore ID)" - } + "S3Uri": "s3://(Bucket Name)/import/6407b9ae4c2def3cb6f1a46a0c599ec0-FHIR_IMPORT-c0fddbf76f238297632d4aebdbfc9ddf/", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/b7f645cb-e564-4981-8672-9e012d1ff1a0" + } + }, + "JobProgressReport": { + "TotalNumberOfScannedFiles": 1, + "TotalSizeOfScannedFilesInMB": 0.001798, + "TotalNumberOfImportedFiles": 1, + "TotalNumberOfResourcesScanned": 1, + "TotalNumberOfResourcesImported": 1, + "TotalNumberOfResourcesWithCustomerError": 0, + "TotalNumberOfFilesReadWithCustomerError": 0, + "Throughput": 0.0 + }, + "DataAccessRoleArn": "arn:aws:iam::(AWS Account ID):role/(Role Name)" + } + ] } - "NextToken": String -For more information, see `Importing files to FHIR Data Store `__ in the Amazon HealthLake Developer Guide. \ No newline at end of file + +For more information, see `Importing files to FHIR data store `__ in the AWS HealthLake Developer Guide. \ No newline at end of file diff --git a/awscli/examples/healthlake/list-tags-for-resource.rst b/awscli/examples/healthlake/list-tags-for-resource.rst index 85e30b32de8b..47b227316e26 100644 --- a/awscli/examples/healthlake/list-tags-for-resource.rst +++ b/awscli/examples/healthlake/list-tags-for-resource.rst @@ -1,10 +1,9 @@ -**To list tags for a Data Store** +**To list tags for a data store** -The following ``list-tags-for-resource`` example lists the tags associated with the specified Data Store.:: +The following ``list-tags-for-resource`` example lists the tags associated with the specified data store.:: aws healthlake list-tags-for-resource \ - --resource-arn "arn:aws:healthlake:us-east-1:674914422125:datastore/fhir/0725c83f4307f263e16fd56b6d8ebdbe" \ - --region us-east-1 + --resource-arn "arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/0725c83f4307f263e16fd56b6d8ebdbe" Output:: @@ -15,4 +14,4 @@ Output:: } } -For more information, see `Tagging resources in Amazon HealthLake `__ in the Amazon HealthLake Developer Guide. \ No newline at end of file +For more information, see `Tagging resources in AWS HealthLake `__ in the AWS HealthLake Developer Guide. \ No newline at end of file diff --git a/awscli/examples/healthlake/start-fhir-export-job.rst b/awscli/examples/healthlake/start-fhir-export-job.rst index 7bcc929f1323..034b67188d0f 100644 --- a/awscli/examples/healthlake/start-fhir-export-job.rst +++ b/awscli/examples/healthlake/start-fhir-export-job.rst @@ -1,18 +1,18 @@ **To start a FHIR export job** -The following ``start-fhir-export-job`` example shows how to start a FHIR export job using Amazon HealthLake. :: +The following ``start-fhir-export-job`` example shows how to start a FHIR export job using AWS HealthLake. :: aws healthlake start-fhir-export-job \ - --output-data-config S3Uri="s3://(Bucket Name)/(Prefix Name)/" \ - --datastore-id (Datastore ID) \ + --output-data-config '{"S3Configuration": {"S3Uri":"s3://(Bucket Name)/(Prefix Name)/","KmsKeyId":"arn:aws:kms:us-east-1:012345678910:key/d330e7fc-b56c-4216-a250-f4c43ef46e83"}}' \ + --datastore-id (Data store ID) \ --data-access-role-arn arn:aws:iam::(AWS Account ID):role/(Role Name) Output:: { - "DatastoreId": "(Datastore ID)", + "DatastoreId": "(Data store ID)", "JobStatus": "SUBMITTED", "JobId": "9b9a51943afaedd0a8c0c26c49135a31" } -For more information, see `Exporting files from a FHIR Data Store `__ in the *Amazon HealthLake Developer Guide*. +For more information, see `Exporting files from a FHIR data store `__ in the *AWS HealthLake Developer Guide*. diff --git a/awscli/examples/healthlake/start-fhir-import-job.rst b/awscli/examples/healthlake/start-fhir-import-job.rst index 040e0af38a52..15018ce283f3 100644 --- a/awscli/examples/healthlake/start-fhir-import-job.rst +++ b/awscli/examples/healthlake/start-fhir-import-job.rst @@ -1,19 +1,20 @@ **To start a FHIR import job** -The following ``start-fhir-import-job`` example shows how to start a FHIR import job using Amazon HealthLake. :: +The following ``start-fhir-import-job`` example shows how to start a FHIR import job using AWS HealthLake. :: aws healthlake start-fhir-import-job \ --input-data-config S3Uri="s3://(Bucket Name)/(Prefix Name)/" \ - --datastore-id (Datastore ID) \ - --data-access-role-arn "arn:aws:iam::(AWS Account ID):role/(Role Name)" \ - --region us-east-1 + --job-output-data-config '{"S3Configuration": {"S3Uri":"s3://(Bucket Name)/(Prefix Name)/","KmsKeyId":"arn:aws:kms:us-east-1:012345678910:key/d330e7fc-b56c-4216-a250-f4c43ef46e83"}}' \ + --datastore-id (Data store ID) \ + --data-access-role-arn "arn:aws:iam::(AWS Account ID):role/(Role Name)" Output:: { - "DatastoreId": "(Datastore ID)", + "DatastoreId": "(Data store ID)", "JobStatus": "SUBMITTED", "JobId": "c145fbb27b192af392f8ce6e7838e34f" } -For more information, see `Importing files to a FHIR Data Store 'https://docs.aws.amazon.com/healthlake/latest/devguide/import-datastore.html`__ in the *Amazon HeatlhLake Developer Guide*. +For more information, see `Importing files to a FHIR data store `__ in the *AWS HealthLake Developer Guide*. + diff --git a/awscli/examples/healthlake/tag-resource.rst b/awscli/examples/healthlake/tag-resource.rst index a62dca35a508..2411ff7c9208 100644 --- a/awscli/examples/healthlake/tag-resource.rst +++ b/awscli/examples/healthlake/tag-resource.rst @@ -1,12 +1,11 @@ -**To add a tag to Data Store** +**To add a tag to data store** -The following ``tag-resource`` example shows how to add a tag to a Data Store. :: +The following ``tag-resource`` example shows how to add a tag to a data store. :: aws healthlake tag-resource \ - --resource-arn "arn:aws:healthlake:us-east-1:691207106566:datastore/fhir/0725c83f4307f263e16fd56b6d8ebdbe" \ - --tags '[{"Key": "key1", "Value": "value1"}]' \ - --region us-east-1 + --resource-arn "arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/0725c83f4307f263e16fd56b6d8ebdbe" \ + --tags '[{"Key": "key1", "Value": "value1"}]' This command produces no output. -For more information, see 'Adding a tag to a Data Store '__ in the *Amazon HealthLake Developer Guide.*. \ No newline at end of file +For more information, see `Adding a tag to a data store `__ in the *AWS HealthLake Developer Guide.*. \ No newline at end of file diff --git a/awscli/examples/healthlake/untag-resource.rst b/awscli/examples/healthlake/untag-resource.rst index 539cfb4c16d3..76e18e102647 100644 --- a/awscli/examples/healthlake/untag-resource.rst +++ b/awscli/examples/healthlake/untag-resource.rst @@ -1,12 +1,11 @@ -**To remove tags from a Data Store.** +**To remove tags from a data store.** -The following ``untag-resource`` example shows how to remove tags from a Data Store. :: +The following ``untag-resource`` example shows how to remove tags from a data store. :: aws healthlake untag-resource \ - --resource-arn "arn:aws:healthlake:us-east-1:674914422125:datastore/fhir/b91723d65c6fdeb1d26543a49d2ed1fa" \ - --tag-keys '["key1"]' \ - --region us-east-1 + --resource-arn "arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/b91723d65c6fdeb1d26543a49d2ed1fa" \ + --tag-keys '["key1"]' This command produces no output. -For more information, see `Removing tags from a Data Store `__ in the *Amazon HealthLake Developer Guide*. \ No newline at end of file +For more information, see `Removing tags from a data store `__ in the *AWS HealthLake Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/iam/create-policy.rst b/awscli/examples/iam/create-policy.rst index ba050d01a65d..8319d8e2662c 100644 --- a/awscli/examples/iam/create-policy.rst +++ b/awscli/examples/iam/create-policy.rst @@ -1,12 +1,12 @@ **Example 1: To create a customer managed policy** -The following command creates a customer managed policy named ``my-policy``. :: +The following command creates a customer managed policy named ``my-policy``. The file ``policy.json`` is a JSON document in the current folder that grants read only access to the ``shared`` folder in an Amazon S3 bucket named ``amzn-s3-demo-bucket``. :: aws iam create-policy \ --policy-name my-policy \ - --policy-document file://policy + --policy-document file://policy.json -The file ``policy`` is a JSON document in the current folder that grants read only access to the ``shared`` folder in an Amazon S3 bucket named ``my-bucket``. :: +Contents of policy.json:: { "Version": "2012-10-17", @@ -18,7 +18,7 @@ The file ``policy`` is a JSON document in the current folder that grants read on "s3:List*" ], "Resource": [ - "arn:aws:s3:::my-bucket/shared/*" + "arn:aws:s3:::amzn-s3-demo-bucket/shared/*" ] } ] @@ -44,16 +44,18 @@ For more information on using files as input for string parameters, see `Specify **Example 2: To create a customer managed policy with a description** -The following command creates a customer managed policy named ``my-policy`` with an immutable description:: +The following command creates a customer managed policy named ``my-policy`` with an immutable description. + +The file ``policy.json`` is a JSON document in the current folder that grants access to all Put, List, and Get actions for an Amazon S3 bucket named ``amzn-s3-demo-bucket``. :: aws iam create-policy \ --policy-name my-policy \ --policy-document file://policy.json \ - --description "This policy grants access to all Put, Get, and List actions for my-bucket" + --description "This policy grants access to all Put, Get, and List actions for amzn-s3-demo-bucket" -The file ``policy.json`` is a JSON document in the current folder that grants access to all Put, List, and Get actions for an Amazon S3 bucket named ``my-bucket``. :: +Contents of policy.json:: - { + { "Version": "2012-10-17", "Statement": [ { @@ -64,7 +66,7 @@ The file ``policy.json`` is a JSON document in the current folder that grants ac "s3:GetBucket*" ], "Resource": [ - "arn:aws:s3:::my-bucket" + "arn:aws:s3:::amzn-s3-demo-bucket" ] } ] @@ -89,36 +91,38 @@ Output:: For more information on Idenity-based Policies, see `Identity-based policies and resource-based policies `__ in the *AWS IAM User Guide*. -**Example 3: To Create a customer managed policy with tags** +**Example 3: To create a customer managed policy with tags** -The following command creates a customer managed policy named ``my-policy`` with tags. This example uses the ``--tags`` parameter flag with the following JSON-formatted tags: ``'{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'``. Alternatively, the ``--tags`` flag can be used with tags in the shorthand format: ``'Key=Department,Value=Accounting Key=Location,Value=Seattle'``. :: +The following command creates a customer managed policy named ``my-policy`` with tags. This example uses the ``--tags`` parameter with the following JSON-formatted tags: ``'{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'``. Alternatively, the ``--tags`` parameter can be used with tags in the shorthand format: ``'Key=Department,Value=Accounting Key=Location,Value=Seattle'``. + +The file ``policy.json`` is a JSON document in the current folder that grants access to all Put, List, and Get actions for an Amazon S3 bucket named ``amzn-s3-demo-bucket``. :: aws iam create-policy \ --policy-name my-policy \ --policy-document file://policy.json \ --tags '{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}' -The file ``policy.json`` is a JSON document in the current folder that grants access to all Put, List, and Get actions for an Amazon S3 bucket named ``my-bucket``. :: +Contents of policy.json:: - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ "s3:ListBucket*", "s3:PutBucket*", "s3:GetBucket*" ], "Resource": [ - "arn:aws:s3:::my-bucket" + "arn:aws:s3:::amzn-s3-demo-bucket" ] } ] } Output:: - + { "Policy": { "PolicyName": "my-policy", @@ -139,7 +143,6 @@ Output:: "Key": "Location", "Value": "Seattle" { - ] } } diff --git a/awscli/examples/iam/disable-organizations-root-credentials-management.rst b/awscli/examples/iam/disable-organizations-root-credentials-management.rst new file mode 100644 index 000000000000..8c5d0adb0729 --- /dev/null +++ b/awscli/examples/iam/disable-organizations-root-credentials-management.rst @@ -0,0 +1,16 @@ +**To disable the RootCredentialsManagement feature in your organization** + +The following ``disable-organizations-root-credentials-management`` command disables the management of privileged root user credentials across member accounts in your organization. :: + + aws iam disable-organizations-root-credentials-management + +Output:: + + { + "EnabledFeatures": [ + "RootSessions" + ] + "OrganizationId": "o-aa111bb222" + } + +For more information, see `Centralize root access for member accounts `__ in the *AWS IAM User Guide*.g \ No newline at end of file diff --git a/awscli/examples/iam/disable-organizations-root-sessions.rst b/awscli/examples/iam/disable-organizations-root-sessions.rst new file mode 100644 index 000000000000..e0d545d0b3a0 --- /dev/null +++ b/awscli/examples/iam/disable-organizations-root-sessions.rst @@ -0,0 +1,16 @@ +**To disable the RootSessions feature in your organization** + +The following ``disable-organizations-root-sessions`` command disables root user sessions for privileged tasks across member accounts in your organization. :: + + aws iam disable-organizations-root-sessions + +Output:: + + { + "EnabledFeatures": [ + "RootCredentialsManagement" + ] + "OrganizationId": "o-aa111bb222" + } + +For more information, see `Centralize root access for member accounts `__ in the *AWS IAM User Guide*. diff --git a/awscli/examples/iam/enable-organizations-root-credentials-management.rst b/awscli/examples/iam/enable-organizations-root-credentials-management.rst new file mode 100644 index 000000000000..95d7d819c2b6 --- /dev/null +++ b/awscli/examples/iam/enable-organizations-root-credentials-management.rst @@ -0,0 +1,16 @@ +**To enable the RootCredentialsManagement feature in your organization** + +The following ``enable-organizations-root-credentials-management`` command enables the management of privileged root user credentials across member accounts in your organization. :: + + aws iam enable-organizations-root-credentials-management + +Output:: + + { + "EnabledFeatures": [ + "RootCredentialsManagement" + ] + "OrganizationId": "o-aa111bb222" + } + +For more information, see `Centralize root access for member accounts `__ in the *AWS IAM User Guide*. \ No newline at end of file diff --git a/awscli/examples/iam/enable-organizations-root-sessions.rst b/awscli/examples/iam/enable-organizations-root-sessions.rst new file mode 100644 index 000000000000..e2bf7fb9ef22 --- /dev/null +++ b/awscli/examples/iam/enable-organizations-root-sessions.rst @@ -0,0 +1,16 @@ +**To enable the RootSessions feature in your organization** + +The following ``enable-organizations-root-sessions`` command allows the management account or delegated administrator to perform privileged tasks on member accounts in your organization. :: + + aws iam enable-organizations-root-sessions + +Output:: + + { + "EnabledFeatures": [ + "RootSessions" + ] + "OrganizationId": "o-aa111bb222" + } + +For more information, see `Centralize root access for member accounts `__ in the *AWS IAM User Guide*. \ No newline at end of file diff --git a/awscli/examples/iam/get-account-authorization-details.rst b/awscli/examples/iam/get-account-authorization-details.rst index 89906441761b..10400d7d3a80 100644 --- a/awscli/examples/iam/get-account-authorization-details.rst +++ b/awscli/examples/iam/get-account-authorization-details.rst @@ -1,4 +1,4 @@ -**To list an AWS accounts IAM users, groups, roles, and policies** +**To list an AWS account's IAM users, groups, roles, and policies** The following ``get-account-authorization-details`` command returns information about all IAM users, groups, roles, and policies in the AWS account. :: @@ -236,8 +236,8 @@ Output:: "s3:List*" ], "Resource": [ - "arn:aws:s3:::example-bucket", - "arn:aws:s3:::example-bucket/*" + "arn:aws:s3:::amzn-s3-demo-bucket", + "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] diff --git a/awscli/examples/iam/list-organizations-features.rst b/awscli/examples/iam/list-organizations-features.rst new file mode 100644 index 000000000000..a3bd5739946b --- /dev/null +++ b/awscli/examples/iam/list-organizations-features.rst @@ -0,0 +1,17 @@ +**To list the centralized root access features enabled for your organization** + +The following ``list-organizations-features`` command lists the centralized root access features enabled for your organization. :: + + aws iam list-organizations-features + +Output:: + + { + "EnabledFeatures": [ + "RootCredentialsManagement", + "RootSessions" + ] + "OrganizationId": "o-aa111bb222" + } + +For more information, see `Centrally manage root access for member accounts `__ in the *AWS IAM User Guide*. \ No newline at end of file diff --git a/awscli/examples/importexport/create-job.rst b/awscli/examples/importexport/create-job.rst index 4b6d75360e6f..84b6c701d10b 100644 --- a/awscli/examples/importexport/create-job.rst +++ b/awscli/examples/importexport/create-job.rst @@ -17,7 +17,7 @@ The file ``manifest`` is a YAML formatted text file in the current directory wit deviceId: 49382 eraseDevice: yes notificationEmail: john.doe@example.com;jane.roe@example.com - bucket: myBucket + bucket: amzn-s3-demo-bucket For more information on the manifest file format, see `Creating Import Manifests`_ in the *AWS Import/Export Developer Guide*. @@ -38,7 +38,7 @@ You can also pass the manifest as a string in quotes:: deviceId: 49382 eraseDevice: yes notificationEmail: john.doe@example.com;jane.roe@example.com - bucket: myBucket' + bucket: amzn-s3-demo-bucket' For information on quoting string arguments and using files, see `Specifying Parameter Values`_ in the *AWS CLI User Guide*. diff --git a/awscli/examples/importexport/get-shipping-label.rst b/awscli/examples/importexport/get-shipping-label.rst index 9f8a08ef5c21..c4ee1af28503 100644 --- a/awscli/examples/importexport/get-shipping-label.rst +++ b/awscli/examples/importexport/get-shipping-label.rst @@ -4,7 +4,7 @@ The following command creates a pre-paid shipping label for the specified job:: The output for the get-shipping-label command looks like the following:: - https://s3.amazonaws.com/myBucket/shipping-label-EX1ID.pdf + https://s3.amazonaws.com/amzn-s3-demo-bucket/shipping-label-EX1ID.pdf The link in the output contains the pre-paid shipping label generated in a PDF. It also contains shipping instructions with a unique bar code to identify and authenticate your device. For more information about using the pre-paid shipping label and shipping your device, see `Shipping Your Storage Device`_ in the *AWS Import/Export Developer Guide*. diff --git a/awscli/examples/importexport/get-status.rst b/awscli/examples/importexport/get-status.rst index 1770efea0c3c..c7c1bf9a18d5 100644 --- a/awscli/examples/importexport/get-status.rst +++ b/awscli/examples/importexport/get-status.rst @@ -6,7 +6,7 @@ The output for the get-status command looks like the following:: 2015-05-27T18:58:21Z manifestVersion:2.0 generator:Text editor - bucket:myBucket + bucket:amzn-s3-demo-bucket deviceId:49382 eraseDevice:yes notificationEmail:john.doe@example.com;jane.roe@example.com diff --git a/awscli/examples/inspector2/associate-member.rst b/awscli/examples/inspector2/associate-member.rst new file mode 100644 index 000000000000..7ab28c179c61 --- /dev/null +++ b/awscli/examples/inspector2/associate-member.rst @@ -0,0 +1,14 @@ +**Example: To associate an AWS account with an Amazon Inspector delegated administrator** + +The following ``associate-member`` example associates an AWS account with an Amazon Inspector delegated administrator. :: + + aws inspector2 associate-member \ + --account-id 123456789012 + +Output:: + + { + "accountId": "123456789012" + } + +For more information, see `Managing multiple accounts in Amazon Inspector with AWS Organizations `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/create-filter.rst b/awscli/examples/inspector2/create-filter.rst new file mode 100644 index 000000000000..647807f2b527 --- /dev/null +++ b/awscli/examples/inspector2/create-filter.rst @@ -0,0 +1,17 @@ +**To create a filter** + +The following ``create-filter`` example creates a suppression rule that omits ECR instance type findings. :: + + aws inspector2 create-filter \ + --name "ExampleSuppressionRuleECR" \ + --description "This suppression rule omits ECR instance type findings" \ + --action SUPPRESS \ + --filter-criteria 'resourceType=[{comparison="EQUALS", value="AWS_ECR_INSTANCE"}]' + +Output:: + + { + "arn": "arn:aws:inspector2:us-west-2:123456789012:owner/o-EXAMPLE222/filter/EXAMPLE444444444" + } + +For more information, see `Filtering Amazon Inspector findings `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/create-findings-report.rst b/awscli/examples/inspector2/create-findings-report.rst new file mode 100644 index 000000000000..cfdb05092504 --- /dev/null +++ b/awscli/examples/inspector2/create-findings-report.rst @@ -0,0 +1,16 @@ +**To create a findings report** + +The following ``create-findings-report`` example creates a finding report. :: + + aws inspector2 create-findings-report \ + --report-format CSV \ + --s3-destination bucketName=inspector-sbom-123456789012,keyPrefix=sbom-key,kmsKeyArn=arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333 \ + --filter-criteria '{"ecrImageRepositoryName":[{"comparison":"EQUALS","value":"debian"}]}' + +Output:: + + { + "reportId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" + } + +For more information, see `Managing findings in Amazon Inspector `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/create-sbom-export.rst b/awscli/examples/inspector2/create-sbom-export.rst new file mode 100644 index 000000000000..4de14dd5765f --- /dev/null +++ b/awscli/examples/inspector2/create-sbom-export.rst @@ -0,0 +1,16 @@ +**To create a software bill of materials (SBOM) report** + +The following ``create-sbom-export`` example creates a software bill of materials (SBOM) report. :: + + aws inspector2 create-sbom-export \ + --report-format SPDX_2_3 \ + --resource-filter-criteria 'ecrRepositoryName=[{comparison="EQUALS",value="debian"}]' \ + --s3-destination bucketName=inspector-sbom-123456789012,keyPrefix=sbom-key,kmsKeyArn=arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333 + +Output:: + + { + "reportId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" + } + +For more information, see `Exporting SBOMs with Amazon Inspector `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/delete-filter.rst b/awscli/examples/inspector2/delete-filter.rst new file mode 100644 index 000000000000..d7543a0a263a --- /dev/null +++ b/awscli/examples/inspector2/delete-filter.rst @@ -0,0 +1,14 @@ +**To delete a filter** + +The following ``delete-filter`` example deletes a filter. :: + + aws inspector2 delete-filter \ + --arn "arn:aws:inspector2:us-west-2:123456789012:owner/o-EXAMPLE222/filter/EXAMPLE444444444" + +Output:: + + { + "arn": "arn:aws:inspector2:us-west-2:123456789012:owner/o-EXAMPLE222/filter/EXAMPLE444444444" + } + +For more information, see `Filtering Amazon Inspector findings `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/disassociate-member.rst b/awscli/examples/inspector2/disassociate-member.rst new file mode 100644 index 000000000000..cc464ac156f9 --- /dev/null +++ b/awscli/examples/inspector2/disassociate-member.rst @@ -0,0 +1,14 @@ +**Example: To disassociate a member account from an Amazon Inspector delegated administrator** + +The following ``disassociate-member`` example disassociates an AWS account from an Amazon Inspector delegated administrator. :: + + aws inspector2 disassociate-member \ + --account-id 123456789012 + +Output:: + + { + "accountId": "123456789012" + } + +For more information, see `Managing multiple accounts in Amazon Inspector with AWS Organizations `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/get-configuration.rst b/awscli/examples/inspector2/get-configuration.rst new file mode 100644 index 000000000000..e8cd1790dc52 --- /dev/null +++ b/awscli/examples/inspector2/get-configuration.rst @@ -0,0 +1,26 @@ +**To get the setting configuration for Inspector scans** + +The following ``get-configuration`` example gets the setting configuration for Inspector scans. :: + + aws inspector2 get-configuration + +Output:: + + { + "ec2Configuration": { + "scanModeState": { + "scanMode": "EC2_HYBRID", + "scanModeStatus": "SUCCESS" + } + }, + "ecrConfiguration": { + "rescanDurationState": { + "pullDateRescanDuration": "DAYS_90", + "rescanDuration": "DAYS_30", + "status": "SUCCESS", + "updatedAt": "2024-05-14T21:16:20.237000+00:00" + } + } + } + +For more information, see `Automated resource scanning with Amazon Inspector `__ in the *Amazon Inspector User Guide*. \ No newline at end of file diff --git a/awscli/examples/inspector2/get-member.rst b/awscli/examples/inspector2/get-member.rst new file mode 100644 index 000000000000..068c3bb045c3 --- /dev/null +++ b/awscli/examples/inspector2/get-member.rst @@ -0,0 +1,17 @@ +**Example: To get member information for your organization** + + aws inspector2 get-member \ + --account-id 123456789012 + +Output:: + + { + "member": { + "accountId": "123456789012", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2023-09-11T09:57:20.520000-07:00" + } + } + +For more information, see `Managing multiple accounts in Amazon Inspector with AWS Organizations `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/list-account-permissions.rst b/awscli/examples/inspector2/list-account-permissions.rst new file mode 100644 index 000000000000..23bfa449f88c --- /dev/null +++ b/awscli/examples/inspector2/list-account-permissions.rst @@ -0,0 +1,46 @@ +**To list account permissions** + +The following ``list-account-permissions`` example lists your account permissions. :: + + aws inspector2 list-account-permissions + +Output:: + + { + "permissions": [ + { + "operation": "ENABLE_SCANNING", + "service": "ECR" + }, + { + "operation": "DISABLE_SCANNING", + "service": "ECR" + }, + { + "operation": "ENABLE_REPOSITORY", + "service": "ECR" + }, + { + "operation": "DISABLE_REPOSITORY", + "service": "ECR" + }, + { + "operation": "ENABLE_SCANNING", + "service": "EC2" + }, + { + "operation": "DISABLE_SCANNING", + "service": "EC2" + }, + { + "operation": "ENABLE_SCANNING", + "service": "LAMBDA" + }, + { + "operation": "DISABLE_SCANNING", + "service": "LAMBDA" + } + ] + } + +For more information, see `Identity and Access Management for Amazon Inspector `__ in the *Amazon Inspector User Guide*. \ No newline at end of file diff --git a/awscli/examples/inspector2/list-coverage-statistics.rst b/awscli/examples/inspector2/list-coverage-statistics.rst new file mode 100644 index 000000000000..a2793e82b767 --- /dev/null +++ b/awscli/examples/inspector2/list-coverage-statistics.rst @@ -0,0 +1,80 @@ +**Example 1: To list coverage statistics by groups** + +The following ``list-coverage-statistics`` example lists the coverage statistics of your AWS environment by groups. :: + + aws inspector2 list-coverage-statistics \ + --group-by RESOURCE_TYPE + +Output:: + + { + "countsByGroup": [ + { + "count": 56, + "groupKey": "AWS_LAMBDA_FUNCTION" + }, + { + "count": 27, + "groupKey": "AWS_ECR_REPOSITORY" + }, + { + "count": 18, + "groupKey": "AWS_EC2_INSTANCE" + }, + { + "count": 3, + "groupKey": "AWS_ECR_CONTAINER_IMAGE" + }, + { + "count": 1, + "groupKey": "AWS_ACCOUNT" + } + ], + "totalCounts": 105 + } + +For more information, see `Assessing Amazon Inspector coverage of your AWS environment `__ in the *Amazon Inspector User Guide*. + +**Example 2: To list coverage statistics by resource type** + +The following ``list-coverage-statistics`` example lists the coverage statistics of your AWS environment by resource type. :: + + aws inspector2 list-coverage-statistics + --filter-criteria '{"resourceType":[{"comparison":"EQUALS","value":"AWS_ECR_REPOSITORY"}]}' + --group-by SCAN_STATUS_REASON + +Output:: + + { + "countsByGroup": [ + { + "count": 27, + "groupKey": "SUCCESSFUL" + } + ], + "totalCounts": 27 + } + +For more information, see `Assessing Amazon Inspector coverage of your AWS environment `__ in the *Amazon Inspector User Guide*. + +**Example 3: To list coverage statistics by ECR repository name** + +The following ``list-coverage-statistics`` example lists the coverage statistics of your AWS environment by ECR repository name. :: + + aws inspector2 list-coverage-statistics + --filter-criteria '{"ecrRepositoryName":[{"comparison":"EQUALS","value":"debian"}]}' + --group-by SCAN_STATUS_REASON + +Output:: + + { + "countsByGroup": [ + { + "count": 3, + "groupKey": "SUCCESSFUL" + } + ], + "totalCounts": 3 + } + +For more information, see `Assessing Amazon Inspector coverage of your AWS environment `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/list-coverage.rst b/awscli/examples/inspector2/list-coverage.rst new file mode 100644 index 000000000000..4271d564f4aa --- /dev/null +++ b/awscli/examples/inspector2/list-coverage.rst @@ -0,0 +1,61 @@ +**Example 1: To list coverage details about your environment** + +The following ``list-coverage`` example lists your environment's coverage details. :: + + aws inspector2 list-coverage + +Output:: + + { + "coveredResources": [ + { + "accountId": "123456789012", + "lastScannedAt": "2024-05-20T16:23:20-07:00", + "resourceId": "i-EXAMPLE55555555555", + "resourceMetadata": { + "ec2": { + "amiId": "ami-EXAMPLE6666666666", + "platform": "LINUX" + } + }, + "resourceType": "AWS_EC2_INSTANCE", + "scanStatus": { + "reason": "SUCCESSFUL", + "statusCode": "ACTIVE" + }, + "scanType": "PACKAGE" + } + ] + } + +**Example 2: To list coverage details about the Lambda function resource type** + +The following ``list-coverage`` example lists your Lambda function resource type details. :: + + aws inspector2 list-coverage + --filter-criteria '{"resourceType":[{"comparison":"EQUALS","value":"AWS_LAMBDA_FUNCTION"}]}' + +Output:: + + { + "coveredResources": [ + { + "accountId": "123456789012", + "resourceId": "arn:aws:lambda:us-west-2:123456789012:function:Eval-container-scan-results:$LATEST", + "resourceMetadata": { + "lambdaFunction": { + "functionName": "Eval-container-scan-results", + "functionTags": {}, + "layers": [], + "runtime": "PYTHON_3_7" + } + }, + "resourceType": "AWS_LAMBDA_FUNCTION", + "scanStatus": { + "reason": "SUCCESSFUL", + "statusCode": "ACTIVE" + }, + "scanType": "CODE" + } + ] + } diff --git a/awscli/examples/inspector2/list-delegated-admin-accounts.rst b/awscli/examples/inspector2/list-delegated-admin-accounts.rst new file mode 100644 index 000000000000..fb877f34b447 --- /dev/null +++ b/awscli/examples/inspector2/list-delegated-admin-accounts.rst @@ -0,0 +1,18 @@ +**To list information about the delegated administrator account of your organization** + +The following ``list-delegated-admin-accounts`` example lists information about the delegated administrator account of your organization. :: + + aws inspector2 list-delegated-admin-accounts + +Output:: + + { + "delegatedAdminAccounts": [ + { + "accountId": "123456789012", + "status": "ENABLED" + } + ] + } + +For more information, see `Designating a delegated administrator for Amazon Inspector `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/list-filters.rst b/awscli/examples/inspector2/list-filters.rst new file mode 100644 index 000000000000..11da430104db --- /dev/null +++ b/awscli/examples/inspector2/list-filters.rst @@ -0,0 +1,50 @@ +**To list filters associated with the account that you used to activated Amazon Inspector** + +The following ``list-filters`` examples lists filters associated with the account that you used to activated Amazon Inspector. :: + + aws inspector2 list-filters + +Output:: + + { + "filters": [ + { + "action": "SUPPRESS", + "arn": "arn:aws:inspector2:us-west-2:123456789012:owner/o-EXAMPLE222/filter/EXAMPLE444444444", + "createdAt": "2024-05-15T21:11:08.602000+00:00", + "criteria": { + "resourceType": [ + { + "comparison": "EQUALS", + "value": "AWS_EC2_INSTANCE" + }, + ] + }, + "description": "This suppression rule omits EC2 instance type findings", + "name": "ExampleSuppressionRuleEC2", + "ownerId": "o-EXAMPLE222", + "tags": {}, + "updatedAt": "2024-05-15T21:11:08.602000+00:00" + }, + { + "action": "SUPPRESS", + "arn": "arn:aws:inspector2:us-east-1:813737243517:owner/o-EXAMPLE222/filter/EXAMPLE444444444", + "createdAt": "2024-05-15T21:28:27.054000+00:00", + "criteria": { + "resourceType": [ + { + "comparison": "EQUALS", + "value": "AWS_ECR_INSTANCE" + } + ] + }, + "description": "This suppression rule omits ECR instance type findings", + "name": "ExampleSuppressionRuleECR", + "ownerId": "o-EXAMPLE222", + "tags": {}, + "updatedAt": "2024-05-15T21:28:27.054000+00:00" + } + ] + } + +For more information, see `Filtering Amazon Inspector findings `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/list-members.rst b/awscli/examples/inspector2/list-members.rst new file mode 100644 index 000000000000..5d5d0805cdd3 --- /dev/null +++ b/awscli/examples/inspector2/list-members.rst @@ -0,0 +1,83 @@ +**Example 1: To list all member accounts associated with the Amazon Inspector delegated administrator for your organization** + + aws inspector2 list-members \ + --only-associated + +Output:: + + { + { + "members": [ + { + "accountId": "123456789012", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2023-09-11T09:57:20.520000-07:00" + }, + { + "accountId": "123456789012", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2024-08-12T10:13:01.472000-07:00" + }, + { + "accountId": "625032911453", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2023-09-11T09:57:20.438000-07:00" + }, + { + "accountId": "715411239211", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2024-04-24T09:14:57.471000-07:00" + } + ] + } + +For more information, see `Managing multiple accounts in Amazon Inspector with AWS Organizations `__ in the *Amazon Inspector User Guide*. + +**Example 2: To list all member accounts associated with and disassociated from the Amazon Inspector delegated administrator for your organization** + + aws inspector2 list-members \ + --no-only-associated + +Output:: + + { + { + "members": [ + { + "accountId": "123456789012", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "REMOVED", + "updatedAt": "2024-05-15T11:34:53.326000-07:00" + }, + { + "accountId": "123456789012", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2023-09-11T09:57:20.520000-07:00" + }, + { + "accountId": "123456789012", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2024-08-12T10:13:01.472000-07:00" + }, + { + "accountId": "123456789012", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2023-09-11T09:57:20.438000-07:00" + }, + { + "accountId": "123456789012", + "delegatedAdminAccountId": "123456789012", + "relationshipStatus": "ENABLED", + "updatedAt": "2024-04-24T09:14:57.471000-07:00" + } + ] + } + +For more information, see `Managing multiple accounts in Amazon Inspector with AWS Organizations `__ in the *Amazon Inspector User Guide*. diff --git a/awscli/examples/inspector2/list-usage-totals.rst b/awscli/examples/inspector2/list-usage-totals.rst new file mode 100644 index 000000000000..ada17c6f8ffa --- /dev/null +++ b/awscli/examples/inspector2/list-usage-totals.rst @@ -0,0 +1,55 @@ +**To list usage totals over the last 30 days** + +The following ``list-usage-totals`` examples lists usage totals over the last 30 days. :: + + aws inspector2 list-usage-totals + +Output:: + + { + "totals": [ + { + "accountId": "123456789012", + "usage": [ + { + "currency": "USD", + "estimatedMonthlyCost": 4.6022044647, + "total": 1893.4784083333334, + "type": "EC2_AGENTLESS_INSTANCE_HOURS" + }, + { + "currency": "USD", + "estimatedMonthlyCost": 18.892449279, + "total": 10882.050784722222, + "type": "EC2_INSTANCE_HOURS" + }, + { + "currency": "USD", + "estimatedMonthlyCost": 5.4525363736, + "total": 6543.043648333333, + "type": "LAMBDA_FUNCTION_CODE_HOURS" + }, + { + "currency": "USD", + "estimatedMonthlyCost": 3.9064080309, + "total": 9375.379274166668, + "type": "LAMBDA_FUNCTION_HOURS" + }, + { + "currency": "USD", + "estimatedMonthlyCost": 0.06, + "total": 6.0, + "type": "ECR_RESCAN" + }, + { + "currency": "USD", + "estimatedMonthlyCost": 0.09, + "total": 1.0, + "type": "ECR_INITIAL_SCAN" + } + ] + } + ] + } + +For more information, see `Monitoring usage and cost in Amazon Inspector `__ in the *Amazon Inspector User Guide*. \ No newline at end of file diff --git a/awscli/examples/inspector2/update-filter.rst b/awscli/examples/inspector2/update-filter.rst new file mode 100644 index 000000000000..a3d98f10d08c --- /dev/null +++ b/awscli/examples/inspector2/update-filter.rst @@ -0,0 +1,37 @@ +**To update a filter** + +The following ``update-filter`` example updates a filter to omit Lambda findings instead of ECR instance findings. :: + + aws inspector2 update-filter \ + --filter-arn "arn:aws:inspector2:us-west-2:123456789012:owner/o-EXAMPLE222/filter/EXAMPLE444444444" \ + --name "ExampleSuppressionRuleLambda" \ + --description "This suppression rule omits Lambda instance findings" \ + --reason "Updating filter to omit Lambda instance findings instead of ECR instance findings" + +Output:: + + { + "filters": [ + { + "action": "SUPPRESS", + "arn": "arn:aws:inspector2:us-west-2:123456789012:owner/o-EXAMPLE222/filter/EXAMPLE444444444", + "createdAt": "2024-05-15T21:28:27.054000+00:00", + "criteria": { + "resourceType": [ + { + "comparison": "EQUALS", + "value": "AWS_ECR_INSTANCE" + } + ] + }, + "description": "This suppression rule omits Lambda instance findings", + "name": "ExampleSuppressionRuleLambda", + "ownerId": "o-EXAMPLE222", + "reason": "Updating filter to omit Lambda instance findings instead of ECR instance findings", + "tags": {}, + "updatedAt": "2024-05-15T22:23:13.665000+00:00" + } + ] + } + +For more information, see `Managing findings in Amazon Inspector `__ in the *Amazon Inspector User Guide*. \ No newline at end of file diff --git a/awscli/examples/iot/create-keys-and-certificate.rst b/awscli/examples/iot/create-keys-and-certificate.rst index 58b4d304b5f0..8f74ab5aaeea 100644 --- a/awscli/examples/iot/create-keys-and-certificate.rst +++ b/awscli/examples/iot/create-keys-and-certificate.rst @@ -35,4 +35,4 @@ Output:: } } -For more infomration, see `Create and Register an AWS IoT Device Certificate `__ in the **AWS IoT Developer Guide**. +For more information, see `Create and Register an AWS IoT Device Certificate `__ in the **AWS IoT Developer Guide**. diff --git a/awscli/examples/iot/get-topic-rule.rst b/awscli/examples/iot/get-topic-rule.rst index 441101430073..90292b3352ca 100644 --- a/awscli/examples/iot/get-topic-rule.rst +++ b/awscli/examples/iot/get-topic-rule.rst @@ -28,5 +28,5 @@ Output:: } } -For more information, see `Viewing Your Rules `__ in the *AWS IoT Developers Guide*. +For more information, see `Viewing Your Rules `__ in the *AWS IoT Developers Guide*. diff --git a/awscli/examples/iot/list-topic-rules.rst b/awscli/examples/iot/list-topic-rules.rst index 681bd10d2dc5..7207956c6c94 100644 --- a/awscli/examples/iot/list-topic-rules.rst +++ b/awscli/examples/iot/list-topic-rules.rst @@ -25,4 +25,4 @@ Output:: ] } -For more information, see `Viewing Your Rules `__ in the *AWS IoT Developers Guide*. +For more information, see `Viewing Your Rules `__ in the *AWS IoT Developers Guide*. diff --git a/awscli/examples/iot1click-devices/claim-devices-by-claim-code.rst b/awscli/examples/iot1click-devices/claim-devices-by-claim-code.rst deleted file mode 100644 index 6cc1c3eb4ed7..000000000000 --- a/awscli/examples/iot1click-devices/claim-devices-by-claim-code.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To claim one or more AWS IoT 1-Click devices using a claim code** - -The following ``claim-devices-by-claim-code`` example claims the specified AWS IoT 1-Click device using a claim code (instead of a device ID). :: - - aws iot1click-devices claim-devices-by-claim-code \ - --claim-code C-123EXAMPLE - -Output:: - - { - "Total": 9 - "ClaimCode": "C-123EXAMPLE" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/describe-device.rst b/awscli/examples/iot1click-devices/describe-device.rst deleted file mode 100644 index b89d99bc72fb..000000000000 --- a/awscli/examples/iot1click-devices/describe-device.rst +++ /dev/null @@ -1,27 +0,0 @@ -**To describe a device** - -The following ``describe-device`` example describes the specified device. :: - - aws iot1click-devices describe-device \ - --device-id G030PM0123456789 - -Output:: - - { - "DeviceDescription": { - "Arn": "arn:aws:iot1click:us-west-2:012345678901:devices/G030PM0123456789", - "Attributes": { - "projectRegion": "us-west-2", - "projectName": "AnytownDumpsters", - "placementName": "customer217", - "deviceTemplateName": "empty-dumpster-request" - }, - "DeviceId": "G030PM0123456789", - "Enabled": false, - "RemainingLife": 99.9, - "Type": "button", - "Tags": {} - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/finalize-device-claim.rst b/awscli/examples/iot1click-devices/finalize-device-claim.rst deleted file mode 100644 index 6999dc44006a..000000000000 --- a/awscli/examples/iot1click-devices/finalize-device-claim.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To finalize a claim request for an AWS IoT 1-Click device using a device ID** - -The following ``finalize-device-claim`` example finalizes a claim request for the specified AWS IoT 1-Click device using a device ID (instead of a claim code). :: - - aws iot1click-devices finalize-device-claim \ - --device-id G030PM0123456789 - -Output:: - - { - "State": "CLAIMED" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/get-device-methods.rst b/awscli/examples/iot1click-devices/get-device-methods.rst deleted file mode 100644 index df8392d94032..000000000000 --- a/awscli/examples/iot1click-devices/get-device-methods.rst +++ /dev/null @@ -1,30 +0,0 @@ -**To list the available methods for a device** - -The following ``get-device-methods`` example lists the available methods for a device. :: - - aws iot1click-devices get-device-methods \ - --device-id G030PM0123456789 - -Output:: - - { - "DeviceMethods": [ - { - "MethodName": "getDeviceHealthParameters" - }, - { - "MethodName": "setDeviceHealthMonitorCallback" - }, - { - "MethodName": "getDeviceHealthMonitorCallback" - }, - { - "MethodName": "setOnClickCallback" - }, - { - "MethodName": "getOnClickCallback" - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/initiate-device-claim.rst b/awscli/examples/iot1click-devices/initiate-device-claim.rst deleted file mode 100644 index 1899d1deb474..000000000000 --- a/awscli/examples/iot1click-devices/initiate-device-claim.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To initiate a claim request for an AWS IoT 1-Click device using a device ID** - -The following ``initiate-device-claim`` example initiates a claim request for the specified AWS IoT 1-Click device using a device ID (instead of a claim code). :: - - aws iot1click-devices initiate-device-claim \ - --device-id G030PM0123456789 - -Output:: - - { - "State": "CLAIM_INITIATED" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/invoke-device-method.rst b/awscli/examples/iot1click-devices/invoke-device-method.rst deleted file mode 100644 index 26889f1bb6e5..000000000000 --- a/awscli/examples/iot1click-devices/invoke-device-method.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To invoke a device method on a device** - -The following ``invoke-device-method`` example invokes the specified method on a device. :: - - aws iot1click-devices invoke-device-method \ - --cli-input-json file://invoke-device-method.json - -Contents of ``invoke-device-method.json``:: - - { - "DeviceId": "G030PM0123456789", - "DeviceMethod": { - "DeviceType": "device", - "MethodName": "getDeviceHealthParameters" - } - } - -Output:: - - { - "DeviceMethodResponse": "{\"remainingLife\": 99.8}" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/list-device-events.rst b/awscli/examples/iot1click-devices/list-device-events.rst deleted file mode 100644 index 51ed175560c7..000000000000 --- a/awscli/examples/iot1click-devices/list-device-events.rst +++ /dev/null @@ -1,32 +0,0 @@ -**To list a device's events for a specified time range** - -The following ``list-device-events`` example lists the specified device's events for the specified time range. :: - - aws iot1click-devices list-device-events \ - --device-id G030PM0123456789 \ - --from-time-stamp 2019-07-17T15:45:12.880Z --to-time-stamp 2019-07-19T15:45:12.880Z - -Output:: - - { - "Events": [ - { - "Device": { - "Attributes": {}, - "DeviceId": "G030PM0123456789", - "Type": "button" - }, - "StdEvent": "{\"clickType\": \"SINGLE\", \"reportedTime\": \"2019-07-18T23:47:55.015Z\", \"certificateId\": \"fe8798a6c97c62ef8756b80eeefdcf2280f3352f82faa8080c74cc4f4a4d1811\", \"remainingLife\": 99.85000000000001, \"testMode\": false}" - }, - { - "Device": { - "Attributes": {}, - "DeviceId": "G030PM0123456789", - "Type": "button" - }, - "StdEvent": "{\"clickType\": \"DOUBLE\", \"reportedTime\": \"2019-07-19T00:14:41.353Z\", \"certificateId\": \"fe8798a6c97c62ef8756b80eeefdcf2280f3352f82faa8080c74cc4f4a4d1811\", \"remainingLife\": 99.8, \"testMode\": false}" - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/list-devices.rst b/awscli/examples/iot1click-devices/list-devices.rst deleted file mode 100644 index ef3d317cee27..000000000000 --- a/awscli/examples/iot1click-devices/list-devices.rst +++ /dev/null @@ -1,26 +0,0 @@ -**To list the devices of a specified type** - -The following ``list-devices`` example lists the devices of a specified type. :: - - aws iot1click-devices list-devices \ - --device-type button - -This command produces no output. - -Output:: - - { - "Devices": [ - { - "remainingLife": 99.9, - "attributes": { - "arn": "arn:aws:iot1click:us-west-2:123456789012:devices/G030PM0123456789", - "type": "button", - "deviceId": "G030PM0123456789", - "enabled": false - } - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/list-tags-for-resource.rst b/awscli/examples/iot1click-devices/list-tags-for-resource.rst deleted file mode 100644 index 89cdc329f6f9..000000000000 --- a/awscli/examples/iot1click-devices/list-tags-for-resource.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To list the tags for a device** - -The following ``list-tags-for-resource`` example list the tags for the specified device. :: - - aws iot1click-devices list-tags-for-resource \ - --resource-arn "arn:aws:iot1click:us-west-2:012345678901:devices/G030PM0123456789" - -Output:: - - { - "Tags": { - "Driver Phone": "123-555-0199", - "Driver": "Jorge Souza" - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/tag-resource.rst b/awscli/examples/iot1click-devices/tag-resource.rst deleted file mode 100644 index 51ef0a043953..000000000000 --- a/awscli/examples/iot1click-devices/tag-resource.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To add tags to a device AWS resource** - -The following ``tag-resource`` example adds two tags to the specified resource. :: - - aws iot1click-devices tag-resource \ - --cli-input-json file://devices-tag-resource.json - -Contents of ``devices-tag-resource.json``:: - - { - "ResourceArn": "arn:aws:iot1click:us-west-2:123456789012:devices/G030PM0123456789", - "Tags": { - "Driver": "Jorge Souza", - "Driver Phone": "123-555-0199" - } - } - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/unclaim-device.rst b/awscli/examples/iot1click-devices/unclaim-device.rst deleted file mode 100644 index c69c5086452b..000000000000 --- a/awscli/examples/iot1click-devices/unclaim-device.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To unclaim (deregister) a device from your AWS account** - -The following ``unclaim-device`` example unclaims (deregisters) the specified device from your AWS account. :: - - aws iot1click-devices unclaim-device \ - --device-id G030PM0123456789 - -Output:: - - { - "State": "UNCLAIMED" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/untag-resource.rst b/awscli/examples/iot1click-devices/untag-resource.rst deleted file mode 100644 index 6ce9efe73dbb..000000000000 --- a/awscli/examples/iot1click-devices/untag-resource.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To remove tags from a device AWS resource** - -The following ``untag-resource`` example removes the tags with the names ``Driver Phone`` and ``Driver`` from the specified device resource. :: - - aws iot1click-devices untag-resource \ - --resource-arn "arn:aws:iot1click:us-west-2:123456789012:projects/AnytownDumpsters" \ - --tag-keys "Driver Phone" "Driver" - - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/update-device-state.rst b/awscli/examples/iot1click-devices/update-device-state.rst deleted file mode 100644 index 4d0b6c1b682d..000000000000 --- a/awscli/examples/iot1click-devices/update-device-state.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To update the ``enabled`` state for a device** - -The following ``update-device-state`` sets the state of the specified device to ``enabled``. :: - - aws iot1click-devices update-device-state \ - --device-id G030PM0123456789 \ - --enabled - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/associate-device-with-placement.rst b/awscli/examples/iot1click-projects/associate-device-with-placement.rst deleted file mode 100644 index 37f928793e33..000000000000 --- a/awscli/examples/iot1click-projects/associate-device-with-placement.rst +++ /dev/null @@ -1,13 +0,0 @@ -**To associate an AWS IoT 1-Click device with an existing placement** - -The following ``associate-device-with-placement`` example associates the specified AWS IoT 1-Click device with an existing placement. :: - - aws iot1click-projects associate-device-with-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 \ - --device-template-name empty-dumpster-request \ - --device-id G030PM0123456789 - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/create-placement.rst b/awscli/examples/iot1click-projects/create-placement.rst deleted file mode 100644 index 28feb09ea97b..000000000000 --- a/awscli/examples/iot1click-projects/create-placement.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To create an AWS IoT 1-Click placement for a project** - -The following ``create-placement`` example create an AWS IoT 1-Click placement for the specified project. :: - - aws iot1click-projects create-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 \ - --attributes "{"location": "123 Any Street Anytown, USA 10001", "phone": "123-456-7890"}" - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/create-project.rst b/awscli/examples/iot1click-projects/create-project.rst deleted file mode 100644 index 4ece7ec5cd46..000000000000 --- a/awscli/examples/iot1click-projects/create-project.rst +++ /dev/null @@ -1,27 +0,0 @@ -**To create an AWS IoT 1-Click project for zero or more placements** - -The following ``create-project`` example creates an AWS IoT 1-Click project for a placement. - - aws iot1click-projects create-project \ - --cli-input-json file://create-project.json - -Contents of ``create-project.json``:: - - { - "projectName": "AnytownDumpsters", - "description": "All dumpsters in the Anytown region.", - "placementTemplate": { - "defaultAttributes": { - "City" : "Anytown" - }, - "deviceTemplates": { - "empty-dumpster-request" : { - "deviceType": "button" - } - } - } - } - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/delete-placement.rst b/awscli/examples/iot1click-projects/delete-placement.rst deleted file mode 100644 index 1a76fcbcb601..000000000000 --- a/awscli/examples/iot1click-projects/delete-placement.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To delete a placement from a project** - -The following ``delete-placement`` example deletes the specified placement from a project. :: - - aws iot1click-projects delete-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/delete-project.rst b/awscli/examples/iot1click-projects/delete-project.rst deleted file mode 100644 index 936810b449ab..000000000000 --- a/awscli/examples/iot1click-projects/delete-project.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete a project from your AWS account** - -The following ``delete-project`` example deletes the specified project from your AWS account. :: - - aws iot1click-projects delete-project \ - --project-name AnytownDumpsters - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/describe-placement.rst b/awscli/examples/iot1click-projects/describe-placement.rst deleted file mode 100644 index 980e175ea77e..000000000000 --- a/awscli/examples/iot1click-projects/describe-placement.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To describe a placement for a project** - -The following ``describe-placement`` example describes a placement for the specified project. :: - - aws iot1click-projects describe-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 - -Output:: - - { - "placement": { - "projectName": "AnytownDumpsters", - "placementName": "customer217", - "attributes": { - "phone": "123-555-0110", - "location": "123 Any Street Anytown, USA 10001" - }, - "createdDate": 1563488454, - "updatedDate": 1563488454 - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/describe-project.rst b/awscli/examples/iot1click-projects/describe-project.rst deleted file mode 100644 index f57a786e400a..000000000000 --- a/awscli/examples/iot1click-projects/describe-project.rst +++ /dev/null @@ -1,32 +0,0 @@ -**To describe an AWS IoT 1-Click project** - -The following ``describe-project`` example describes the specified AWS IoT 1-Click project. :: - - aws iot1click-projects describe-project \ - --project-name AnytownDumpsters - -Output:: - - { - "project": { - "arn": "arn:aws:iot1click:us-west-2:012345678901:projects/AnytownDumpsters", - "projectName": "AnytownDumpsters", - "description": "All dumpsters in the Anytown region.", - "createdDate": 1563483100, - "updatedDate": 1563483100, - "placementTemplate": { - "defaultAttributes": { - "City": "Anytown" - }, - "deviceTemplates": { - "empty-dumpster-request": { - "deviceType": "button", - "callbackOverrides": {} - } - } - }, - "tags": {} - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/disassociate-device-from-placement.rst b/awscli/examples/iot1click-projects/disassociate-device-from-placement.rst deleted file mode 100644 index b66f2e844866..000000000000 --- a/awscli/examples/iot1click-projects/disassociate-device-from-placement.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To disassociate a device from a placement** - -The following ``disassociate-device-from-placement`` example disassociates the specified device from a placement. :: - - aws iot1click-projects disassociate-device-from-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 \ - --device-template-name empty-dumpster-request - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/get-devices-in-placement.rst b/awscli/examples/iot1click-projects/get-devices-in-placement.rst deleted file mode 100644 index 2ef62a3b942d..000000000000 --- a/awscli/examples/iot1click-projects/get-devices-in-placement.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To list all devices in a placement contained in a project** - -The following ``get-devices-in-placement`` example lists all devices in a the specified placement contained in the specified project. :: - - aws iot1click-projects get-devices-in-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 - -Output:: - - { - "devices": { - "empty-dumpster-request": "G030PM0123456789" - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/list-placements.rst b/awscli/examples/iot1click-projects/list-placements.rst deleted file mode 100644 index e28fd28ca049..000000000000 --- a/awscli/examples/iot1click-projects/list-placements.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To list all AWS IoT 1-Click placements for a project** - -The following ``list-placements`` example lists all AWS IoT 1-Click placements for the specified project. :: - - aws iot1click-projects list-placements \ - --project-name AnytownDumpsters - -Output:: - - { - "placements": [ - { - "projectName": "AnytownDumpsters", - "placementName": "customer217", - "createdDate": 1563488454, - "updatedDate": 1563488454 - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/list-projects.rst b/awscli/examples/iot1click-projects/list-projects.rst deleted file mode 100644 index 54efeedf4349..000000000000 --- a/awscli/examples/iot1click-projects/list-projects.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To list all AWS IoT 1-Click projects** - -The following ``list-projects`` example list all AWS IoT 1-Click projects in your account. :: - - aws iot1click-projects list-projects - -Output:: - - { - "projects": [ - { - "arn": "arn:aws:iot1click:us-west-2:012345678901:projects/AnytownDumpsters", - "projectName": "AnytownDumpsters", - "createdDate": 1563483100, - "updatedDate": 1563483100, - "tags": {} - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/list-tags-for-resource.rst b/awscli/examples/iot1click-projects/list-tags-for-resource.rst deleted file mode 100644 index 5ccba4fa102f..000000000000 --- a/awscli/examples/iot1click-projects/list-tags-for-resource.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To list the tags for a project resource** - -The following ``list-tags-for-resource`` example list the tags for the specified project resource. :: - - aws iot1click-projects list-tags-for-resource \ - --resource-arn "arn:aws:iot1click:us-west-2:123456789012:projects/AnytownDumpsters" - -Output:: - - { - "tags": { - "Manager": "Li Juan", - "Account": "45215" - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/tag-resource.rst b/awscli/examples/iot1click-projects/tag-resource.rst deleted file mode 100644 index 8dc43f58acc1..000000000000 --- a/awscli/examples/iot1click-projects/tag-resource.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To add tags to a project resource** - -The following ``tag-resource`` example adds two tags to the specified project resource. :: - - aws iot1click-projects tag-resource \ - --cli-input-json file://devices-tag-resource.json - -Contents of ``devices-tag-resource.json``:: - - { - "resourceArn": "arn:aws:iot1click:us-west-2:123456789012:projects/AnytownDumpsters", - "tags": { - "Account": "45215", - "Manager": "Li Juan" - } - } - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/untag-resource.rst b/awscli/examples/iot1click-projects/untag-resource.rst deleted file mode 100644 index 5bc6e7ee6e4d..000000000000 --- a/awscli/examples/iot1click-projects/untag-resource.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To remove tags from a project resource** - -The following ``untag-resource`` example removes the tag with the key name ``Manager`` from the specified project. :: - - aws iot1click-projects untag-resource \ - --resource-arn "arn:aws:iot1click:us-west-2:123456789012:projects/AnytownDumpsters" \ - --tag-keys "Manager" - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/update-placement.rst b/awscli/examples/iot1click-projects/update-placement.rst deleted file mode 100644 index 1e996040594d..000000000000 --- a/awscli/examples/iot1click-projects/update-placement.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To update the "attributes" key-value pairs of a placement** - -The following ``update-placement`` example update the "attributes" key-value pairs of a placement. :: - - aws iot1click-projects update-placement \ - --cli-input-json file://update-placement.json - -Contents of ``update-placement.json``:: - - { - "projectName": "AnytownDumpsters", - "placementName": "customer217", - "attributes": { - "phone": "123-456-7890", - "location": "123 Any Street Anytown, USA 10001" - } - } - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/update-project.rst b/awscli/examples/iot1click-projects/update-project.rst deleted file mode 100644 index 3bd7d9b8eb5e..000000000000 --- a/awscli/examples/iot1click-projects/update-project.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To update settings for a project** - -The following ``update-project`` example updates the description for a project. :: - - aws iot1click-projects update-project \ - --project-name AnytownDumpsters \ - --description "All dumpsters (yard waste, recycling, garbage) in the Anytown region." - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iotanalytics/batch-put-message.rst b/awscli/examples/iotanalytics/batch-put-message.rst deleted file mode 100644 index c19259913d45..000000000000 --- a/awscli/examples/iotanalytics/batch-put-message.rst +++ /dev/null @@ -1,27 +0,0 @@ -**To send a message to a channel** - -The following ``batch-put-message`` example sends a message to the specified channel. :: - - aws iotanalytics batch-put-message \ - --cli-binary-format raw-in-base64-out \ - --cli-input-json file://batch-put-message.json - -Contents of ``batch-put-message.json``:: - - { - "channelName": "mychannel", - "messages": [ - { - "messageId": "0001", - "payload": "eyAidGVtcGVyYXR1cmUiOiAyMCB9" - } - ] - } - -Output:: - - { - "batchPutMessageErrorEntries": [] - } - -For more information, see `BatchPutMessage `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/cancel-pipeline-reprocessing.rst b/awscli/examples/iotanalytics/cancel-pipeline-reprocessing.rst deleted file mode 100644 index 982a8cce0b91..000000000000 --- a/awscli/examples/iotanalytics/cancel-pipeline-reprocessing.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To cancel the reprocessing of data through a pipeline** - -The following ``cancel-pipeline-reprocessing`` example cancels the reprocessing of data through the specified pipeline. :: - - aws iotanalytics cancel-pipeline-reprocessing \ - --pipeline-name mypipeline \ - --reprocessing-id "6ad2764f-fb13-4de3-b101-4e74af03b043" - -This command produces no output. - -For more information, see `CancelPipelineReprocessing `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/create-channel.rst b/awscli/examples/iotanalytics/create-channel.rst deleted file mode 100644 index c2f643def08b..000000000000 --- a/awscli/examples/iotanalytics/create-channel.rst +++ /dev/null @@ -1,33 +0,0 @@ -**To create a channel** - -The following ``create-channel`` example creates a channel with the specified configuration. A channel collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline. :: - - aws iotanalytics create-channel \ - --cli-input-json file://create-channel.json - -Contents of ``create-channel.json``:: - - { - "channelName": "mychannel", - "retentionPeriod": { - "unlimited": true - }, - "tags": [ - { - "key": "Environment", - "value": "Production" - } - ] - } - -Output:: - - { - "channelArn": "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel", - "channelName": "mychannel", - "retentionPeriod": { - "unlimited": true - } - } - -For more information, see `CreateChannel `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/create-dataset-content.rst b/awscli/examples/iotanalytics/create-dataset-content.rst deleted file mode 100644 index 66b888723eb1..000000000000 --- a/awscli/examples/iotanalytics/create-dataset-content.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To create the content of a dataset** - -The following ``create-dataset-content`` example creates the content of the specified dataset by applying a ``queryAction`` (an SQL query) or a ``containerAction`` (executing a containerized application). :: - - aws iotanalytics create-dataset-content \ - --dataset-name mydataset - -Output:: - - { - "versionId": "d494b416-9850-4670-b885-ca22f1e89d62" - } - -For more information, see `CreateDatasetContent `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/create-dataset.rst b/awscli/examples/iotanalytics/create-dataset.rst deleted file mode 100644 index f376001f5939..000000000000 --- a/awscli/examples/iotanalytics/create-dataset.rst +++ /dev/null @@ -1,41 +0,0 @@ -**To create a dataset** - -The following ``create-dataset`` example creates a dataset. A dataset stores data retrieved from a data store by applying a ``queryAction`` (a SQL query) or a ``containerAction`` (executing a containerized application). This operation creates the skeleton of a dataset. You can populate the dataset manually by calling ``CreateDatasetContent`` or automatically according to a ``trigger`` you specify. :: - - aws iotanalytics create-dataset \ - --cli-input-json file://create-dataset.json - -Contents of ``create-dataset.json``:: - - { - "datasetName": "mydataset", - "actions": [ - { - "actionName": "myDatasetAction", - "queryAction": { - "sqlQuery": "SELECT * FROM mydatastore" - } - } - ], - "retentionPeriod": { - "unlimited": true - }, - "tags": [ - { - "key": "Environment", - "value": "Production" - } - ] - } - -Output:: - - { - "datasetName": "mydataset", - "retentionPeriod": { - "unlimited": true - }, - "datasetArn": "arn:aws:iotanalytics:us-west-2:123456789012:dataset/mydataset" - } - -For more information, see `CreateDataset `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/create-datastore.rst b/awscli/examples/iotanalytics/create-datastore.rst deleted file mode 100644 index 9588f1b0dee5..000000000000 --- a/awscli/examples/iotanalytics/create-datastore.rst +++ /dev/null @@ -1,34 +0,0 @@ -**To create a data store** - -The following ``create-datastore`` example creates a data store, which is a repository for messages. :: - - aws iotanalytics create-datastore \ - --cli-input-json file://create-datastore.json - -Contents of ``create-datastore.json``:: - - { - "datastoreName": "mydatastore", - "retentionPeriod": { - "numberOfDays": 90 - }, - "tags": [ - { - "key": "Environment", - "value": "Production" - } - ] - } - -Output:: - - { - "datastoreName": "mydatastore", - "datastoreArn": "arn:aws:iotanalytics:us-west-2:123456789012:datastore/mydatastore", - "retentionPeriod": { - "numberOfDays": 90, - "unlimited": false - } - } - -For more information, see `CreateDatastore `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/create-pipeline.rst b/awscli/examples/iotanalytics/create-pipeline.rst deleted file mode 100644 index 58991c564d2f..000000000000 --- a/awscli/examples/iotanalytics/create-pipeline.rst +++ /dev/null @@ -1,50 +0,0 @@ -**Create an IoT Analytics Pipeline** - -The following ``create-pipeline`` example creates a pipeline. A pipeline consumes messages from a channel and allows you to process the messages before storing them in a data store. You must specify both a channel and a data store activity and, optionally, as many as 23 additional activities in the ``pipelineActivities`` array. :: - - aws iotanalytics create-pipeline \ - --cli-input-json file://create-pipeline.json - -Contents of ``create-pipeline.json``:: - - { - "pipelineName": "mypipeline", - "pipelineActivities": [ - { - "channel": { - "name": "myChannelActivity", - "channelName": "mychannel", - "next": "myMathActivity" - } - }, - { - "datastore": { - "name": "myDatastoreActivity", - "datastoreName": "mydatastore" - } - }, - { - "math": { - "name": "myMathActivity", - "math": "((temp - 32) * 5.0) / 9.0", - "attribute": "tempC", - "next": "myDatastoreActivity" - } - } - ], - "tags": [ - { - "key": "Environment", - "value": "Beta" - } - ] - } - -Output:: - - { - "pipelineArn": "arn:aws:iotanalytics:us-west-2:123456789012:pipeline/mypipeline", - "pipelineName": "mypipeline" - } - -For more information, see `CreatePipeline `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/delete-channel.rst b/awscli/examples/iotanalytics/delete-channel.rst deleted file mode 100644 index 74e5f0f07c37..000000000000 --- a/awscli/examples/iotanalytics/delete-channel.rst +++ /dev/null @@ -1,10 +0,0 @@ -**Delete an IoT Analytics Channel** - -The following ``delete-channel`` example deletes the specified channel. :: - - aws iotanalytics delete-channel \ - --channel-name mychannel - -This command produces no output. - -For more information, see `DeleteChannel `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/delete-dataset-content.rst b/awscli/examples/iotanalytics/delete-dataset-content.rst deleted file mode 100644 index 0315d7ac7e0e..000000000000 --- a/awscli/examples/iotanalytics/delete-dataset-content.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete dataset content** - -The following ``delete-dataset-content`` example deletes the content of the specified dataset. :: - - aws iotanalytics delete-dataset-content \ - --dataset-name mydataset - -This command produces no output. - -For more information, see `DeleteDatasetContent `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/delete-dataset.rst b/awscli/examples/iotanalytics/delete-dataset.rst deleted file mode 100644 index bb7f10cced6f..000000000000 --- a/awscli/examples/iotanalytics/delete-dataset.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete a dataset** - -The following ``delete-dataset`` example deletes the specified dataset. You don't have to delete the content of the dataset before you perform this operation. :: - - aws iotanalytics delete-dataset \ - --dataset-name mydataset - -This command produces no output. - -For more information, see `DeleteDataset `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/delete-datastore.rst b/awscli/examples/iotanalytics/delete-datastore.rst deleted file mode 100644 index d7ef47af9695..000000000000 --- a/awscli/examples/iotanalytics/delete-datastore.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To delete a data store** - -The following ``delete-datastore`` example deletes the specified data store. :: - - aws iotanalytics delete-datastore \ - --datastore-name mydatastore - - -This command produces no output. - -For more information, see `DeleteDatastore `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/delete-pipeline.rst b/awscli/examples/iotanalytics/delete-pipeline.rst deleted file mode 100644 index 4273d6aa59a5..000000000000 --- a/awscli/examples/iotanalytics/delete-pipeline.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete a pipeline** - -The following ``delete-pipeline`` example deletes the specified pipeline. :: - - aws iotanalytics delete-pipeline \ - --pipeline-name mypipeline - -This command produces no output. - -For more information, see `DeletePipeline `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/describe-channel.rst b/awscli/examples/iotanalytics/describe-channel.rst deleted file mode 100644 index 02e188f333c2..000000000000 --- a/awscli/examples/iotanalytics/describe-channel.rst +++ /dev/null @@ -1,30 +0,0 @@ -**To retrieve information about a channel** - -The following ``describe-channel`` example displays details, including statistics, for the specified channel. :: - - aws iotanalytics describe-channel \ - --channel-name mychannel \ - --include-statistics - -Output:: - - { - "statistics": { - "size": { - "estimatedSizeInBytes": 402.0, - "estimatedOn": 1561504380.0 - } - }, - "channel": { - "status": "ACTIVE", - "name": "mychannel", - "lastUpdateTime": 1557860351.001, - "creationTime": 1557860351.001, - "retentionPeriod": { - "unlimited": true - }, - "arn": "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel" - } - } - -For more information, see `DescribeChannel `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/describe-dataset.rst b/awscli/examples/iotanalytics/describe-dataset.rst deleted file mode 100644 index 95fb795472dd..000000000000 --- a/awscli/examples/iotanalytics/describe-dataset.rst +++ /dev/null @@ -1,35 +0,0 @@ -**To retrieve information about a dataset** - -The following ``describe-dataset`` example displays details for the specified dataset. :: - - aws iotanalytics describe-dataset \ - --dataset-name mydataset - -Output:: - - { - "dataset": { - "status": "ACTIVE", - "contentDeliveryRules": [], - "name": "mydataset", - "lastUpdateTime": 1557859240.658, - "triggers": [], - "creationTime": 1557859240.658, - "actions": [ - { - "actionName": "query_32", - "queryAction": { - "sqlQuery": "SELECT * FROM mydatastore", - "filters": [] - } - } - ], - "retentionPeriod": { - "numberOfDays": 90, - "unlimited": false - }, - "arn": "arn:aws:iotanalytics:us-west-2:123456789012:dataset/mydataset" - } - } - -For more information, see `DescribeDataset `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/describe-datastore.rst b/awscli/examples/iotanalytics/describe-datastore.rst deleted file mode 100644 index 65af88877ce2..000000000000 --- a/awscli/examples/iotanalytics/describe-datastore.rst +++ /dev/null @@ -1,30 +0,0 @@ -**To retrieve information about a data store** - -The following ``describe-datastore`` example displays details, including statistics, for the specified data store. :: - - aws iotanalytics describe-datastore \ - --datastore-name mydatastore \ - --include-statistics - -Output:: - - { - "datastore": { - "status": "ACTIVE", - "name": "mydatastore", - "lastUpdateTime": 1557858971.02, - "creationTime": 1557858971.02, - "retentionPeriod": { - "unlimited": true - }, - "arn": "arn:aws:iotanalytics:us-west-2:123456789012:datastore/mydatastore" - }, - "statistics": { - "size": { - "estimatedSizeInBytes": 397.0, - "estimatedOn": 1561592040.0 - } - } - } - -For more information, see `DescribeDatastore `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/describe-logging-options.rst b/awscli/examples/iotanalytics/describe-logging-options.rst deleted file mode 100644 index 63fdadf0ef05..000000000000 --- a/awscli/examples/iotanalytics/describe-logging-options.rst +++ /dev/null @@ -1,18 +0,0 @@ -**To retrieve the current logging options** - -The following ``describe-logging-options`` example displays the current AWS IoT Analytics logging options. :: - - aws iotanalytics describe-logging-options - -This command produces no output. -Output:: - - { - "loggingOptions": { - "roleArn": "arn:aws:iam::123456789012:role/service-role/myIoTAnalyticsRole", - "enabled": true, - "level": "ERROR" - } - } - -For more information, see `DescribeLoggingOptions `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/describe-pipeline.rst b/awscli/examples/iotanalytics/describe-pipeline.rst deleted file mode 100644 index 2ef4064343fd..000000000000 --- a/awscli/examples/iotanalytics/describe-pipeline.rst +++ /dev/null @@ -1,41 +0,0 @@ -**To retrieve information about a pipeline** - -The following ``describe-pipeline`` example displays details for the specified pipeline. :: - - aws iotanalytics describe-pipeline \ - --pipeline-name mypipeline - -Output:: - - { - "pipeline": { - "activities": [ - { - "channel": { - "channelName": "mychannel", - "name": "mychannel_28", - "next": "mydatastore_29" - } - }, - { - "datastore": { - "datastoreName": "mydatastore", - "name": "mydatastore_29" - } - } - ], - "name": "mypipeline", - "lastUpdateTime": 1561676362.515, - "creationTime": 1557859124.432, - "reprocessingSummaries": [ - { - "status": "SUCCEEDED", - "creationTime": 1561676362.189, - "id": "6ad2764f-fb13-4de3-b101-4e74af03b043" - } - ], - "arn": "arn:aws:iotanalytics:us-west-2:123456789012:pipeline/mypipeline" - } - } - -For more information, see `DescribePipeline `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/get-dataset-content.rst b/awscli/examples/iotanalytics/get-dataset-content.rst deleted file mode 100644 index b12740e74a23..000000000000 --- a/awscli/examples/iotanalytics/get-dataset-content.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To retrieve the contents of a dataset** - -The following ``get-dataset-content`` example retrieves the contents of a dataset as presigned URIs. :: - - aws iotanalytics get-dataset-content --dataset-name mydataset - -Output:: - - { - "status": { - "state": "SUCCEEDED" - }, - "timestamp": 1557863215.995, - "entries": [ - { - "dataURI": "https://aws-radiant-dataset-12345678-1234-1234-1234-123456789012.s3.us-west-2.amazonaws.com/results/12345678-e8b3-46ba-b2dd-efe8d86cf385.csv?X-Amz-Security-Token=...-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190628T173437Z&X-Amz-SignedHeaders=host&X-Amz-Expires=7200&X-Amz-Credential=...F20190628%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=..." - } - ] - } - -For more information, see `GetDatasetContent `__ in the *guide*. diff --git a/awscli/examples/iotanalytics/list-channels.rst b/awscli/examples/iotanalytics/list-channels.rst deleted file mode 100644 index 66c23a8e09c9..000000000000 --- a/awscli/examples/iotanalytics/list-channels.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To retrieve a list of channels** - -The following ``list-channels`` example displays summary information for the available channels. :: - - aws iotanalytics list-channels - -Output:: - - { - "channelSummaries": [ - { - "status": "ACTIVE", - "channelName": "mychannel", - "creationTime": 1557860351.001, - "lastUpdateTime": 1557860351.001 - } - ] - } - -For more information, see `ListChannels `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/list-dataset-contents.rst b/awscli/examples/iotanalytics/list-dataset-contents.rst deleted file mode 100644 index 899329e7c82b..000000000000 --- a/awscli/examples/iotanalytics/list-dataset-contents.rst +++ /dev/null @@ -1,23 +0,0 @@ -**To list information about dataset contents** - -The following ``list-dataset-contents`` example lists information about dataset contents that have been created. :: - - aws iotanalytics list-dataset-contents \ - --dataset-name mydataset - -Output:: - - { - "datasetContentSummaries": [ - { - "status": { - "state": "SUCCEEDED" - }, - "scheduleTime": 1557863215.995, - "version": "b10ea2a9-66c1-4d99-8d1f-518113b738d0", - "creationTime": 1557863215.995 - } - ] - } - -For more information, see `ListDatasetContents `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/list-datasets.rst b/awscli/examples/iotanalytics/list-datasets.rst deleted file mode 100644 index 0985d3c1ace2..000000000000 --- a/awscli/examples/iotanalytics/list-datasets.rst +++ /dev/null @@ -1,27 +0,0 @@ -**To retrieve information about datasets** - -The following ``list-datasets`` example lists summary information about available datasets. :: - - aws iotanalytics list-datasets - -Output:: - - { - "datasetSummaries": [ - { - "status": "ACTIVE", - "datasetName": "mydataset", - "lastUpdateTime": 1557859240.658, - "triggers": [], - "creationTime": 1557859240.658, - "actions": [ - { - "actionName": "query_32", - "actionType": "QUERY" - } - ] - } - ] - } - -For more information, see `ListDatasets `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/list-datastores.rst b/awscli/examples/iotanalytics/list-datastores.rst deleted file mode 100644 index f002038b1213..000000000000 --- a/awscli/examples/iotanalytics/list-datastores.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To retrieve a list of data stores** - -The following ``list-datastores`` example displays summary information about the available data stores. :: - - aws iotanalytics list-datastores - -Output:: - - { - "datastoreSummaries": [ - { - "status": "ACTIVE", - "datastoreName": "mydatastore", - "creationTime": 1557858971.02, - "lastUpdateTime": 1557858971.02 - } - ] - } - -For more information, see `ListDatastores `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/list-pipelines.rst b/awscli/examples/iotanalytics/list-pipelines.rst deleted file mode 100644 index 32e3891593fa..000000000000 --- a/awscli/examples/iotanalytics/list-pipelines.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To retrieve a list of pipelines** - -The following ``list-pipelines`` example displays a list of available pipelines. :: - - aws iotanalytics list-pipelines - -Output:: - - { - "pipelineSummaries": [ - { - "pipelineName": "mypipeline", - "creationTime": 1557859124.432, - "lastUpdateTime": 1557859124.432, - "reprocessingSummaries": [] - } - ] - } - -For more information, see `ListPipelines `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/list-tags-for-resource.rst b/awscli/examples/iotanalytics/list-tags-for-resource.rst deleted file mode 100644 index 4f1d5aa75e19..000000000000 --- a/awscli/examples/iotanalytics/list-tags-for-resource.rst +++ /dev/null @@ -1,19 +0,0 @@ -**To list tags for a resource** - -The following ``list-tags-for-resource`` example Lists the tags that you have attached to the specified resource. :: - - aws iotanalytics list-tags-for-resource \ - --resource-arn "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel" - -Output:: - - { - "tags": [ - { - "value": "bar", - "key": "foo" - } - ] - } - -For more information, see `ListTagsForResource `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/put-logging-options.rst b/awscli/examples/iotanalytics/put-logging-options.rst deleted file mode 100644 index 919e51327936..000000000000 --- a/awscli/examples/iotanalytics/put-logging-options.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To set or update logging options** - -The following ``put-logging-options`` example sets or updates the AWS IoT Analytics logging options. If you update the value of any ``loggingOptions`` field, it can take up to one minute for the change to take effect. Also, if you change the policy attached to the role you specified in the "roleArn" field (for example, to correct an invalid policy) it can take up to five minutes for that change to take effect. :: - - aws iotanalytics put-logging-options \ - --cli-input-json file://put-logging-options.json - -Contents of ``put-logging-options.json``:: - - { - "loggingOptions": { - "roleArn": "arn:aws:iam::123456789012:role/service-role/myIoTAnalyticsRole", - "level": "ERROR", - "enabled": true - } - } - -This command produces no output. - -For more information, see `PutLoggingOptions `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/run-pipeline-activity.rst b/awscli/examples/iotanalytics/run-pipeline-activity.rst deleted file mode 100644 index d9fd34a4d8d1..000000000000 --- a/awscli/examples/iotanalytics/run-pipeline-activity.rst +++ /dev/null @@ -1,36 +0,0 @@ -**To simulate a pipeline activity** - -The following ``run-pipeline-activity`` example simulates the results of running a pipeline activity on a message payload. :: - - aws iotanalytics run-pipeline-activity \ - --pipeline-activity file://maths.json \ - --payloads file://payloads.json - -Contents of ``maths.json``:: - - { - "math": { - "name": "MyMathActivity", - "math": "((temp - 32) * 5.0) / 9.0", - "attribute": "tempC" - } - } - -Contents of ``payloads.json``:: - - [ - "{\"humidity\": 52, \"temp\": 68 }", - "{\"humidity\": 52, \"temp\": 32 }" - ] - -Output:: - - { - "logResult": "", - "payloads": [ - "eyJodW1pZGl0eSI6NTIsInRlbXAiOjY4LCJ0ZW1wQyI6MjB9", - "eyJodW1pZGl0eSI6NTIsInRlbXAiOjMyLCJ0ZW1wQyI6MH0=" - ] - } - -For more information, see `RunPipelineActivity `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/sample-channel-data.rst b/awscli/examples/iotanalytics/sample-channel-data.rst deleted file mode 100644 index 98a547b2883a..000000000000 --- a/awscli/examples/iotanalytics/sample-channel-data.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To retrieve sample messages from a channel** - -The following ``sample-channel-data`` example retrieves a sample of messages from the specified channel ingested during the specified timeframe. You can retrieve up to 10 messages. :: - - aws iotanalytics sample-channel-data \ - --channel-name mychannel - -Output:: - - { - "payloads": [ - "eyAidGVtcGVyYXR1cmUiOiAyMCB9", - "eyAiZm9vIjogImJhciIgfQ==" - ] - } - -For more information, see `SampleChannelData `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/start-pipeline-reprocessing.rst b/awscli/examples/iotanalytics/start-pipeline-reprocessing.rst deleted file mode 100644 index 82bcc01651e6..000000000000 --- a/awscli/examples/iotanalytics/start-pipeline-reprocessing.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To start pipeline reprocessing** - -The following ``start-pipeline-reprocessing`` example starts the reprocessing of raw message data through the specified pipeline. :: - - aws iotanalytics start-pipeline-reprocessing \ - --pipeline-name mypipeline - -Output:: - - { - "reprocessingId": "6ad2764f-fb13-4de3-b101-4e74af03b043" - } - -For more information, see `StartPipelineReprocessing `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/tag-resource.rst b/awscli/examples/iotanalytics/tag-resource.rst deleted file mode 100644 index 4bae4998e69b..000000000000 --- a/awscli/examples/iotanalytics/tag-resource.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To add or modify tags for a resource** - -The following ``tag-resource`` example adds to or modifies the tags attached to the specified resource. :: - - aws iotanalytics tag-resource \ - --resource-arn "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel" \ - --tags "[{\"key\": \"Environment\", \"value\": \"Production\"}]" - -This command produces no output. - -For more information, see `TagResource `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/untag-resource.rst b/awscli/examples/iotanalytics/untag-resource.rst deleted file mode 100644 index cc0076d00c8a..000000000000 --- a/awscli/examples/iotanalytics/untag-resource.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To remove tags from a resource** - -The following ``untag-resource`` example removes the tags with the specified key names from the specified resource. :: - - aws iotanalytics untag-resource \ - --resource-arn "arn:aws:iotanalytics:us-west-2:123456789012:channel/mychannel" \ - --tag-keys "[\"Environment\"]" - -This command produces no output. - -For more information, see `UntagResource `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/update-channel.rst b/awscli/examples/iotanalytics/update-channel.rst deleted file mode 100644 index 2de24c84c879..000000000000 --- a/awscli/examples/iotanalytics/update-channel.rst +++ /dev/null @@ -1,19 +0,0 @@ -**To modify a channel** - -The following ``update-channel`` example modifies the settings for the specified channel. :: - - aws iotanalytics update-channel \ - --cli-input-json file://update-channel.json - -Contents of ``update-channel.json``:: - - { - "channelName": "mychannel", - "retentionPeriod": { - "numberOfDays": 92 - } - } - -This command produces no output. - -For more information, see `UpdateChannel `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/update-dataset.rst b/awscli/examples/iotanalytics/update-dataset.rst deleted file mode 100644 index 46c27fb61a8e..000000000000 --- a/awscli/examples/iotanalytics/update-dataset.rst +++ /dev/null @@ -1,28 +0,0 @@ -**To update a dataset** - -The following ``update-dataset`` example modifies the settings of the specified dataset. :: - - aws iotanalytics update-dataset \ - --cli-input-json file://update-dataset.json - -Contents of ``update-dataset.json``:: - - { - "datasetName": "mydataset", - "actions": [ - { - "actionName": "myDatasetUpdateAction", - "queryAction": { - "sqlQuery": "SELECT * FROM mydatastore" - } - } - ], - "retentionPeriod": { - "numberOfDays": 92 - } - } - -This command produces no output. - -For more information, see `UpdateDataset `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/update-datastore.rst b/awscli/examples/iotanalytics/update-datastore.rst deleted file mode 100644 index b0a57ed8fd2d..000000000000 --- a/awscli/examples/iotanalytics/update-datastore.rst +++ /dev/null @@ -1,19 +0,0 @@ -**To update a data store** - -The following ``update-datastore`` example modifies the settings of the specified data store. :: - - aws iotanalytics update-datastore \ - --cli-input-json file://update-datastore.json - -Contents of update-datastore.json:: - - { - "datastoreName": "mydatastore", - "retentionPeriod": { - "numberOfDays": 93 - } - } - -This command produces no output. - -For more information, see `UpdateDatastore `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/iotanalytics/update-pipeline.rst b/awscli/examples/iotanalytics/update-pipeline.rst deleted file mode 100644 index 5649cb2f10c7..000000000000 --- a/awscli/examples/iotanalytics/update-pipeline.rst +++ /dev/null @@ -1,39 +0,0 @@ -**To update a pipeline** - -The following ``update-pipeline`` example modifies the settings of the specified pipeline. You must specify both a channel and a data store activity and, optionally, as many as 23 additional activities, in the ``pipelineActivities`` array. :: - - aws iotanalytics update-pipeline \ - --cli-input-json file://update-pipeline.json - -Contents of update-pipeline.json:: - - { - "pipelineName": "mypipeline", - "pipelineActivities": [ - { - "channel": { - "name": "myChannelActivity", - "channelName": "mychannel", - "next": "myMathActivity" - } - }, - { - "datastore": { - "name": "myDatastoreActivity", - "datastoreName": "mydatastore" - } - }, - { - "math": { - "name": "myMathActivity", - "math": "(((temp - 32) * 5.0) / 9.0) + 273.15", - "attribute": "tempK", - "next": "myDatastoreActivity" - } - } - ] - } - -This command produces no output. - -For more information, see `UpdatePipeline `__ in the *AWS IoT Analytics API Reference*. diff --git a/awscli/examples/ivs-realtime/create-ingest-configuration.rst b/awscli/examples/ivs-realtime/create-ingest-configuration.rst new file mode 100644 index 000000000000..6baf24dbed9b --- /dev/null +++ b/awscli/examples/ivs-realtime/create-ingest-configuration.rst @@ -0,0 +1,25 @@ +**To create an ingest configuration** + +The following ``create-ingest-configuration`` example creates an ingest configuration using RTMPS protocol. :: + + aws ivs-realtime create-ingest-configuration \ + --name ingest1 \ + --ingest-protocol rtmps + +Output:: + + { + "ingestConfiguration": { + "name": "ingest1", + "arn": "arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234", + "ingestProtocol": "RTMPS", + "streamKey": "rt_123456789012_us-west-2_AbCdEfGh1234_abcd1234efgh5678ijkl9012MNOP34", + "stageArn": "", + "participantId": "xyZ654abC321", + "state": "INACTIVE", + "userId": "", + "tags": {} + } + } + +For more information, see `IVS Stream Ingest | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. diff --git a/awscli/examples/ivs-realtime/create-stage.rst b/awscli/examples/ivs-realtime/create-stage.rst index 788be13f844d..c799ee4df0ba 100644 --- a/awscli/examples/ivs-realtime/create-stage.rst +++ b/awscli/examples/ivs-realtime/create-stage.rst @@ -1,4 +1,4 @@ -**To create a stage** +**Example 1: To create a stage** The following ``create-stage`` example creates a stage and stage participant token for a specified user. :: @@ -19,9 +19,125 @@ Output:: "stage": { "activeSessionId": "st-a1b2c3d4e5f6g", "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "autoParticipantRecordingConfiguration": { + "storageConfigurationArn": "", + "mediaTypes": [ + "AUDIO_VIDEO" + ], + "thumbnailConfiguration": { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ], + "recordingMode": "DISABLED" + }, + "recordingReconnectWindowSeconds": 0, + "hlsConfiguration": { + "targetSegmentDurationSeconds": 6 + }, + "recordParticipantReplicas": true + }, + "endpoints": { + "events": "wss://global.events.live-video.net", + "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", + "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", + "whip": "https://9x0y8z7s6t5u.global-bm.whip.live-video.net" + }, "name": "stage1", "tags": {} } } -For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. + +**Example 2: To create a stage and configure individual participant recording** + +The following ``create-stage`` example creates a stage and configures individual participant recording. :: + + aws ivs-realtime create-stage \ + --name stage1 \ + --auto-participant-recording-configuration '{"mediaTypes": ["AUDIO_VIDEO"],"storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", "recordingReconnectWindowSeconds": 100, \ + "hlsConfiguration": {"targetSegmentDurationSeconds": 5}}' + +Output:: + + { + "stage": { + "activeSessionId": "st-a1b2c3d4e5f6g", + "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "autoParticipantRecordingConfiguration": { + "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh" + "mediaTypes": [ + "AUDIO_VIDEO" + ], + "thumbnailConfiguration": { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ], + "recordingMode": "DISABLED" + }, + "recordingReconnectWindowSeconds": 100, + "hlsConfiguration": { + "targetSegmentDurationSeconds": 5 + }, + "recordParticipantReplicas": true + }, + "endpoints": { + "events": "wss://global.events.live-video.net", + "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", + "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", + "whip": "https://9x0y8z7s6t5u.global-bm.whip.live-video.net" + }, + "name": "stage1", + "tags": {} + } + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. + +**Example 3: To create a stage and configure individual participant recording with thumbnail recording enabled** + +The following ``create-stage`` example creates a stage and configures individual participant recording with thumbnail recording enabled. :: + + aws ivs-realtime create-stage \ + --name stage1 \ + --auto-participant-recording-configuration '{"mediaTypes": ["AUDIO_VIDEO"],"storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", \ + "thumbnailConfiguration": {"recordingMode": "INTERVAL","storage": ["SEQUENTIAL"],"targetIntervalSeconds": 60}}' + +Output:: + + { + "stage": { + "activeSessionId": "st-a1b2c3d4e5f6g", + "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "autoParticipantRecordingConfiguration": { + "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", + "mediaTypes": [ + "AUDIO_VIDEO" + ], + "thumbnailConfiguration": { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ], + "recordingMode": "INTERVAL" + }, + "recordingReconnectWindowSeconds": 0, + "hlsConfiguration": { + "targetSegmentDurationSeconds": 6 + }, + "recordParticipantReplicas": true + }, + "endpoints": { + "events": "wss://global.events.live-video.net", + "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", + "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", + "whip": "https://9x0y8z7s6t5u.global-bm.whip.live-video.net" + }, + "name": "stage1", + "tags": {} + } + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/create-storage-configuration.rst b/awscli/examples/ivs-realtime/create-storage-configuration.rst index 09d535e6c4a8..904e02a7b48d 100644 --- a/awscli/examples/ivs-realtime/create-storage-configuration.rst +++ b/awscli/examples/ivs-realtime/create-storage-configuration.rst @@ -1,21 +1,21 @@ -**To create a composition storage configuration** - -The following ``create-storage-configuration`` example creates a composition storage configuration with the specified properties. :: - - aws ivs-realtime create-storage-configuration \ - --name "test-sc" --s3 "bucketName=test-bucket-name" - -Output:: - - { - "storageConfiguration": { - "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/ABabCDcdEFef", - "name": "test-sc", - "s3": { - "bucketName": "test-bucket-name" - }, - "tags": {} - } - } - +**To create a composition storage configuration** + +The following ``create-storage-configuration`` example creates a composition storage configuration with the specified properties. :: + + aws ivs-realtime create-storage-configuration \ + --name "test-sc" --s3 "bucketName=amzn-s3-demo-bucket" + +Output:: + + { + "storageConfiguration": { + "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/ABabCDcdEFef", + "name": "test-sc", + "s3": { + "bucketName": "amzn-s3-demo-bucket" + }, + "tags": {} + } + } + For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/delete-ingest-configuration.rst b/awscli/examples/ivs-realtime/delete-ingest-configuration.rst new file mode 100644 index 000000000000..daa3e0eec53c --- /dev/null +++ b/awscli/examples/ivs-realtime/delete-ingest-configuration.rst @@ -0,0 +1,22 @@ +**Example 1: To delete an inactive ingest configuration** + +The following ``delete-ingest-configuration`` example deletes the inactive ingest configuration for a specified ingest-configuration ARN (Amazon Resource Name). :: + + aws ivs-realtime delete-ingest-configuration \ + --arn arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234 + +This command produces no output. + +For more information, see `IVS Stream Ingest | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. + +**Example 2: To force delete an active ingest configuration** + +The following ``delete-ingest-configuration`` example forces deletion of the active ingest configuration for a specified ingest-configuration ARN (Amazon Resource Name). :: + + aws ivs-realtime delete-ingest-configuration \ + --arn arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234 \ + --force + +This command produces no output. + +For more information, see `IVS Stream Ingest | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/delete-public-key.rst b/awscli/examples/ivs-realtime/delete-public-key.rst new file mode 100644 index 000000000000..b4764d74be46 --- /dev/null +++ b/awscli/examples/ivs-realtime/delete-public-key.rst @@ -0,0 +1,10 @@ +**To delete a public key** + +The following ``delete-public-key`` deletes the specified public key. :: + + aws ivs-realtime delete-public-key \ + --arn arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2 + +This command produces no output. + +For more information, see `Distribute Participant Tokens `__ in the *Amazon IVS Real-Time Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/get-composition.rst b/awscli/examples/ivs-realtime/get-composition.rst index c85f680c10b2..dc2a8ebbf493 100644 --- a/awscli/examples/ivs-realtime/get-composition.rst +++ b/awscli/examples/ivs-realtime/get-composition.rst @@ -31,9 +31,12 @@ Output:: "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" ], "recordingConfiguration": { - "format": "HLS" + "format": "HLS", + "hlsConfiguration": { + "targetSegmentDurationSeconds": 2 + } }, - "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE" + "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE", } }, "detail": { @@ -48,11 +51,13 @@ Output:: ], "layout": { "grid": { - "featuredParticipantAttribute": "" + "featuredParticipantAttribute": "", "gridGap": 2, "omitStoppedVideo": false, + "participantOrderAttribute": "", "videoAspectRatio": "VIDEO", - "videoFillMode": "" } + "videoFillMode": "" + } }, "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", "startTime": "2023-10-16T23:24:00+00:00", @@ -61,7 +66,7 @@ Output:: } } -For more information, see `Composite Recording (Real-Time Streaming) `__ in the *Amazon Interactive Video Service User Guide*. +For more information, see `IVS Composite Recording | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. **Example 2: To get a composition with PiP layout** @@ -96,7 +101,10 @@ Output:: "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" ], "recordingConfiguration": { - "format": "HLS" + "format": "HLS", + "hlsConfiguration": { + "targetSegmentDurationSeconds": 2 + } }, "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE" } @@ -116,6 +124,7 @@ Output:: "featuredParticipantAttribute": "abcdefg", "gridGap": 0, "omitStoppedVideo": false, + "participantOrderAttribute": "", "pipBehavior": "STATIC", "pipOffset": 0, "pipParticipantAttribute": "", @@ -130,4 +139,81 @@ Output:: } } -For more information, see `Composite Recording (Real-Time Streaming) `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file +For more information, see `IVS Composite Recording | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. + +**Example 3: To get a composition with thumbnail recording enabled** + +The following ``get-composition`` example gets the composition for the ARN (Amazon Resource Name) specified, which has thumbnail recording enabled with default settings. :: + + aws ivs-realtime get-composition \ + --arn "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh" + +Output:: + + { + "composition": { + "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh", + "destinations": [ + { + "configuration": { + "channel": { + "channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", + "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" + }, + "name": "" + }, + "id": "AabBCcdDEefF", + "startTime": "2023-10-16T23:26:00+00:00", + "state": "ACTIVE" + }, + { + "configuration": { + "name": "", + "s3": { + "encoderConfigurationArns": [ + "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" + ], + "recordingConfiguration": { + "format": "HLS", + "hlsConfiguration": { + "targetSegmentDurationSeconds": 2 + } + }, + "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE", + "thumbnailConfigurations": [ + { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ], + } + ] + } + }, + "detail": { + "s3": { + "recordingPrefix": "aBcDeFgHhGfE/AbCdEfGhHgFe/GHFabcgefABC/composite" + } + }, + "id": "GHFabcgefABC", + "startTime": "2023-10-16T23:26:00+00:00", + "state": "STARTING" + } + ], + "layout": { + "grid": { + "featuredParticipantAttribute": "" + "gridGap": 2, + "omitStoppedVideo": false, + "participantOrderAttribute": "", + "videoAspectRatio": "VIDEO", + "videoFillMode": "" } + }, + "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", + "startTime": "2023-10-16T23:24:00+00:00", + "state": "ACTIVE", + "tags": {} + } + } + +For more information, see `IVS Composite Recording | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/get-ingest-configuration.rst b/awscli/examples/ivs-realtime/get-ingest-configuration.rst new file mode 100644 index 000000000000..f38753d068a6 --- /dev/null +++ b/awscli/examples/ivs-realtime/get-ingest-configuration.rst @@ -0,0 +1,24 @@ +**To get ingest configuration information** + +The following ``get-ingest-configuration`` example gets the ingest configuration for a specified ingest-configuration ARN (Amazon Resource Name). :: + + aws ivs-realtime get-ingest-configuration \ + --arn arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234 + +Output:: + + { + "ingestConfiguration": { + "name": "ingest1", + "arn": "arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234", + "ingestProtocol": "RTMPS", + "streamKey": "rt_123456789012_us-west-2_AbCdEfGh1234_abcd1234efgh5678ijkl9012MNOP34", + "stageArn": "", + "participantId": "xyZ654abC321", + "state": "INACTIVE", + "userId": "", + "tags": {} + } + } + +For more information, see `IVS Stream Ingest | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. diff --git a/awscli/examples/ivs-realtime/get-participant.rst b/awscli/examples/ivs-realtime/get-participant.rst index 54dd789a775d..3ae76c18f544 100644 --- a/awscli/examples/ivs-realtime/get-participant.rst +++ b/awscli/examples/ivs-realtime/get-participant.rst @@ -1,28 +1,99 @@ -**To get a stage participant** - -The following ``get-participant`` example gets the stage participant for a specified participant ID and session ID in the specified stage ARN (Amazon Resource Name). :: - - aws ivs-realtime get-participant \ - --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ - --session-id st-a1b2c3d4e5f6g \ - --participant-id abCDEf12GHIj - -Output:: - - { - "participant": { - "browserName", "Google Chrome", - "browserVersion", "116", - "firstJoinTime": "2023-04-26T20:30:34+00:00", - "ispName", "Comcast", - "osName", "Microsoft Windows 10 Pro", - "osVersion", "10.0.19044", - "participantId": "abCDEf12GHIj", - "published": true, - "sdkVersion", "", - "state": "DISCONNECTED", - "userId": "" - } - } - -For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file +**Example 1: To get a stage participant** + +The following ``get-participant`` example gets the stage participant for a specified participant ID and session ID in the specified stage ARN (Amazon Resource Name). :: + + aws ivs-realtime get-participant \ + --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --session-id st-a1b2c3d4e5f6g \ + --participant-id abCDEf12GHIj + +Output:: + + { + "participant": { + "browserName": "Google Chrome", + "browserVersion": "116", + "firstJoinTime": "2023-04-26T20:30:34+00:00", + "ispName": "Comcast", + "osName": "Microsoft Windows 10 Pro", + "osVersion": "10.0.19044", + "participantId": "abCDEf12GHIj", + "published": true, + "recordingS3BucketName": "bucket-name", + "recordingS3Prefix": "abcdABCDefgh/st-a1b2c3d4e5f6g/abCDEf12GHIj/1234567890", + "recordingState": "ACTIVE", + "sdkVersion": "", + "state": "CONNECTED", + "userId": "" + } + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. + +**Example 2: To get a stage participant that has been replicated to another stage** + +The following ``get-participant`` example gets the stage participant for a specified participant ID and session ID in the specified stage ARN (Amazon Resource Name), when the participant has also been replicated to another stage. :: + + aws ivs-realtime get-participant \ + --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --session-id st-a1b2c3d4e5f6g \ + --participant-id abCDEf12GHIj + +Output:: + + { + "participant": { + "browserName": "Google Chrome", + "browserVersion": "116", + "firstJoinTime": "2023-04-26T20:30:34+00:00", + "ispName": "Comcast", + "osName": "Microsoft Windows 10 Pro", + "osVersion": "10.0.19044", + "participantId": "abCDEf12GHIj", + "published": true, + "recordingS3BucketName": "bucket-name", + "recordingS3Prefix": "abcdABCDefgh/st-a1b2c3d4e5f6g/abCDEf12GHIj/1234567890", + "recordingState": "ACTIVE", + "replicationState": "ACTIVE", + "replicationType": "SOURCE", + "sdkVersion": "", + "state": "CONNECTED", + "userId": "" + } + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. + +**Example 3: To get a stage participant that has been replicated from another stage** + +The following ``get-participant`` example gets the stage participant for a specified participant ID and session ID in the specified stage ARN (Amazon Resource Name), when the participant has been replicated from another stage. :: + + aws ivs-realtime get-participant \ + --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --session-id st-a1b2c3d4e5f6g \ + --participant-id abCDEf12GHIj + +Output:: + + { + "participant": { + "browserName": "Google Chrome", + "browserVersion": "116", + "firstJoinTime": "2023-04-26T20:30:34+00:00", + "ispName": "Comcast", + "osName": "Microsoft Windows 10 Pro", + "osVersion": "10.0.19044", + "participantId": "abCDEf12GHIj", + "published": true, + "recordingS3BucketName": "bucket-name", + "recordingS3Prefix": "abcdABCDefgh/st-a1b2c3d4e5f6g/abCDEf12GHIj/1234567890", + "recordingState": "ACTIVE", + "replicationState": "ACTIVE", + "replicationType": "REPLICA", + "sdkVersion": "", + "state": "CONNECTED", + "userId": "" + } + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. diff --git a/awscli/examples/ivs-realtime/get-public-key.rst b/awscli/examples/ivs-realtime/get-public-key.rst new file mode 100644 index 000000000000..642d0fb4c931 --- /dev/null +++ b/awscli/examples/ivs-realtime/get-public-key.rst @@ -0,0 +1,20 @@ +**To get an existing public key used to sign stage participant tokens** + +The following ``get-public-key`` example gets a public key specified by the provided ARN, for sigining stage participant tokens. :: + + aws ivs-realtime get-public-key \ + --arn arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2 + +Output:: + + { + "publicKey": { + "arn": "arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2", + "name": "", + "publicKeyMaterial": "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqVWUtqs6EktQMR1sCYmEzGvRwtaycI16\n9pmzcpiWu/uhNStGlteJ5odRfRwVkoQUMnSZXTCcbn9bBTTmiWo4mJcFOOAzsthH\n0UAb8NdD4tUE0At4a9hYP9IETEXAMPLE\n-----END PUBLIC KEY-----", + "fingerprint": "12:a3:44:56:bc:7d:e8:9f:10:2g:34:hi:56:78:90:12", + "tags": {} + } + } + +For more information, see `Distribute Participant Tokens `__ in the *Amazon IVS Real-Time Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/get-stage.rst b/awscli/examples/ivs-realtime/get-stage.rst index 72289f44ae8e..c6198ef65d6c 100644 --- a/awscli/examples/ivs-realtime/get-stage.rst +++ b/awscli/examples/ivs-realtime/get-stage.rst @@ -11,9 +11,33 @@ Output:: "stage": { "activeSessionId": "st-a1b2c3d4e5f6g", "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "autoParticipantRecordingConfiguration": { + "storageConfigurationArn": "", + "mediaTypes": [ + "AUDIO_VIDEO" + ], + "thumbnailConfiguration": { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ], + "recordingMode": "DISABLED" + }, + "recordingReconnectWindowSeconds": 0, + "hlsConfiguration": { + "targetSegmentDurationSeconds": 6 + }, + "recordParticipantReplicas": true + }, + "endpoints": { + "events": "wss://global.events.live-video.net", + "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", + "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", + "whip": "https://9x0y8z7s6t5u.global-bm.whip.live-video.net" + }, "name": "test", "tags": {} } } -For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/get-storage-configuration.rst b/awscli/examples/ivs-realtime/get-storage-configuration.rst index 4d21230d8388..c04c3c2cfe02 100644 --- a/awscli/examples/ivs-realtime/get-storage-configuration.rst +++ b/awscli/examples/ivs-realtime/get-storage-configuration.rst @@ -1,21 +1,21 @@ -**To get a composition storage configuration** - -The following ``get-storage-configuration`` example gets the composition storage configuration specified by the given ARN (Amazon Resource Name). :: - - aws ivs-realtime get-storage-configuration \ - --name arn "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh" - -Output:: - - { - "storageConfiguration": { - "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh", - "name": "test-sc", - "s3": { - "bucketName": "test-bucket-name" - }, - "tags": {} - } - } - +**To get a composition storage configuration** + +The following ``get-storage-configuration`` example gets the composition storage configuration specified by the given ARN (Amazon Resource Name). :: + + aws ivs-realtime get-storage-configuration \ + --name arn "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh" + +Output:: + + { + "storageConfiguration": { + "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh", + "name": "test-sc", + "s3": { + "bucketName": "amzn-s3-demo-bucket" + }, + "tags": {} + } + } + For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/import-public-key.rst b/awscli/examples/ivs-realtime/import-public-key.rst new file mode 100644 index 000000000000..ff6e78fee0ab --- /dev/null +++ b/awscli/examples/ivs-realtime/import-public-key.rst @@ -0,0 +1,20 @@ +**To import an existing public key to be used to sign stage participant tokens** + +The following ``import-public-key`` example imports a public key from a material file, to be used for sigining stage participant tokens. :: + + aws ivs-realtime import-public-key \ + --public-key-material="`cat public.pem`" + +Output:: + + { + "publicKey": { + "arn": "arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2", + "name": "", + "publicKeyMaterial": "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqVWUtqs6EktQMR1sCYmEzGvRwtaycI16\n9pmzcpiWu/uhNStGlteJ5odRfRwVkoQUMnSZXTCcbn9bBTTmiWo4mJcFOOAzsthH\n0UAb8NdD4tUE0At4a9hYP9IETEXAMPLE\n-----END PUBLIC KEY-----", + "fingerprint": "12:a3:44:56:bc:7d:e8:9f:10:2g:34:hi:56:78:90:12", + "tags": {} + } + } + +For more information, see `Distribute Participant Tokens `__ in the *Amazon IVS Real-Time Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/list-ingest-configurations.rst b/awscli/examples/ivs-realtime/list-ingest-configurations.rst new file mode 100644 index 000000000000..842348c03e93 --- /dev/null +++ b/awscli/examples/ivs-realtime/list-ingest-configurations.rst @@ -0,0 +1,23 @@ +**To get summary information about all ingest configurations** + +The following ``list-ingest-configurations`` example lists all ingest configurations for your AWS account, in the AWS region where the API request is processed. :: + + aws ivs-realtime list-ingest-configurations + +Output:: + + { + "ingestConfigurations": [ + { + "name": "", + "arn": "arn:aws:ivs:us-west-2:123456789012:ingest-configuration/XYZuvwSt4567", + "ingestProtocol": "RTMPS", + "stageArn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "participnatId": "abC789Xyz456", + "state": "INACTIVE" + "userId": "", + } + ] + } + +For more information, see `IVS Stream Ingest | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. diff --git a/awscli/examples/ivs-realtime/list-participant-events.rst b/awscli/examples/ivs-realtime/list-participant-events.rst index 2ed8e324cfd5..b3061aa973e2 100644 --- a/awscli/examples/ivs-realtime/list-participant-events.rst +++ b/awscli/examples/ivs-realtime/list-participant-events.rst @@ -1,4 +1,4 @@ -**To get a list of stage participant events** +**Example 1: To get a list of stage participant events** The following ``list-participant-events`` example lists all participant events for a specified participant ID and session ID of a specified stage ARN (Amazon Resource Name). :: @@ -34,4 +34,56 @@ Output:: ] } -For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. + +**Example 2: To get a list of stage participant events, including participant replication stop and start** + +The following ``list-participant-events`` example lists all participant events for a specified session ID of a specified stage ARN (Amazon Resource Name), where a participant is replicated to another stage. :: + + aws ivs-realtime list-participant-events \ + --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --session-id st-a1b2c3d4e5f6g \ + --participant-id abCDEf12GHIj + +Output:: + + { + "events": [ + { + "eventTime": "2025-04-26T20:36:28+00:00", + "name": "LEFT", + "participantId": "abCDEf12GHIj" + }, + { + "eventTime": "2025-04-26T20:36:28+00:00", + "name": "PUBLISH_STOPPED", + "participantId": "abCDEf12GHIj" + }, + { + "eventTime": "2025-04-26T20:30:34+00:00", + "name": "JOINED", + "participantId": "abCDEf12GHIj" + }, + { + "eventTime": "2025-04-26T20:30:34+00:00", + "name": "PUBLISH_STARTED", + "participantId": "abCDEf12GHIj" + }, + { + "name": "REPLICATION_STARTED", + "participantId": "abCDEf12GHIj", + "eventTime": "2025-04-26T20:30:34+00:00", + "destinationStageArn": "arn:aws:ivs:us-west-2:12345678901:stage/ABCDabcdefgh", + "destinationSessionId": "st-b1c2d3e4f5g6a" + }, + { + "name": "REPLICATION_STOPPED", + "participantId": "abCDEf12GHIj", + "eventTime": "2025-04-26T20:32:34+00:00", + "destinationStageArn": "arn:aws:ivs:us-west-2:12345678901:stage/ABCDabcdefgh", + "destinationSessionId": "st-b1c2d3e4f5g6a" + } + ] + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/list-participant-replicas.rst b/awscli/examples/ivs-realtime/list-participant-replicas.rst new file mode 100644 index 000000000000..771e8d653559 --- /dev/null +++ b/awscli/examples/ivs-realtime/list-participant-replicas.rst @@ -0,0 +1,24 @@ +**To get a list of stage participant replicas** + +The following ``list-participant-replicas`` example lists all stage participants replicated from the specified source stage ARN (Amazon Resource Name) to another stage. :: + + aws ivs-realtime list-participant-replicas \ + --source-stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --participant-id abCDEf12GHIj + +Output:: + + { + "replicas": [ + { + "sourceStageArn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "participantId": "abCDEf12GHIj", + "sourceSessionId": "st-a1b2c3d4e5f6g", + "destinationStageArn": "arn:aws:ivs:us-west-2:012345678901:stage/ABCDabcdefgh", + "destinationSessionId": "st-b1c2d3e4f5g6a", + "replicationState": "ACTIVE" + } + ] + } + +For more information, see `IVS Participant Replication `__ in the *Amazon IVS Real-Time Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/list-participants.rst b/awscli/examples/ivs-realtime/list-participants.rst index ddfefef98429..366e6924c887 100644 --- a/awscli/examples/ivs-realtime/list-participants.rst +++ b/awscli/examples/ivs-realtime/list-participants.rst @@ -1,4 +1,4 @@ -**To get a list of stage participants** +**Example 1: To get a list of stage participants** The following ``list-participants`` example lists all participants for a specified session ID of a specified stage ARN (Amazon Resource Name). :: @@ -12,12 +12,71 @@ Output:: "participants": [ { "firstJoinTime": "2023-04-26T20:30:34+00:00", - "participantId": "abCDEf12GHIj" + "participantId": "abCDEf12GHIj", "published": true, + "recordingState": "STOPPED", "state": "DISCONNECTED", "userId": "" } ] } -For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. + +**Example 2: To get a list of stage participants, when a participant has been replicated to another stage** + +The following ``list-participants`` example lists all participants for a specified session ID of a specified stage ARN (Amazon Resource Name), when a participant has been replicated to another stage. :: + + aws ivs-realtime list-participants \ + --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --session-id st-a1b2c3d4e5f6g + +Output:: + + { + "participants": [ + { + "firstJoinTime": "2023-04-26T20:30:34+00:00", + "participantId": "abCDEf12GHIj", + "published": true, + "recordingState": "STOPPED", + "state": "DISCONNECTED", + "userId": "", + "replicationState": "ACTIVE", + "replicationType": "SOURCE", + "sourceStageArn": "", + "sourceSessionId": "" + } + ] + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. + +**Example 3: To get a list of stage participants, when a participant has been replicated from another stage** + +The following ``list-participants`` example lists all participants for a specified session ID of a specified stage ARN (Amazon Resource Name), when a participant has been replicated from another stage. :: + + aws ivs-realtime list-participants \ + --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --session-id st-a1b2c3d4e5f6g + +Output:: + + { + "participants": [ + { + "firstJoinTime": "2023-04-26T20:30:34+00:00", + "participantId": "abCDEf12GHIj", + "published": true, + "recordingState": "STOPPED", + "state": "DISCONNECTED", + "userId": "", + "replicationState": "ACTIVE", + "replicationType": "REPLICA", + "sourceStageArn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "sourceSessionId": "st-a1b2c3d4e5f6g" + } + ] + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/list-public-keys.rst b/awscli/examples/ivs-realtime/list-public-keys.rst new file mode 100644 index 000000000000..c2d45027e01a --- /dev/null +++ b/awscli/examples/ivs-realtime/list-public-keys.rst @@ -0,0 +1,24 @@ +**To list existing public keys available to sign stage participant tokens** + +The following ``list-public-keys`` example lists all public keys available for sigining stage participant tokens, in the AWS region where the API request is processed. :: + + aws ivs-realtime list-public-keys + +Output:: + + { + "publicKeys": [ + { + "arn": "arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2", + "name": "", + "tags": {} + }, + { + "arn": "arn:aws:ivs:us-west-2:123456789012:public-key/3bcdABCDefg4", + "name": "", + "tags": {} + } + ] + } + +For more information, see `Distribute Participant Tokens `__ in the *Amazon IVS Real-Time Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/list-storage-configurations.rst b/awscli/examples/ivs-realtime/list-storage-configurations.rst index dbcbc29fa946..11bd1f872fae 100644 --- a/awscli/examples/ivs-realtime/list-storage-configurations.rst +++ b/awscli/examples/ivs-realtime/list-storage-configurations.rst @@ -1,30 +1,30 @@ -**To list composition storage configurations** - -The following ``list-storage-configurations`` lists all composition storage configurations for your AWS account, in the AWS region where the API request is processed. :: - - aws ivs-realtime list-storage-configurations - -Output:: - - { - "storageConfigurations": [ - { - "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh", - "name": "test-sc-1", - "s3": { - "bucketName": "test-bucket-1-name" - }, - "tags": {} - }, - { - "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/ABCefgEFGabc", - "name": "test-sc-2", - "s3": { - "bucketName": "test-bucket-2-name" - }, - "tags": {} - } - ] - } - +**To list composition storage configurations** + +The following ``list-storage-configurations`` lists all composition storage configurations for your AWS account, in the AWS region where the API request is processed. :: + + aws ivs-realtime list-storage-configurations + +Output:: + + { + "storageConfigurations": [ + { + "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh", + "name": "test-sc-1", + "s3": { + "bucketName": "amzn-s3-demo-bucket-1" + }, + "tags": {} + }, + { + "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/ABCefgEFGabc", + "name": "test-sc-2", + "s3": { + "bucketName": "amzn-s3-demo-bucket-2" + }, + "tags": {} + } + ] + } + For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/start-composition.rst b/awscli/examples/ivs-realtime/start-composition.rst index fbfac59128a3..48814ca6865e 100644 --- a/awscli/examples/ivs-realtime/start-composition.rst +++ b/awscli/examples/ivs-realtime/start-composition.rst @@ -7,6 +7,7 @@ The following ``start-composition`` example starts a composition for the specifi --destinations '[{"channel": {"channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", \ "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"}}, \ {"s3":{"encoderConfigurationArns":["arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"], \ + "recordingConfiguration": {"hlsConfiguration": {"targetSegmentDurationSeconds": 5}}, \ "storageConfigurationArn":"arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE"}}]' Output:: @@ -34,7 +35,10 @@ Output:: "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" ], "recordingConfiguration": { - "format": "HLS" + "format": "HLS", + "hlsConfiguration": { + "targetSegmentDurationSeconds": 5 + } }, "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE" } @@ -53,6 +57,7 @@ Output:: "featuredParticipantAttribute": "" "gridGap": 2, "omitStoppedVideo": false, + "participantOrderAttribute": "", "videoAspectRatio": "VIDEO", "videoFillMode": "" } @@ -64,7 +69,7 @@ Output:: } } -For more information, see `Composite Recording (Real-Time Streaming) `__ in the *Amazon Interactive Video Service User Guide*. +For more information, see `IVS Composite Recording | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. **Example 2: To start a composition with PiP layout** @@ -103,7 +108,10 @@ Output:: "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" ], "recordingConfiguration": { - "format": "HLS" + "format": "HLS", + "hlsConfiguration": { + "targetSegmentDurationSeconds": 2 + } }, "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE" } @@ -122,6 +130,7 @@ Output:: "featuredParticipantAttribute": "abcdefg", "gridGap": 0, "omitStoppedVideo": false, + "participantOrderAttribute": "", "pipBehavior": "STATIC", "pipOffset": 0, "pipParticipantAttribute": "", @@ -136,4 +145,167 @@ Output:: } } -For more information, see `Composite Recording (Real-Time Streaming) `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file +For more information, see `IVS Composite Recording | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. + +**Example 3: To start a composition with thumbnail recording enabled** + +The following ``start-composition`` example starts a composition for the specified stage to be streamed to the specified locations with thumbnail recording enabled. :: + + aws ivs-realtime start-composition \ + --stage-arn arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd \ + --destinations '[{"channel": {"channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", \ + "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"}}, \ + {"s3": {"encoderConfigurationArns": ["arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"], \ + "storageConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE", \ + "thumbnailConfigurations": [{"storage": ["SEQUENTIAL"],"targetIntervalSeconds": 60}]}}]' + +Output:: + + { + "composition": { + "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh", + "destinations": [ + { + "configuration": { + "channel": { + "channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", + "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" + }, + "name": "" + }, + "id": "AabBCcdDEefF", + "state": "STARTING" + }, + { + "configuration": { + "name": "", + "s3": { + "encoderConfigurationArns": [ + "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" + ], + "recordingConfiguration": { + "format": "HLS", + "hlsConfiguration": { + "targetSegmentDurationSeconds": 2 + } + }, + "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE", + "thumbnailConfigurations": [ + { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ] + } + ] + } + }, + "detail": { + "s3": { + "recordingPrefix": "aBcDeFgHhGfE/AbCdEfGhHgFe/GHFabcgefABC/composite" + } + }, + "id": "GHFabcgefABC", + "state": "STARTING" + } + ], + "layout": { + "grid": { + "featuredParticipantAttribute": "" + "gridGap": 2, + "omitStoppedVideo": false, + "participantOrderAttribute": "", + "videoAspectRatio": "VIDEO", + "videoFillMode": "" + } + }, + "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", + "startTime": "2023-10-16T23:24:00+00:00", + "state": "STARTING", + "tags": {} + } + } + +For more information, see `Composite Recording (Real-Time Streaming) `__ in the *Amazon Interactive Video Service User Guide*. + +**Example 4: To start a composition using grid layout with custom participant ordering** + +The following ``start-composition`` example starts a composition for the specified stage to be streamed to the specified locations using grid layout with custom participant ordering. :: + + aws ivs-realtime start-composition \ + --stage-arn arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd \ + --destinations '[{"channel": {"channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", \ + "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"}}, \ + {"s3": {"encoderConfigurationArns": ["arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"], \ + "storageConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE", \ + "thumbnailConfigurations": [{"storage": ["SEQUENTIAL"],"targetIntervalSeconds": 60}]}}]' \ + --layout grid='{participantOrderAttribute="abcdefg"}' + +Output:: + + { + "composition": { + "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh", + "destinations": [ + { + "configuration": { + "channel": { + "channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", + "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" + }, + "name": "" + }, + "id": "AabBCcdDEefF", + "state": "STARTING" + }, + { + "configuration": { + "name": "", + "s3": { + "encoderConfigurationArns": [ + "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" + ], + "recordingConfiguration": { + "format": "HLS", + "hlsConfiguration": { + "targetSegmentDurationSeconds": 2 + } + }, + "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE", + "thumbnailConfigurations": [ + { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ] + } + ] + } + }, + "detail": { + "s3": { + "recordingPrefix": "aBcDeFgHhGfE/AbCdEfGhHgFe/GHFabcgefABC/composite" + } + }, + "id": "GHFabcgefABC", + "state": "STARTING" + } + ], + "layout": { + "grid": { + "featuredParticipantAttribute": "" + "gridGap": 2, + "omitStoppedVideo": false, + "participantOrderAttribute": "abcdefg", + "videoAspectRatio": "VIDEO", + "videoFillMode": "" + } + }, + "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", + "startTime": "2023-10-16T23:24:00+00:00", + "state": "STARTING", + "tags": {} + } + } + +For more information, see `IVS Composite Recording | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/start-participant-replication.rst b/awscli/examples/ivs-realtime/start-participant-replication.rst new file mode 100644 index 000000000000..379d8dbd9dc1 --- /dev/null +++ b/awscli/examples/ivs-realtime/start-participant-replication.rst @@ -0,0 +1,24 @@ +**To start replicating a participant from one stage to another stage** + +The following ``start-participant-replication`` example replicates a participant from a source stage to a destination stage, with each stage specified by its ARN (Amazon Resource Name). :: + + aws ivs-realtime start-participant-replication \ + --source-stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --destination-stage-arn arn:aws:ivs:us-west-2:234567890123:stage/bcdABCDefghi \ + --participant-id abCDEf12GHIj + +Output:: + + { + "accessControlAllowOrigin": "*", + "accessControlExposeHeaders": "Access-Control-Allow-Origin,Access-Control-Expose-Headers,Cache-Control,Content-Length, \ + Content-Security-Policy,Content-Type,date,Strict-Transport-Security,x-amz-apigw-id,x-amzn-errormessage,x-amzn-errortype, \ + x-amzn-requestid,x-amzn-trace-id,X-Content-Type-Options,X-Frame-Options", + "cacheControl": "no-store, no-cache", + "contentSecurityPolicy": "default-src 'self'; upgrade-insecure-requests;", + "strictTransportSecurity": "max-age:47304000; includeSubDomains", + "xContentTypeOptions": "nosniff", + "xFrameOptions": "DENY" + } + +For more information, see `IVS Participant Replication `__ in the *Amazon IVS Real-Time Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/stop-participant-replication.rst b/awscli/examples/ivs-realtime/stop-participant-replication.rst new file mode 100644 index 000000000000..b881348838cc --- /dev/null +++ b/awscli/examples/ivs-realtime/stop-participant-replication.rst @@ -0,0 +1,24 @@ +**To stop replicating a participant from one stage to another stage** + +The following ``stop-participant-replication`` example stops replicating a participant from a source stage to a destination stage, with each stage specified by its ARN (Amazon Resource Name). :: + + aws ivs-realtime stop-participant-replication \ + --source-stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --destination-stage-arn arn:aws:ivs:us-west-2:234567890123:stage/bcdABCDefghi \ + --participant-id abCDEf12GHIj + +Output:: + + { + "accessControlAllowOrigin": "*", + "accessControlExposeHeaders": "Access-Control-Allow-Origin,Access-Control-Expose-Headers,Cache-Control,Content-Length, \ + Content-Security-Policy,Content-Type,date,Strict-Transport-Security,x-amz-apigw-id,x-amzn-errormessage,x-amzn-errortype, \ + x-amzn-requestid,x-amzn-trace-id,X-Content-Type-Options,X-Frame-Options", + "cacheControl": "no-store, no-cache", + "contentSecurityPolicy": "default-src 'self'; upgrade-insecure-requests;", + "strictTransportSecurity": "max-age:47304000; includeSubDomains", + "xContentTypeOptions": "nosniff", + "xFrameOptions": "DENY" + } + +For more information, see `IVS Participant Replication `__ in the *Amazon IVS Real-Time Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs-realtime/update-ingest-configuration.rst b/awscli/examples/ivs-realtime/update-ingest-configuration.rst new file mode 100644 index 000000000000..990416099996 --- /dev/null +++ b/awscli/examples/ivs-realtime/update-ingest-configuration.rst @@ -0,0 +1,25 @@ +**To update an ingest configuration** + +The following ``update-inegst-configuration`` example updates an ingest configuration to attach it to a stage. :: + + aws ivs-realtime update-ingest-configuration \ + --arn arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234 \ + --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh + +Output:: + + { + "ingestConfiguration": { + "name": "ingest1", + "arn": "arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234", + "ingestProtocol": "RTMPS", + "streamKey": "rt_123456789012_us-west-2_AbCdEfGh1234_abcd1234efgh5678ijkl9012MNOP34", + "stageArn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "participantId": "xyZ654abC321", + "state": "INACTIVE", + "userId": "", + "tags": {} + } + } + +For more information, see `IVS Stream Ingest | Real-Time Streaming `__ in the *Amazon Interactive Video Service User Guide*. diff --git a/awscli/examples/ivs-realtime/update-stage.rst b/awscli/examples/ivs-realtime/update-stage.rst index 9ae116b18e91..3a4050c57fb2 100644 --- a/awscli/examples/ivs-realtime/update-stage.rst +++ b/awscli/examples/ivs-realtime/update-stage.rst @@ -1,9 +1,12 @@ -**To update a stage's configuration** +**Example 1: To update a stage's configuration** -The following ``update-stage`` example updates a stage for a specified stage ARN to update the stage name. :: +The following ``update-stage`` example updates a stage for a specified stage ARN to update the stage name and configure individual participant recording with thumbnail recording enabled. :: aws ivs-realtime update-stage \ --arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --auto-participant-recording-configuration '{"mediaTypes": ["AUDIO_VIDEO"],"storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", "recordingReconnectWindowSeconds": 100, \ + "thumbnailConfiguration": {"recordingMode": "INTERVAL","storage": ["SEQUENTIAL"],"targetIntervalSeconds": 60}} \ + "hlsConfiguration": {"targetSegmentDurationSeconds": 5}}' \ --name stage1a Output:: @@ -11,8 +14,80 @@ Output:: { "stage": { "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", - "name": "stage1a" + "autoParticipantRecordingConfiguration": { + "mediaTypes": [ + "AUDIO_VIDEO" + ], + "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", + "thumbnailConfiguration": { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ], + "recordingMode": "INTERVAL" + }, + "recordingReconnectWindowSeconds": 100, + "hlsConfiguration": { + "targetSegmentDurationSeconds": 5 + }, + "recordParticipantReplicas": true + }, + "endpoints": { + "events": "wss://global.events.live-video.net", + "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", + "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", + "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" + }, + "name": "stage1a", + "tags": {} } } -For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon Interactive Video Service User Guide*. \ No newline at end of file +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. + +**Example 2: To update a stage's configuration, including disabling participant replica recording** + +The following ``update-stage`` example updates a stage for a specified stage ARN to update the stage name and configure individual participant recording with thumbnail recording enabled and participant replica recording disabled. :: + + aws ivs-realtime update-stage \ + --arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ + --auto-participant-recording-configuration '{"mediaTypes": ["AUDIO_VIDEO"],"storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", "recordingReconnectWindowSeconds": 100, \ + "thumbnailConfiguration": {"recordingMode": "INTERVAL","storage": ["SEQUENTIAL"],"targetIntervalSeconds": 60}, "recordParticipantReplicas":false} \ + "hlsConfiguration": {"targetSegmentDurationSeconds": 5}}' \ + --name stage1a + +Output:: + + { + "stage": { + "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", + "autoParticipantRecordingConfiguration": { + "mediaTypes": [ + "AUDIO_VIDEO" + ], + "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", + "thumbnailConfiguration": { + "targetIntervalSeconds": 60, + "storage": [ + "SEQUENTIAL" + ], + "recordingMode": "INTERVAL" + }, + "recordingReconnectWindowSeconds": 100, + "hlsConfiguration": { + "targetSegmentDurationSeconds": 5 + }, + "recordParticipantReplicas": false + }, + "endpoints": { + "events": "wss://global.events.live-video.net", + "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", + "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", + "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" + }, + "name": "stage1a", + "tags": {} + } + } + +For more information, see `Enabling Multiple Hosts on an Amazon IVS Stream `__ in the *Amazon IVS Low-Latency Streaming User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs/batch-get-channel.rst b/awscli/examples/ivs/batch-get-channel.rst index 99b7ab46d339..9c97daf96c82 100644 --- a/awscli/examples/ivs/batch-get-channel.rst +++ b/awscli/examples/ivs/batch-get-channel.rst @@ -13,9 +13,15 @@ Output:: { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "authorized": false, + "containerFormat": "TS", "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "latencyMode": "LOW", + "multitrackInputConfiguration": { + "enabled": false, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, "name": "channel-1", "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel-1.abcdEFGH.m3u8", "preset": "", @@ -31,9 +37,15 @@ Output:: { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/efghEFGHijkl", "authorized": false, + "containerFormat": "FRAGMENTED_MP4", "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", - "insecureIngest": true, + "insecureIngest": false, "latencyMode": "LOW", + "multitrackInputConfiguration": { + "enabled": true, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, "name": "channel-2", "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel-2.abcdEFGH.m3u8", "preset": "", @@ -49,4 +61,4 @@ Output:: ] } -For more information, see `Create a Channel `__ in the *IVS Low-Latency User Guide*. \ No newline at end of file +For more information, see `Create a Channel `__ in the *IVS Low-Latency User Guide*. diff --git a/awscli/examples/ivs/create-channel.rst b/awscli/examples/ivs/create-channel.rst index a96b09bae4ab..1248f54a718b 100644 --- a/awscli/examples/ivs/create-channel.rst +++ b/awscli/examples/ivs/create-channel.rst @@ -3,7 +3,7 @@ The following ``create-channel`` example creates a new channel and an associated stream key to start streaming. :: aws ivs create-channel \ - --name "test-channel" \ + --name 'test-channel' \ --no-insecure-ingest Output:: @@ -12,8 +12,14 @@ Output:: "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "authorized": false, + "containerFormat": "TS", "name": "test-channel", "latencyMode": "LOW", + "multitrackInputConfiguration": { + "enabled": false, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "", "srt": { @@ -39,20 +45,26 @@ For more information, see `Create a Channel `__ in the *IVS Low-Latency User Guide*. \ No newline at end of file +For more information, see `Undesired Content and Viewers `__ in the *IVS Low-Latency User Guide*. + +**Example 4: To create a channel with multitrack enabled** + +The following ``create-channel`` example creates a new channel and an associated stream key to start streaming, and enables multitrack. :: + + aws ivs create-channel \ + --name 'test-channel' \ + --no-insecure-ingest \ + --container-format 'FRAGMENTED_MP4' \ + --multitrack-input-configuration '{"enabled": true,"maximumResolution": "FULL_HD","policy": "ALLOW"}' + +Output:: + + { + "channel": { + "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", + "authorized": false, + "containerFormat": "FRAGMENTED_MP4", + "name": "test-channel", + "latencyMode": "LOW", + "multitrackInputConfiguration": { + "enabled": true, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, + "playbackRestrictionPolicyArn": "", + "recordingConfigurationArn": "", + "srt": { + "endpoint": "a1b2c3d4e5f6.srt.live-video.net", + "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" + }, + "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", + "insecureIngest": false, + "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", + "preset": "", + "tags": {}, + "type": "STANDARD" + }, + "streamKey": { + "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/g1H2I3j4k5L6", + "value": "sk_us-west-2_abcdABCDefgh_567890abcdef", + "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", + "tags": {} + } + } + +For more information, see `Create a Channel `__ in the *IVS Low-Latency User Guide*. \ No newline at end of file diff --git a/awscli/examples/ivs/get-channel.rst b/awscli/examples/ivs/get-channel.rst index a875e4557bba..40e43b644555 100644 --- a/awscli/examples/ivs/get-channel.rst +++ b/awscli/examples/ivs/get-channel.rst @@ -3,27 +3,34 @@ The following ``get-channel`` example gets the channel configuration for a specified channel ARN (Amazon Resource Name). :: aws ivs get-channel \ - --arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh + --arn 'arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh' Output:: { "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", - "name": "channel-1", + "authorized": false, + "containerFormat": "TS", + "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", + "insecureIngest": false, "latencyMode": "LOW", - "type": "STANDARD", + "multitrackInputConfiguration": { + "enabled": false, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, + "name": "channel-1", "playbackRestrictionPolicyArn": "", + "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "preset": "", - "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABCD12cdEFgh", + "recordingConfigurationArn": "", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" }, - "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", - "insecureIngest": false, - "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "tags": {} + "type": "STANDARD", } } diff --git a/awscli/examples/ivs/get-stream-session.rst b/awscli/examples/ivs/get-stream-session.rst index 2b9b90b00626..fe270b5ec94a 100644 --- a/awscli/examples/ivs/get-stream-session.rst +++ b/awscli/examples/ivs/get-stream-session.rst @@ -1,10 +1,10 @@ **To get metadata for a specified stream** -The following ``get-stream-session`` example gets the metadata configuration for the specified channel ARN (Amazon Resource Name) and the specified stream; if streamId is not provided, the most recent stream for the channel is selected. :: +The following ``get-stream-session`` example gets the metadata configuration for the specified channel ARN (Amazon Resource Name) and the specified stream; if ``streamId`` is not provided, the most recent stream for the channel is selected. :: aws ivs get-stream-session \ - --channel-arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ - --stream-id "mystream" + --channel-arn 'arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh' \ + --stream-id 'mystream' Output:: @@ -18,10 +18,6 @@ Output:: "latencyMode": "LOW", "type": "STANDARD", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ", - "srt": { - "endpoint": "a1b2c3d4e5f6.srt.live-video.net", - "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaBCDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" - }, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "playbackUrl": "url-string", "authorized": false, @@ -29,23 +25,51 @@ Output:: "preset": "" }, "ingestConfiguration": { + "audio": { + "channels": 2, + "codec": "mp4a.40.2", + "sampleRate": 8000, + "targetBitrate": 46875, + "track": "Track0" + }, "video": { "avcProfile": "Baseline", "avcLevel": "4.2", "codec": "avc1.42C02A", "encoder": "Lavf58.45.100", + "level": "4.2", + "profile": "Baseline", "targetBitrate": 8789062, "targetFramerate": 60, + "track": "Track0", "videoHeight": 1080, "videoWidth": 1920 - }, - "audio": { - "codec": "mp4a.40.2", - "targetBitrate": 46875, - "sampleRate": 8000, - "channels": 2 } }, + "ingestConfigurations": { + "audioConfigurations": [ + { + "channels": 2, + "codec": "mp4a.40.2", + "sampleRate": 8000, + "targetBitrate": 46875, + "track": "Track0" + } + ], + "videoConfigurations": [ + { + "codec": "avc1.42C02A", + "encoder": "Lavf58.45.100", + "level": "4.2", + "profile": "Baseline", + "targetBitrate": 8789062, + "targetFramerate": 60, + "track": "Track0", + "videoHeight": 1080, + "videoWidth": 1920 + } + ] + }, "recordingConfiguration": { "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/ABcdef34ghIJ", "name": "test-recording-config", @@ -76,6 +100,17 @@ Output:: } }, "truncatedEvents": [ + { + "code": "StreamTakeoverInvalidPriority", + "name": "Stream Takeover Failure", + "type": "IVS Stream State Change", + "eventTime": "2023-06-26T19:09:48+00:00" + }, + { + "name": "Stream Takeover", + "type": "IVS Stream State Change", + "eventTime": "2023-06-26T19:09:47+00:00" + }, { "name": "Recording Start", "type": "IVS Recording State Change", diff --git a/awscli/examples/ivs/update-channel.rst b/awscli/examples/ivs/update-channel.rst index 075e44a7a3e7..e5fd733ef3e0 100644 --- a/awscli/examples/ivs/update-channel.rst +++ b/awscli/examples/ivs/update-channel.rst @@ -3,8 +3,8 @@ The following ``update-channel`` example updates the channel configuration for a specified channel ARN to change the channel name. This does not affect an ongoing stream of this channel; you must stop and restart the stream for the changes to take effect. :: aws ivs update-channel \ - --arn arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh \ - --name "channel-1" \ + --arn 'arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh' \ + --name 'channel-1' \ --insecure-ingest Output:: @@ -14,6 +14,12 @@ Output:: "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "channel-1", "latencyMode": "LOW", + "containerFormat": "TS", + "multitrackInputConfiguration": { + "enabled": false, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, "type": "STANDARD", "playbackRestrictionPolicyArn": "", "recordingConfigurationArn": "", @@ -36,9 +42,9 @@ For more information, see `Create a Channel `__ in the *IVS Low-Latency User Guide*. - - **Example 4: To update a channel's configuration to enable playback restriction** The following ``update-channel`` example updates the channel configuration for a specified channel ARN to apply a playback restriction policy. This does not affect an ongoing stream of this channel; you must stop and restart the stream for the changes to take effect. :: aws ivs update-channel \ - --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" \ + --arn 'arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh' \ --no-insecure-ingest \ - --playback-restriction-policy-arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ" + --playback-restriction-policy-arn 'arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ' Output:: @@ -116,6 +132,12 @@ Output:: "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "name": "test-channel-with-playback-restriction-policy", "latencyMode": "LOW", + "containerFormat": "TS", + "multitrackInputConfiguration": { + "enabled": false, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, "type": "STANDARD", "playbackRestrictionPolicyArn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/ABcdef34ghIJ", "recordingConfigurationArn": "", @@ -139,8 +161,8 @@ For more information, see `Undesired Content and Viewers `__ in the *IVS Low-Latency User Guide*. \ No newline at end of file +For more information, see `Undesired Content and Viewers `__ in the *IVS Low-Latency User Guide*. + +**Example 6: To update a channel's configuration to enable multitrack** + +The following ``update-channel`` example updates the channel configuration for a specified channel ARN to enable multitrack. This does not affect an ongoing stream of this channel; you must stop and restart the stream for the changes to take effect. :: + + aws ivs update-channel \ + --arn 'arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh' \ + --container-format 'FRAGMENTED_MP4' \ + --multitrack-input-configuration '{"enabled": true,"maximumResolution": "FULL_HD","policy": "ALLOW"}' + +Output:: + + { + "channel": { + "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", + "containerFormat": "FRAGMENTED_MP4", + "name": "test-channel-with-multitrack", + "latencyMode": "LOW", + "multitrackInputConfiguration": { + "enabled": true, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, + "type": "STANDARD", + "playbackRestrictionPolicyArn": "", + "recordingConfigurationArn": "", + "srt": { + "endpoint": "a1b2c3d4e5f6.srt.live-video.net", + "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaCBDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" + }, + "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", + "insecureIngest": false, + "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", + "preset": "", + "authorized": false, + "tags": {} + } + } + +For more information, see `Undesired Content and Viewers `__ in the *IVS Low-Latency User Guide*. + +**Example 7: To update a channel's configuration to disable playback restriction** + +The following ``update-channel`` example updates the channel configuration for a specified channel ARN to disable multitrack. This does not affect an ongoing stream of this channel; you must stop and restart the stream for the changes to take effect. :: + + aws ivs update-channel \ + --arn 'arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh' \ + --container-format 'TS' \ + --multitrack-input-configuration '{"enabled": false}' + +Output:: + + { + "channel": { + ""arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", + "containerFormat": "TS", + "name": "test-channel-with-multitrack", + "latencyMode": "LOW", + "multitrackInputConfiguration": { + "enabled": false, + "maximumResolution": "FULL_HD", + "policy": "ALLOW" + }, + "type": "STANDARD", + "playbackRestrictionPolicyArn": "", + "recordingConfigurationArn": "", + "srt": { + "endpoint": "a1b2c3d4e5f6.srt.live-video.net", + "passphrase": "AB1C2defGHijkLMNo3PqQRstUvwxyzaCBDEfghh4ijklMN5opqrStuVWxyzAbCDEfghIJ" + }, + "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", + "insecureIngest": false, + "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", + "preset": "", + "authorized": false, + "tags": {} + } + } + +For more information, see `Undesired Content and Viewers `__ in the *IVS Low-Latency User Guide*. \ No newline at end of file diff --git a/awscli/examples/kendra/create-data-source.rst b/awscli/examples/kendra/create-data-source.rst index b551f145066c..e1020f24d0a7 100644 --- a/awscli/examples/kendra/create-data-source.rst +++ b/awscli/examples/kendra/create-data-source.rst @@ -1,24 +1,24 @@ -**To create an Amazon Kendra data source connector** - -The following ``create-data-source`` creates and configures an Amazon Kendra data source connector. You can use ``describe-data-source`` to view the status of a data source connector, and read any error messages if the status shows a data source connector "FAILED" to completely create. :: - - aws kendra create-data-source \ - --name "example data source 1" \ - --description "Example data source 1 for example index 1 contains the first set of example documents" \ - --tags '{"Key": "test resources", "Value": "kendra"}, {"Key": "test resources", "Value": "aws"}' \ - --role-arn "arn:aws:iam::my-account-id:role/KendraRoleForS3TemplateConfigDataSource" \ - --index-id exampleindex1 \ - --language-code "es" \ - --schedule "0 0 18 ? * TUE,MON,WED,THU,FRI,SAT *" \ - --configuration '{"TemplateConfiguration": {"Template": file://s3schemaconfig.json}}' \ - --type "TEMPLATE" \ - --custom-document-enrichment-configuration '{"PostExtractionHookConfiguration": {"LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs", "S3Bucket": "s3://my-s3-bucket/scanned-image-text-example-docs"}, "RoleArn": "arn:aws:iam:my-account-id:role/KendraRoleForCDE"}' \ - --vpc-configuration '{"SecurityGroupIds": ["sg-1234567890abcdef0"], "SubnetIds": ["subnet-1c234","subnet-2b134"]}' - -Output:: - - { - "Id": "exampledatasource1" - } - +**To create an Amazon Kendra data source connector** + +The following ``create-data-source`` creates and configures an Amazon Kendra data source connector. You can use ``describe-data-source`` to view the status of a data source connector, and read any error messages if the status shows a data source connector "FAILED" to completely create. :: + + aws kendra create-data-source \ + --name "example data source 1" \ + --description "Example data source 1 for example index 1 contains the first set of example documents" \ + --tags '{"Key": "test resources", "Value": "kendra"}, {"Key": "test resources", "Value": "aws"}' \ + --role-arn "arn:aws:iam::my-account-id:role/KendraRoleForS3TemplateConfigDataSource" \ + --index-id exampleindex1 \ + --language-code "es" \ + --schedule "0 0 18 ? * TUE,MON,WED,THU,FRI,SAT *" \ + --configuration '{"TemplateConfiguration": {"Template": file://s3schemaconfig.json}}' \ + --type "TEMPLATE" \ + --custom-document-enrichment-configuration '{"PostExtractionHookConfiguration": {"LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs", "S3Bucket": "s3://amzn-s3-demo-bucket/scanned-image-text-example-docs"}, "RoleArn": "arn:aws:iam:my-account-id:role/KendraRoleForCDE"}' \ + --vpc-configuration '{"SecurityGroupIds": ["sg-1234567890abcdef0"], "SubnetIds": ["subnet-1c234","subnet-2b134"]}' + +Output:: + + { + "Id": "exampledatasource1" + } + For more information, see `Getting started with an Amazon Kendra index and data source connector `__ in the *Amazon Kendra Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/kendra/describe-data-source.rst b/awscli/examples/kendra/describe-data-source.rst index a950e80ca680..949a18dd23d8 100644 --- a/awscli/examples/kendra/describe-data-source.rst +++ b/awscli/examples/kendra/describe-data-source.rst @@ -1,84 +1,84 @@ -**To get information about an Amazon Kendra data source connector** - -The following ``describe-data-source`` gets information about an Amazon Kendra data soource connector. You can view the configuration of a data source connector, and read any error messages if the status shows a data source connector "FAILED" to completely create. :: - - aws kendra describe-data-source \ - --id exampledatasource1 \ - --index-id exampleindex1 - -Output:: - - { - "Configuration": { - "TemplateConfiguration": { - "Template": { - "connectionConfiguration": { - "repositoryEndpointMetadata": { - "BucketName": "my-bucket" - } - }, - "repositoryConfigurations": { - "document":{ - "fieldMappings": [ - { - "indexFieldName":"_document_title", - "indexFieldType":"STRING", - "dataSourceFieldName": "title" - }, - { - "indexFieldName":"_last_updated_at", - "indexFieldType":"DATE", - "dataSourceFieldName": "modified_date" - } - ] - } - }, - "additionalProperties": { - "inclusionPatterns": [ - "*.txt", - "*.doc", - "*.docx" - ], - "exclusionPatterns": [ - "*.json" - ], - "inclusionPrefixes": [ - "PublicExampleDocsFolder" - ], - "exclusionPrefixes": [ - "PrivateDocsFolder/private" - ], - "aclConfigurationFilePath": "ExampleDocsFolder/AclConfig.json", - "metadataFilesPrefix": "metadata" - }, - "syncMode": "FULL_CRAWL", - "type" : "S3", - "version": "1.0.0" - } - } - }, - "CreatedAt": 2024-02-25T13:30:10+00:00, - "CustomDocumentEnrichmentConfiguration": { - "PostExtractionHookConfiguration": { - "LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs", - "S3Bucket": "s3://my-s3-bucket/scanned-image-text-example-docs/function" - }, - "RoleArn": "arn:aws:iam:my-account-id:role/KendraRoleForCDE" - } - "Description": "Example data source 1 for example index 1 contains the first set of example documents", - "Id": exampledatasource1, - "IndexId": exampleindex1, - "LanguageCode": "en", - "Name": "example data source 1", - "RoleArn": "arn:aws:iam::my-account-id:role/KendraRoleForS3TemplateConfigDataSource", - "Schedule": "0 0 18 ? * TUE,MON,WED,THU,FRI,SAT *", - "Status": "ACTIVE", - "Type": "TEMPLATE", - "UpdatedAt": 1709163615, - "VpcConfiguration": { - "SecurityGroupIds": ["sg-1234567890abcdef0"], - "SubnetIds": ["subnet-1c234","subnet-2b134"] - } - } - +**To get information about an Amazon Kendra data source connector** + +The following ``describe-data-source`` gets information about an Amazon Kendra data source connector. You can view the configuration of a data source connector, and read any error messages if the status shows a data source connector "FAILED" to completely create. :: + + aws kendra describe-data-source \ + --id exampledatasource1 \ + --index-id exampleindex1 + +Output:: + + { + "Configuration": { + "TemplateConfiguration": { + "Template": { + "connectionConfiguration": { + "repositoryEndpointMetadata": { + "BucketName": "amzn-s3-demo-bucket" + } + }, + "repositoryConfigurations": { + "document":{ + "fieldMappings": [ + { + "indexFieldName":"_document_title", + "indexFieldType":"STRING", + "dataSourceFieldName": "title" + }, + { + "indexFieldName":"_last_updated_at", + "indexFieldType":"DATE", + "dataSourceFieldName": "modified_date" + } + ] + } + }, + "additionalProperties": { + "inclusionPatterns": [ + "*.txt", + "*.doc", + "*.docx" + ], + "exclusionPatterns": [ + "*.json" + ], + "inclusionPrefixes": [ + "PublicExampleDocsFolder" + ], + "exclusionPrefixes": [ + "PrivateDocsFolder/private" + ], + "aclConfigurationFilePath": "ExampleDocsFolder/AclConfig.json", + "metadataFilesPrefix": "metadata" + }, + "syncMode": "FULL_CRAWL", + "type" : "S3", + "version": "1.0.0" + } + } + }, + "CreatedAt": 2024-02-25T13:30:10+00:00, + "CustomDocumentEnrichmentConfiguration": { + "PostExtractionHookConfiguration": { + "LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs", + "S3Bucket": "s3://amzn-s3-demo-bucket/scanned-image-text-example-docs/function" + }, + "RoleArn": "arn:aws:iam:my-account-id:role/KendraRoleForCDE" + } + "Description": "Example data source 1 for example index 1 contains the first set of example documents", + "Id": exampledatasource1, + "IndexId": exampleindex1, + "LanguageCode": "en", + "Name": "example data source 1", + "RoleArn": "arn:aws:iam::my-account-id:role/KendraRoleForS3TemplateConfigDataSource", + "Schedule": "0 0 18 ? * TUE,MON,WED,THU,FRI,SAT *", + "Status": "ACTIVE", + "Type": "TEMPLATE", + "UpdatedAt": 1709163615, + "VpcConfiguration": { + "SecurityGroupIds": ["sg-1234567890abcdef0"], + "SubnetIds": ["subnet-1c234","subnet-2b134"] + } + } + For more information, see `Getting started with an Amazon Kendra index and data source connector `__ in the *Amazon Kendra Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/kendra/update-data-source.rst b/awscli/examples/kendra/update-data-source.rst index ebdbeb56c328..68146e9d05a9 100644 --- a/awscli/examples/kendra/update-data-source.rst +++ b/awscli/examples/kendra/update-data-source.rst @@ -1,19 +1,19 @@ -**To update an Amazon Kendra data source connector** - -The following ``update-data-source`` updates the configuration of an Amazon Kendra data source connector. If the action is successful, the service either sends back no output, the HTTP status code 200, or the AWS CLI return code 0. You can use ``describe-data-source`` to view the configuration and status of a data source connector. :: - - aws kendra update-data-source \ - --id exampledatasource1 \ - --index-id exampleindex1 \ - --name "new name for example data source 1" \ - --description "new description for example data source 1" \ - --role-arn arn:aws:iam::my-account-id:role/KendraNewRoleForExampleDataSource \ - --configuration '{"TemplateConfiguration": {"Template": file://s3schemanewconfig.json}}' \ - --custom-document-enrichment-configuration '{"PostExtractionHookConfiguration": {"LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs", "S3Bucket": "s3://my-s3-bucket/scanned-image-text-example-docs"}, "RoleArn": "arn:aws:iam:my-account-id:role/KendraNewRoleForCDE"}' \ - --language-code "es" \ - --schedule "0 0 18 ? * MON,WED,FRI *" \ - --vpc-configuration '{"SecurityGroupIds": ["sg-1234567890abcdef0"], "SubnetIds": ["subnet-1c234","subnet-2b134"]}' - -This command produces no output. - +**To update an Amazon Kendra data source connector** + +The following ``update-data-source`` updates the configuration of an Amazon Kendra data source connector. If the action is successful, the service either sends back no output, the HTTP status code 200, or the AWS CLI return code 0. You can use ``describe-data-source`` to view the configuration and status of a data source connector. :: + + aws kendra update-data-source \ + --id exampledatasource1 \ + --index-id exampleindex1 \ + --name "new name for example data source 1" \ + --description "new description for example data source 1" \ + --role-arn arn:aws:iam::my-account-id:role/KendraNewRoleForExampleDataSource \ + --configuration '{"TemplateConfiguration": {"Template": file://s3schemanewconfig.json}}' \ + --custom-document-enrichment-configuration '{"PostExtractionHookConfiguration": {"LambdaArn": "arn:aws:iam::my-account-id:function/my-function-ocr-docs", "S3Bucket": "s3://amzn-s3-demo-bucket/scanned-image-text-example-docs"}, "RoleArn": "arn:aws:iam:my-account-id:role/KendraNewRoleForCDE"}' \ + --language-code "es" \ + --schedule "0 0 18 ? * MON,WED,FRI *" \ + --vpc-configuration '{"SecurityGroupIds": ["sg-1234567890abcdef0"], "SubnetIds": ["subnet-1c234","subnet-2b134"]}' + +This command produces no output. + For more information, see `Getting started with an Amazon Kendra index and data source connector `__ in the *Amazon Kendra Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/kms/create-key.rst b/awscli/examples/kms/create-key.rst index 0f1303fbc2c8..0dda6cdf8d98 100644 --- a/awscli/examples/kms/create-key.rst +++ b/awscli/examples/kms/create-key.rst @@ -17,6 +17,7 @@ Output:: "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2017-07-05T14:04:55-07:00", + "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": true, @@ -40,7 +41,7 @@ For more information, see `Creating keys `__ in the *AWS Key Management Service Developer Guide*. +For more information, see `Asymmetric keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. + +**Example 4: To create an asymmetric ML-DSA KMS key for signing and verification** + +This example creates a module-lattice digital signature algorithm (ML-DSA) key for signing and verification. The key-usage parameter is required even though ``SIGN_VERIFY`` is the only valid value for ML-DSA keys. :: + + aws kms create-key \ + --key-spec ML_DSA_65 \ + --key-usage SIGN_VERIFY + +Output:: + + { + "KeyMetadata": { + "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "AWSAccountId": "111122223333", + "CreationDate": "2019-12-02T07:48:55-07:00", + "Description": "", + "Enabled": true, + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyManager": "CUSTOMER", + "KeySpec": "ML_DSA_65", + "KeyState": "Enabled", + "KeyUsage": "SIGN_VERIFY", + "MultiRegion": false, + "Origin": "AWS_KMS", + "SigningAlgorithms": [ + "ML_DSA_SHAKE_256" + ] + } + } + + +For more information, see `Asymmetric keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. -**Example 4: To create an HMAC KMS key** +**Example 5: To create an HMAC KMS key** The following ``create-key`` example creates a 384-bit HMAC KMS key. The ``GENERATE_VERIFY_MAC`` value for the ``--key-usage`` parameter is required even though it's the only valid value for HMAC KMS keys. :: @@ -142,7 +176,7 @@ Output:: For more information, see `HMAC keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. -**Example 4: To create a multi-Region primary KMS key** +**Example 6: To create a multi-Region primary KMS key** The following ``create-key`` example creates a multi-Region primary symmetric encryption key. Because the default values for all parameters create a symmetric encryption key, only the ``--multi-region`` parameter is required for this KMS key. In the AWS CLI, to indicate that a Boolean parameter is true, just specify the parameter name. :: @@ -156,6 +190,7 @@ Output:: "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab", "AWSAccountId": "111122223333", "CreationDate": "2021-09-02T016:15:21-09:00", + "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": true, @@ -183,7 +218,7 @@ Output:: For more information, see `Asymmetric keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. -**Example 5: To create a KMS key for imported key material** +**Example 7: To create a KMS key for imported key material** The following ``create-key`` example creates a creates a KMS key with no key material. When the operation is complete, you can import your own key material into the KMS key. To create this KMS key, set the ``--origin`` parameter to ``EXTERNAL``. :: @@ -253,7 +288,7 @@ Output:: For more information, see `AWS CloudHSM key stores `__ in the *AWS Key Management Service Developer Guide*. -**Example 7: To create a KMS key in an external key store** +**Example 8: To create a KMS key in an external key store** The following ``create-key`` example creates a creates a KMS key in the specified external key store. The ``--custom-key-store-id``, ``--origin``, and ``--xks-key-id`` parameters are required in this command. diff --git a/awscli/examples/kms/delete-imported-key-material.rst b/awscli/examples/kms/delete-imported-key-material.rst index 51334e7044f6..35902e6bb1c8 100644 --- a/awscli/examples/kms/delete-imported-key-material.rst +++ b/awscli/examples/kms/delete-imported-key-material.rst @@ -5,6 +5,12 @@ The following ``delete-imported-key-material`` example deletes key material that aws kms delete-imported-key-material \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab -This command produces no output. To verify that the key material is deleted, use the ``describe-key`` command to look for a key state of ``PendingImport`` or ``PendingDeletion``. -For more information, see `Deleting imported key material`__ in the *AWS Key Management Service Developer Guide*. \ No newline at end of file +Output:: + + { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" + } + +For more information, see `Deleting imported key material `__ in the *AWS Key Management Service Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/kms/derive-shared-secret.rst b/awscli/examples/kms/derive-shared-secret.rst new file mode 100644 index 000000000000..80f9ccc660be --- /dev/null +++ b/awscli/examples/kms/derive-shared-secret.rst @@ -0,0 +1,21 @@ +**To derive a shared secret** + +The following ``derive-shared-secret`` example derives a shared secret using a key agreement algorithm. + +You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) KMS key pair with a ``KeyUsage`` value of ``KEY_AGREEMENT`` to call DeriveSharedSecret. :: + + aws kms derive-shared-secret \ + --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ + --key-agreement-algorithm ECDH \ + --public-key "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag" + +Output:: + + { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "SharedSecret": "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG", + "KeyAgreementAlgorithm": "ECDH", + "KeyOrigin": "AWS_KMS" + } + +For more information, see `DeriveSharedSecret `__ in the *AWS Key Management Service API Reference*. \ No newline at end of file diff --git a/awscli/examples/kms/describe-key.rst b/awscli/examples/kms/describe-key.rst index 793cb6f94e73..29bf66aa178c 100644 --- a/awscli/examples/kms/describe-key.rst +++ b/awscli/examples/kms/describe-key.rst @@ -14,6 +14,7 @@ Output:: "AWSAccountId": "846764612917", "KeyId": "b8a9477d-836c-491f-857e-07937918959b", "Arn": "arn:aws:kms:us-west-2:846764612917:key/b8a9477d-836c-491f-857e-07937918959b", + "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "CreationDate": 2017-06-30T21:44:32.140000+00:00, "Enabled": true, "Description": "Default KMS key that protects my S3 objects when no other key is defined", @@ -80,6 +81,7 @@ Output:: "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "CreationDate": "2021-06-28T21:09:16.114000+00:00", + "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "Description": "", "Enabled": true, "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab", diff --git a/awscli/examples/kms/disable-key.rst b/awscli/examples/kms/disable-key.rst index 79995ba7e26d..de5ef1d9b435 100644 --- a/awscli/examples/kms/disable-key.rst +++ b/awscli/examples/kms/disable-key.rst @@ -1,6 +1,6 @@ **To temporarily disable a KMS key** -The following example uses the ``disable-key`` command to disable a customer managed KMS key. To re-enable the KMS key, use the ``enable-key`` command. :: +The following ``disable-key`` command disables a customer managed KMS key. To re-enable the KMS key, use the ``enable-key`` command. :: aws kms disable-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab diff --git a/awscli/examples/kms/generate-data-key-pair-without-plaintext.rst b/awscli/examples/kms/generate-data-key-pair-without-plaintext.rst index 110d22f90081..ca0aee78b921 100644 --- a/awscli/examples/kms/generate-data-key-pair-without-plaintext.rst +++ b/awscli/examples/kms/generate-data-key-pair-without-plaintext.rst @@ -20,6 +20,7 @@ Output:: "PrivateKeyCiphertextBlob": "AQIDAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAFFxmiD134doUDzMGmfCEtcAAAHaTCCB2UGCSqGSIb3DQEHBqCCB1...", "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "KeyPairSpec": "ECC_NIST_P384" } diff --git a/awscli/examples/kms/generate-data-key-pair.rst b/awscli/examples/kms/generate-data-key-pair.rst index 857542d0d4a8..55d3505830fd 100644 --- a/awscli/examples/kms/generate-data-key-pair.rst +++ b/awscli/examples/kms/generate-data-key-pair.rst @@ -19,6 +19,7 @@ Output:: "PrivateKeyPlaintext": "MIIG/QIBADANBgkqhkiG9w0BAQEFAASCBucwggbjAgEAAoIBgQDcDd4YzI+u9Kfv4t2UkTWhShBXkekS4cBVt07I0P42ZgMf+YvU5IgS4ut...", "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" "KeyPairSpec": "RSA_2048" } diff --git a/awscli/examples/kms/generate-data-key-without-plaintext.rst b/awscli/examples/kms/generate-data-key-without-plaintext.rst index 1c6692f191bb..f41d4584fe57 100644 --- a/awscli/examples/kms/generate-data-key-without-plaintext.rst +++ b/awscli/examples/kms/generate-data-key-without-plaintext.rst @@ -14,7 +14,8 @@ Output:: { "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", - "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" } The ``CiphertextBlob`` (encrypted data key) is returned in base64-encoded format. diff --git a/awscli/examples/kms/generate-data-key.rst b/awscli/examples/kms/generate-data-key.rst index 6196df1c7e46..632a829abf6b 100644 --- a/awscli/examples/kms/generate-data-key.rst +++ b/awscli/examples/kms/generate-data-key.rst @@ -15,13 +15,13 @@ Output:: { "Plaintext": "VdzKNHGzUAzJeRBVY+uUmofUGGiDzyB3+i9fVkh3piw=", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogLqPWZconQhwHAIBEIA7d9AC7GeJJM34njQvg4Wf1d5sw0NIo1MrBqZa+YdhV8MrkBQPeac0ReRVNDt9qleAt+SHgIRF8P0H+7U=" } The ``Plaintext`` (plaintext data key) and the ``CiphertextBlob`` (encrypted data key) are returned in base64-encoded format. -For more information, see `Data keys `__ in the *AWS Key Management Service Developer Guide*. **Example 2: To generate a 512-bit symmetric data key** The following ``generate-data-key`` example requests a 512-bit symmetric data key for encryption and decryption. The command returns a plaintext data key for immediate use and deletion, and a copy of that data key encrypted under the specified KMS key. You can safely store the encrypted data key with the encrypted data. @@ -41,9 +41,10 @@ Output:: { "CiphertextBlob": "AQIBAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAEnX/QQNmMwDfg2korNMEc8AAACaDCCAmQGCSqGSIb3DQEHBqCCAlUwggJRAgEAMIICSgYJKoZ...", "Plaintext": "ty8Lr0Bk6OF07M2BWt6qbFdNB+G00ZLtf5MSEb4al3R2UKWGOp06njAwy2n72VRm2m7z/Pm9Wpbvttz6a4lSo9hgPvKhZ5y6RTm4OovEXiVfBveyX3DQxDzRSwbKDPk/...", - "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" } The ``Plaintext`` (plaintext data key) and ``CiphertextBlob`` (encrypted data key) are returned in base64-encoded format. -For more information, see `Data keys `__ in the *AWS Key Management Service Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/kms/generate-mac.rst b/awscli/examples/kms/generate-mac.rst new file mode 100644 index 000000000000..b18bfe17e39c --- /dev/null +++ b/awscli/examples/kms/generate-mac.rst @@ -0,0 +1,45 @@ +**Example 1: To generate an HMAC for a message** + +The following ``generate-mac`` command generates an HMAC for a message, an HMAC KMS key, and a MAC algorithm. The algorithm must be supported by the specified HMAC KMS key. + +In AWS CLI v2, the value of the ``message`` parameter must be Base64-encoded. Or, you can save the message in a file and use the ``fileb://`` prefix, which tells the AWS CLI to read binary data from the file. + +Before running this command, replace the example key ID with a valid key ID from your AWS account. The key ID must represent a HMAC KMS key with a key usage of ``GENERATE_VERIFY_MAC``. :: + + msg=(echo 'Hello World' | base64) + + aws kms generate-mac \ + --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ + --message fileb://Message \ + --mac-algorithm HMAC_SHA_384 + +Output:: + + { + "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Mac": "", + "MacAlgorithm": "HMAC_SHA_384" + } + +For more information about using HMAC KMS keys in AWS KMS, see `HMAC keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. + +**Example 2: To save an HMAC in a file (Linux and macOs)** + +The following ``generate-mac`` example generates an HMAC for a short message stored in a local file. The command also gets the ``Mac`` property from the response, Base64-decodes it and saves it in the ExampleMac file. You can use the MAC file in a ``verify-mac`` command that verifies the MAC. + +The ``generate-mac`` command requires a Base64-encoded message and a MAC algorithm that your HMAC KMS key supports. To get the MAC algorithms that your KMS key supports, use the ``describe-key`` command. + +Before running this command, replace the example key ID with a valid key ID from your AWS account. The key ID must represent an asymmetric KMS key with a key usage of GENERATE_VERIFY_MAC. :: + + echo 'hello world' | base64 > EncodedMessage + + aws kms generate-mac \ + --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ + --message fileb://EncodedMessage \ + --mac-algorithm HMAC_SHA_384 \ + --output text \ + --query Mac | base64 --decode > ExampleMac + +This command produces no output. This example extracts the ``Mac`` property of the output and saves it in a file. + +For more information about using HMAC KMS keys in AWS KMS, see `HMAC keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. diff --git a/awscli/examples/kms/generate-random.rst b/awscli/examples/kms/generate-random.rst index 941044ffffde..00df06da953e 100644 --- a/awscli/examples/kms/generate-random.rst +++ b/awscli/examples/kms/generate-random.rst @@ -6,7 +6,7 @@ When you run this command, you must use the ``number-of-bytes`` parameter to spe You don't specify a KMS key when you run this command. The random byte string is unrelated to any KMS key. -By default, AWS KMS generates the random number. However, if you specify a `custom key store`__, the random byte string is generated in the AWS CloudHSM cluster associated with the custom key store. +By default, AWS KMS generates the random number. However, if you specify a `custom key store `__, the random byte string is generated in the AWS CloudHSM cluster associated with the custom key store. This example uses the following parameters and values: diff --git a/awscli/examples/kms/get-public-key.rst b/awscli/examples/kms/get-public-key.rst index cde23a6341cb..a97799d6f50d 100644 --- a/awscli/examples/kms/get-public-key.rst +++ b/awscli/examples/kms/get-public-key.rst @@ -20,8 +20,7 @@ Output:: ] } -For more information about using asymmetric KMS keys in AWS KMS, see `Using Symmetric and Asymmetric Keys `__ in the *AWS Key Management Service API Reference*. - +For more information about using asymmetric KMS keys in AWS KMS, see `Asymmetric keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. **Example 2: To convert a public key to DER format (Linux and macOS)** The following ``get-public-key`` example downloads the public key of an asymmetric KMS key and saves it in a DER file. @@ -37,4 +36,4 @@ Before running this command, replace the example key ID with a valid key ID from This command produces no output. -For more information about using asymmetric KMS keys in AWS KMS, see `Using Symmetric and Asymmetric Keys `__ in the *AWS Key Management Service API Reference*. +For more information about using asymmetric KMS keys in AWS KMS, see `Asymmetric keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/kms/import-key-material.rst b/awscli/examples/kms/import-key-material.rst index 9800d952b8f5..e52716a7c1ea 100644 --- a/awscli/examples/kms/import-key-material.rst +++ b/awscli/examples/kms/import-key-material.rst @@ -15,6 +15,11 @@ Before running this command, replace the example key ID with a valid key ID or k --expiration-model KEY_MATERIAL_EXPIRES \ --valid-to 2021-09-21T19:00:00Z -This command produces no output. +Output:: + + { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" + } For more information about importing key material, see `Importing Key Material `__ in the *AWS Key Management Service Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/kms/re-encrypt.rst b/awscli/examples/kms/re-encrypt.rst index 4bbc29c74e04..2cc892fb9c54 100644 --- a/awscli/examples/kms/re-encrypt.rst +++ b/awscli/examples/kms/re-encrypt.rst @@ -4,7 +4,7 @@ The following ``re-encrypt`` command example demonstrates the recommended way to * Provide the ciphertext in a file. - In the value of the ``--ciphertext-blob`` parameter, use the ``fileb://`` prefix, which tells the CLI to read the data from a binary file. If the file is not in the current directory, type the full path to file. For more information about reading AWS CLI parameter values from a file, see `Loading AWS CLI parameters from a file ` in the *AWS Command Line Interface User Guide* and `Best Practices for Local File Parameters` in the *AWS Command Line Tool Blog*. + In the value of the ``--ciphertext-blob`` parameter, use the ``fileb://`` prefix, which tells the CLI to read the data from a binary file. If the file is not in the current directory, type the full path to file. For more information about reading AWS CLI parameter values from a file, see `Loading AWS CLI parameters from a file `__ in the *AWS Command Line Interface User Guide* and `Best Practices for Local File Parameters `__ in the *AWS Command Line Tool Blog*. * Specify the source KMS key, which decrypts the ciphertext. @@ -34,7 +34,7 @@ Before running this command, replace the example key IDs with valid key identifi This command produces no output. The output from the ``re-encrypt`` command is base64-decoded and saved in a file. -For more information, see `ReEncrypt `__ in the *AWS Key Management Service API Reference*. **Example 2: To re-encrypt an encrypted message under a different symmetric KMS key (Windows command prompt).** @@ -59,4 +59,4 @@ Output:: Output Length = 12 CertUtil: -decode command completed successfully. -For more information, see `ReEncrypt `__ in the *AWS Key Management Service API Reference*. diff --git a/awscli/examples/kms/sign.rst b/awscli/examples/kms/sign.rst index 3c335476d4ca..6c9a600f576b 100644 --- a/awscli/examples/kms/sign.rst +++ b/awscli/examples/kms/sign.rst @@ -4,7 +4,7 @@ The following ``sign`` example generates a cryptographic signature for a short m You must specify a message to sign and a signing algorithm that your asymmetric KMS key supports. To get the signing algorithms for your KMS key, use the ``describe-key`` command. -In AWS CLI 2.0, the value of the ``message`` parameter must be Base64-encoded. Or, you can save the message in a file and use the ``fileb://`` prefix, which tells the AWS CLI to read binary data from the file. +In AWS CLI v2, the value of the ``message`` parameter must be Base64-encoded. Or, you can save the message in a file and use the ``fileb://`` prefix, which tells the AWS CLI to read binary data from the file. Before running this command, replace the example key ID with a valid key ID from your AWS account. The key ID must represent an asymmetric KMS key with a key usage of SIGN_VERIFY. :: diff --git a/awscli/examples/kms/verify-mac.rst b/awscli/examples/kms/verify-mac.rst new file mode 100644 index 000000000000..415599d58feb --- /dev/null +++ b/awscli/examples/kms/verify-mac.rst @@ -0,0 +1,27 @@ +**Example 1: To verify an HMAC** + +The following ``verify-mac`` command verifies an HMAC for a particular message, HMAC KMS keys, and MAC algorithm. A value of 'true' in the MacValid value in the response indicates that the HMAC is valid. + +In AWS CLI v2, the value of the ``message`` parameter must be Base64-encoded. Or, you can save the message in a file and use the ``fileb://`` prefix, which tells the AWS CLI to read binary data from the file. + +The MAC that you specify cannot be base64-encoded. For help decoding the MAC that the ``generate-mac`` command returns, see the ``generate-mac`` command examples. + +Before running this command, replace the example key ID with a valid key ID from your AWS account. The key ID must represent a HMAC KMS key with a key usage of ``GENERATE_VERIFY_MAC``. :: + + msg=(echo 'Hello World' | base64) + + aws kms verify-mac \ + --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ + --message fileb://Message \ + --mac-algorithm HMAC_SHA_384 \ + --mac fileb://ExampleMac + +Output:: + + { + "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "MacValid": true, + "MacAlgorithm": "HMAC_SHA_384" + } + +For more information about using HMAC KMS keys in AWS KMS, see `HMAC keys in AWS KMS `__ in the *AWS Key Management Service Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/kms/verify.rst b/awscli/examples/kms/verify.rst index 4d2a1fdf1f1d..bd19ca2f7a30 100644 --- a/awscli/examples/kms/verify.rst +++ b/awscli/examples/kms/verify.rst @@ -1,6 +1,10 @@ **To verify a digital signature** -The following ``verify`` example verifies a cryptographic signature for a short, Base64-encoded message. The key ID, message, message type, and signing algorithm must be same ones that were used to sign the message. The signature that you specify cannot be base64-encoded. For help decoding the signature that the ``sign`` command returns, see the ``sign`` command examples. +The following ``verify`` command verifies a cryptographic signature for a short, Base64-encoded message. The key ID, message, message type, and signing algorithm must be same ones that were used to sign the message. + +In AWS CLI v2, the value of the ``message`` parameter must be Base64-encoded. Or, you can save the message in a file and use the ``fileb://`` prefix, which tells the AWS CLI to read binary data from the file. + +The signature that you specify cannot be base64-encoded. For help decoding the signature that the ``sign`` command returns, see the ``sign`` command examples. The output of the command includes a Boolean ``SignatureValid`` field that indicates that the signature was verified. If the signature validation fails, the ``verify`` command fails, too. diff --git a/awscli/examples/lambda/create-function.rst b/awscli/examples/lambda/create-function.rst index 40fe331b8775..b7ea79426662 100755 --- a/awscli/examples/lambda/create-function.rst +++ b/awscli/examples/lambda/create-function.rst @@ -4,7 +4,7 @@ The following ``create-function`` example creates a Lambda function named ``my-f aws lambda create-function \ --function-name my-function \ - --runtime nodejs18.x \ + --runtime nodejs22.x \ --zip-file fileb://my-function.zip \ --handler my-function.handler \ --role arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-tges6bf4 @@ -28,10 +28,10 @@ Output:: "Version": "$LATEST", "Role": "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4", "Timeout": 3, - "LastModified": "2023-10-14T22:26:11.234+0000", + "LastModified": "2025-10-14T22:26:11.234+0000", "Handler": "my-function.handler", - "Runtime": "nodejs18.x", + "Runtime": "nodejs22.x", "Description": "" } -For more information, see `AWS Lambda Function Configuration `__ in the *AWS Lambda Developer Guide*. +For more information, see `Configure Lambda function memory `__ in the *AWS Lambda Developer Guide*. diff --git a/awscli/examples/lambda/get-function.rst b/awscli/examples/lambda/get-function.rst index 83728b0ff46e..adc3fbc08b9f 100755 --- a/awscli/examples/lambda/get-function.rst +++ b/awscli/examples/lambda/get-function.rst @@ -34,10 +34,10 @@ Output:: "Handler": "index.handler", "Role": "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq", "Timeout": 3, - "LastModified": "2019-09-24T18:20:35.054+0000", - "Runtime": "nodejs10.x", + "LastModified": "2025-09-24T18:20:35.054+0000", + "Runtime": "nodejs22.x", "Description": "" } } -For more information, see `AWS Lambda Function Configuration `__ in the *AWS Lambda Developer Guide*. +For more information, see `Configure Lambda function memory `__ in the *AWS Lambda Developer Guide*. diff --git a/awscli/examples/lambda/invoke.rst b/awscli/examples/lambda/invoke.rst index 0e213cf703d1..6f50021ce551 100755 --- a/awscli/examples/lambda/invoke.rst +++ b/awscli/examples/lambda/invoke.rst @@ -15,7 +15,7 @@ Output:: "StatusCode": 200 } -For more information, see `Synchronous Invocation `__ in the *AWS Lambda Developer Guide*. +For more information, see `Invoke a Lambda function synchronously `__ in the *AWS Lambda Developer Guide*. **Example 2: To invoke a Lambda function asynchronously** @@ -34,4 +34,4 @@ Output:: "StatusCode": 202 } -For more information, see `Asynchronous Invocation `__ in the *AWS Lambda Developer Guide*. +For more information, see `Invoking a Lambda function asynchronously `__ in the *AWS Lambda Developer Guide*. diff --git a/awscli/examples/lambda/list-functions.rst b/awscli/examples/lambda/list-functions.rst index 7cf2d23e10cc..13c7ee114a5f 100755 --- a/awscli/examples/lambda/list-functions.rst +++ b/awscli/examples/lambda/list-functions.rst @@ -22,8 +22,8 @@ Output:: "Handler": "helloworld.handler", "Role": "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4", "Timeout": 3, - "LastModified": "2023-09-23T18:32:33.857+0000", - "Runtime": "nodejs18.x", + "LastModified": "2025-09-23T18:32:33.857+0000", + "Runtime": "nodejs22.x", "Description": "" }, { @@ -45,8 +45,8 @@ Output:: "Handler": "index.handler", "Role": "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq", "Timeout": 3, - "LastModified": "2023-10-01T16:47:28.490+0000", - "Runtime": "nodejs18.x", + "LastModified": "2025-10-01T16:47:28.490+0000", + "Runtime": "nodejs22.x", "Description": "" }, { @@ -78,11 +78,11 @@ Output:: "Handler": "lambda_function.lambda_handler", "Role": "arn:aws:iam::123456789012:role/service-role/my-python-function-role-z5g7dr6n", "Timeout": 3, - "LastModified": "2023-10-01T19:40:41.643+0000", + "LastModified": "2025-10-01T19:40:41.643+0000", "Runtime": "python3.11", "Description": "" } ] } -For more information, see `AWS Lambda Function Configuration `__ in the *AWS Lambda Developer Guide*. \ No newline at end of file +For more information, see `Configure Lambda function memory `__ in the *AWS Lambda Developer Guide*. diff --git a/awscli/examples/lightsail/create-instances-from-snapshot.rst b/awscli/examples/lightsail/create-instances-from-snapshot.rst index 34e4d2200901..a432a1d82a42 100644 --- a/awscli/examples/lightsail/create-instances-from-snapshot.rst +++ b/awscli/examples/lightsail/create-instances-from-snapshot.rst @@ -1,6 +1,6 @@ **To create an instance from a snapshot** -The following ``create-instances-from-snapshot`` example creates an instance from the specified instance snapshot, in the specified AWS Region and Availability Zone, using the $10 USD bundle. +The following ``create-instances-from-snapshot`` example creates an instance from the specified instance snapshot, in the specified AWS Region and Availability Zone, using the $12 USD bundle. **Note:** The bundle that you specify must be equal to or greater in specifications than the bundle of the original source instance used to create the snapshot. :: @@ -8,7 +8,7 @@ The following ``create-instances-from-snapshot`` example creates an instance fro --instance-snapshot-name WordPress-1-1569866208 \ --instance-names WordPress-2 \ --availability-zone us-west-2a \ - --bundle-id medium_2_0 + --bundle-id small_3_0 Output:: @@ -29,4 +29,4 @@ Output:: "statusChangedAt": 1569865914.908 } ] - } + } \ No newline at end of file diff --git a/awscli/examples/lightsail/create-instances.rst b/awscli/examples/lightsail/create-instances.rst index 7850fd1a80d9..bcf2d49cf844 100644 --- a/awscli/examples/lightsail/create-instances.rst +++ b/awscli/examples/lightsail/create-instances.rst @@ -1,12 +1,12 @@ **Example 1: To create a single instance** -The following ``create-instances`` example creates an instance in the specified AWS Region and Availability Zone, using the WordPress blueprint, and the $3.50 USD bundle. :: +The following ``create-instances`` example creates an instance in the specified AWS Region and Availability Zone, using the WordPress blueprint, and the $5.00 USD bundle. :: aws lightsail create-instances \ --instance-names Instance-1 \ --availability-zone us-west-2a \ - --blueprint-id wordpress_5_1_1_2 \ - --bundle-id nano_2_0 + --blueprint-id wordpress \ + --bundle-id nano_3_0 Output:: @@ -31,13 +31,13 @@ Output:: **Example 2: To create multiple instances at one time** -The following ``create-instances`` example creates three instances in the specified AWS Region and Availability Zone, using the WordPress blueprint, and the $3.50 USD bundle. :: +The following ``create-instances`` example creates three instances in the specified AWS Region and Availability Zone, using the WordPress blueprint, and the $5.00 USD bundle. :: aws lightsail create-instances \ --instance-names {"Instance1","Instance2","Instance3"} \ --availability-zone us-west-2a \ - --blueprint-id wordpress_5_1_1_2 \ - --bundle-id nano_2_0 + --blueprint-id wordpress \ + --bundle-id nano_3_0 Output:: @@ -86,4 +86,4 @@ Output:: "statusChangedAt": 1569448780.054 } ] - } + } \ No newline at end of file diff --git a/awscli/examples/lightsail/get-blueprints.rst b/awscli/examples/lightsail/get-blueprints.rst index 61859a95cacc..04c6d84cf074 100644 --- a/awscli/examples/lightsail/get-blueprints.rst +++ b/awscli/examples/lightsail/get-blueprints.rst @@ -16,24 +16,24 @@ Output:: "description": "Bitnami, the leaders in application packaging, and Automattic, the experts behind WordPress, have teamed up to offer this official WordPress image. This image is a pre-configured, ready-to-run image for running WordPress on Amazon Lightsail. WordPress is the world's most popular content management platform. Whether it's for an enterprise or small business website, or a personal or corporate blog, content authors can easily create content using its new Gutenberg editor, and developers can extend the base platform with additional features. Popular plugins like Jetpack, Akismet, All in One SEO Pack, WP Mail, Google Analytics for WordPress, and Amazon Polly are all pre-installed in this image. Let's Encrypt SSL certificates are supported through an auto-configuration script.", "isActive": true, "minPower": 0, - "version": "5.2.2-3", + "version": "6.5.3-0", "versionCode": "1", "productUrl": "https://aws.amazon.com/marketplace/pp/B00NN8Y43U", - "licenseUrl": "https://d7umqicpi7263.cloudfront.net/eula/product/7d426cb7-9522-4dd7-a56b-55dd8cc1c8d0/588fd495-6492-4610-b3e8-d15ce864454c.txt", + "licenseUrl": "https://aws.amazon.com/marketplace/pp/B00NN8Y43U#pdp-usage", "platform": "LINUX_UNIX" }, { - "blueprintId": "lamp_7_1_28", - "name": "LAMP (PHP 7)", - "group": "lamp_7", + "blueprintId": "lamp_8_bitnami", + "name": "LAMP (PHP 8)", + "group": "lamp_8", "type": "app", - "description": "LAMP with PHP 7.x certified by Bitnami greatly simplifies the development and deployment of PHP applications. It includes the latest versions of PHP 7.x, Apache and MySQL together with phpMyAdmin and popular PHP frameworks Zend, Symfony, CodeIgniter, CakePHP, Smarty, and Laravel. Other pre-configured components and PHP modules include FastCGI, ModSecurity, SQLite, Varnish, ImageMagick, xDebug, Xcache, OpenLDAP, Memcache, OAuth, PEAR, PECL, APC, GD and cURL. It is secure by default and supports multiple applications, each with its own virtual host and project directory. Let's Encrypt SSL certificates are supported through an auto-configuration script.", + "description": "LAMP with PHP 8.X packaged by Bitnami enables you to quickly start building your websites and applications by providing a coding framework. As a developer, it provides standalone project directories to store your applications. This blueprint is configured for production environments. It includes SSL auto-configuration with Let's Encrypt certificates, and the latest releases of PHP, Apache, and MariaDB on Linux. This application also includes phpMyAdmin, PHP main modules and Composer.", "isActive": true, "minPower": 0, - "version": "7.1.28", + "version": "8.2.18-4", "versionCode": "1", - "productUrl": "https://aws.amazon.com/marketplace/pp/B072JNJZ5C", - "licenseUrl": "https://d7umqicpi7263.cloudfront.net/eula/product/cb6afd05-a3b2-4916-a3e6-bccd414f5f21/12ab56cc-6a8c-4977-9611-dcd770824aad.txt", + "productUrl": "https://aws.amazon.com/marketplace/pp/prodview-6g3gzfcih6dvu", + "licenseUrl": "https://aws.amazon.com/marketplace/pp/prodview-6g3gzfcih6dvu#pdp-usage", "platform": "LINUX_UNIX" }, { @@ -41,16 +41,16 @@ Output:: "name": "Node.js", "group": "node", "type": "app", - "description": "Node.js certified by Bitnami is a pre-configured, ready to run image for Node.js on Amazon EC2. It includes the latest version of Node.js, Apache, Python and Redis. The image supports multiple Node.js applications, each with its own virtual host and project directory. It is configured for production use and is secure by default, as all ports except HTTP, HTTPS and SSH ports are closed. Let's Encrypt SSL certificates are supported through an auto-configuration script. Developers benefit from instant access to a secure, update and consistent Node.js environment without having to manually install and configure multiple components and libraries.", + "description": "Node.js packaged by Bitnami is a pre-configured, ready to run image for Node.js on Amazon EC2. It includes the latest version of Node.js, Apache, Python and Redis. The image supports multiple Node.js applications, each with its own virtual host and project directory. It is configured for production use and is secure by default, as all ports except HTTP, HTTPS and SSH ports are closed. Let's Encrypt SSL certificates are supported through an auto-configuration script. Developers benefit from instant access to a secure, update and consistent Node.js environment without having to manually install and configure multiple components and libraries.", "isActive": true, "minPower": 0, - "version": "12.7.0", + "version": "18.20.2-0", "versionCode": "1", "productUrl": "https://aws.amazon.com/marketplace/pp/B00NNZUAKO", - "licenseUrl": "https://d7umqicpi7263.cloudfront.net/eula/product/033793fe-951d-47d0-aa94-5fbd0afb3582/25f8fa66-c868-4d80-adf8-4a2b602064ae.txt", + "licenseUrl": "https://aws.amazon.com/marketplace/pp/B00NNZUAKO#pdp-usage", "platform": "LINUX_UNIX" }, ... } ] - } + } \ No newline at end of file diff --git a/awscli/examples/lightsail/get-bundles.rst b/awscli/examples/lightsail/get-bundles.rst index 1624015cb2ef..b2c95da027e5 100644 --- a/awscli/examples/lightsail/get-bundles.rst +++ b/awscli/examples/lightsail/get-bundles.rst @@ -9,14 +9,14 @@ Output:: { "bundles": [ { - "price": 3.5, - "cpuCount": 1, + "price": 5.0, + "cpuCount": 2, "diskSizeInGb": 20, - "bundleId": "nano_2_0", + "bundleId": "nano_3_0", "instanceType": "nano", "isActive": true, "name": "Nano", - "power": 300, + "power": 298, "ramSizeInGb": 0.5, "transferPerMonthInGb": 1024, "supportedPlatforms": [ @@ -24,10 +24,10 @@ Output:: ] }, { - "price": 5.0, - "cpuCount": 1, + "price": 7.0, + "cpuCount": 2, "diskSizeInGb": 40, - "bundleId": "micro_2_0", + "bundleId": "micro_3_0", "instanceType": "micro", "isActive": true, "name": "Micro", @@ -39,10 +39,10 @@ Output:: ] }, { - "price": 10.0, - "cpuCount": 1, + "price": 12.0, + "cpuCount": 2, "diskSizeInGb": 60, - "bundleId": "small_2_0", + "bundleId": "small_3_0", "instanceType": "small", "isActive": true, "name": "Small", @@ -56,4 +56,4 @@ Output:: ... } ] - } + } \ No newline at end of file diff --git a/awscli/examples/lightsail/get-instance-snapshot.rst b/awscli/examples/lightsail/get-instance-snapshot.rst index b776fb4a842a..e5358fff1f49 100644 --- a/awscli/examples/lightsail/get-instance-snapshot.rst +++ b/awscli/examples/lightsail/get-instance-snapshot.rst @@ -23,9 +23,9 @@ Output:: "fromAttachedDisks": [], "fromInstanceName": "MEAN-1", "fromInstanceArn": "arn:aws:lightsail:us-west-2:111122223333:Instance/bd470fc5-a68b-44c5-8dbc-8EXAMPLEbada", - "fromBlueprintId": "mean_4_0_9", - "fromBundleId": "medium_2_0", + "fromBlueprintId": "mean", + "fromBundleId": "medium_3_0", "isFromAutoSnapshot": false, "sizeInGb": 80 } - } + } \ No newline at end of file diff --git a/awscli/examples/lightsail/get-instance-snapshots.rst b/awscli/examples/lightsail/get-instance-snapshots.rst index 6f9a5a414b6b..0d6662cbe9c4 100644 --- a/awscli/examples/lightsail/get-instance-snapshots.rst +++ b/awscli/examples/lightsail/get-instance-snapshots.rst @@ -27,8 +27,8 @@ Output:: "fromAttachedDisks": [], "fromInstanceName": "MEAN-1", "fromInstanceArn": "arn:aws:lightsail:us-west-2:111122223333:Instance/1761aa0a-6038-4f25-8b94-2EXAMPLE19fd", - "fromBlueprintId": "wordpress_5_1_1_2", - "fromBundleId": "micro_2_0", + "fromBlueprintId": "wordpress", + "fromBundleId": "micro_3_0", "isFromAutoSnapshot": false, "sizeInGb": 40 }, @@ -47,10 +47,10 @@ Output:: "fromAttachedDisks": [], "fromInstanceName": "MEAN-1", "fromInstanceArn": "arn:aws:lightsail:us-west-2:111122223333:Instance/bd470fc5-a68b-44c5-8dbc-8EXAMPLEbada", - "fromBlueprintId": "mean_4_0_9", - "fromBundleId": "medium_2_0", + "fromBlueprintId": "mean", + "fromBundleId": "medium_3_0", "isFromAutoSnapshot": false, "sizeInGb": 80 } ] - } + } \ No newline at end of file diff --git a/awscli/examples/lightsail/get-instance.rst b/awscli/examples/lightsail/get-instance.rst index 3d66d785d0c4..a41a757a988a 100644 --- a/awscli/examples/lightsail/get-instance.rst +++ b/awscli/examples/lightsail/get-instance.rst @@ -19,9 +19,9 @@ Output:: }, "resourceType": "Instance", "tags": [], - "blueprintId": "mean_4_0_9", + "blueprintId": "mean", "blueprintName": "MEAN", - "bundleId": "medium_2_0", + "bundleId": "medium_3_0", "isStaticIp": false, "privateIpAddress": "192.0.2.0", "publicIpAddress": "192.0.2.0", @@ -33,7 +33,7 @@ Output:: "sizeInGb": 80, "isSystemDisk": true, "iops": 240, - "path": "/dev/sda1", + "path": "/dev/xvda", "attachedTo": "MEAN-1", "attachmentState": "attached" } @@ -81,4 +81,4 @@ Output:: "username": "bitnami", "sshKeyName": "MyKey" } - } + } \ No newline at end of file diff --git a/awscli/examples/lightsail/get-instances.rst b/awscli/examples/lightsail/get-instances.rst index 10bb9221105a..049e4af65e80 100644 --- a/awscli/examples/lightsail/get-instances.rst +++ b/awscli/examples/lightsail/get-instances.rst @@ -9,7 +9,7 @@ Output:: { "instances": [ { - "name": "Windows_Server_2016-1", + "name": "Windows_Server_2022-1", "arn": "arn:aws:lightsail:us-west-2:111122223333:Instance/0f44fbb9-8f55-4e47-a25e-EXAMPLE04763", "supportCode": "62EXAMPLE362/i-0bEXAMPLE71a686b9", "createdAt": 1571332358.665, @@ -19,9 +19,9 @@ Output:: }, "resourceType": "Instance", "tags": [], - "blueprintId": "windows_server_2016", - "blueprintName": "Windows Server 2016", - "bundleId": "small_win_2_0", + "blueprintId": "windows_server_2022", + "blueprintName": "Windows Server 2022", + "bundleId": "large_win_3_0", "isStaticIp": false, "privateIpAddress": "192.0.2.0", "publicIpAddress": "192.0.2.0", @@ -30,11 +30,11 @@ Output:: "disks": [ { "createdAt": 1571332358.665, - "sizeInGb": 60, + "sizeInGb": 160, "isSystemDisk": true, "iops": 180, "path": "/dev/sda1", - "attachedTo": "Windows_Server_2016-1", + "attachedTo": "Windows_Server_2022-1", "attachmentState": "attached" }, { @@ -53,12 +53,12 @@ Output:: "iops": 384, "path": "/dev/xvdf", "state": "in-use", - "attachedTo": "Windows_Server_2016-1", + "attachedTo": "Windows_Server_2022-1", "isAttached": true, "attachmentState": "attached" } ], - "ramSizeInGb": 2.0 + "ramSizeInGb": 8.0 }, "networking": { "monthlyTransfer": { @@ -112,9 +112,9 @@ Output:: }, "resourceType": "Instance", "tags": [], - "blueprintId": "mean_4_0_9", + "blueprintId": "mean", "blueprintName": "MEAN", - "bundleId": "medium_2_0", + "bundleId": "medium_3_0", "isStaticIp": false, "privateIpAddress": "192.0.2.0", "publicIpAddress": "192.0.2.0", @@ -138,7 +138,7 @@ Output:: ], "sizeInGb": 8, "isSystemDisk": false, - "iops": 100, + "iops": 240, "path": "/dev/xvdf", "state": "in-use", "attachedTo": "MEAN-1", @@ -199,4 +199,4 @@ Output:: "sshKeyName": "MyTestKey" } ] - } + } \ No newline at end of file diff --git a/awscli/examples/macie2/describe-buckets.rst b/awscli/examples/macie2/describe-buckets.rst index 29e08c9c6d02..171d524d3f3f 100644 --- a/awscli/examples/macie2/describe-buckets.rst +++ b/awscli/examples/macie2/describe-buckets.rst @@ -1,9 +1,9 @@ **To query data about one or more S3 buckets that Amazon Macie monitors and analyzes for your account** -The following ``describe-buckets`` example queries metadata for all S3 buckets whose names begin with MY-S3 and are in the current AWS Region. :: +The following ``describe-buckets`` example queries metadata for all S3 buckets whose names begin with amzn-s3-demo-bucket and are in the current AWS Region. :: aws macie2 describe-buckets \ - --criteria '{"bucketName":{"prefix":"my-S3"}}' + --criteria '{"bucketName":{"prefix":"amzn-s3-demo-bucket"}}' Output:: @@ -12,19 +12,20 @@ Output:: { "accountId": "123456789012", "allowsUnencryptedObjectUploads": "FALSE", - "bucketArn": "arn:aws:s3:::MY-S3-DOC-EXAMPLE-BUCKET1", + "automatedDiscoveryMonitoringStatus": "MONITORED", + "bucketArn": "arn:aws:s3:::amzn-s3-demo-bucket1", "bucketCreatedAt": "2020-05-18T19:54:00+00:00", - "bucketName": "MY-S3-DOC-EXAMPLE-BUCKET1", + "bucketName": "amzn-s3-demo-bucket1", "classifiableObjectCount": 13, "classifiableSizeInBytes": 1592088, "jobDetails": { "isDefinedInJob": "TRUE", "isMonitoredByJob": "TRUE", - "lastJobId": "08c81dc4a2f3377fae45c9ddaexample", - "lastJobRunTime": "2021-04-26T14:55:30.270000+00:00" + "lastJobId": "08c81dc4a2f3377fae45c9ddaEXAMPLE", + "lastJobRunTime": "2024-08-19T14:55:30.270000+00:00" }, - "lastAutomatedDiscoveryTime": "2022-12-10T19:11:25.364000+00:00", - "lastUpdated": "2022-12-13T07:33:06.337000+00:00", + "lastAutomatedDiscoveryTime": "2024-10-22T19:11:25.364000+00:00", + "lastUpdated": "2024-10-25T07:33:06.337000+00:00", "objectCount": 13, "objectCountByEncryptionType": { "customerManaged": 0, @@ -101,19 +102,20 @@ Output:: { "accountId": "123456789012", "allowsUnencryptedObjectUploads": "TRUE", - "bucketArn": "arn:aws:s3:::MY-S3-DOC-EXAMPLE-BUCKET2", + "automatedDiscoveryMonitoringStatus": "MONITORED", + "bucketArn": "arn:aws:s3:::amzn-s3-demo-bucket2", "bucketCreatedAt": "2020-11-25T18:24:38+00:00", - "bucketName": "MY-S3-DOC-EXAMPLE-BUCKET2", + "bucketName": "amzn-s3-demo-bucket2", "classifiableObjectCount": 8, "classifiableSizeInBytes": 133810, "jobDetails": { "isDefinedInJob": "TRUE", "isMonitoredByJob": "FALSE", - "lastJobId": "188d4f6044d621771ef7d65f2example", - "lastJobRunTime": "2021-04-09T19:37:11.511000+00:00" + "lastJobId": "188d4f6044d621771ef7d65f2EXAMPLE", + "lastJobRunTime": "2024-07-09T19:37:11.511000+00:00" }, - "lastAutomatedDiscoveryTime": "2022-12-12T19:11:25.364000+00:00", - "lastUpdated": "2022-12-13T07:33:06.337000+00:00", + "lastAutomatedDiscoveryTime": "2024-10-24T19:11:25.364000+00:00", + "lastUpdated": "2024-10-25T07:33:06.337000+00:00", "objectCount": 8, "objectCountByEncryptionType": { "customerManaged": 0, @@ -190,4 +192,4 @@ Output:: ] } -For more information, see `Filtering your S3 bucket inventory `__ in the *Amazon Macie User Guide*. \ No newline at end of file +For more information, see `Filtering your S3 bucket inventory `__ in the *Amazon Macie User Guide*. diff --git a/awscli/examples/medical-imaging/copy-image-set.rst b/awscli/examples/medical-imaging/copy-image-set.rst index 32c09ee81dc6..4d823ac9fe0e 100644 --- a/awscli/examples/medical-imaging/copy-image-set.rst +++ b/awscli/examples/medical-imaging/copy-image-set.rst @@ -1,14 +1,12 @@ **Example 1: To copy an image set without a destination.** -The following ``copy-image-set`` code example makes a duplicate copy of an image set without a destination. :: +The following ``copy-image-set`` example makes a duplicate copy of an image set without a destination. :: aws medical-imaging copy-image-set \ --datastore-id 12345678901234567890123456789012 \ --source-image-set-id ea92b0d8838c72a3f25d00d13616f87e \ --copy-image-set-information '{"sourceImageSet": {"latestVersionId": "1" } }' - - Output:: { @@ -33,15 +31,45 @@ Output:: **Example 2: To copy an image set with a destination.** -The following ``copy-image-set`` code example makes a duplicate copy of an image set with a destination. :: +The following ``copy-image-set`` example makes a duplicate copy of an image set with a destination. :: aws medical-imaging copy-image-set \ --datastore-id 12345678901234567890123456789012 \ --source-image-set-id ea92b0d8838c72a3f25d00d13616f87e \ --copy-image-set-information '{"sourceImageSet": {"latestVersionId": "1" }, "destinationImageSet": { "imageSetId": "b9a06fef182a5f992842f77f8e0868e5", "latestVersionId": "1"} }' +Output:: + + { + "destinationImageSetProperties": { + "latestVersionId": "2", + "imageSetWorkflowStatus": "COPYING", + "updatedAt": 1680042505.135, + "imageSetId": "b9a06fef182a5f992842f77f8e0868e5", + "imageSetState": "LOCKED", + "createdAt": 1680042357.432 + }, + "sourceImageSetProperties": { + "latestVersionId": "1", + "imageSetWorkflowStatus": "COPYING_WITH_READ_ONLY_ACCESS", + "updatedAt": 1680042505.135, + "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e", + "imageSetState": "LOCKED", + "createdAt": 1680027126.436 + }, + "datastoreId": "12345678901234567890123456789012" + } + +**Example 3: To copy a subset of instances from a source image set to a destination image set.** +The following ``copy-image-set`` example copies one DICOM instance from the source image set to the destination image set. +The force parameter is provided to override inconsistencies in the Patient, Study, and Series level attributes. :: + aws medical-imaging copy-image-set \ + --datastore-id 12345678901234567890123456789012 \ + --source-image-set-id ea92b0d8838c72a3f25d00d13616f87e \ + --copy-image-set-information '{"sourceImageSet": {"latestVersionId": "1","DICOMCopies": {"copiableAttributes": "{\"SchemaVersion\":\"1.1\",\"Study\":{\"Series\":{\"1.3.6.1.4.1.5962.99.1.3673257865.2104868982.1369432891697.3666.0\":{\"Instances\":{\"1.3.6.1.4.1.5962.99.1.3673257865.2104868982.1369432891697.3669.0\":{}}}}}}"}},"destinationImageSet": {"imageSetId": "b9eb50d8ee682eb9fcf4acbf92f62bb7","latestVersionId": "1"}}' \ + --force Output:: @@ -50,7 +78,7 @@ Output:: "latestVersionId": "2", "imageSetWorkflowStatus": "COPYING", "updatedAt": 1680042505.135, - "imageSetId": "b9a06fef182a5f992842f77f8e0868e5", + "imageSetId": "b9eb50d8ee682eb9fcf4acbf92f62bb7", "imageSetState": "LOCKED", "createdAt": 1680042357.432 }, diff --git a/awscli/examples/medical-imaging/create-datastore.rst b/awscli/examples/medical-imaging/create-datastore.rst index 7adbfd889ea0..9f1f7884a601 100644 --- a/awscli/examples/medical-imaging/create-datastore.rst +++ b/awscli/examples/medical-imaging/create-datastore.rst @@ -1,6 +1,7 @@ -**To create a data store** +**Example 1: To create a data store** -The following ``create-datastore`` code example creates a data store with the name ``my-datastore``. :: +The following ``create-datastore`` code example creates a data store with the name ``my-datastore``. +When you create a datastore without specifying a ``--lossless-storage-format``, AWS HealthImaging defaults to HTJ2K (High Throughput JPEG 2000). :: aws medical-imaging create-datastore \ --datastore-name "my-datastore" @@ -12,4 +13,20 @@ Output:: "datastoreStatus": "CREATING" } +**Example 2: To create a data store with JPEG 2000 Lossless storage format** + +A data store configured with JPEG 2000 Lossless storage format will transcode and persist lossless image frames in JPEG 2000 format. Image frames can then be retrieved in +JPEG 2000 Lossless without transcoding. The following ``create-datastore`` code example creates a data store configured for JPEG 2000 Lossless storage format with the name ``my-datastore``. :: + + aws medical-imaging create-datastore \ + --datastore-name "my-datastore" \ + --lossless-storage-format JPEG_2000_LOSSLESS + +Output:: + + { + "datastoreId": "12345678901234567890123456789012", + "datastoreStatus": "CREATING" + } + For more information, see `Creating a data store `__ in the *AWS HealthImaging Developer Guide*. diff --git a/awscli/examples/medical-imaging/get-datastore.rst b/awscli/examples/medical-imaging/get-datastore.rst index 2aa89a15d4dc..6c3d924c45c8 100644 --- a/awscli/examples/medical-imaging/get-datastore.rst +++ b/awscli/examples/medical-imaging/get-datastore.rst @@ -1,4 +1,4 @@ -**To get a data store's properties** +**Example 1: To get a data store's properties** The following ``get-datastore`` code example gets a data store's properties. :: @@ -13,6 +13,29 @@ Output:: "datastoreId": "12345678901234567890123456789012", "datastoreName": "TestDatastore123", "datastoreStatus": "ACTIVE", + "losslessStorageFormat": "HTJ2K" + "datastoreArn": "arn:aws:medical-imaging:us-east-1:123456789012:datastore/12345678901234567890123456789012", + "createdAt": "2022-11-15T23:33:09.643000+00:00", + "updatedAt": "2022-11-15T23:33:09.643000+00:00" + } + } + +**Example 2: To get data store's properties configured for JPEG2000** + +The following ``get-datastore`` code example gets a data store's properties for a data store configured for JPEG 2000 Lossless storage format. :: + + aws medical-imaging get-datastore \ + --datastore-id 12345678901234567890123456789012 + + +Output:: + + { + "datastoreProperties": { + "datastoreId": "12345678901234567890123456789012", + "datastoreName": "TestDatastore123", + "datastoreStatus": "ACTIVE", + "losslessStorageFormat": "JPEG_2000_LOSSLESS", "datastoreArn": "arn:aws:medical-imaging:us-east-1:123456789012:datastore/12345678901234567890123456789012", "createdAt": "2022-11-15T23:33:09.643000+00:00", "updatedAt": "2022-11-15T23:33:09.643000+00:00" diff --git a/awscli/examples/medical-imaging/update-image-set-metadata.rst b/awscli/examples/medical-imaging/update-image-set-metadata.rst index 387dedbf4f60..64d8203b385e 100644 --- a/awscli/examples/medical-imaging/update-image-set-metadata.rst +++ b/awscli/examples/medical-imaging/update-image-set-metadata.rst @@ -1,25 +1,22 @@ -**To insert or update an attribute in image set metadata** +**Example 1: To insert or update an attribute in image set metadata** -The following ``update-image-set-metadata`` code example inserts or updates an attribute in image set metadata. :: +The following ``update-image-set-metadata`` example inserts or updates an attribute in image set metadata. :: aws medical-imaging update-image-set-metadata \ --datastore-id 12345678901234567890123456789012 \ --image-set-id ea92b0d8838c72a3f25d00d13616f87e \ --latest-version-id 1 \ + --cli-binary-format raw-in-base64-out \ --update-image-set-metadata-updates file://metadata-updates.json Contents of ``metadata-updates.json`` :: { "DICOMUpdates": { - "updatableAttributes": "eyJTY2hlbWFWZXJzaW9uIjoxLjEsIlBhdGllbnQiOnsiRElDT00iOnsiUGF0aWVudE5hbWUiOiJNWF5NWCJ9fX0=" + "updatableAttributes": "{\"SchemaVersion\":1.1,\"Patient\":{\"DICOM\":{\"PatientName\":\"MX^MX\"}}}" } } -Note: ``updatableAttributes`` is a Base64 encoded JSON string. Here is the unencoded JSON string. - -{"SchemaVersion":1.1,"Patient":{"DICOM":{"PatientName":"MX^MX"}}} - Output:: { @@ -32,27 +29,56 @@ Output:: "datastoreId": "12345678901234567890123456789012" } -**To remove an attribute from image set metadata** +**Example 2: To remove an attribute from image set metadata** -The following ``update-image-set-metadata`` code example removes an attribute from image set metadata. :: +The following ``update-image-set-metadata`` example removes an attribute from image set metadata. :: aws medical-imaging update-image-set-metadata \ --datastore-id 12345678901234567890123456789012 \ --image-set-id ea92b0d8838c72a3f25d00d13616f87e \ --latest-version-id 1 \ + --cli-binary-format raw-in-base64-out \ --update-image-set-metadata-updates file://metadata-updates.json Contents of ``metadata-updates.json`` :: { "DICOMUpdates": { - "removableAttributes": "e1NjaGVtYVZlcnNpb246MS4xLFN0dWR5OntESUNPTTp7U3R1ZHlEZXNjcmlwdGlvbjpDSEVTVH19fQo=" + "removableAttributes": "{\"SchemaVersion\":1.1,\"Study\":{\"DICOM\":{\"StudyDescription\":\"CHEST\"}}}" } } -Note: ``removableAttributes`` is a Base64 encoded JSON string. Here is the unencoded JSON string. The key and value must match the attribute to be removed. +Output:: + + { + "latestVersionId": "2", + "imageSetWorkflowStatus": "UPDATING", + "updatedAt": 1680042257.908, + "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e", + "imageSetState": "LOCKED", + "createdAt": 1680027126.436, + "datastoreId": "12345678901234567890123456789012" + } + +**Example 3: To remove an instance from image set metadata** + +The following ``update-image-set-metadata`` example removes an instance from image set metadata. :: + + aws medical-imaging update-image-set-metadata \ + --datastore-id 12345678901234567890123456789012 \ + --image-set-id ea92b0d8838c72a3f25d00d13616f87e \ + --latest-version-id 1 \ + --cli-binary-format raw-in-base64-out \ + --update-image-set-metadata-updates file://metadata-updates.json \ + --force + +Contents of ``metadata-updates.json`` :: -{"SchemaVersion":1.1,"Study":{"DICOM":{"StudyDescription":"CHEST"}}} + { + "DICOMUpdates": { + "removableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": {\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {}}}}}}" + } + } Output:: @@ -66,27 +92,82 @@ Output:: "datastoreId": "12345678901234567890123456789012" } -**To remove an instance from image set metadata** -The following ``update-image-set-metadata`` code example removes an instance from image set metadata. :: +**Example 4: To revert an image set to a previous version** + +The following ``update-image-set-metadata`` example shows how to revert an image set to a prior version. CopyImageSet and UpdateImageSetMetadata actions create new versions of image sets. :: aws medical-imaging update-image-set-metadata \ --datastore-id 12345678901234567890123456789012 \ - --image-set-id ea92b0d8838c72a3f25d00d13616f87e \ + --image-set-id 53d5fdb05ca4d46ac7ca64b06545c66e \ + --latest-version-id 3 \ + --cli-binary-format raw-in-base64-out \ + --update-image-set-metadata-updates '{"revertToVersionId": "1"}' + +Output:: + + { + "datastoreId": "12345678901234567890123456789012", + "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e", + "latestVersionId": "4", + "imageSetState": "LOCKED", + "imageSetWorkflowStatus": "UPDATING", + "createdAt": 1680027126.436, + "updatedAt": 1680042257.908 + } + +**Example 5: To add a private DICOM data element to an instance** + +The following ``update-image-set-metadata`` example shows how to add a private element to a specified instance within an image set. The DICOM standard permits private data elements for communication of information that cannot be contained in standard data elements. You can create, update, and delete private data elements with the +UpdateImageSetMetadata action. :: + + aws medical-imaging update-image-set-metadata \ + --datastore-id 12345678901234567890123456789012 \ + --image-set-id 53d5fdb05ca4d46ac7ca64b06545c66e \ --latest-version-id 1 \ + --cli-binary-format raw-in-base64-out \ + --force \ --update-image-set-metadata-updates file://metadata-updates.json Contents of ``metadata-updates.json`` :: { "DICOMUpdates": { - "removableAttributes": "eezEuMS4xLjEuMS4xLjEyMzQ1LjEyMzQ1Njc4OTAxMi4xMjMuMTIzNDU2Nzg5MDEyMzQuMTp7SW5zdGFuY2VzOnsxLjEuMS4xLjEuMS4xMjM0NS4xMjM0NTY3ODkwMTIuMTIzLjEyMzQ1Njc4OTAxMjM0LjE6e319fX19fQo=" + "updatableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": {\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"DICOM\": {\"001910F9\": \"97\"},\"DICOMVRs\": {\"001910F9\": \"DS\"}}}}}}}" } } -Note: ``removableAttributes`` is a Base64 encoded JSON string. Here is the unencoded JSON string. +Output:: -{"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1":{"Instances":{"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1":{}}}}}} + { + "latestVersionId": "2", + "imageSetWorkflowStatus": "UPDATING", + "updatedAt": 1680042257.908, + "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e", + "imageSetState": "LOCKED", + "createdAt": 1680027126.436, + "datastoreId": "12345678901234567890123456789012" + } + +**Example 6: To update a private DICOM data element to an instance** + +The following ``update-image-set-metadata`` example shows how to update the value of a private data element belonging to an instance within an image set. :: + + aws medical-imaging update-image-set-metadata \ + --datastore-id 12345678901234567890123456789012 \ + --image-set-id 53d5fdb05ca4d46ac7ca64b06545c66e \ + --latest-version-id 1 \ + --cli-binary-format raw-in-base64-out \ + --force \ + --update-image-set-metadata-updates file://metadata-updates.json + +Contents of ``metadata-updates.json`` :: + + { + "DICOMUpdates": { + "updatableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": {\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"DICOM\": {\"00091001\": \"GE_GENESIS_DD\"}}}}}}}" + } + } Output:: @@ -94,7 +175,39 @@ Output:: "latestVersionId": "2", "imageSetWorkflowStatus": "UPDATING", "updatedAt": 1680042257.908, - "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e", + "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e", + "imageSetState": "LOCKED", + "createdAt": 1680027126.436, + "datastoreId": "12345678901234567890123456789012" + } + +**Example 7: To update a SOPInstanceUID with the force parameter** + +The following ``update-image-set-metadata`` example shows how to update a SOPInstanceUID, using the force parameter to override the DICOM metadata constraints. :: + + aws medical-imaging update-image-set-metadata \ + --datastore-id 12345678901234567890123456789012 \ + --image-set-id 53d5fdb05ca4d46ac7ca64b06545c66e \ + --latest-version-id 1 \ + --cli-binary-format raw-in-base64-out \ + --force \ + --update-image-set-metadata-updates file://metadata-updates.json + +Contents of ``metadata-updates.json`` :: + + { + "DICOMUpdates": { + "updatableAttributes": "{\"SchemaVersion\":1.1,\"Study\":{\"Series\":{\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3656.0\":{\"Instances\":{\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3659.0\":{\"DICOM\":{\"SOPInstanceUID\":\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3659.9\"}}}}}}}" + } + } + +Output:: + + { + "latestVersionId": "2", + "imageSetWorkflowStatus": "UPDATING", + "updatedAt": 1680042257.908, + "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e", "imageSetState": "LOCKED", "createdAt": 1680027126.436, "datastoreId": "12345678901234567890123456789012" diff --git a/awscli/examples/memorydb/create-user.rst b/awscli/examples/memorydb/create-user.rst index 430a23627212..359cf912ef7f 100644 --- a/awscli/examples/memorydb/create-user.rst +++ b/awscli/examples/memorydb/create-user.rst @@ -1,4 +1,4 @@ -**To creat a user** +**To create a user** The following ``create-user`` example creates a new user. :: diff --git a/awscli/examples/networkflowmonitor/create-monitor.rst b/awscli/examples/networkflowmonitor/create-monitor.rst new file mode 100644 index 000000000000..90508cbd60b3 --- /dev/null +++ b/awscli/examples/networkflowmonitor/create-monitor.rst @@ -0,0 +1,19 @@ +**To create a monitor** + +The following ``create-monitor`` example creates a monitor named ``demo`` in the specified account. :: + + aws networkflowmonitor create-monitor \ + --monitor-name demo \ + --local-resources type="AWS::EC2::VPC",identifier="arn:aws:ec2:us-east-1:123456789012:vpc/vpc-03ea55eeda25adbb0" \ + --scope-arn arn:aws:networkflowmonitor:us-east-1:123456789012:scope/e21cda79-30a0-4c12-9299-d8629d76d8cf + +Output:: + + { + "monitorArn": "arn:aws:networkflowmonitor:us-east-1:123456789012:monitor/demo", + "monitorName": "demo", + "monitorStatus": "ACTIVE", + "tags": {} + } + +For more information, see `Create a monitor in Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/create-scope.rst b/awscli/examples/networkflowmonitor/create-scope.rst new file mode 100644 index 000000000000..9e7f3af4883b --- /dev/null +++ b/awscli/examples/networkflowmonitor/create-scope.rst @@ -0,0 +1,16 @@ +**To create a scope** + +The following ``create-scope`` example creates a scope that includes a set of resources for which Network Flow Monitor will generate network traffic metrics. :: + + aws networkflowmonitor create-scope \ + --targets '[{"targetIdentifier":{"targetId":{"accountId":"123456789012"},"targetType":"ACCOUNT"},"region":"us-east-1"}]' + +Output:: + + { + "scopeId": "97626f8d-8a21-4b5d-813a-1a0962dd4615", + "status": "IN_PROGRESS", + "tags": {} + } + +For more information, see `Components and features of Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/delete-monitor.rst b/awscli/examples/networkflowmonitor/delete-monitor.rst new file mode 100644 index 000000000000..1911b20ca793 --- /dev/null +++ b/awscli/examples/networkflowmonitor/delete-monitor.rst @@ -0,0 +1,10 @@ +**To delete a monitor** + +The following ``delete-monitor`` example deletes a monitor named ``demo`` in the specified account. :: + + aws networkflowmonitor delete-monitor \ + --monitor-name demo + +This command produces no output. + +For more information, see `Delete a monitor in Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/delete-scope.rst b/awscli/examples/networkflowmonitor/delete-scope.rst new file mode 100644 index 000000000000..b8e2c8375211 --- /dev/null +++ b/awscli/examples/networkflowmonitor/delete-scope.rst @@ -0,0 +1,10 @@ +**To delete a scope** + +The following ``delete-scope`` example deletes a specified scope. :: + + aws networkflowmonitor delete-scope \ + --scope-id fdc20616-6bb4-4242-a24e-a748e65ca7ac + +This command produces no output. + +For more information, see `Components and features of Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/get-monitor.rst b/awscli/examples/networkflowmonitor/get-monitor.rst new file mode 100644 index 000000000000..e15be2d6c4f5 --- /dev/null +++ b/awscli/examples/networkflowmonitor/get-monitor.rst @@ -0,0 +1,26 @@ +**To retrieve information about a monitor** + +The following ``get-monitor`` example displays information about the monitor named ``demo`` in the specified account. :: + + aws networkflowmonitor get-monitor \ + --monitor-name Demo + +Output:: + + { + "monitorArn": "arn:aws:networkflowmonitor:us-east-1:123456789012:monitor/Demo", + "monitorName": "Demo", + "monitorStatus": "ACTIVE", + "localResources": [ + { + "type": "AWS::EC2::VPC", + "identifier": "arn:aws:ec2:us-east-1:123456789012:vpc/vpc-03ea55eeda25adbb0" + } + ], + "remoteResources": [], + "createdAt": "2024-12-09T12:21:51.616000-06:00", + "modifiedAt": "2024-12-09T12:21:55.412000-06:00", + "tags": {} + } + +For more information, see `Components and features of Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/get-query-results-workload-insights-top-contributors-data.rst b/awscli/examples/networkflowmonitor/get-query-results-workload-insights-top-contributors-data.rst new file mode 100644 index 000000000000..adcdc1f127e8 --- /dev/null +++ b/awscli/examples/networkflowmonitor/get-query-results-workload-insights-top-contributors-data.rst @@ -0,0 +1,30 @@ +**To retrieve the top contributor data on workload insights** + +The following ``get-query-results-workload-insights-top-contributors-data`` example returns the data for the specified query. :: + + aws networkflowmonitor get-query-results-workload-insights-top-contributors-data \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf \ + --query-id cc4f4ab3-3103-33b8-80ff-d6597a0c6cea + +Output:: + + { + "datapoints": [ + { + "timestamps": [ + "2024-12-09T19:00:00+00:00", + "2024-12-09T19:05:00+00:00", + "2024-12-09T19:10:00+00:00" + ], + "values": [ + 259943.0, + 194856.0, + 216432.0 + ], + "label": "use1-az6" + } + ], + "unit": "Bytes" + } + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/get-query-results-workload-insights-top-contributors.rst b/awscli/examples/networkflowmonitor/get-query-results-workload-insights-top-contributors.rst new file mode 100644 index 000000000000..8b8bb1b65107 --- /dev/null +++ b/awscli/examples/networkflowmonitor/get-query-results-workload-insights-top-contributors.rst @@ -0,0 +1,27 @@ +**To retrieve the top contributors on workload insights** + +The following ``get-query-results-workload-insights-top-contributors`` example returns the data for the specified query. :: + + aws networkflowmonitor get-query-results-workload-insights-top-contributors \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf \ + --query-id 1fc423d3-b144-37a6-80e6-e2c7d26eea0c + +Output:: + + { + "topContributors": [ + { + "accountId": "123456789012", + "localSubnetId": "subnet-0a5b30fb95dca2c14", + "localAz": "use1-az6", + "localVpcId": "vpc-03ea55eeda25adbb0", + "localRegion": "us-east-1", + "remoteIdentifier": "", + "value": 908443, + "localSubnetArn": "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-0a5b30fb95dca2c14", + "localVpcArn": "arn:aws:ec2:us-east-1:123456789012:vpc/vpc-03ea55eeda25adbb0" + } + ] + } + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/get-query-status-monitor-top-contributors.rst b/awscli/examples/networkflowmonitor/get-query-status-monitor-top-contributors.rst new file mode 100644 index 000000000000..74acb44bcd32 --- /dev/null +++ b/awscli/examples/networkflowmonitor/get-query-status-monitor-top-contributors.rst @@ -0,0 +1,15 @@ +**To retrieve the status of the query** + +The following ``get-query-status-monitor-top-contributors`` example displays the current status of the query in the specified account. :: + + aws networkflowmonitor get-query-status-monitor-top-contributors \ + --monitor-name Demo \ + --query-id 5398eabd-bc40-3f5f-aba3-bcb639d3c7ca + +Output:: + + { + "status": "SUCCEEDED" + } + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/get-query-status-workload-insights-top-contributors-data.rst b/awscli/examples/networkflowmonitor/get-query-status-workload-insights-top-contributors-data.rst new file mode 100644 index 000000000000..b28892592959 --- /dev/null +++ b/awscli/examples/networkflowmonitor/get-query-status-workload-insights-top-contributors-data.rst @@ -0,0 +1,15 @@ +**To retrieve the status of the query** + +The following ``get-query-status-workload-insights-top-contributors-data`` example displays the current status of the query in the specified account. :: + + aws networkflowmonitor get-query-status-workload-insights-top-contributors-data \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf \ + --query-id 4333754d-8ae1-3f29-b6b7-c36db2e7f8ac + +Output:: + + { + "status": "SUCCEEDED" + } + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/get-query-status-workload-insights-top-contributors.rst b/awscli/examples/networkflowmonitor/get-query-status-workload-insights-top-contributors.rst new file mode 100644 index 000000000000..1b4c4930b9c8 --- /dev/null +++ b/awscli/examples/networkflowmonitor/get-query-status-workload-insights-top-contributors.rst @@ -0,0 +1,15 @@ +**To retrieve the status of the query** + +The following ``get-query-status-workload-insights-top-contributors`` example displays the current status of the query in the specified account. :: + + aws networkflowmonitor get-query-status-workload-insights-top-contributors \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf \ + --query-id f2a87c70-3e5a-362e-8beb-4747d13d8419 + +Output:: + + { + "status": "SUCCEEDED" + } + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/get-scope.rst b/awscli/examples/networkflowmonitor/get-scope.rst new file mode 100644 index 000000000000..cf073a0dcba2 --- /dev/null +++ b/awscli/examples/networkflowmonitor/get-scope.rst @@ -0,0 +1,28 @@ +**To retrieve information about a scope** + +The following ``get-scope`` example displays information about a scope, such as status, tags, name and target details. :: + + aws networkflowmonitor get-scope \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf + +Output:: + + { + "scopeId": "e21cda79-30a0-4c12-9299-d8629d76d8cf", + "status": "SUCCEEDED", + "scopeArn": "arn:aws:networkflowmonitor:us-east-1:123456789012:scope/e21cda79-30a0-4c12-9299-d8629d76d8cf", + "targets": [ + { + "targetIdentifier": { + "targetId": { + "accountId": "123456789012" + }, + "targetType": "ACCOUNT" + }, + "region": "us-east-1" + } + ], + "tags": {} + } + +For more information, see `Components and features of Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/list-monitors.rst b/awscli/examples/networkflowmonitor/list-monitors.rst new file mode 100644 index 000000000000..bb5fac04456e --- /dev/null +++ b/awscli/examples/networkflowmonitor/list-monitors.rst @@ -0,0 +1,19 @@ +**To retrieve a list of monitors** + +The following ``list-monitors`` example returns returns all the monitors in the specified account. :: + + aws networkflowmonitor list-monitors + +Output:: + + { + "monitors": [ + { + "monitorArn": "arn:aws:networkflowmonitor:us-east-1:123456789012:monitor/Demo", + "monitorName": "Demo", + "monitorStatus": "ACTIVE" + } + ] + } + +For more information, see `Components and features of Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/list-scopes.rst b/awscli/examples/networkflowmonitor/list-scopes.rst new file mode 100644 index 000000000000..cb6f8695f68b --- /dev/null +++ b/awscli/examples/networkflowmonitor/list-scopes.rst @@ -0,0 +1,19 @@ +**To retrieve a list of scopes** + +The following ``list-scopes`` example lists all scopes in the specified account. :: + + aws networkflowmonitor list-scopes + +Output:: + + { + "scopes": [ + { + "scopeId": "fdc20616-6bb4-4242-a24e-a748e65ca7ac", + "status": "SUCCEEDED", + "scopeArn": "arn:aws:networkflowmonitor:us-east-1:123456789012:scope/fdc20616-6bb4-4242-a24e-a748e65ca7ac" + } + ] + } + +For more information, see `Components and features of Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/list-tags-for-resource.rst b/awscli/examples/networkflowmonitor/list-tags-for-resource.rst new file mode 100644 index 000000000000..7a93df77040e --- /dev/null +++ b/awscli/examples/networkflowmonitor/list-tags-for-resource.rst @@ -0,0 +1,17 @@ +**To list the tags** + +The following ``list-tags-for-resource`` example returns all the tags associated with the specified resource. :: + + aws networkflowmonitor list-tags-for-resource \ + --resource-arn arn:aws:networkflowmonitor:us-east-1:123456789012:monitor/Demo + +Output:: + + { + "tags": { + "Value": "Production", + "Key": "stack" + } + } + +For more information, see `Tagging your Amazon CloudWatch resources `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/start-query-monitor-top-contributors.rst b/awscli/examples/networkflowmonitor/start-query-monitor-top-contributors.rst new file mode 100644 index 000000000000..bf06a321e278 --- /dev/null +++ b/awscli/examples/networkflowmonitor/start-query-monitor-top-contributors.rst @@ -0,0 +1,18 @@ +**To start a query** + +The following ``start-query-monitor-top-contributors`` example starts the query which returns a query ID to retrieve the top contributors. :: + + aws networkflowmonitor start-query-monitor-top-contributors \ + --monitor-name Demo \ + --start-time 2024-12-09T19:00:00Z \ + --end-time 2024-12-09T19:15:00Z \ + --metric-name DATA_TRANSFERRED \ + --destination-category UNCLASSIFIED + +Output:: + + { + "queryId": "aecd3a88-0283-35b0-a17d-6e944dc8531d" + } + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/start-query-workload-insights-top-contributors-data.rst b/awscli/examples/networkflowmonitor/start-query-workload-insights-top-contributors-data.rst new file mode 100644 index 000000000000..f0bdade153e5 --- /dev/null +++ b/awscli/examples/networkflowmonitor/start-query-workload-insights-top-contributors-data.rst @@ -0,0 +1,18 @@ +**To start a query** + +The following ``start-query-workload-insights-top-contributors-data`` example starts the query which returns a query ID to retrieve the top contributors. :: + + aws networkflowmonitor start-query-workload-insights-top-contributors-data \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf \ + --start-time 2024-12-09T19:00:00Z \ + --end-time 2024-12-09T19:15:00Z \ + --metric-name DATA_TRANSFERRED \ + --destination-category UNCLASSIFIED + +Output:: + + { + "queryId": "cc4f4ab3-3103-33b8-80ff-d6597a0c6cea" + } + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. diff --git a/awscli/examples/networkflowmonitor/start-query-workload-insights-top-contributors.rst b/awscli/examples/networkflowmonitor/start-query-workload-insights-top-contributors.rst new file mode 100644 index 000000000000..2e9f58032e86 --- /dev/null +++ b/awscli/examples/networkflowmonitor/start-query-workload-insights-top-contributors.rst @@ -0,0 +1,18 @@ +**To start a query** + +The following ``start-query-workload-insights-top-contributors`` example starts the query which returns a query ID to retrieve the top contributors. :: + + aws networkflowmonitor start-query-workload-insights-top-contributors \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf \ + --start-time 2024-12-09T19:00:00Z \ + --end-time 2024-12-09T19:15:00Z \ + --metric-name DATA_TRANSFERRED \ + --destination-category UNCLASSIFIED + +Output:: + + { + "queryId": "1fc423d3-b144-37a6-80e6-e2c7d26eea0c" + } + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/stop-query-monitor-top-contributors.rst b/awscli/examples/networkflowmonitor/stop-query-monitor-top-contributors.rst new file mode 100644 index 000000000000..a0584f2bde6d --- /dev/null +++ b/awscli/examples/networkflowmonitor/stop-query-monitor-top-contributors.rst @@ -0,0 +1,11 @@ +**To stop a query** + +The following ``stop-query-monitor-top-contributors`` example stops the query in the specified account. :: + + aws networkflowmonitor stop-query-monitor-top-contributors \ + --monitor-name Demo \ + --query-id aecd3a88-0283-35b0-a17d-6e944dc8531d + +This command produces no output. + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/stop-query-workload-insights-top-contributors-data.rst b/awscli/examples/networkflowmonitor/stop-query-workload-insights-top-contributors-data.rst new file mode 100644 index 000000000000..713a278c14fc --- /dev/null +++ b/awscli/examples/networkflowmonitor/stop-query-workload-insights-top-contributors-data.rst @@ -0,0 +1,11 @@ +**To stop a query** + +The following ``stop-query-workload-insights-top-contributors-data`` example stops the query in the specified account. :: + + aws networkflowmonitor stop-query-workload-insights-top-contributors-data \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf \ + --query-id cc4f4ab3-3103-33b8-80ff-d6597a0c6cea + +This command produces no output. + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. diff --git a/awscli/examples/networkflowmonitor/stop-query-workload-insights-top-contributors.rst b/awscli/examples/networkflowmonitor/stop-query-workload-insights-top-contributors.rst new file mode 100644 index 000000000000..f90e788be97f --- /dev/null +++ b/awscli/examples/networkflowmonitor/stop-query-workload-insights-top-contributors.rst @@ -0,0 +1,11 @@ +**To stop a query** + +The following ``stop-query-workload-insights-top-contributors`` example stops the query in the specified account. :: + + aws networkflowmonitor stop-query-workload-insights-top-contributors \ + --scope-id e21cda79-30a0-4c12-9299-d8629d76d8cf \ + --query-id 1fc423d3-b144-37a6-80e6-e2c7d26eea0c + +This command produces no output. + +For more information, see `Evaluate network flows with workload insights `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/tag-resource.rst b/awscli/examples/networkflowmonitor/tag-resource.rst new file mode 100644 index 000000000000..a974a71740c5 --- /dev/null +++ b/awscli/examples/networkflowmonitor/tag-resource.rst @@ -0,0 +1,11 @@ +**To add a tag to the specified resource** + +The following ``tag-resource`` example adds a tag to the monitor in the specified account. :: + + aws networkflowmonitor tag-resource \ + --resource-arn arn:aws:networkflowmonitor:us-east-1:123456789012:monitor/Demo \ + --tags Key=stack,Value=Production + +This command produces no output. + +For more information, see `Tagging your Amazon CloudWatch resources `__ in the *Amazon CloudWatch User Guide*. diff --git a/awscli/examples/networkflowmonitor/untag-resource.rst b/awscli/examples/networkflowmonitor/untag-resource.rst new file mode 100644 index 000000000000..bc80c4b0a9c1 --- /dev/null +++ b/awscli/examples/networkflowmonitor/untag-resource.rst @@ -0,0 +1,11 @@ +**To remove a tag from the specified resource** + +The following ``untag-resource`` example removes a tag from the monitor in the specified account. :: + + aws networkflowmonitor untag-resource \ + --resource-arn arn:aws:networkflowmonitor:us-east-1:123456789012:monitor/Demo \ + --tag-keys stack + +This command produces no output. + +For more information, see `Tagging your Amazon CloudWatch resources `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkflowmonitor/update-monitor.rst b/awscli/examples/networkflowmonitor/update-monitor.rst new file mode 100644 index 000000000000..a97a288bf801 --- /dev/null +++ b/awscli/examples/networkflowmonitor/update-monitor.rst @@ -0,0 +1,21 @@ +**To update an existing monitor** + +The following ``update-monitor`` example updates the monitor named ``Demo`` in the specified account. :: + + aws networkflowmonitor update-monitor \ + --monitor-name Demo \ + --local-resources-to-add type="AWS::EC2::VPC",identifier="arn:aws:ec2:us-east-1:123456789012:vpc/vpc-048d08dfbec623f94" + +Output:: + + { + "monitorArn": "arn:aws:networkflowmonitor:us-east-1:123456789012:monitor/Demo", + "monitorName": "Demo", + "monitorStatus": "ACTIVE", + "tags": { + "Value": "Production", + "Key": "stack" + } + } + +For more information, see `Components and features of Network Flow Monitor `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkmanager/create-core-network.rst b/awscli/examples/networkmanager/create-core-network.rst index ae811ead4907..6817bcce2d6a 100644 --- a/awscli/examples/networkmanager/create-core-network.rst +++ b/awscli/examples/networkmanager/create-core-network.rst @@ -3,17 +3,17 @@ The following ``create-core-network`` example creates a core network using an optional description and tags within an AWS Cloud WAN global network. :: aws networkmanager create-core-network \ - --global-network-id global-network-0d59060f16a73bc41\ - --description "Main headquarters location"\ + --global-network-id global-network-cdef-EXAMPLE22222 \ + --description "Main headquarters location" \ --tags Key=Name,Value="New York City office" Output:: { "CoreNetwork": { - "GlobalNetworkId": "global-network-0d59060f16a73bc41", - "CoreNetworkId": "core-network-0fab62fe438d94db6", - "CoreNetworkArn": "arn:aws:networkmanager::987654321012:core-network/core-network-0fab62fe438d94db6", + "GlobalNetworkId": "global-network-cdef-EXAMPLE22222", + "CoreNetworkId": "core-network-cdef-EXAMPLE33333", + "CoreNetworkArn": "arn:aws:networkmanager::987654321012:core-network/core-network-cdef-EXAMPLE33333", "Description": "Main headquarters location", "CreatedAt": "2022-01-10T19:53:59+00:00", "State": "AVAILABLE", @@ -26,4 +26,4 @@ Output:: } } -For more information, see `Core networks `__ in the *AWS Cloud WAN User Guide*. \ No newline at end of file +For more information, see `Global and core networks `__ in the *AWS Cloud WAN User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkmanager/delete-bucket-analytics-configuration.rst b/awscli/examples/networkmanager/delete-bucket-analytics-configuration.rst index 47d350e423f5..51c3d0a5f88a 100755 --- a/awscli/examples/networkmanager/delete-bucket-analytics-configuration.rst +++ b/awscli/examples/networkmanager/delete-bucket-analytics-configuration.rst @@ -3,7 +3,7 @@ The following ``delete-bucket-analytics-configuration`` example removes the analytics configuration for the specified bucket and ID. :: aws s3api delete-bucket-analytics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 1 This command produces no output. \ No newline at end of file diff --git a/awscli/examples/networkmanager/delete-bucket-metrics-configuration.rst b/awscli/examples/networkmanager/delete-bucket-metrics-configuration.rst index 325d31ce2dc7..6b428609f898 100755 --- a/awscli/examples/networkmanager/delete-bucket-metrics-configuration.rst +++ b/awscli/examples/networkmanager/delete-bucket-metrics-configuration.rst @@ -3,7 +3,7 @@ The following ``delete-bucket-metrics-configuration`` example removes the metrics configuration for the specified bucket and ID. :: aws s3api delete-bucket-metrics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 123 This command produces no output. \ No newline at end of file diff --git a/awscli/examples/networkmanager/delete-public-access-block.rst b/awscli/examples/networkmanager/delete-public-access-block.rst index 563a8b5069b9..54fd0ee6dc40 100755 --- a/awscli/examples/networkmanager/delete-public-access-block.rst +++ b/awscli/examples/networkmanager/delete-public-access-block.rst @@ -3,6 +3,6 @@ The following ``delete-public-access-block`` example removes the block public access configuration on the specified bucket. :: aws s3api delete-public-access-block \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket This command produces no output. diff --git a/awscli/examples/networkmanager/get-bucket-analytics-configuration.rst b/awscli/examples/networkmanager/get-bucket-analytics-configuration.rst index e9e0bba7eb41..b6f1ffe97f48 100755 --- a/awscli/examples/networkmanager/get-bucket-analytics-configuration.rst +++ b/awscli/examples/networkmanager/get-bucket-analytics-configuration.rst @@ -3,7 +3,7 @@ The following ``get-bucket-analytics-configuration`` example displays the analytics configuration for the specified bucket and ID. :: aws s3api get-bucket-analytics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 1 Output:: diff --git a/awscli/examples/networkmanager/get-bucket-metrics-configuration.rst b/awscli/examples/networkmanager/get-bucket-metrics-configuration.rst index d0628a55f7e2..bfed5f1804de 100755 --- a/awscli/examples/networkmanager/get-bucket-metrics-configuration.rst +++ b/awscli/examples/networkmanager/get-bucket-metrics-configuration.rst @@ -3,7 +3,7 @@ The following ``get-bucket-metrics-configuration`` example displays the metrics configuration for the specified bucket and ID. :: aws s3api get-bucket-metrics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 123 Output:: diff --git a/awscli/examples/networkmanager/get-object-retention.rst b/awscli/examples/networkmanager/get-object-retention.rst index ebd67e632b54..d2930010a993 100755 --- a/awscli/examples/networkmanager/get-object-retention.rst +++ b/awscli/examples/networkmanager/get-object-retention.rst @@ -3,7 +3,7 @@ The following ``get-object-retention`` example retrieves the object retention configuration for the specified object. :: aws s3api get-object-retention \ - --bucket my-bucket-with-object-lock \ + --bucket amzn-s3-demo-bucket-with-object-lock \ --key doc1.rtf Output:: diff --git a/awscli/examples/networkmanager/get-public-access-block.rst b/awscli/examples/networkmanager/get-public-access-block.rst index 8bf9dcdbea6d..abd1b972aac5 100755 --- a/awscli/examples/networkmanager/get-public-access-block.rst +++ b/awscli/examples/networkmanager/get-public-access-block.rst @@ -2,7 +2,7 @@ The following ``get-public-access-block`` example displays the block public access configuration for the specified bucket. :: - aws s3api get-public-access-block --bucket my-bucket + aws s3api get-public-access-block --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/networkmanager/get-vpc-attachment.rst b/awscli/examples/networkmanager/get-vpc-attachment.rst index c5d2d00b128d..7d2c20d043b6 100644 --- a/awscli/examples/networkmanager/get-vpc-attachment.rst +++ b/awscli/examples/networkmanager/get-vpc-attachment.rst @@ -1,4 +1,4 @@ -**To get an a VPC attachment** +**To get a VPC attachment** The following ``get-vpc-attachment`` example returns information about a VPC attachment. :: diff --git a/awscli/examples/networkmanager/list-bucket-analytics-configurations.rst b/awscli/examples/networkmanager/list-bucket-analytics-configurations.rst index cedf797292d1..93d5131d76cc 100755 --- a/awscli/examples/networkmanager/list-bucket-analytics-configurations.rst +++ b/awscli/examples/networkmanager/list-bucket-analytics-configurations.rst @@ -3,7 +3,7 @@ The following ``list-bucket-analytics-configurations`` retrieves a list of analytics configurations for the specified bucket. :: aws s3api list-bucket-analytics-configurations \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/networkmanager/list-bucket-metrics-configurations.rst b/awscli/examples/networkmanager/list-bucket-metrics-configurations.rst index 769c4d7404b6..79145dd11cc0 100755 --- a/awscli/examples/networkmanager/list-bucket-metrics-configurations.rst +++ b/awscli/examples/networkmanager/list-bucket-metrics-configurations.rst @@ -3,7 +3,7 @@ The following ``list-bucket-metrics-configurations`` example retrieves a list of metrics configurations for the specified bucket. :: aws s3api list-bucket-metrics-configurations \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/networkmanager/put-bucket-metrics-configuration.rst b/awscli/examples/networkmanager/put-bucket-metrics-configuration.rst index 024118e03e96..7e6b3123eab3 100755 --- a/awscli/examples/networkmanager/put-bucket-metrics-configuration.rst +++ b/awscli/examples/networkmanager/put-bucket-metrics-configuration.rst @@ -3,7 +3,7 @@ The following ``put-bucket-metrics-configuration`` example sets a metric configuration with ID 123 for the specified bucket. :: aws s3api put-bucket-metrics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 123 \ --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}' diff --git a/awscli/examples/networkmanager/put-object-retention.rst b/awscli/examples/networkmanager/put-object-retention.rst index f2fc164f16cf..092a22937b15 100755 --- a/awscli/examples/networkmanager/put-object-retention.rst +++ b/awscli/examples/networkmanager/put-object-retention.rst @@ -3,7 +3,7 @@ The following ``put-object-retention`` example sets an object retention configuration for the specified object until 2025-01-01. :: aws s3api put-object-retention \ - --bucket my-bucket-with-object-lock \ + --bucket amzn-s3-demo-bucket-with-object-lock \ --key doc1.rtf \ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }' diff --git a/awscli/examples/networkmanager/put-public-access-block.rst b/awscli/examples/networkmanager/put-public-access-block.rst index f06bf915f85d..5d082bc98d34 100755 --- a/awscli/examples/networkmanager/put-public-access-block.rst +++ b/awscli/examples/networkmanager/put-public-access-block.rst @@ -3,7 +3,7 @@ The following ``put-public-access-block`` example sets a restrictive block public access configuration for the specified bucket. :: aws s3api put-public-access-block \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true" This command produces no output. diff --git a/awscli/examples/networkmonitor/create-monitor.rst b/awscli/examples/networkmonitor/create-monitor.rst new file mode 100644 index 000000000000..cdc595852cd4 --- /dev/null +++ b/awscli/examples/networkmonitor/create-monitor.rst @@ -0,0 +1,66 @@ +**Example 1: To create a network monitor with an aggregation period** + +The following ``create-monitor`` example creates a monitor named ``Example_NetworkMonitor`` with an ``aggregationPeriod`` set to ``30`` seconds. The initial ``state`` of the monitor will be ``INACTIVE`` because there are no probes associated with it. The state changes to ``ACTIVE`` only when probes are added. You can use the `update-monitor `__ or `create-probe `__ commands to add probes to this monitor. :: + + aws networkmonitor create-monitor \ + --monitor-name Example_NetworkMonitor \ + --aggregation-period 30 + +Output:: + + { + "monitorArn": "arn:aws:networkmonitor:region:111122223333:monitor/Example_NetworkMonitor", + "monitorName": "Example_NetworkMonitor", + "state": "INACTIVE", + "aggregationPeriod": 30, + "tags": {} + } + +For more information, see `How Amazon CloudWatch Network Monitor Works `__ in the *Amazon CloudWatch User Guide*. + +**Example 2: To create a network monitor with a probe using TCP and also includes tags** + +The following ``create-monitor`` example creates a monitor named ``Example_NetworkMonitor``. The command also creates one probe that uses the ``ICMP`` protocol and includes tags. Since no ``aggregationPeriod`` is passed in the request, ``60`` seconds is set as the default. The ``state`` of the monitor with the probe will be ``PENDING`` until the monitor is ``ACTIVE``. This might take several minutes, at which point the ``state`` will change to ``ACTIVE``, and you can start viewing CloudWatch metrics. :: + + aws networkmonitor create-monitor \ + --monitor-name Example_NetworkMonitor \ + --probes sourceArn=arn:aws:ec2:region:111122223333:subnet/subnet-id,destination=10.0.0.100,destinationPort=80,protocol=TCP,packetSize=56,probeTags={Name=Probe1} \ + --tags Monitor=Monitor1 + +Output:: + + { + "monitorArn": "arn:aws:networkmonitor:region111122223333:monitor/Example_NetworkMonitor", + "monitorName": "Example_NetworkMonitor", + "state": "PENDING", + "aggregationPeriod": 60, + "tags": { + "Monitor": "Monitor1" + } + } + +For more information, see `How Amazon CloudWatch Network Monitor Works `__ in the *Amazon CloudWatch User Guide*. + +**Example 3: To create a network monitor with a probe using ICMP and also includes tags** + +The following ``create-monitor`` example creates a monitor named ``Example_NetworkMonitor`` with an ``aggregationPeriod`` of ``30`` seconds. The command also creates one probe that uses the ``ICMP`` protocol and includes tags. Since no ``aggregationPeriod`` is passed in the request, ``60`` seconds is set as the default. The ``state`` of the monitor with the probe will be ``PENDING`` until the monitor is ``ACTIVE``. This might take several minutes, at which point the ``state`` will change to ``ACTIVE``, and you can start viewing CloudWatch metrics. :: + + aws networkmonitor create-monitor \ + --monitor-name Example_NetworkMonitor \ + --aggregation-period 30 \ + --probes sourceArn=arn:aws:ec2:region111122223333:subnet/subnet-id,destination=10.0.0.100,protocol=ICMP,packetSize=56,probeTags={Name=Probe1} \ + --tags Monitor=Monitor1 + +Output:: + + { + "monitorArn": "arn:aws:networkmonitor:region:111122223333:monitor/Example_NetworkMonitor", + "monitorName": "Example_NetworkMonitor", + "state": "PENDING", + "aggregationPeriod": 30, + "tags": { + "Monitor": "Monitor1" + } + } + +For more information, see `How Amazon CloudWatch Network Monitor Works `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkmonitor/get-monitor.rst b/awscli/examples/networkmonitor/get-monitor.rst new file mode 100644 index 000000000000..8971977d43ab --- /dev/null +++ b/awscli/examples/networkmonitor/get-monitor.rst @@ -0,0 +1,21 @@ +**To get monitor information** + +The following ``get-monitor`` example gets information about a monitor named ``Example_NetworkMonitor``. :: + + aws networkmonitor get-monitor \ + --monitor-name Example_NetworkMonitor + +Output:: + + { + "monitorArn": "arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor", + "monitorName": "Example_NetworkMonitor", + "state": "ACTIVE", + "aggregationPeriod": 60, + "tags": {}, + "probes": [], + "createdAt": "2024-04-01T17:58:07.211000-04:00", + "modifiedAt": "2024-04-01T17:58:07.211000-04:00" + } + +For more information, see `How Amazon CloudWatch Network Monitor Works `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkmonitor/list-tags-for-resource.rst b/awscli/examples/networkmonitor/list-tags-for-resource.rst new file mode 100644 index 000000000000..90dd21f74b99 --- /dev/null +++ b/awscli/examples/networkmonitor/list-tags-for-resource.rst @@ -0,0 +1,17 @@ +**To list tags for a resource** + +The following ``list-tags-for-resource`` example returns a list of the tags for a monitor named ``Example_NetworkMonitor``. :: + + aws networkmonitor list-tags-for-resource \ + --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor + +Output:: + + { + "tags": { + "Environment": "Dev", + "Application": "PetStore" + } + } + +For more information, see `How Amazon CloudWatch Network Monitor Works `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkmonitor/tag-resource.rst b/awscli/examples/networkmonitor/tag-resource.rst new file mode 100644 index 000000000000..f19860563517 --- /dev/null +++ b/awscli/examples/networkmonitor/tag-resource.rst @@ -0,0 +1,11 @@ +**To tag a resource** + +The following ``tag-resource`` example tags a monitor named ``Example_NetworkMonitor`` with ``Environment=Dev`` and ``Application=PetStore`` tags. :: + + aws networkmonitor tag-resource \ + --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor \ + --tags Environment=Dev,Application=PetStore + +This command produces no output. + +For more information, see `How Amazon CloudWatch Network Monitor Works `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/networkmonitor/untag-resource.rst b/awscli/examples/networkmonitor/untag-resource.rst new file mode 100644 index 000000000000..0d4930688471 --- /dev/null +++ b/awscli/examples/networkmonitor/untag-resource.rst @@ -0,0 +1,11 @@ +**To untag a resource** + +The following ``untag-resource`` example removes a ``tag-keys`` parameter with the key-value pair of ``Environment Application`` from its association with a monitor named ``Example_NetworkMonitor``. :: + + aws networkmonitor untag-resource \ + --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor \ + --tag-keys Environment Application + +This command produces no output. + +For more information, see `How Amazon CloudWatch Network Monitor Works `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/get-eula.rst b/awscli/examples/nimble/get-eula.rst deleted file mode 100644 index 47cac3d7e23c..000000000000 --- a/awscli/examples/nimble/get-eula.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To get information about your studio** - -The following ``get-eula`` example lists the information about an EULA. :: - - aws nimble get-eula \ - --eula-id "EULAid" - -Output:: - - { - "eula": { - "content": "https://www.mozilla.org/en-US/MPL/2.0/", - "createdAt": "2021-04-20T16:45:23+00:00", - "eulaId": "gJZLygd-Srq_5NNbSfiaLg", - "name": "Mozilla-FireFox", - "updatedAt": "2021-04-20T16:45:23+00:00" - } - } - -For more information, see `Accept the EULA `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/get-launch-profile-details.rst b/awscli/examples/nimble/get-launch-profile-details.rst deleted file mode 100644 index b4d4aa271cab..000000000000 --- a/awscli/examples/nimble/get-launch-profile-details.rst +++ /dev/null @@ -1,154 +0,0 @@ -**To list the available widgets** - -The following ``get-launch-profile-details`` example lists the details about a launch profile. :: - - aws nimble get-launch-profile-details \ - --studio-id "StudioID" \ - --launch-profile-id "LaunchProfileID" - -Output:: - - { - "launchProfile": { - "arn": "arn:aws:nimble:us-west-2:123456789012:launch-profile/yeG7lDwNQEiwNTRT7DrV7Q", - "createdAt": "2022-01-27T21:18:59+00:00", - "createdBy": "AROA3OO2NEHCCYRNDDIFT:i-EXAMPLE11111", - "description": "The Launch Profile for the Render workers created by StudioBuilder.", - "ec2SubnetIds": [ - "subnet-EXAMPLE11111" - ], - "launchProfileId": "yeG7lDwNQEiwNTRT7DrV7Q", - "launchProfileProtocolVersions": [ - "2021-03-31" - ], - "name": "RenderWorker-Default", - "state": "READY", - "statusCode": "LAUNCH_PROFILE_CREATED", - "statusMessage": "Launch Profile has been created", - "streamConfiguration": { - "clipboardMode": "ENABLED", - "ec2InstanceTypes": [ - "g4dn.4xlarge", - "g4dn.8xlarge" - ], - "maxSessionLengthInMinutes": 690, - "maxStoppedSessionLengthInMinutes": 0, - "streamingImageIds": [ - "Cw_jXnp1QcSSXhE2hkNRoQ", - "YGXAqgoWTnCNSV8VP20sHQ" - ] - }, - "studioComponentIds": [ - "_hR_-RaAReSOjAnLakbX7Q", - "vQ5w_TbIRayPkAZgcbyYRA", - "ZQuMxN99Qfa_Js6ma9TwdA", - "45KjOSPPRzK2OyvpCuQ6qw" - ], - "tags": { - "resourceArn": "arn:aws:nimble:us-west-2:123456789012:launch-profile/yeG7lDwNQEiwNTRT7DrV7Q" - }, - "updatedAt": "2022-01-27T21:19:13+00:00", - "updatedBy": "AROA3OO2NEHCCYRNDDIFT:i-00b98256b04d9e989", - "validationResults": [ - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_SUBNET_ASSOCIATION" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_NETWORK_ACL_ASSOCIATION" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_SECURITY_GROUP_ASSOCIATION" - } - ] - }, - "streamingImages": [ - { - "arn": "arn:aws:nimble:us-west-2:123456789012:streaming-image/Cw_jXnp1QcSSXhE2hkNRoQ", - "description": "Base windows image for NimbleStudio", - "ec2ImageId": "ami-EXAMPLE11111", - "eulaIds": [ - "gJZLygd-Srq_5NNbSfiaLg", - "ggK2eIw6RQyt8PIeeOlD3g", - "a-D9Wc0VQCKUfxAinCDxaw", - "RvoNmVXiSrS4LhLTb6ybkw", - "wtp85BcSTa2NZeNRnMKdjw", - "Rl-J0fM5Sl2hyIiwWIV6hw" - ], - "name": "NimbleStudioWindowsStreamImage", - "owner": "amazon", - "platform": "WINDOWS", - "state": "READY", - "streamingImageId": "Cw_jXnp1QcSSXhE2hkNRoQ", - "tags": { - "resourceArn": "arn:aws:nimble:us-west-2:123456789012:streaming-image/Cw_jXnp1QcSSXhE2hkNRoQ" - } - }, - { - "arn": "arn:aws:nimble:us-west-2:123456789012:streaming-image/YGXAqgoWTnCNSV8VP20sHQ", - "description": "Base linux image for NimbleStudio", - "ec2ImageId": "ami-EXAMPLE11111", - "eulaIds": [ - "gJZLygd-Srq_5NNbSfiaLg", - "ggK2eIw6RQyt8PIeeOlD3g", - "a-D9Wc0VQCKUfxAinCDxaw", - "RvoNmVXiSrS4LhLTb6ybkw", - "wtp85BcSTa2NZeNRnMKdjw", - "Rl-J0fM5Sl2hyIiwWIV6hw" - ], - "name": "NimbleStudioLinuxStreamImage", - "owner": "amazon", - "platform": "LINUX", - "state": "READY", - "streamingImageId": "YGXAqgoWTnCNSV8VP20sHQ", - "tags": { - "resourceArn": "arn:aws:nimble:us-west-2:123456789012:streaming-image/YGXAqgoWTnCNSV8VP20sHQ" - } - } - ], - "studioComponentSummaries": [ - { - "description": "FSx for Windows", - "name": "FSxWindows", - "studioComponentId": "ZQuMxN99Qfa_Js6ma9TwdA", - "subtype": "AMAZON_FSX_FOR_WINDOWS", - "type": "SHARED_FILE_SYSTEM" - }, - { - "description": "Instance configuration studio component.", - "name": "InstanceConfiguration", - "studioComponentId": "vQ5w_TbIRayPkAZgcbyYRA", - "subtype": "CUSTOM", - "type": "CUSTOM" - }, - { - "name": "ActiveDirectory", - "studioComponentId": "_hR_-RaAReSOjAnLakbX7Q", - "subtype": "AWS_MANAGED_MICROSOFT_AD", - "type": "ACTIVE_DIRECTORY" - }, - { - "description": "Render farm running Deadline", - "name": "RenderFarm", - "studioComponentId": "45KjOSPPRzK2OyvpCuQ6qw", - "subtype": "CUSTOM", - "type": "COMPUTE_FARM" - } - ] - } - -For more information, see `Creating launch profiles `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/get-launch-profile.rst b/awscli/examples/nimble/get-launch-profile.rst deleted file mode 100644 index 554bfbb5eecb..000000000000 --- a/awscli/examples/nimble/get-launch-profile.rst +++ /dev/null @@ -1,79 +0,0 @@ -**To list the available widgets** - -The following ``get-launch-profile`` example lists information about a launch profile. :: - - aws nimble get-launch-profile \ - --studio-id "StudioID" \ - --launch-profile-id "LaunchProfileID" - -Output:: - - { - "launchProfile": { - "arn": "arn:aws:nimble:us-west-2:123456789012:launch-profile/yeG7lDwNQEiwNTRT7DrV7Q", - "createdAt": "2022-01-27T21:18:59+00:00", - "createdBy": "AROA3OO2NEHCCYRNDDIFT:i-EXAMPLE11111", - "description": "The Launch Profile for the Render workers created by StudioBuilder.", - "ec2SubnetIds": [ - "subnet-EXAMPLE11111" - ], - "launchProfileId": "yeG7lDwNQEiwNTRT7DrV7Q", - "launchProfileProtocolVersions": [ - "2021-03-31" - ], - "name": "RenderWorker-Default", - "state": "READY", - "statusCode": "LAUNCH_PROFILE_CREATED", - "statusMessage": "Launch Profile has been created", - "streamConfiguration": { - "clipboardMode": "ENABLED", - "ec2InstanceTypes": [ - "g4dn.4xlarge", - "g4dn.8xlarge" - ], - "maxSessionLengthInMinutes": 690, - "maxStoppedSessionLengthInMinutes": 0, - "streamingImageIds": [ - "Cw_jXnp1QcSSXhE2hkNRoQ", - "YGXAqgoWTnCNSV8VP20sHQ" - ] - }, - "studioComponentIds": [ - "_hR_-RaAReSOjAnLakbX7Q", - "vQ5w_TbIRayPkAZgcbyYRA", - "ZQuMxN99Qfa_Js6ma9TwdA", - "45KjOSPPRzK2OyvpCuQ6qw" - ], - "tags": {}, - "updatedAt": "2022-01-27T21:19:13+00:00", - "updatedBy": "AROA3OO2NEHCCYRNDDIFT:i-00b98256b04d9e989", - "validationResults": [ - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_SUBNET_ASSOCIATION" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_NETWORK_ACL_ASSOCIATION" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_SECURITY_GROUP_ASSOCIATION" - } - ] - } - } - -For more information, see `Creating launch profiles `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/get-studio.rst b/awscli/examples/nimble/get-studio.rst deleted file mode 100644 index 1cf82fdb6888..000000000000 --- a/awscli/examples/nimble/get-studio.rst +++ /dev/null @@ -1,33 +0,0 @@ -**To get information about your studio** - -The following ``get-studio`` example lists the studios in your AWS account. :: - - aws nimble get-studio \ - --studio-id "StudioID" - -Output:: - - { - "studio": { - "adminRoleArn": "arn:aws:iam::123456789012:role/studio-admin-role", - "arn": "arn:aws:nimble:us-west-2:123456789012:studio/stid-EXAMPLE11111", - "createdAt": "2022-01-27T20:29:35+00:00", - "displayName": "studio-name", - "homeRegion": "us-west-2", - "ssoClientId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", - "state": "READY", - "statusCode": "STUDIO_CREATED", - "statusMessage": "The studio has been created successfully ", - "studioEncryptionConfiguration": { - "keyType": "AWS_OWNED_KEY" - }, - "studioId": "us-west-2:stid-EXAMPLE11111", - "studioName": "studio-name", - "studioUrl": "https://studio-name.nimblestudio.us-west-2.amazonaws.com", - "tags": {}, - "updatedAt": "2022-01-27T20:29:37+00:00", - "userRoleArn": "arn:aws:iam::123456789012:role/studio-user-role" - } - } - -For more information, see `What is Amazon Nimble Studio? `__ in the *Amazon Nimble Studio User Guide*. diff --git a/awscli/examples/nimble/list-eula-acceptances.rst b/awscli/examples/nimble/list-eula-acceptances.rst deleted file mode 100644 index 96b68500e417..000000000000 --- a/awscli/examples/nimble/list-eula-acceptances.rst +++ /dev/null @@ -1,57 +0,0 @@ -**To list the available widgets** - -The following ``list-eula-acceptances`` example lists the accepted EULAs in your AWS account. :: - - aws nimble list-eula-acceptances \ - --studio-id "StudioID" - -Output:: - - { - "eulaAcceptances": [ - { - "acceptedAt": "2022-01-28T17:44:35+00:00", - "acceptedBy": "92677b4b19-e9fd012a-94ad-4f16-9866-c69a63ab6486", - "accepteeId": "us-west-2:stid-nyoqq12fteqy1x48", - "eulaAcceptanceId": "V0JlpZQaSx6yHcUuX0qfQw", - "eulaId": "Rl-J0fM5Sl2hyIiwWIV6hw" - }, - { - "acceptedAt": "2022-01-28T17:44:35+00:00", - "acceptedBy": "92677b4b19-e9fd012a-94ad-4f16-9866-c69a63ab6486", - "accepteeId": "us-west-2:stid-nyoqq12fteqy1x48", - "eulaAcceptanceId": "YY_uDFW-SVibc627qbug0Q", - "eulaId": "RvoNmVXiSrS4LhLTb6ybkw" - }, - { - "acceptedAt": "2022-01-28T17:44:35+00:00", - "acceptedBy": "92677b4b19-e9fd012a-94ad-4f16-9866-c69a63ab6486", - "accepteeId": "us-west-2:stid-nyoqq12fteqy1x48", - "eulaAcceptanceId": "ovO87PnhQ4-MpttiL5uN6Q", - "eulaId": "a-D9Wc0VQCKUfxAinCDxaw" - }, - { - "acceptedAt": "2022-01-28T17:44:35+00:00", - "acceptedBy": "92677b4b19-e9fd012a-94ad-4f16-9866-c69a63ab6486", - "accepteeId": "us-west-2:stid-nyoqq12fteqy1x48", - "eulaAcceptanceId": "5YeXje4yROamuTESGvqIAQ", - "eulaId": "gJZLygd-Srq_5NNbSfiaLg" - }, - { - "acceptedAt": "2022-01-28T17:44:35+00:00", - "acceptedBy": "92677b4b19-e9fd012a-94ad-4f16-9866-c69a63ab6486", - "accepteeId": "us-west-2:stid-nyoqq12fteqy1x48", - "eulaAcceptanceId": "W1sIn8PtScqeJEn8sxxhgw", - "eulaId": "ggK2eIw6RQyt8PIeeOlD3g" - }, - { - "acceptedAt": "2022-01-28T17:44:35+00:00", - "acceptedBy": "92677b4b19-e9fd012a-94ad-4f16-9866-c69a63ab6486", - "accepteeId": "us-west-2:stid-nyoqq12fteqy1x48", - "eulaAcceptanceId": "Zq9KNEQPRMWJ7FolSoQgUA", - "eulaId": "wtp85BcSTa2NZeNRnMKdjw" - } - ] - } - -For more information, see `Accept the EULA `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/list-eulas.rst b/awscli/examples/nimble/list-eulas.rst deleted file mode 100644 index 08798a967813..000000000000 --- a/awscli/examples/nimble/list-eulas.rst +++ /dev/null @@ -1,77 +0,0 @@ -**To list the available widgets** - -The following ``list-eulas`` example lists the EULAs in your AWS account. :: - - aws nimble list-eulas - -Output:: - - { - "eulas": [ - { - "content": "https://www.mozilla.org/en-US/MPL/2.0/", - "createdAt": "2021-04-20T16:45:23+00:00", - "eulaId": "gJZLygd-Srq_5NNbSfiaLg", - "name": "Mozilla-FireFox", - "updatedAt": "2021-04-20T16:45:23+00:00" - }, - { - "content": "https://www.awsthinkbox.com/end-user-license-agreement", - "createdAt": "2021-04-20T16:45:24+00:00", - "eulaId": "RvoNmVXiSrS4LhLTb6ybkw", - "name": "Thinkbox-Deadline", - "updatedAt": "2021-04-20T16:45:24+00:00" - }, - { - "content": "https://www.videolan.org/legal.html", - "createdAt": "2021-04-20T16:45:24+00:00", - "eulaId": "Rl-J0fM5Sl2hyIiwWIV6hw", - "name": "Videolan-VLC", - "updatedAt": "2021-04-20T16:45:24+00:00" - }, - { - "content": "https://code.visualstudio.com/license", - "createdAt": "2021-04-20T16:45:23+00:00", - "eulaId": "ggK2eIw6RQyt8PIeeOlD3g", - "name": "Microsoft-VSCode", - "updatedAt": "2021-04-20T16:45:23+00:00" - }, - { - "content": "https://darbyjohnston.github.io/DJV/legal.html#License", - "createdAt": "2021-04-20T16:45:23+00:00", - "eulaId": "wtp85BcSTa2NZeNRnMKdjw", - "name": "DJV-DJV", - "updatedAt": "2021-04-20T16:45:23+00:00" - }, - { - "content": "https://www.sidefx.com/legal/license-agreement/", - "createdAt": "2021-04-20T16:45:24+00:00", - "eulaId": "uu2VDLo-QJeIGWWLBae_UA", - "name": "SideFX-Houdini", - "updatedAt": "2021-04-20T16:45:24+00:00" - }, - { - "content": "https://www.chaosgroup.com/eula", - "createdAt": "2021-04-20T16:45:23+00:00", - "eulaId": "L0HS4P3CRYKVXc2J2LO7Vw", - "name": "ChaosGroup-Vray", - "updatedAt": "2021-04-20T16:45:23+00:00" - }, - { - "content": "https://www.foundry.com/eula", - "createdAt": "2021-04-20T16:45:23+00:00", - "eulaId": "SAuhfHmmSAeUuq3wsMiMlw", - "name": "Foundry-Nuke", - "updatedAt": "2021-04-20T16:45:23+00:00" - }, - { - "content": "https://download.blender.org/release/GPL3-license.txt", - "createdAt": "2021-04-20T16:45:23+00:00", - "eulaId": "a-D9Wc0VQCKUfxAinCDxaw", - "name": "BlenderFoundation-Blender", - "updatedAt": "2021-04-20T16:45:23+00:00" - } - ] - } - -For more information, see `Accept the EULA `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/list-launch-profiles.rst b/awscli/examples/nimble/list-launch-profiles.rst deleted file mode 100644 index ab0d2d9cf701..000000000000 --- a/awscli/examples/nimble/list-launch-profiles.rst +++ /dev/null @@ -1,146 +0,0 @@ -**To list the available widgets** - -The following ``list-launch-profiles`` example lists the launch profiles in your AWS account. :: - - aws nimble list-launch-profiles \ - --studio-id "StudioID" - -Output:: - - { - "launchProfiles": [ - { - "arn": "arn:aws:nimble:us-west-2:123456789012:launch-profile/yeG7lDwNQEiwNTRT7DrV7Q", - "createdAt": "2022-01-27T21:18:59+00:00", - "createdBy": "AROA3OO2NEHCCYRNDDIFT:i-EXAMPLE11111", - "description": "The Launch Profile for the Render workers created by StudioBuilder.", - "ec2SubnetIds": [ - "subnet-EXAMPLE11111" - ], - "launchProfileId": "yeG7lDwNQEiwNTRT7DrV7Q", - "launchProfileProtocolVersions": [ - "2021-03-31" - ], - "name": "RenderWorker-Default", - "state": "READY", - "statusCode": "LAUNCH_PROFILE_CREATED", - "statusMessage": "Launch Profile has been created", - "streamConfiguration": { - "clipboardMode": "ENABLED", - "ec2InstanceTypes": [ - "g4dn.4xlarge", - "g4dn.8xlarge" - ], - "maxSessionLengthInMinutes": 690, - "maxStoppedSessionLengthInMinutes": 0, - "streamingImageIds": [ - "Cw_jXnp1QcSSXhE2hkNRoQ", - "YGXAqgoWTnCNSV8VP20sHQ" - ] - }, - "studioComponentIds": [ - "_hR_-RaAReSOjAnLakbX7Q", - "vQ5w_TbIRayPkAZgcbyYRA", - "ZQuMxN99Qfa_Js6ma9TwdA", - "45KjOSPPRzK2OyvpCuQ6qw" - ], - "tags": {}, - "updatedAt": "2022-01-27T21:19:13+00:00", - "updatedBy": "AROA3OO2NEHCCYRNDDIFT:i-EXAMPLE11111", - "validationResults": [ - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_SUBNET_ASSOCIATION" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_NETWORK_ACL_ASSOCIATION" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_SECURITY_GROUP_ASSOCIATION" - } - ] - }, - { - "arn": "arn:aws:nimble:us-west-2:123456789012:launch-profile/jDCIm1jRSaa9e44PZ3w7gg", - "createdAt": "2022-01-27T21:19:26+00:00", - "createdBy": "AROA3OO2NEHCCYRNDDIFT:i-EXAMPLE11111", - "description": "This Workstation Launch Profile was created by StudioBuilder", - "ec2SubnetIds": [ - "subnet-046f4205ae535b2cc" - ], - "launchProfileId": "jDCIm1jRSaa9e44PZ3w7gg", - "launchProfileProtocolVersions": [ - "2021-03-31" - ], - "name": "Workstation-Default", - "state": "READY", - "statusCode": "LAUNCH_PROFILE_CREATED", - "statusMessage": "Launch Profile has been created", - "streamConfiguration": { - "clipboardMode": "ENABLED", - "ec2InstanceTypes": [ - "g4dn.4xlarge", - "g4dn.8xlarge" - ], - "maxSessionLengthInMinutes": 690, - "maxStoppedSessionLengthInMinutes": 0, - "streamingImageIds": [ - "Cw_jXnp1QcSSXhE2hkNRoQ", - "YGXAqgoWTnCNSV8VP20sHQ" - ] - }, - "studioComponentIds": [ - "_hR_-RaAReSOjAnLakbX7Q", - "vQ5w_TbIRayPkAZgcbyYRA", - "ZQuMxN99Qfa_Js6ma9TwdA", - "yJSbsHXAQYWk9FXLNusXlQ", - "45KjOSPPRzK2OyvpCuQ6qw" - ], - "tags": {}, - "updatedAt": "2022-01-27T21:19:40+00:00", - "updatedBy": "AROA3OO2NEHCCYRNDDIFT:i-EXAMPLE11111", - "validationResults": [ - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_ACTIVE_DIRECTORY_STUDIO_COMPONENT" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_SUBNET_ASSOCIATION" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_NETWORK_ACL_ASSOCIATION" - }, - { - "state": "VALIDATION_SUCCESS", - "statusCode": "VALIDATION_SUCCESS", - "statusMessage": "The validation succeeded.", - "type": "VALIDATE_SECURITY_GROUP_ASSOCIATION" - } - ] - } - ] - } - -For more information, see `Creating launch profiles `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/list-studio-components.rst b/awscli/examples/nimble/list-studio-components.rst deleted file mode 100644 index c8fa4f47bfb6..000000000000 --- a/awscli/examples/nimble/list-studio-components.rst +++ /dev/null @@ -1,42 +0,0 @@ -**To list the available widgets** - -The following ``list-studio-components`` example lists the studio components in your AWS account. :: - - aws nimble list-studio-components \ - --studio-id "StudioID" - -Output:: - - { - "studioComponents": [ - { - "arn": "arn:aws:nimble:us-west-2:123456789012:studio-component/ZQuMxN99Qfa_Js6ma9TwdA", - "configuration": { - "sharedFileSystemConfiguration": { - "fileSystemId": "fs-EXAMPLE11111", - "linuxMountPoint": "/mnt/fsxshare", - "shareName": "share", - "windowsMountDrive": "Z" - } - }, - "createdAt": "2022-01-27T21:15:34+00:00", - "createdBy": "AROA3OO2NEHCCYRNDDIFT:i-EXAMPLE11111", - "description": "FSx for Windows", - "ec2SecurityGroupIds": [ - "sg-EXAMPLE11111" - ], - "name": "FSxWindows", - "state": "READY", - "statusCode": "STUDIO_COMPONENT_CREATED", - "statusMessage": "Studio Component has been created", - "studioComponentId": "ZQuMxN99Qfa_Js6ma9TwdA", - "subtype": "AMAZON_FSX_FOR_WINDOWS", - "tags": {}, - "type": "SHARED_FILE_SYSTEM", - "updatedAt": "2022-01-27T21:15:35+00:00", - "updatedBy": "AROA3OO2NEHCCYRNDDIFT:i-EXAMPLE11111" - }, - ... - } - -For more information, see `How StudioBuilder works with Amazon Nimble Studio `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/list-studio-members.rst b/awscli/examples/nimble/list-studio-members.rst deleted file mode 100644 index a6952e6fc531..000000000000 --- a/awscli/examples/nimble/list-studio-members.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To list the available widgets** - -The following ``list-studio-members`` example lists the available studio members in your AWS account. :: - - aws nimble list-studio-members \ - --studio-id "StudioID" - -Output:: - - { - "members": [ - { - "identityStoreId": "d-EXAMPLE11111", - "persona": "ADMINISTRATOR", - "principalId": "EXAMPLE11111-e9fd012a-94ad-4f16-9866-c69a63ab6486" - } - ] - } - -For more information, see `Adding studio users `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/nimble/list-studios.rst b/awscli/examples/nimble/list-studios.rst deleted file mode 100644 index 10c90110898a..000000000000 --- a/awscli/examples/nimble/list-studios.rst +++ /dev/null @@ -1,34 +0,0 @@ -**To list your studios** - -The following ``list-studios`` example lists the studios in your AWS account. :: - - aws nimble list-studios - -Output:: - - { - "studios": [ - { - "adminRoleArn": "arn:aws:iam::123456789012:role/studio-admin-role", - "arn": "arn:aws:nimble:us-west-2:123456789012:studio/studio-id", - "createdAt": "2022-01-27T20:29:35+00:00", - "displayName": "studio-name", - "homeRegion": "us-west-2", - "ssoClientId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", - "state": "READY", - "statusCode": "STUDIO_CREATED", - "statusMessage": "The studio has been created successfully ", - "studioEncryptionConfiguration": { - "keyType": "AWS_OWNED_KEY" - }, - "studioId": "us-west-2:studio-id", - "studioName": "studio-name", - "studioUrl": "https://studio-name.nimblestudio.us-west-2.amazonaws.com", - "tags": {}, - "updatedAt": "2022-01-27T20:29:37+00:00", - "userRoleArn": "arn:aws:iam::123456789012:role/studio-user-role" - } - ] - } - -For more information, see `What is Amazon Nimble Studio? `__ in the *Amazon Nimble Studio User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/create-link.rst b/awscli/examples/oam/create-link.rst new file mode 100644 index 000000000000..5a028db80ccf --- /dev/null +++ b/awscli/examples/oam/create-link.rst @@ -0,0 +1,24 @@ +**To create a link** + +The following ``create-link`` example creates a link between a source account and a sink that you have created in a monitoring account. :: + + aws oam create-link \ + --label-template sourceAccount \ + --resource-types AWS::CloudWatch::Metric \ + --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 + +Output:: + + { + "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Label": "sourceAccount", + "LabelTemplate": "sourceAccount", + "ResourceTypes": [ + "AWS::CloudWatch::Metric" + ], + "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", + "Tags": {} + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/create-sink.rst b/awscli/examples/oam/create-sink.rst new file mode 100644 index 000000000000..a0afda540b38 --- /dev/null +++ b/awscli/examples/oam/create-sink.rst @@ -0,0 +1,17 @@ +**To create a sink** + +The following ``create-sink`` example creates a sink in the current account, so that it can be used as a monitoring account in CloudWatch cross-account observability. :: + + aws oam create-sink \ + --name DemoSink + +Output:: + + { + "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", + "Id": "a1b2c3d4-5678-90ab-cdef-example12345", + "Name": "DemoSink", + "Tags": {} + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/delete-link.rst b/awscli/examples/oam/delete-link.rst new file mode 100644 index 000000000000..6e1d6a2f531e --- /dev/null +++ b/awscli/examples/oam/delete-link.rst @@ -0,0 +1,10 @@ +**To delete a link** + +The following ``delete-link`` example deletes a link between a monitoring account sink and a source account. :: + + aws oam delete-link \ + --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111 + +This command produces no output. + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/delete-sink.rst b/awscli/examples/oam/delete-sink.rst new file mode 100644 index 000000000000..0b5b0a99b6b1 --- /dev/null +++ b/awscli/examples/oam/delete-sink.rst @@ -0,0 +1,10 @@ +**To delete a sink** + +The following ``delete-sink`` example deletes a sink. You must delete all links to a sink before you can delete that sink. :: + + aws oam delete-sink \ + --identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 + +This command produces no output. + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/get-link.rst b/awscli/examples/oam/get-link.rst new file mode 100644 index 000000000000..efc8215c809c --- /dev/null +++ b/awscli/examples/oam/get-link.rst @@ -0,0 +1,22 @@ +**To return complete information about one link** + +The following ``get-link`` example returns complete information about a link. :: + + aws oam get-link \ + --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111 + +Output:: + + { + "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Label": "sourceAccount", + "LabelTemplate": "sourceAccount", + "ResourceTypes": [ + "AWS::CloudWatch::Metric" + ], + "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", + "Tags": {} + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/get-sink-policy.rst b/awscli/examples/oam/get-sink-policy.rst new file mode 100644 index 000000000000..b297c7b41841 --- /dev/null +++ b/awscli/examples/oam/get-sink-policy.rst @@ -0,0 +1,16 @@ +**To return the current sink policy attached to the sink** + +The following ``get-sink-policy`` example returns the current sink policy attached to the sink. :: + + aws oam get-sink-policy \ + --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 + +Output:: + + { + "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", + "SinkId": "a1b2c3d4-5678-90ab-cdef-example12345", + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789111:root\"},\"Action\":[\"oam:CreateLink\",\"oam:UpdateLink\"],\"Resource\":\"*\",\"Condition\":{\"ForAllValues:StringEquals\":{\"oam:ResourceTypes\":[\"AWS::Logs::LogGroup\",\"AWS::CloudWatch::Metric\",\"AWS::XRay::Trace\",\"AWS::ApplicationInsights::Application\"]}}}]}" + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/get-sink.rst b/awscli/examples/oam/get-sink.rst new file mode 100644 index 000000000000..3d10760dc35c --- /dev/null +++ b/awscli/examples/oam/get-sink.rst @@ -0,0 +1,17 @@ +**To return complete information about one monitoring account sink** + +The following ``get-sink`` example returns complete information about a monitoring account sink. :: + + aws oam get-sink \ + --identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 + +Output:: + + { + "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", + "Id": "a1b2c3d4-5678-90ab-cdef-example12345", + "Name": "DemoSink", + "Tags": {} + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/list-attached-links.rst b/awscli/examples/oam/list-attached-links.rst new file mode 100644 index 000000000000..85bc7ba44fff --- /dev/null +++ b/awscli/examples/oam/list-attached-links.rst @@ -0,0 +1,23 @@ +**To return a list of source account links that are linked to this monitoring account sink** + +The following ``list-attached-links`` example returns a list of source account links that are linked to this monitoring account sink. :: + + aws oam list-attached-links \ + --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 + +Output:: + + { + "Items": [{ + "Label": "Monitoring account", + "LinkArn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", + "ResourceTypes": [ + "AWS::ApplicationInsights::Application", + "AWS::Logs::LogGroup", + "AWS::CloudWatch::Metric", + "AWS::XRay::Trace" + ] + }] + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/list-links.rst b/awscli/examples/oam/list-links.rst new file mode 100644 index 000000000000..a2bb04270675 --- /dev/null +++ b/awscli/examples/oam/list-links.rst @@ -0,0 +1,21 @@ +**To return a list of links for one monitoring account sink** + +The following ``list-links`` example returns a list of links for one monitoring account sink. Run this operation in a source account to return a list of links to monitoring account sinks that this source account has. :: + + aws oam list-links + +Output:: + + { + "Items": [{ + "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Label": "sourceAccount", + "ResourceTypes": [ + "AWS::CloudWatch::Metric" + ], + "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345" + }] + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/list-sinks.rst b/awscli/examples/oam/list-sinks.rst new file mode 100644 index 000000000000..63c172209439 --- /dev/null +++ b/awscli/examples/oam/list-sinks.rst @@ -0,0 +1,19 @@ +**To return the list of sinks created in the monitoring account** + +The following ``list-sinks`` example returns a list of sinks created in the monitoring account. Run this operation in a monitoring account. :: + + aws oam list-sinks + +Output:: + + { + "Items": [ + { + "Arn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", + "Id": "a1b2c3d4-5678-90ab-cdef-example12345", + "Name": "DemoSink" + } + ] + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/list-tags-for-resource.rst b/awscli/examples/oam/list-tags-for-resource.rst new file mode 100644 index 000000000000..7ed746ae114e --- /dev/null +++ b/awscli/examples/oam/list-tags-for-resource.rst @@ -0,0 +1,16 @@ +**To display the tags associated with a resource** + +The following ``list-tags-for-resource`` example displays the tags associated with a sink. :: + + aws oam list-tags-for-resource \ + --resource-arn arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 + +Output:: + + { + "Tags": { + "Team": "Devops" + } + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/put-sink-policy.rst b/awscli/examples/oam/put-sink-policy.rst new file mode 100644 index 000000000000..5821fceac850 --- /dev/null +++ b/awscli/examples/oam/put-sink-policy.rst @@ -0,0 +1,17 @@ +**To create or update the resource policy** + +The following ``put-sink-policy`` example creates the resource policy that grants permissions to source accounts to link to the monitoring account sink. :: + + aws oam put-sink-policy \ + --policy '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789111:root"},"Action":["oam:CreateLink","oam:UpdateLink"],"Resource":"*","Condition":{"ForAllValues:StringEquals":{"oam:ResourceTypes":["AWS::Logs::LogGroup","AWS::CloudWatch::Metric","AWS::XRay::Trace","AWS::ApplicationInsights::Application"]}}}]}' \ + --sink-identifier arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 + +Output:: + + { + "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", + "SinkId": "a1b2c3d4-5678-90ab-cdef-example12345", + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789111:root\"},\"Action\":[\"oam:CreateLink\",\"oam:UpdateLink\"],\"Resource\":\"*\",\"Condition\":{\"ForAllValues:StringEquals\":{\"oam:ResourceTypes\":[\"AWS::Logs::LogGroup\",\"AWS::CloudWatch::Metric\",\"AWS::XRay::Trace\",\"AWS::ApplicationInsights::Application\"]}}}]}" + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/tag-resource.rst b/awscli/examples/oam/tag-resource.rst new file mode 100644 index 000000000000..15d73dfadfa2 --- /dev/null +++ b/awscli/examples/oam/tag-resource.rst @@ -0,0 +1,11 @@ +**To assign one or more tags to the specified resource** + +The following ``tag-resource`` example tags a sink ``arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345``. :: + + aws oam tag-resource \ + --resource-arn arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345 \ + --tags team=Devops + +This command produces no output. + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/untag-resource.rst b/awscli/examples/oam/untag-resource.rst new file mode 100644 index 000000000000..b00c192fa7d2 --- /dev/null +++ b/awscli/examples/oam/untag-resource.rst @@ -0,0 +1,11 @@ +**To remove one or more tags from the specified resource.** + +The following ``untag-resource`` example removes a tag with the key ``team`` from sink ``arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345``. :: + + aws oam untag-resource \ + --resource-arn arn:aws:oam:us-east-2:123456789012:sink/f3f42f60-f0f2-425c-1234-12347bdd821f \ + --tag-keys team + +This command produces no output. + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/oam/update-link.rst b/awscli/examples/oam/update-link.rst new file mode 100644 index 000000000000..b034a6141d59 --- /dev/null +++ b/awscli/examples/oam/update-link.rst @@ -0,0 +1,24 @@ +**To change what types of data are shared from a source account to its linked monitoring account sink** + +The following ``update-link`` example updates the link ``arn:aws:oam:us-east-2:123456789111:link/0123e691-e7ef-43fa-1234-c57c837fced0`` with resource types ``AWS::CloudWatch::Metric`` and ``AWS::Logs::LogGroup``. :: + + aws oam update-link \ + --identifier arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111 \ + --resource-types "AWS::CloudWatch::Metric" "AWS::Logs::LogGroup" + +Output:: + + { + "Arn": "arn:aws:oam:us-east-2:123456789111:link/a1b2c3d4-5678-90ab-cdef-example11111", + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Label": "sourceAccount", + "LabelTemplate": "sourceAccount", + "ResourceTypes": [ + "AWS::CloudWatch::Metric", + "AWS::Logs::LogGroup" + ], + "SinkArn": "arn:aws:oam:us-east-2:123456789012:sink/a1b2c3d4-5678-90ab-cdef-example12345", + "Tags": {} + } + +For more information, see `CloudWatch cross-account observability `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/observabilityadmin/get-telemetry-evaluation-status-for-organization.rst b/awscli/examples/observabilityadmin/get-telemetry-evaluation-status-for-organization.rst new file mode 100644 index 000000000000..59c574403504 --- /dev/null +++ b/awscli/examples/observabilityadmin/get-telemetry-evaluation-status-for-organization.rst @@ -0,0 +1,13 @@ +**To get telemetry onboarding status for the organization** + +The following ``get-telemetry-evaluation-status-for-organization`` example returns the current onboarding status of the telemetry config feature for the organization. :: + + aws observabilityadmin get-telemetry-evaluation-status-for-organization + +Output:: + + { + "Status": "RUNNING" + } + +For more information, see `Auditing CloudWatch telemetry configurations `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/observabilityadmin/get-telemetry-evaluation-status.rst b/awscli/examples/observabilityadmin/get-telemetry-evaluation-status.rst new file mode 100644 index 000000000000..f953b8dea072 --- /dev/null +++ b/awscli/examples/observabilityadmin/get-telemetry-evaluation-status.rst @@ -0,0 +1,13 @@ +**To get telemetry onboarding status for the account** + +The following ``get-telemetry-evaluation-status`` example returns the current onboarding status of the telemetry config feature in the specified account. :: + + aws observabilityadmin get-telemetry-evaluation-status + +Output:: + + { + "Status": "RUNNING" + } + +For more information, see `Auditing CloudWatch telemetry configurations `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/observabilityadmin/list-resource-telemetry-for-organization.rst b/awscli/examples/observabilityadmin/list-resource-telemetry-for-organization.rst new file mode 100644 index 000000000000..db79eb32d366 --- /dev/null +++ b/awscli/examples/observabilityadmin/list-resource-telemetry-for-organization.rst @@ -0,0 +1,43 @@ +**To retrieve the telemetry configurations for the organization** + +The following ``list-resource-telemetry-for-organization`` example returns a list of telemetry configurations in the organization for AWS resources supported by telemetry config. :: + + aws observabilityadmin list-resource-telemetry-for-organization \ + --resource-types AWS::EC2::Instance + +Output:: + + { + "TelemetryConfigurations": [ + { + "AccountIdentifier": "111111111111", + "TelemetryConfigurationState": { + "Logs": "NotApplicable", + "Metrics": "Disabled", + "Traces": "NotApplicable" + }, + "ResourceType": "AWS::EC2::Instance", + "ResourceIdentifier": "i-a166400b", + "ResourceTags": { + "Name": "dev" + }, + "LastUpdateTimeStamp": 1733168548521 + }, + { + "AccountIdentifier": "222222222222", + "TelemetryConfigurationState": { + "Logs": "NotApplicable", + "Metrics": "Disabled", + "Traces": "NotApplicable" + }, + "ResourceType": "AWS::EC2::Instance", + "ResourceIdentifier": "i-b188560f", + "ResourceTags": { + "Name": "apache" + }, + "LastUpdateTimeStamp": 1732744260182 + } + ] + } + +For more information, see `Auditing CloudWatch telemetry configurations `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/observabilityadmin/list-resource-telemetry.rst b/awscli/examples/observabilityadmin/list-resource-telemetry.rst new file mode 100644 index 000000000000..f175e1143d46 --- /dev/null +++ b/awscli/examples/observabilityadmin/list-resource-telemetry.rst @@ -0,0 +1,29 @@ +**To retrieve the telemetry configurations for the account** + +The following ``list-resource-telemetry`` example returns a list of telemetry configurations for AWS resources supported by telemetry config in the specified account. :: + + aws observabilityadmin list-resource-telemetry \ + --resource-types AWS::EC2::Instance + +Output:: + + { + "TelemetryConfigurations": [ + { + "AccountIdentifier": "111111111111", + "TelemetryConfigurationState": { + "Logs": "NotApplicable", + "Metrics": "Disabled", + "Traces": "NotApplicable" + }, + "ResourceType": "AWS::EC2::Instance", + "ResourceIdentifier": "i-0e979d278b040f856", + "ResourceTags": { + "Name": "apache" + }, + "LastUpdateTimeStamp": 1732744260182 + } + ] + } + +For more information, see `Auditing CloudWatch telemetry configurations `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/observabilityadmin/start-telemetry-evaluation-for-organization.rst b/awscli/examples/observabilityadmin/start-telemetry-evaluation-for-organization.rst new file mode 100644 index 000000000000..feb8bcf93fbf --- /dev/null +++ b/awscli/examples/observabilityadmin/start-telemetry-evaluation-for-organization.rst @@ -0,0 +1,9 @@ +**To enable the telemetry config feature** + +The following ``start-telemetry-evaluation-for-organization`` example enables the telemetry config feature for the organization. :: + + aws observabilityadmin start-telemetry-evaluation-for-organization + +This command produces no output. + +For more information, see `Turning on CloudWatch telemetry auditing `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/observabilityadmin/start-telemetry-evaluation.rst b/awscli/examples/observabilityadmin/start-telemetry-evaluation.rst new file mode 100644 index 000000000000..e3f7051232a9 --- /dev/null +++ b/awscli/examples/observabilityadmin/start-telemetry-evaluation.rst @@ -0,0 +1,9 @@ +**To enable the telemetry config feature** + +The following ``start-telemetry-evaluation`` example enables the telemetry config feature in the specified account. :: + + aws observabilityadmin start-telemetry-evaluation + +This command produces no output. + +For more information, see `Turning on CloudWatch telemetry auditing `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/observabilityadmin/stop-telemetry-evaluation-for-organization.rst b/awscli/examples/observabilityadmin/stop-telemetry-evaluation-for-organization.rst new file mode 100644 index 000000000000..fc86280e7292 --- /dev/null +++ b/awscli/examples/observabilityadmin/stop-telemetry-evaluation-for-organization.rst @@ -0,0 +1,9 @@ +**To disable the telemetry config feature** + +The following ``stop-telemetry-evaluation-for-organization`` example disables the telemetry config feature for the organization. :: + + aws observabilityadmin stop-telemetry-evaluation-for-organization + +This command produces no output. + +For more information, see `Turning off CloudWatch telemetry auditing `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/observabilityadmin/stop-telemetry-evaluation.rst b/awscli/examples/observabilityadmin/stop-telemetry-evaluation.rst new file mode 100644 index 000000000000..28957c59728e --- /dev/null +++ b/awscli/examples/observabilityadmin/stop-telemetry-evaluation.rst @@ -0,0 +1,9 @@ +**To disable the telemetry config feature** + +The following ``stop-telemetry-evaluation`` example disables the telemetry config feature in the specified account. :: + + aws observabilityadmin stop-telemetry-evaluation + +This command produces no output. + +For more information, see `Turning off CloudWatch telemetry auditing `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/omics/cancel-run.rst b/awscli/examples/omics/cancel-run.rst index 1a35c7668ef7..9520ffa73dba 100644 --- a/awscli/examples/omics/cancel-run.rst +++ b/awscli/examples/omics/cancel-run.rst @@ -5,4 +5,4 @@ The following ``cancel-run`` example cancels a run with ID ``1234567``. :: aws omics cancel-run \ --id 1234567 -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Run lifecycle in a workflow `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/create-run-group.rst b/awscli/examples/omics/create-run-group.rst index 5e5e3c55bad3..3e7a4002b1a4 100644 --- a/awscli/examples/omics/create-run-group.rst +++ b/awscli/examples/omics/create-run-group.rst @@ -5,7 +5,9 @@ The following ``create-run-group`` example creates a run group named ``cram-conv aws omics create-run-group \ --name cram-converter \ --max-cpus 20 \ - --max-duration 600 + --max-gpus 10 \ + --max-duration 600 \ + --max-runs 5 Output:: @@ -15,4 +17,4 @@ Output:: "tags": {} } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Creating run groups `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/create-workflow.rst b/awscli/examples/omics/create-workflow.rst index 52fa92a8ee29..bcaf693666a9 100644 --- a/awscli/examples/omics/create-workflow.rst +++ b/awscli/examples/omics/create-workflow.rst @@ -42,4 +42,4 @@ Output:: "tags": {} } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Creating private workflows `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/delete-run-group.rst b/awscli/examples/omics/delete-run-group.rst index 285018985256..00aa3969a54d 100644 --- a/awscli/examples/omics/delete-run-group.rst +++ b/awscli/examples/omics/delete-run-group.rst @@ -5,4 +5,4 @@ The following ``delete-run-group`` example deletes a run group with ID ``1234567 aws omics delete-run-group \ --id 1234567 -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Deleting runs and run groups `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/delete-run.rst b/awscli/examples/omics/delete-run.rst index 2b39b16965b7..8cf48b4836c2 100644 --- a/awscli/examples/omics/delete-run.rst +++ b/awscli/examples/omics/delete-run.rst @@ -5,4 +5,4 @@ The following ``delete-run`` example deletes a run with ID ``1234567``. :: aws omics delete-run \ --id 1234567 -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Deleting runs and run groups `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/delete-workflow.rst b/awscli/examples/omics/delete-workflow.rst index 7cfd6ad0d9d0..ab6d74a73d89 100644 --- a/awscli/examples/omics/delete-workflow.rst +++ b/awscli/examples/omics/delete-workflow.rst @@ -5,4 +5,4 @@ The following ``delete-workflow`` example deletes a workflow with ID ``1234567`` aws omics delete-workflow \ --id 1234567 -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Delete a private workflow `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/get-run-group.rst b/awscli/examples/omics/get-run-group.rst index 7deae998a311..cb898e8c3992 100644 --- a/awscli/examples/omics/get-run-group.rst +++ b/awscli/examples/omics/get-run-group.rst @@ -17,4 +17,4 @@ Output:: "tags": {} } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Creating run groups `__ in the *AWS HealthOmics User Guide*. \ No newline at end of file diff --git a/awscli/examples/omics/get-run-task.rst b/awscli/examples/omics/get-run-task.rst index c35f742de1ab..9f09c4476104 100644 --- a/awscli/examples/omics/get-run-task.rst +++ b/awscli/examples/omics/get-run-task.rst @@ -20,4 +20,4 @@ Output:: "taskId": "1234567" } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Task lifecycle in a HealthOmics run `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/get-run.rst b/awscli/examples/omics/get-run.rst index 4c142d3d3462..475c4c35c387 100644 --- a/awscli/examples/omics/get-run.rst +++ b/awscli/examples/omics/get-run.rst @@ -35,4 +35,4 @@ Output:: "workflowType": "PRIVATE" } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Run lifecycle in a workflow `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/get-workflow.rst b/awscli/examples/omics/get-workflow.rst index 1f8cb45b0ed3..30fef1a16d8f 100644 --- a/awscli/examples/omics/get-workflow.rst +++ b/awscli/examples/omics/get-workflow.rst @@ -38,4 +38,4 @@ Output:: "type": "PRIVATE" } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Creating private workflows `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/list-run-groups.rst b/awscli/examples/omics/list-run-groups.rst index 3ce43966e61e..f418135bb4e4 100644 --- a/awscli/examples/omics/list-run-groups.rst +++ b/awscli/examples/omics/list-run-groups.rst @@ -19,4 +19,4 @@ Output:: ] } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Creating run groups `__ in the *AWS HealthOmics User Guide*. \ No newline at end of file diff --git a/awscli/examples/omics/list-run-tasks.rst b/awscli/examples/omics/list-run-tasks.rst index c57d4a905ae3..112a997a7399 100644 --- a/awscli/examples/omics/list-run-tasks.rst +++ b/awscli/examples/omics/list-run-tasks.rst @@ -32,4 +32,4 @@ Output:: ] } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Task lifecycle in a HealthOmics run `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/list-runs.rst b/awscli/examples/omics/list-runs.rst index edfc5c21010f..7cd1ec239f29 100644 --- a/awscli/examples/omics/list-runs.rst +++ b/awscli/examples/omics/list-runs.rst @@ -43,4 +43,4 @@ Output:: ] } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Run lifecycle in a workflow `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/list-workflows.rst b/awscli/examples/omics/list-workflows.rst index 9401b6f6f41f..2716639f4f20 100644 --- a/awscli/examples/omics/list-workflows.rst +++ b/awscli/examples/omics/list-workflows.rst @@ -29,4 +29,4 @@ Output:: ] } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Creating private workflows `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/omics/start-run.rst b/awscli/examples/omics/start-run.rst index 0c2dc18f7442..64caa29b24e9 100644 --- a/awscli/examples/omics/start-run.rst +++ b/awscli/examples/omics/start-run.rst @@ -32,7 +32,7 @@ Output:: "tags": {} } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. +For more information, see `Starting a run `__ in the *AWS HealthOmics User Guide*. **To load source files from Amazon Omics** @@ -46,4 +46,3 @@ You can also load source files from Amazon Omics storage, by using service-speci "ref_fasta_index": "omics://123456789012.storage.us-west-2.amazonaws.com/1234567890/reference/1234567890/index" } -For more information, see `Omics Workflows `__ in the *Amazon Omics Developer Guide*. diff --git a/awscli/examples/omics/update-workflow.rst b/awscli/examples/omics/update-workflow.rst index e6be6f2cf068..18b3ac4cfeee 100644 --- a/awscli/examples/omics/update-workflow.rst +++ b/awscli/examples/omics/update-workflow.rst @@ -6,4 +6,4 @@ The following ``update-workflow`` example updates the description of a workflow --id 1234567 \ --description "copy workflow" -For more information, see `Omics Storage `__ in the *Amazon Omics Developer Guide*. +For more information, see `Creating or updating a workflow `__ in the *AWS HealthOmics User Guide*. diff --git a/awscli/examples/opsworks/assign-instance.rst b/awscli/examples/opsworks/assign-instance.rst deleted file mode 100644 index 5f4ddf9c3739..000000000000 --- a/awscli/examples/opsworks/assign-instance.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To assign a registered instance to a layer** - -The following example assigns a registered instance to a custom layer. :: - - aws opsworks --region us-east-1 assign-instance --instance-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 --layer-ids 26cf1d32-6876-42fa-bbf1-9cadc0bff938 - -*Output*: None. - -**More Information** - -For more information, see `Assigning a Registered Instance to a Layer`_ in the *AWS OpsWorks User Guide*. - -.. _`Assigning a Registered Instance to a Layer`: http://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-assign.html - diff --git a/awscli/examples/opsworks/assign-volume.rst b/awscli/examples/opsworks/assign-volume.rst deleted file mode 100644 index 5e4710be03bc..000000000000 --- a/awscli/examples/opsworks/assign-volume.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To assign a registered volume to an instance** - -The following example assigns a registered Amazon Elastic Block Store (Amazon EBS) volume to an instance. -The volume is identified by its volume ID, which is the GUID that AWS OpsWorks assigns when -you register the volume with a stack, not the Amazon Elastic Compute Cloud (Amazon EC2) volume ID. -Before you run ``assign-volume``, you must first run ``update-volume`` to assign a mount point to the volume. :: - - aws opsworks --region us-east-1 assign-volume --instance-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 --volume-id 26cf1d32-6876-42fa-bbf1-9cadc0bff938 - -*Output*: None. - -**More Information** - -For more information, see `Assigning Amazon EBS Volumes to an Instance`_ in the *AWS OpsWorks User Guide*. - -.. _`Assigning Amazon EBS Volumes to an Instance`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-attach.html#resources-attach-ebs - diff --git a/awscli/examples/opsworks/associate-elastic-ip.rst b/awscli/examples/opsworks/associate-elastic-ip.rst deleted file mode 100644 index d139fda66cd2..000000000000 --- a/awscli/examples/opsworks/associate-elastic-ip.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To associate an Elastic IP address with an instance** - -The following example associates an Elastic IP address with a specified instance. :: - - aws opsworks --region us-east-1 associate-elastic-ip --instance-id dfe18b02-5327-493d-91a4-c5c0c448927f --elastic-ip 54.148.130.96 - -*Output*: None. - -**More Information** - -For more information, see `Resource Management`_ in the *AWS OpsWorks User Guide*. - -.. _`Resource Management`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html - diff --git a/awscli/examples/opsworks/attach-elastic-load-balancer.rst b/awscli/examples/opsworks/attach-elastic-load-balancer.rst deleted file mode 100644 index 49bce5f81511..000000000000 --- a/awscli/examples/opsworks/attach-elastic-load-balancer.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To attach a load balancer to a layer** - -The following example attaches a load balancer, identified by its name, to a specified layer. :: - - aws opsworks --region us-east-1 attach-elastic-load-balancer --elastic-load-balancer-name Java-LB --layer-id 888c5645-09a5-4d0e-95a8-812ef1db76a4 - -*Output*: None. - -**More Information** - -For more information, see `Elastic Load Balancing`_ in the *AWS OpsWorks User Guide*. - -.. _`Elastic Load Balancing`: http://docs.aws.amazon.com/opsworks/latest/userguide/load-balancer-elb.html - diff --git a/awscli/examples/opsworks/create-app.rst b/awscli/examples/opsworks/create-app.rst deleted file mode 100644 index fa37e09ad99d..000000000000 --- a/awscli/examples/opsworks/create-app.rst +++ /dev/null @@ -1,64 +0,0 @@ -**Example 1: To create an app** - -The following example creates a PHP app named SimplePHPApp from code stored in a GitHub repository. -The command uses the shorthand form of the application source definition. :: - - aws opsworks create-app \ - --region us-east-1 \ - --stack-id f6673d70-32e6-4425-8999-265dd002fec7 \ - --name SimplePHPApp \ - --type php \ - --app-source Type=git,Url=git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git,Revision=version1 - -Output:: - - { - "AppId": "6cf5163c-a951-444f-a8f7-3716be75f2a2" - } - -**Example 2: To create an app with an attached database** - -The following example creates a JSP app from code stored in .zip archive in a public S3 bucket. -It attaches an RDS DB instance to serve as the app's data store. The application and database sources are defined in separate -JSON files that are in the directory from which you run the command. :: - - aws opsworks create-app \ - --region us-east-1 \ - --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8 \ - --name SimpleJSP \ - --type java \ - --app-source file://appsource.json \ - --data-sources file://datasource.json - -The application source information is in ``appsource.json`` and contains the following. :: - - { - "Type": "archive", - "Url": "https://s3.amazonaws.com/opsworks-demo-assets/simplejsp.zip" - } - -The database source information is in ``datasource.json`` and contains the following. :: - - [ - { - "Type": "RdsDbInstance", - "Arn": "arn:aws:rds:us-west-2:123456789012:db:clitestdb", - "DatabaseName": "mydb" - } - ] - -**Note**: For an RDS DB instance, you must first use ``register-rds-db-instance`` to register the instance with the stack. -For MySQL App Server instances, set ``Type`` to ``OpsworksMysqlInstance``. These instances are -created by AWS OpsWorks, -so they do not have to be registered. - -Output:: - - { - "AppId": "26a61ead-d201-47e3-b55c-2a7c666942f8" - } - -For more information, see `Adding Apps`_ in the *AWS OpsWorks User Guide*. - -.. _`Adding Apps`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html - diff --git a/awscli/examples/opsworks/create-deployment.rst b/awscli/examples/opsworks/create-deployment.rst deleted file mode 100644 index 14d158e85806..000000000000 --- a/awscli/examples/opsworks/create-deployment.rst +++ /dev/null @@ -1,66 +0,0 @@ -**Example 1: To deploy apps and run stack commands** - -The following examples show how to use the ``create-deployment`` command to deploy apps and run stack commands. Notice that the quote (``"``) characters in the JSON object that specifies the command are all preceded by escape characters (\\). Without the escape characters, the command might return an invalid JSON error. - -The following ``create-deployment`` example deploys an app to a specified stack. :: - - aws opsworks create-deployment \ - --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf \ - --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb - --command "{\"Name\":\"deploy\"}" - -Output:: - - { - "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" - } - -**Example 2: To deploy a Rails App and Migrate the Database** - -The following ``create-deployment`` command deploys a Ruby on Rails app to a specified stack and migrates the database. :: - - aws opsworks create-deployment \ - --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf \ - --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb \ - --command "{\"Name\":\"deploy\", \"Args\":{\"migrate\":[\"true\"]}}" - -Output:: - - { - "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" - } - -For more information on deployment, see `Deploying Apps `__ in the *AWS OpsWorks User Guide*. - -**Example 3: Run a Recipe** - -The following ``create-deployment`` command runs a custom recipe, ``phpapp::appsetup``, on the instances in a specified stack. :: - - aws opsworks create-deployment \ - --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb \ - --command "{\"Name\":\"execute_recipes\", \"Args\":{\"recipes\":[\"phpapp::appsetup\"]}}" - -Output:: - - { - "DeploymentId": "5cbaa7b9-4e09-4e53-aa1b-314fbd106038" - } - -For more information, see `Run Stack Commands `__ in the *AWS OpsWorks User Guide*. - -**Example 4: Install Dependencies** - -The following ``create-deployment`` command installs dependencies, such as packages or Ruby gems, on the instances in a -specified stack. :: - - aws opsworks create-deployment \ - --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb \ - --command "{\"Name\":\"install_dependencies\"}" - -Output:: - - { - "DeploymentId": "aef5b255-8604-4928-81b3-9b0187f962ff" - } - -For more information, see `Run Stack Commands `__ in the *AWS OpsWorks User Guide*. diff --git a/awscli/examples/opsworks/create-instance.rst b/awscli/examples/opsworks/create-instance.rst deleted file mode 100644 index d309cca4cc56..000000000000 --- a/awscli/examples/opsworks/create-instance.rst +++ /dev/null @@ -1,25 +0,0 @@ -**To create an instance** - -The following ``create-instance`` command creates an m1.large Amazon Linux instance named myinstance1 in a specified stack. -The instance is assigned to one layer. :: - - aws opsworks --region us-east-1 create-instance --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --layer-ids 5c8c272a-f2d5-42e3-8245-5bf3927cb65b --hostname myinstance1 --instance-type m1.large --os "Amazon Linux" - -To use an autogenerated name, call `get-hostname-suggestion`_, which generates -a hostname based on the theme that you specified when you created the stack. -Then pass that name to the `hostname` argument. - -.. _get-hostname-suggestion: http://docs.aws.amazon.com/cli/latest/reference/opsworks/get-hostname-suggestion.html - -*Output*:: - - { - "InstanceId": "5f9adeaa-c94c-42c6-aeef-28a5376002cd" - } - -**More Information** - -For more information, see `Adding an Instance to a Layer`_ in the *AWS OpsWorks User Guide*. - -.. _`Adding an Instance to a Layer`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html - diff --git a/awscli/examples/opsworks/create-layer.rst b/awscli/examples/opsworks/create-layer.rst deleted file mode 100644 index e81e4a486ace..000000000000 --- a/awscli/examples/opsworks/create-layer.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To create a layer** - -The following ``create-layer`` command creates a PHP App Server layer named MyPHPLayer in a specified stack. :: - - aws opsworks create-layer --region us-east-1 --stack-id f6673d70-32e6-4425-8999-265dd002fec7 --type php-app --name MyPHPLayer --shortname myphplayer - -*Output*:: - - { - "LayerId": "0b212672-6b4b-40e4-8a34-5a943cf2e07a" - } - -**More Information** - -For more information, see `How to Create a Layer`_ in the *AWS OpsWorks User Guide*. - -.. _`How to Create a Layer`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-create.html diff --git a/awscli/examples/opsworks/create-server.rst b/awscli/examples/opsworks/create-server.rst deleted file mode 100644 index 33af67666e04..000000000000 --- a/awscli/examples/opsworks/create-server.rst +++ /dev/null @@ -1,43 +0,0 @@ -**To create a server** - -The following ``create-server`` example creates a new Chef Automate server named ``automate-06`` in your default region. Note that defaults are used for most other settings, such as number of backups to retain, and maintenance and backup start times. Before you run a ``create-server`` command, complete prerequisites in `Getting Started with AWS OpsWorks for Chef Automate `__ in the *AWS Opsworks for Chef Automate User Guide*. :: - - aws opsworks-cm create-server \ - --engine "ChefAutomate" \ - --instance-profile-arn "arn:aws:iam::012345678901:instance-profile/aws-opsworks-cm-ec2-role" \ - --instance-type "t2.medium" \ - --server-name "automate-06" \ - --service-role-arn "arn:aws:iam::012345678901:role/aws-opsworks-cm-service-role" - -Output:: - - { - "Server": { - "AssociatePublicIpAddress": true, - "BackupRetentionCount": 10, - "CreatedAt": 2019-12-29T13:38:47.520Z, - "DisableAutomatedBackup": FALSE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "ChefAutomate", - "EngineAttributes": [ - { - "Name": "CHEF_AUTOMATE_ADMIN_PASSWORD", - "Value": "1Example1" - } - ], - "EngineModel": "Single", - "EngineVersion": "2019-08", - "InstanceProfileArn": "arn:aws:iam::012345678901:instance-profile/aws-opsworks-cm-ec2-role", - "InstanceType": "t2.medium", - "PreferredBackupWindow": "Sun:02:00", - "PreferredMaintenanceWindow": "00:00", - "SecurityGroupIds": [ "sg-12345678" ], - "ServerArn": "arn:aws:iam::012345678901:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::012345678901:role/aws-opsworks-cm-service-role", - "Status": "CREATING", - "SubnetIds": [ "subnet-12345678" ] - } - } - -For more information, see `CreateServer `__ in the *AWS OpsWorks for Chef Automate API Reference*. \ No newline at end of file diff --git a/awscli/examples/opsworks/create-stack.rst b/awscli/examples/opsworks/create-stack.rst deleted file mode 100644 index d923887f768e..000000000000 --- a/awscli/examples/opsworks/create-stack.rst +++ /dev/null @@ -1,25 +0,0 @@ -**To create a stack** - -The following ``create-stack`` command creates a stack named CLI Stack. :: - - aws opsworks create-stack --name "CLI Stack" --stack-region "us-east-1" --service-role-arn arn:aws:iam::123456789012:role/aws-opsworks-service-role --default-instance-profile-arn arn:aws:iam::123456789012:instance-profile/aws-opsworks-ec2-role --region us-east-1 - -The ``service-role-arn`` and ``default-instance-profile-arn`` parameters are required. You typically -use the ones that AWS OpsWorks -creates for you when you create your first stack. To get the Amazon Resource Names (ARNs) for your -account, go to the `IAM console`_, choose ``Roles`` in the navigation panel, -choose the role or profile, and choose the ``Summary`` tab. - -.. _`IAM console`: https://console.aws.amazon.com/iam/home - -*Output*:: - - { - "StackId": "f6673d70-32e6-4425-8999-265dd002fec7" - } - -**More Information** - -For more information, see `Create a New Stack`_ in the *AWS OpsWorks User Guide*. - -.. _`Create a New Stack`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html diff --git a/awscli/examples/opsworks/create-user-profile.rst b/awscli/examples/opsworks/create-user-profile.rst deleted file mode 100644 index 27317ecc4dca..000000000000 --- a/awscli/examples/opsworks/create-user-profile.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To create a user profile** - -You import an AWS Identity and Access Manager (IAM) user into AWS OpsWorks by calling `create-user-profile` to create a user profile. -The following example creates a user profile for the cli-user-test IAM user, who -is identified by Amazon Resource Name (ARN). The example assigns the user an SSH username of ``myusername`` and enables self management, -which allows the user to specify an SSH public key. :: - - aws opsworks --region us-east-1 create-user-profile --iam-user-arn arn:aws:iam::123456789102:user/cli-user-test --ssh-username myusername --allow-self-management - -*Output*:: - - { - "IamUserArn": "arn:aws:iam::123456789102:user/cli-user-test" - } - -**Tip**: This command imports an IAM user into AWS OpsWorks, but only with the permissions that are -granted by the attached policies. You can grant per-stack AWS OpsWorks permissions by using the ``set-permissions`` command. - -**More Information** - -For more information, see `Importing Users into AWS OpsWorks`_ in the *AWS OpsWorks User Guide*. - -.. _`Importing Users into AWS OpsWorks`: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users-manage-import.html - diff --git a/awscli/examples/opsworks/delete-app.rst b/awscli/examples/opsworks/delete-app.rst deleted file mode 100644 index 44d1db69749e..000000000000 --- a/awscli/examples/opsworks/delete-app.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To delete an app** - -The following example deletes a specified app, which is identified by its app ID. -You can obtain an app ID by going to the app's details page on the AWS OpsWorks console or by -running the ``describe-apps`` command. :: - - aws opsworks delete-app --region us-east-1 --app-id 577943b9-2ec1-4baf-a7bf-1d347601edc5 - -*Output*: None. - -**More Information** - -For more information, see `Apps`_ in the *AWS OpsWorks User Guide*. - -.. _`Apps`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps.html - - diff --git a/awscli/examples/opsworks/delete-instance.rst b/awscli/examples/opsworks/delete-instance.rst deleted file mode 100644 index c08dd1add7d7..000000000000 --- a/awscli/examples/opsworks/delete-instance.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To delete an instance** - -The following ``delete-instance`` example deletes a specified instance, which is identified by its instance ID. You can find an instance ID by opening the instance's details page in the AWS OpsWorks console, or by running the ``describe-instances`` command. - -If the instance is online, you must first stop the instance by calling ``stop-instance``, and then you must wait until the instance has stopped. Run ``describe-instances`` to check the instance status. - -To remove the instance's Amazon EBS volumes or Elastic IP addresses, add the ``--delete-volumes`` or ``--delete-elastic-ip`` arguments, respectively. :: - - aws opsworks delete-instance \ - --region us-east-1 \ - --instance-id 3a21cfac-4a1f-4ce2-a921-b2cfba6f7771 - -This command produces no output. - -For more information, see `Deleting AWS OpsWorks Instances `__ in the *AWS OpsWorks User Guide*. \ No newline at end of file diff --git a/awscli/examples/opsworks/delete-layer.rst b/awscli/examples/opsworks/delete-layer.rst deleted file mode 100644 index 4803eccd4de3..000000000000 --- a/awscli/examples/opsworks/delete-layer.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To delete a layer** - -The following example deletes a specified layer, which is identified by its layer ID. -You can obtain a layer ID by going to the layer's details page on the AWS OpsWorks console or by -running the ``describe-layers`` command. - -**Note:** Before deleting a layer, you must use ``delete-instance`` to delete all of the layer's instances. :: - - aws opsworks delete-layer --region us-east-1 --layer-id a919454e-b816-4598-b29a-5796afb498ed - -*Output*: None. - -**More Information** - -For more information, see `Deleting AWS OpsWorks Instances`_ in the *AWS OpsWorks User Guide*. - -.. _`Deleting AWS OpsWorks Instances`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-delete.html diff --git a/awscli/examples/opsworks/delete-stack.rst b/awscli/examples/opsworks/delete-stack.rst deleted file mode 100644 index f881b3031056..000000000000 --- a/awscli/examples/opsworks/delete-stack.rst +++ /dev/null @@ -1,18 +0,0 @@ -**To delete a stack** - -The following example deletes a specified stack, which is identified by its stack ID. -You can obtain a stack ID by clicking **Stack Settings** on the AWS OpsWorks console or by -running the ``describe-stacks`` command. - -**Note:** Before deleting a layer, you must use ``delete-app``, ``delete-instance``, and ``delete-layer`` -to delete all of the stack's apps, instances, and layers. :: - - aws opsworks delete-stack --region us-east-1 --stack-id 154a9d89-7e9e-433b-8de8-617e53756c84 - -*Output*: None. - -**More Information** - -For more information, see `Shut Down a Stack`_ in the *AWS OpsWorks User Guide*. - -.. _`Shut Down a Stack`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-shutting.html diff --git a/awscli/examples/opsworks/delete-user-profile.rst b/awscli/examples/opsworks/delete-user-profile.rst deleted file mode 100644 index b3028aa6f3bf..000000000000 --- a/awscli/examples/opsworks/delete-user-profile.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To delete a user profile and remove an IAM user from AWS OpsWorks** - -The following example deletes the user profile for a specified AWS Identity and Access Management -(IAM) user, who -is identified by Amazon Resource Name (ARN). The operation removes the user from AWS OpsWorks, but -does not delete the IAM user. You must use the IAM console, CLI, or API for that task. :: - - aws opsworks --region us-east-1 delete-user-profile --iam-user-arn arn:aws:iam::123456789102:user/cli-user-test - -*Output*: None. - -**More Information** - -For more information, see `Importing Users into AWS OpsWorks`_ in the *AWS OpsWorks User Guide*. - -.. _`Importing Users into AWS OpsWorks`: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users-manage-import.html - diff --git a/awscli/examples/opsworks/deregister-elastic-ip.rst b/awscli/examples/opsworks/deregister-elastic-ip.rst deleted file mode 100644 index ff70b6c79f23..000000000000 --- a/awscli/examples/opsworks/deregister-elastic-ip.rst +++ /dev/null @@ -1,13 +0,0 @@ -**To deregister an Elastic IP address from a stack** - -The following example deregisters an Elastic IP address, identified by its IP address, from its stack. :: - - aws opsworks deregister-elastic-ip --region us-east-1 --elastic-ip 54.148.130.96 - -*Output*: None. - -**More Information** - -For more information, see `Deregistering Elastic IP Addresses`_ in the *AWS OpsWorks User Guide*. - -.. _`Deregistering Elastic IP Addresses`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-dereg.html#resources-dereg-eip diff --git a/awscli/examples/opsworks/deregister-instance.rst b/awscli/examples/opsworks/deregister-instance.rst deleted file mode 100644 index 8c9d10074f78..000000000000 --- a/awscli/examples/opsworks/deregister-instance.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To deregister a registered instance from a stack** - -The following ``deregister-instance`` command deregisters a registered instance from its stack. :: - - aws opsworks --region us-east-1 deregister-instance --instance-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 - -*Output*: None. - -**More Information** - -For more information, see `Deregistering a Registered Instance`_ in the *AWS OpsWorks User Guide*. - -.. _`Deregistering a Registered Instance`: http://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-unassign.html - diff --git a/awscli/examples/opsworks/deregister-rds-db-instance.rst b/awscli/examples/opsworks/deregister-rds-db-instance.rst deleted file mode 100644 index 55a27eef6d84..000000000000 --- a/awscli/examples/opsworks/deregister-rds-db-instance.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To deregister an Amazon RDS DB instance from a stack** - -The following example deregisters an RDS DB instance, identified by its ARN, from its stack. :: - - aws opsworks deregister-rds-db-instance --region us-east-1 --rds-db-instance-arn arn:aws:rds:us-west-2:123456789012:db:clitestdb - -*Output*: None. - -**More Information** - -For more information, see `Deregistering Amazon RDS Instances`_ in the *ASW OpsWorks User Guide*. - -.. _`Deregistering Amazon RDS Instances`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-dereg.html#resources-dereg-rds - - -.. instance ID: clitestdb - Master usernams: cliuser - Master PWD: some23!pwd - DB Name: mydb - aws opsworks deregister-rds-db-instance --region us-east-1 --rds-db-instance-arn arn:aws:rds:us-west-2:645732743964:db:clitestdb \ No newline at end of file diff --git a/awscli/examples/opsworks/deregister-volume.rst b/awscli/examples/opsworks/deregister-volume.rst deleted file mode 100644 index ac588d9bbb8b..000000000000 --- a/awscli/examples/opsworks/deregister-volume.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To deregister an Amazon EBS volume** - -The following example deregisters an EBS volume from its stack. -The volume is identified by its volume ID, which is the GUID that AWS OpsWorks assigned when -you registered the volume with the stack, not the EC2 volume ID. :: - - aws opsworks deregister-volume --region us-east-1 --volume-id 5c48ef52-3144-4bf5-beaa-fda4deb23d4d - -*Output*: None. - -**More Information** - -For more information, see `Deregistering Amazon EBS Volumes`_ in the *AWS OpsWorks User Guide*. - -.. _`Deregistering Amazon EBS Volumes`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-dereg.html#resources-dereg-ebs diff --git a/awscli/examples/opsworks/describe-apps.rst b/awscli/examples/opsworks/describe-apps.rst deleted file mode 100644 index e8c901841a70..000000000000 --- a/awscli/examples/opsworks/describe-apps.rst +++ /dev/null @@ -1,38 +0,0 @@ -**To describe apps** - -The following ``describe-apps`` command describes the apps in a specified stack. :: - - aws opsworks describe-apps \ - --stack-id 38ee91e2-abdc-4208-a107-0b7168b3cc7a \ - --region us-east-1 - -Output:: - - { - "Apps": [ - { - "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", - "AppSource": { - "Url": "https://s3-us-west-2.amazonaws.com/opsworks-demo-assets/simplejsp.zip", - "Type": "archive" - }, - "Name": "SimpleJSP", - "EnableSsl": false, - "SslConfiguration": {}, - "AppId": "da1decc1-0dff-43ea-ad7c-bb667cd87c8b", - "Attributes": { - "RailsEnv": null, - "AutoBundleOnDeploy": "true", - "DocumentRoot": "ROOT" - }, - "Shortname": "simplejsp", - "Type": "other", - "CreatedAt": "2013-08-01T21:46:54+00:00" - } - ] - } - -For more information, see Apps_ in the *AWS OpsWorks User Guide*. - -.. _Apps: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps.html - diff --git a/awscli/examples/opsworks/describe-commands.rst b/awscli/examples/opsworks/describe-commands.rst deleted file mode 100644 index 421fe24135af..000000000000 --- a/awscli/examples/opsworks/describe-commands.rst +++ /dev/null @@ -1,43 +0,0 @@ -**To describe commands** - -The following ``describe-commands`` command describes the commands in a specified instance. :: - - aws opsworks describe-commands \ - --instance-id 8c2673b9-3fe5-420d-9cfa-78d875ee7687 \ - --region us-east-1 - -Output:: - - { - "Commands": [ - { - "Status": "successful", - "CompletedAt": "2013-07-25T18:57:47+00:00", - "InstanceId": "8c2673b9-3fe5-420d-9cfa-78d875ee7687", - "DeploymentId": "6ed0df4c-9ef7-4812-8dac-d54a05be1029", - "AcknowledgedAt": "2013-07-25T18:57:41+00:00", - "LogUrl": "https://s3.amazonaws.com//logs/008c1a91-ec59-4d51-971d-3adff54b00cc?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE &Expires=1375394373&Signature=HkXil6UuNfxTCC37EPQAa462E1E%3D&response-cache-control=private&response-content-encoding=gzip&response-content- type=text%2Fplain", - "Type": "undeploy", - "CommandId": "008c1a91-ec59-4d51-971d-3adff54b00cc", - "CreatedAt": "2013-07-25T18:57:34+00:00", - "ExitCode": 0 - }, - { - "Status": "successful", - "CompletedAt": "2013-07-25T18:55:40+00:00", - "InstanceId": "8c2673b9-3fe5-420d-9cfa-78d875ee7687", - "DeploymentId": "19d3121e-d949-4ff2-9f9d-94eac087862a", - "AcknowledgedAt": "2013-07-25T18:55:32+00:00", - "LogUrl": "https://s3.amazonaws.com//logs/899d3d64-0384-47b6-a586-33433aad117c?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE &Expires=1375394373&Signature=xMsJvtLuUqWmsr8s%2FAjVru0BtRs%3D&response-cache-control=private&response-content-encoding=gzip&response-conten t-type=text%2Fplain", - "Type": "deploy", - "CommandId": "899d3d64-0384-47b6-a586-33433aad117c", - "CreatedAt": "2013-07-25T18:55:29+00:00", - "ExitCode": 0 - } - ] - } - -For more information, see `AWS OpsWorks Lifecycle Events`_ in the *AWS OpsWorks User Guide*. - -.. _`AWS OpsWorks Lifecycle Events`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-events.html - diff --git a/awscli/examples/opsworks/describe-deployments.rst b/awscli/examples/opsworks/describe-deployments.rst deleted file mode 100644 index acb6d55a7cae..000000000000 --- a/awscli/examples/opsworks/describe-deployments.rst +++ /dev/null @@ -1,52 +0,0 @@ -**To describe deployments** - -The following ``describe-deployments`` command describes the deployments in a specified stack. :: - - aws opsworks --region us-east-1 describe-deployments --stack-id 38ee91e2-abdc-4208-a107-0b7168b3cc7a - -*Output*:: - - { - "Deployments": [ - { - "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", - "Status": "successful", - "CompletedAt": "2013-07-25T18:57:49+00:00", - "DeploymentId": "6ed0df4c-9ef7-4812-8dac-d54a05be1029", - "Command": { - "Args": {}, - "Name": "undeploy" - }, - "CreatedAt": "2013-07-25T18:57:34+00:00", - "Duration": 15, - "InstanceIds": [ - "8c2673b9-3fe5-420d-9cfa-78d875ee7687", - "9e588a25-35b2-4804-bd43-488f85ebe5b7" - ] - }, - { - "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", - "Status": "successful", - "CompletedAt": "2013-07-25T18:56:41+00:00", - "IamUserArn": "arn:aws:iam::123456789012:user/someuser", - "DeploymentId": "19d3121e-d949-4ff2-9f9d-94eac087862a", - "Command": { - "Args": {}, - "Name": "deploy" - }, - "InstanceIds": [ - "8c2673b9-3fe5-420d-9cfa-78d875ee7687", - "9e588a25-35b2-4804-bd43-488f85ebe5b7" - ], - "Duration": 72, - "CreatedAt": "2013-07-25T18:55:29+00:00" - } - ] - } - -**More Information** - -For more information, see `Deploying Apps`_ in the *AWS OpsWorks User Guide*. - -.. _`Deploying Apps`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-deploying.html - diff --git a/awscli/examples/opsworks/describe-elastic-ips.rst b/awscli/examples/opsworks/describe-elastic-ips.rst deleted file mode 100644 index 72677cedba3c..000000000000 --- a/awscli/examples/opsworks/describe-elastic-ips.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To describe Elastic IP instances** - -The following ``describe-elastic-ips`` command describes the Elastic IP addresses in a specified instance. :: - - aws opsworks --region us-east-1 describe-elastic-ips --instance-id b62f3e04-e9eb-436c-a91f-d9e9a396b7b0 - -*Output*:: - - { - "ElasticIps": [ - { - "Ip": "192.0.2.0", - "Domain": "standard", - "Region": "us-west-2" - } - ] - } - -**More Information** - -For more information, see Instances_ in the *AWS OpsWorks User Guide*. - -.. _Instances: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances.html - diff --git a/awscli/examples/opsworks/describe-elastic-load-balancers.rst b/awscli/examples/opsworks/describe-elastic-load-balancers.rst deleted file mode 100644 index 1a20c1c1b586..000000000000 --- a/awscli/examples/opsworks/describe-elastic-load-balancers.rst +++ /dev/null @@ -1,37 +0,0 @@ -**To describe a stack's elastic load balancers** - -The following ``describe-elastic-load-balancers`` command describes a specified stack's load balancers. :: - - aws opsworks --region us-west-2 describe-elastic-load-balancers --stack-id 6f4660e5-37a6-4e42-bfa0-1358ebd9c182 - -*Output*: This particular stack has one load balancer. - -:: - - { - "ElasticLoadBalancers": [ - { - "SubnetIds": [ - "subnet-60e4ea04", - "subnet-66e1c110" - ], - "Ec2InstanceIds": [], - "ElasticLoadBalancerName": "my-balancer", - "Region": "us-west-2", - "LayerId": "344973cb-bf2b-4cd0-8d93-51cd819bab04", - "AvailabilityZones": [ - "us-west-2a", - "us-west-2b" - ], - "VpcId": "vpc-b319f9d4", - "StackId": "6f4660e5-37a6-4e42-bfa0-1358ebd9c182", - "DnsName": "my-balancer-2094040179.us-west-2.elb.amazonaws.com" - } - ] - } - -**More Information** - -For more information, see Apps_ in the *AWS OpsWorks User Guide*. - -.. _Apps: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps.html diff --git a/awscli/examples/opsworks/describe-instances.rst b/awscli/examples/opsworks/describe-instances.rst deleted file mode 100644 index 359f99222cdf..000000000000 --- a/awscli/examples/opsworks/describe-instances.rst +++ /dev/null @@ -1,95 +0,0 @@ -**To describe instances** - -The following ``describe-instances`` command describes the instances in a specified stack:: - - aws opsworks --region us-east-1 describe-instances --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8 - -*Output*: The following output example is for a stack with two instances. The first is a registered -EC2 instance, and the second was created by AWS OpsWorks. - -:: - - { - "Instances": [ - { - "StackId": "71c7ca72-55ae-4b6a-8ee1-a8dcded3fa0f", - "PrivateDns": "ip-10-31-39-66.us-west-2.compute.internal", - "LayerIds": [ - "26cf1d32-6876-42fa-bbf1-9cadc0bff938" - ], - "EbsOptimized": false, - "ReportedOs": { - "Version": "14.04", - "Name": "ubuntu", - "Family": "debian" - }, - "Status": "online", - "InstanceId": "4d6d1710-ded9-42a1-b08e-b043ad7af1e2", - "SshKeyName": "US-West-2", - "InfrastructureClass": "ec2", - "RootDeviceVolumeId": "vol-d08ec6c1", - "SubnetId": "subnet-b8de0ddd", - "InstanceType": "t1.micro", - "CreatedAt": "2015-02-24T20:52:49+00:00", - "AmiId": "ami-35501205", - "Hostname": "ip-192-0-2-0", - "Ec2InstanceId": "i-5cd23551", - "PublicDns": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com", - "SecurityGroupIds": [ - "sg-c4d3f0a1" - ], - "Architecture": "x86_64", - "RootDeviceType": "ebs", - "InstallUpdatesOnBoot": true, - "Os": "Custom", - "VirtualizationType": "paravirtual", - "AvailabilityZone": "us-west-2a", - "PrivateIp": "10.31.39.66", - "PublicIp": "192.0.2.06", - "RegisteredBy": "arn:aws:iam::123456789102:user/AWS/OpsWorks/OpsWorks-EC2Register-i-5cd23551" - }, - { - "StackId": "71c7ca72-55ae-4b6a-8ee1-a8dcded3fa0f", - "PrivateDns": "ip-10-31-39-158.us-west-2.compute.internal", - "SshHostRsaKeyFingerprint": "69:6b:7b:8b:72:f3:ed:23:01:00:05:bc:9f:a4:60:c1", - "LayerIds": [ - "26cf1d32-6876-42fa-bbf1-9cadc0bff938" - ], - "EbsOptimized": false, - "ReportedOs": {}, - "Status": "booting", - "InstanceId": "9b137a0d-2f5d-4cc0-9704-13da4b31fdcb", - "SshKeyName": "US-West-2", - "InfrastructureClass": "ec2", - "RootDeviceVolumeId": "vol-e09dd5f1", - "SubnetId": "subnet-b8de0ddd", - "InstanceProfileArn": "arn:aws:iam::123456789102:instance-profile/aws-opsworks-ec2-role", - "InstanceType": "c3.large", - "CreatedAt": "2015-02-24T21:29:33+00:00", - "AmiId": "ami-9fc29baf", - "SshHostDsaKeyFingerprint": "fc:87:95:c3:f5:e1:3b:9f:d2:06:6e:62:9a:35:27:e8", - "Ec2InstanceId": "i-8d2dca80", - "PublicDns": "ec2-192-0-2-1.us-west-2.compute.amazonaws.com", - "SecurityGroupIds": [ - "sg-b022add5", - "sg-b122add4" - ], - "Architecture": "x86_64", - "RootDeviceType": "ebs", - "InstallUpdatesOnBoot": true, - "Os": "Amazon Linux 2014.09", - "VirtualizationType": "paravirtual", - "AvailabilityZone": "us-west-2a", - "Hostname": "custom11", - "PrivateIp": "10.31.39.158", - "PublicIp": "192.0.2.0" - } - ] - } - -**More Information** - -For more information, see `Instances`_ in the *AWS OpsWorks User Guide*. - -.. _`Instances`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances.html - diff --git a/awscli/examples/opsworks/describe-layers.rst b/awscli/examples/opsworks/describe-layers.rst deleted file mode 100644 index c0702129944f..000000000000 --- a/awscli/examples/opsworks/describe-layers.rst +++ /dev/null @@ -1,171 +0,0 @@ -**To describe a stack's layers** - -The following ``describe-layers`` command describes the layers in a specified stack:: - - aws opsworks --region us-east-1 describe-layers --stack-id 38ee91e2-abdc-4208-a107-0b7168b3cc7a - -*Output*:: - - { - "Layers": [ - { - "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", - "Type": "db-master", - "DefaultSecurityGroupNames": [ - "AWS-OpsWorks-DB-Master-Server" - ], - "Name": "MySQL", - "Packages": [], - "DefaultRecipes": { - "Undeploy": [], - "Setup": [ - "opsworks_initial_setup", - "ssh_host_keys", - "ssh_users", - "mysql::client", - "dependencies", - "ebs", - "opsworks_ganglia::client", - "mysql::server", - "dependencies", - "deploy::mysql" - ], - "Configure": [ - "opsworks_ganglia::configure-client", - "ssh_users", - "agent_version", - "deploy::mysql" - ], - "Shutdown": [ - "opsworks_shutdown::default", - "mysql::stop" - ], - "Deploy": [ - "deploy::default", - "deploy::mysql" - ] - }, - "CustomRecipes": { - "Undeploy": [], - "Setup": [], - "Configure": [], - "Shutdown": [], - "Deploy": [] - }, - "EnableAutoHealing": false, - "LayerId": "41a20847-d594-4325-8447-171821916b73", - "Attributes": { - "MysqlRootPasswordUbiquitous": "true", - "RubygemsVersion": null, - "RailsStack": null, - "HaproxyHealthCheckMethod": null, - "RubyVersion": null, - "BundlerVersion": null, - "HaproxyStatsPassword": null, - "PassengerVersion": null, - "MemcachedMemory": null, - "EnableHaproxyStats": null, - "ManageBundler": null, - "NodejsVersion": null, - "HaproxyHealthCheckUrl": null, - "MysqlRootPassword": "*****FILTERED*****", - "GangliaPassword": null, - "GangliaUser": null, - "HaproxyStatsUrl": null, - "GangliaUrl": null, - "HaproxyStatsUser": null - }, - "Shortname": "db-master", - "AutoAssignElasticIps": false, - "CustomSecurityGroupIds": [], - "CreatedAt": "2013-07-25T18:11:19+00:00", - "VolumeConfigurations": [ - { - "MountPoint": "/vol/mysql", - "Size": 10, - "NumberOfDisks": 1 - } - ] - }, - { - "StackId": "38ee91e2-abdc-4208-a107-0b7168b3cc7a", - "Type": "custom", - "DefaultSecurityGroupNames": [ - "AWS-OpsWorks-Custom-Server" - ], - "Name": "TomCustom", - "Packages": [], - "DefaultRecipes": { - "Undeploy": [], - "Setup": [ - "opsworks_initial_setup", - "ssh_host_keys", - "ssh_users", - "mysql::client", - "dependencies", - "ebs", - "opsworks_ganglia::client" - ], - "Configure": [ - "opsworks_ganglia::configure-client", - "ssh_users", - "agent_version" - ], - "Shutdown": [ - "opsworks_shutdown::default" - ], - "Deploy": [ - "deploy::default" - ] - }, - "CustomRecipes": { - "Undeploy": [], - "Setup": [ - "tomcat::setup" - ], - "Configure": [ - "tomcat::configure" - ], - "Shutdown": [], - "Deploy": [ - "tomcat::deploy" - ] - }, - "EnableAutoHealing": true, - "LayerId": "e6cbcd29-d223-40fc-8243-2eb213377440", - "Attributes": { - "MysqlRootPasswordUbiquitous": null, - "RubygemsVersion": null, - "RailsStack": null, - "HaproxyHealthCheckMethod": null, - "RubyVersion": null, - "BundlerVersion": null, - "HaproxyStatsPassword": null, - "PassengerVersion": null, - "MemcachedMemory": null, - "EnableHaproxyStats": null, - "ManageBundler": null, - "NodejsVersion": null, - "HaproxyHealthCheckUrl": null, - "MysqlRootPassword": null, - "GangliaPassword": null, - "GangliaUser": null, - "HaproxyStatsUrl": null, - "GangliaUrl": null, - "HaproxyStatsUser": null - }, - "Shortname": "tomcustom", - "AutoAssignElasticIps": false, - "CustomSecurityGroupIds": [], - "CreatedAt": "2013-07-25T18:12:53+00:00", - "VolumeConfigurations": [] - } - ] - } - -**More Information** - -For more information, see Layers_ in the *AWS OpsWorks User Guide*. - -.. _Layers: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers.html - diff --git a/awscli/examples/opsworks/describe-load-based-auto-scaling.rst b/awscli/examples/opsworks/describe-load-based-auto-scaling.rst deleted file mode 100644 index 5a7643c22e8f..000000000000 --- a/awscli/examples/opsworks/describe-load-based-auto-scaling.rst +++ /dev/null @@ -1,37 +0,0 @@ -**To describe a layer's load-based scaling configuration** - -The following example describes a specified layer's load-based scaling configuration. -The layer is identified by its layer ID, which you can find on the layer's -details page or by running ``describe-layers``. :: - - aws opsworks describe-load-based-auto-scaling --region us-east-1 --layer-ids 6bec29c9-c866-41a0-aba5-fa3e374ce2a1 - -*Output*: The example layer has a single load-based instance. :: - - { - "LoadBasedAutoScalingConfigurations": [ - { - "DownScaling": { - "IgnoreMetricsTime": 10, - "ThresholdsWaitTime": 10, - "InstanceCount": 1, - "CpuThreshold": 30.0 - }, - "Enable": true, - "UpScaling": { - "IgnoreMetricsTime": 5, - "ThresholdsWaitTime": 5, - "InstanceCount": 1, - "CpuThreshold": 80.0 - }, - "LayerId": "6bec29c9-c866-41a0-aba5-fa3e374ce2a1" - } - ] - } - - -**More Information** - -For more information, see `How Automatic Load-based Scaling Works`_ in the *AWS OpsWorks User Guide*. - -.. _`How Automatic Load-based Scaling Works`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html#workinginstances-autoscaling-loadbased diff --git a/awscli/examples/opsworks/describe-my-user-profile.rst b/awscli/examples/opsworks/describe-my-user-profile.rst deleted file mode 100644 index d5b116d40ae0..000000000000 --- a/awscli/examples/opsworks/describe-my-user-profile.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To obtain a user's profile** - -The following example shows how to obtain the profile -of the AWS Identity and Access Management (IAM) user that is running the command. :: - - aws opsworks --region us-east-1 describe-my-user-profile - -*Output*: For brevity, most of the user's SSH public key is replaced by an ellipsis (...). :: - - { - "UserProfile": { - "IamUserArn": "arn:aws:iam::123456789012:user/myusername", - "SshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQ...3LQ4aX9jpxQw== rsa-key-20141104", - "Name": "myusername", - "SshUsername": "myusername" - } - } - -**More Information** - -For more information, see `Importing Users into AWS OpsWorks`_ in the *AWS OpsWorks User Guide*. - -.. _`Importing Users into AWS OpsWorks`: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users-manage-import.html - diff --git a/awscli/examples/opsworks/describe-permissions.rst b/awscli/examples/opsworks/describe-permissions.rst deleted file mode 100644 index d17ade99d819..000000000000 --- a/awscli/examples/opsworks/describe-permissions.rst +++ /dev/null @@ -1,26 +0,0 @@ -**To obtain a user's per-stack AWS OpsWorks permission level** - -The following example shows how to to obtain an AWS Identity and Access Management (IAM) user's permission level on a specified stack. :: - - aws opsworks --region us-east-1 describe-permissions --iam-user-arn arn:aws:iam::123456789012:user/cli-user-test --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 - -*Output*:: - - { - "Permissions": [ - { - "StackId": "d72553d4-8727-448c-9b00-f024f0ba1b06", - "IamUserArn": "arn:aws:iam::123456789012:user/cli-user-test", - "Level": "manage", - "AllowSudo": true, - "AllowSsh": true - } - ] - } - - -**More Information** - -For more information, see `Granting Per-Stack Permissions Levels`_ in the *AWS OpsWorks User Guide*. - -.. _`Granting Per-Stack Permissions Levels`: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users-console.html diff --git a/awscli/examples/opsworks/describe-raid-arrays.rst b/awscli/examples/opsworks/describe-raid-arrays.rst deleted file mode 100644 index fea1fc9c0ac9..000000000000 --- a/awscli/examples/opsworks/describe-raid-arrays.rst +++ /dev/null @@ -1,31 +0,0 @@ -**To describe RAID arrays** - -The following example describes the RAID arrays attached to the instances in a specified stack. :: - - aws opsworks --region us-east-1 describe-raid-arrays --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 - -*Output*: The following is the output for a stack with one RAID array. :: - - { - "RaidArrays": [ - { - "StackId": "d72553d4-8727-448c-9b00-f024f0ba1b06", - "AvailabilityZone": "us-west-2a", - "Name": "Created for php-app1", - "NumberOfDisks": 2, - "InstanceId": "9f14adbc-ced5-43b6-bf01-e7d0db6cf2f7", - "RaidLevel": 0, - "VolumeType": "standard", - "RaidArrayId": "f2d4e470-5972-4676-b1b8-bae41ec3e51c", - "Device": "/dev/md0", - "MountPoint": "/mnt/workspace", - "CreatedAt": "2015-02-26T23:53:09+00:00", - "Size": 100 - } - ] - } - -For more information, see `EBS Volumes`_ in the *AWS OpsWorks User Guide*. - -.. _`EBS Volumes`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html#workinglayers-basics-edit-ebs - diff --git a/awscli/examples/opsworks/describe-rds-db-instances.rst b/awscli/examples/opsworks/describe-rds-db-instances.rst deleted file mode 100644 index 2d96a7b2d3f9..000000000000 --- a/awscli/examples/opsworks/describe-rds-db-instances.rst +++ /dev/null @@ -1,29 +0,0 @@ -**To describe a stack's registered Amazon RDS instances** - -The following example describes the Amazon RDS instances registered with a specified stack. :: - - aws opsworks --region us-east-1 describe-rds-db-instances --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 - -*Output*: The following is the output for a stack with one registered RDS instance. :: - - { - "RdsDbInstances": [ - { - "Engine": "mysql", - "StackId": "d72553d4-8727-448c-9b00-f024f0ba1b06", - "MissingOnRds": false, - "Region": "us-west-2", - "RdsDbInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:clitestdb", - "DbPassword": "*****FILTERED*****", - "Address": "clitestdb.cdlqlk5uwd0k.us-west-2.rds.amazonaws.com", - "DbUser": "cliuser", - "DbInstanceIdentifier": "clitestdb" - } - ] - } - - -For more information, see `Resource Management`_ in the *AWS OpsWorks User Guide*. - -.. _`Resource Management`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html - diff --git a/awscli/examples/opsworks/describe-stack-provisioning-parameters.rst b/awscli/examples/opsworks/describe-stack-provisioning-parameters.rst deleted file mode 100644 index 83a8ceac740a..000000000000 --- a/awscli/examples/opsworks/describe-stack-provisioning-parameters.rst +++ /dev/null @@ -1,32 +0,0 @@ -**To return the provisioning parameters for a stack** - -The following ``describe-stack-provisioning-parameters`` example returns the provisioning parameters for a specified stack. Provisioning parameters include settings such as the agent installation location and public key that OpsWorks uses to manage the agent on instances in a stack. :: - - aws opsworks describe-stack-provisioning-parameters \ - --stack-id 62744d97-6faf-4ecb-969b-a086fEXAMPLE - -Output:: - - { - "AgentInstallerUrl": "https://opsworks-instance-agent-us-west-2.s3.amazonaws.com/ID_number/opsworks-agent-installer.tgz", - "Parameters": { - "agent_installer_base_url": "https://opsworks-instance-agent-us-west-2.s3.amazonaws.com", - "agent_installer_tgz": "opsworks-agent-installer.tgz", - "assets_download_bucket": "opsworks-instance-assets-us-west-2.s3.amazonaws.com", - "charlie_public_key": "-----BEGIN PUBLIC KEY-----PUBLIC_KEY_EXAMPLE\n-----END PUBLIC KEY-----", - "instance_service_endpoint": "opsworks-instance-service.us-west-2.amazonaws.com", - "instance_service_port": "443", - "instance_service_region": "us-west-2", - "instance_service_ssl_verify_peer": "true", - "instance_service_use_ssl": "true", - "ops_works_endpoint": "opsworks.us-west-2.amazonaws.com", - "ops_works_port": "443", - "ops_works_region": "us-west-2", - "ops_works_ssl_verify_peer": "true", - "ops_works_use_ssl": "true", - "verbose": "false", - "wait_between_runs": "30" - } - } - -For more information, see `Run Stack Commands `__ in the *AWS OpsWorks User Guide*. diff --git a/awscli/examples/opsworks/describe-stack-summary.rst b/awscli/examples/opsworks/describe-stack-summary.rst deleted file mode 100644 index 018a11dbfc5c..000000000000 --- a/awscli/examples/opsworks/describe-stack-summary.rst +++ /dev/null @@ -1,27 +0,0 @@ -**To describe a stack's configuration** - -The following ``describe-stack-summary`` command returns a summary of the specified stack's configuration. :: - - aws opsworks --region us-east-1 describe-stack-summary --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8 - -*Output*:: - - { - "StackSummary": { - "StackId": "8c428b08-a1a1-46ce-a5f8-feddc43771b8", - "InstancesCount": { - "Booting": 1 - }, - "Name": "CLITest", - "AppsCount": 1, - "LayersCount": 1, - "Arn": "arn:aws:opsworks:us-west-2:123456789012:stack/8c428b08-a1a1-46ce-a5f8-feddc43771b8/" - } - } - -**More Information** - -For more information, see `Stacks`_ in the *AWS OpsWorks User Guide*. - -.. _`Stacks`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks.html - diff --git a/awscli/examples/opsworks/describe-stacks.rst b/awscli/examples/opsworks/describe-stacks.rst deleted file mode 100644 index 0487b19a8733..000000000000 --- a/awscli/examples/opsworks/describe-stacks.rst +++ /dev/null @@ -1,65 +0,0 @@ -**To describe stacks** - -The following ``describe-stacks`` command describes an account's stacks. :: - - aws opsworks --region us-east-1 describe-stacks - -*Output*:: - - { - "Stacks": [ - { - "ServiceRoleArn": "arn:aws:iam::444455556666:role/aws-opsworks-service-role", - "StackId": "aeb7523e-7c8b-49d4-b866-03aae9d4fbcb", - "DefaultRootDeviceType": "instance-store", - "Name": "TomStack-sd", - "ConfigurationManager": { - "Version": "11.4", - "Name": "Chef" - }, - "UseCustomCookbooks": true, - "CustomJson": "{\n \"tomcat\": {\n \"base_version\": 7,\n \"java_opts\": \"-Djava.awt.headless=true -Xmx256m\"\n },\n \"datasources\": {\n \"ROOT\": \"jdbc/mydb\"\n }\n}", - "Region": "us-east-1", - "DefaultInstanceProfileArn": "arn:aws:iam::444455556666:instance-profile/aws-opsworks-ec2-role", - "CustomCookbooksSource": { - "Url": "git://github.com/example-repo/tomcustom.git", - "Type": "git" - }, - "DefaultAvailabilityZone": "us-east-1a", - "HostnameTheme": "Layer_Dependent", - "Attributes": { - "Color": "rgb(45, 114, 184)" - }, - "DefaultOs": "Amazon Linux", - "CreatedAt": "2013-08-01T22:53:42+00:00" - }, - { - "ServiceRoleArn": "arn:aws:iam::444455556666:role/aws-opsworks-service-role", - "StackId": "40738975-da59-4c5b-9789-3e422f2cf099", - "DefaultRootDeviceType": "instance-store", - "Name": "MyStack", - "ConfigurationManager": { - "Version": "11.4", - "Name": "Chef" - }, - "UseCustomCookbooks": false, - "Region": "us-east-1", - "DefaultInstanceProfileArn": "arn:aws:iam::444455556666:instance-profile/aws-opsworks-ec2-role", - "CustomCookbooksSource": {}, - "DefaultAvailabilityZone": "us-east-1a", - "HostnameTheme": "Layer_Dependent", - "Attributes": { - "Color": "rgb(45, 114, 184)" - }, - "DefaultOs": "Amazon Linux", - "CreatedAt": "2013-10-25T19:24:30+00:00" - } - ] - } - -**More Information** - -For more information, see `Stacks`_ in the *AWS OpsWorks User Guide*. - -.. _`Stacks`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks.html - diff --git a/awscli/examples/opsworks/describe-timebased-auto-scaling.rst b/awscli/examples/opsworks/describe-timebased-auto-scaling.rst deleted file mode 100644 index 1848a2d45945..000000000000 --- a/awscli/examples/opsworks/describe-timebased-auto-scaling.rst +++ /dev/null @@ -1,39 +0,0 @@ -**To describe the time-based scaling configuration of an instance** - -The following example describes a specified instance's time-based scaling configuration. -The instance is identified by its instance ID, which you can find on the instances's -details page or by running ``describe-instances``. :: - - aws opsworks describe-time-based-auto-scaling --region us-east-1 --instance-ids 701f2ffe-5d8e-4187-b140-77b75f55de8d - -*Output*: The example has a single time-based instance. :: - - { - "TimeBasedAutoScalingConfigurations": [ - { - "InstanceId": "701f2ffe-5d8e-4187-b140-77b75f55de8d", - "AutoScalingSchedule": { - "Monday": { - "11": "on", - "10": "on", - "13": "on", - "12": "on" - }, - "Tuesday": { - "11": "on", - "10": "on", - "13": "on", - "12": "on" - } - } - } - ] - } - - - -**More Information** - -For more information, see `How Automatic Time-based Scaling Works`_ in the *AWS OpsWorks User Guide*. - -.. _`How Automatic Time-based Scaling Works`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html#workinginstances-autoscaling-timebased diff --git a/awscli/examples/opsworks/describe-user-profiles.rst b/awscli/examples/opsworks/describe-user-profiles.rst deleted file mode 100644 index 554684cad48a..000000000000 --- a/awscli/examples/opsworks/describe-user-profiles.rst +++ /dev/null @@ -1,32 +0,0 @@ -**To describe user profiles** - -The following ``describe-user-profiles`` command describes the account's user profiles. :: - - aws opsworks --region us-east-1 describe-user-profiles - -*Output*:: - - { - "UserProfiles": [ - { - "IamUserArn": "arn:aws:iam::123456789012:user/someuser", - "SshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAkOuP7i80q3Cko...", - "AllowSelfManagement": true, - "Name": "someuser", - "SshUsername": "someuser" - }, - { - "IamUserArn": "arn:aws:iam::123456789012:user/cli-user-test", - "AllowSelfManagement": true, - "Name": "cli-user-test", - "SshUsername": "myusername" - } - ] - } - -**More Information** - -For more information, see `Managing AWS OpsWorks Users`_ in the *AWS OpsWorks User Guide*. - -.. _`Managing AWS OpsWorks Users`: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users-manage.html - diff --git a/awscli/examples/opsworks/describe-volumes.rst b/awscli/examples/opsworks/describe-volumes.rst deleted file mode 100644 index 60ef2a28afdc..000000000000 --- a/awscli/examples/opsworks/describe-volumes.rst +++ /dev/null @@ -1,31 +0,0 @@ -**To describe a stack's volumes** - -The following example describes a stack's EBS volumes. :: - - aws opsworks --region us-east-1 describe-volumes --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8 - -*Output*:: - - { - "Volumes": [ - { - "Status": "in-use", - "AvailabilityZone": "us-west-2a", - "Name": "CLITest", - "InstanceId": "dfe18b02-5327-493d-91a4-c5c0c448927f", - "VolumeType": "standard", - "VolumeId": "56b66fbd-e1a1-4aff-9227-70f77118d4c5", - "Device": "/dev/sdi", - "Ec2VolumeId": "vol-295c1638", - "MountPoint": "/mnt/myvolume", - "Size": 1 - } - ] - } - -**More Information** - -For more information, see `Resource Management`_ in the *AWS OpsWorks User Guide*. - -.. _`Resource Management`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html - diff --git a/awscli/examples/opsworks/detach-elastic-load-balancer.rst b/awscli/examples/opsworks/detach-elastic-load-balancer.rst deleted file mode 100644 index 32bb3bde2273..000000000000 --- a/awscli/examples/opsworks/detach-elastic-load-balancer.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To detach a load balancer from its layer** - -The following example detaches a load balancer, identified by its name, from its layer. :: - - aws opsworks --region us-east-1 detach-elastic-load-balancer --elastic-load-balancer-name Java-LB --layer-id 888c5645-09a5-4d0e-95a8-812ef1db76a4 - -*Output*: None. - -**More Information** - -For more information, see `Elastic Load Balancing`_ in the *AWS OpsWorks User Guide*. - -.. _`Elastic Load Balancing`: http://docs.aws.amazon.com/opsworks/latest/userguide/load-balancer-elb.html - diff --git a/awscli/examples/opsworks/disassociate-elastic-ip.rst b/awscli/examples/opsworks/disassociate-elastic-ip.rst deleted file mode 100644 index 3dd25261217c..000000000000 --- a/awscli/examples/opsworks/disassociate-elastic-ip.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To disassociate an Elastic IP address from an instance** - -The following example disassociates an Elastic IP address from a specified instance. :: - - aws opsworks --region us-east-1 disassociate-elastic-ip --elastic-ip 54.148.130.96 - -*Output*: None. - -**More Information** - -For more information, see `Resource Management`_ in the *AWS OpsWorks User Guide*. - -.. _`Resource Management`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html - diff --git a/awscli/examples/opsworks/get-hostname-suggestion.rst b/awscli/examples/opsworks/get-hostname-suggestion.rst deleted file mode 100644 index 2f9802fc2724..000000000000 --- a/awscli/examples/opsworks/get-hostname-suggestion.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To get the next hostname for a layer** - -The following example gets the next generated hostname for a specified layer. The layer used for -this example is a Java Application Server layer with one instance. The stack's hostname theme is -the default, Layer_Dependent. :: - - aws opsworks --region us-east-1 get-hostname-suggestion --layer-id 888c5645-09a5-4d0e-95a8-812ef1db76a4 - -*Output*:: - - { - "Hostname": "java-app2", - "LayerId": "888c5645-09a5-4d0e-95a8-812ef1db76a4" - } - -**More Information** - -For more information, see `Create a New Stack`_ in the *AWS OpsWorks User Guide*. - -.. _`Create a New Stack`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html - diff --git a/awscli/examples/opsworks/reboot-instance.rst b/awscli/examples/opsworks/reboot-instance.rst deleted file mode 100644 index 8f8acf13c2ad..000000000000 --- a/awscli/examples/opsworks/reboot-instance.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To reboot an instance** - -The following example reboots an instance. :: - - aws opsworks --region us-east-1 reboot-instance --instance-id dfe18b02-5327-493d-91a4-c5c0c448927f - -*Output*: None. - -**More Information** - -For more information, see `Rebooting an Instance`_ in the *AWS OpsWorks User Guide*. - -.. _`Rebooting an Instance`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html#workinginstances-starting-reboot - diff --git a/awscli/examples/opsworks/register-elastic-ip.rst b/awscli/examples/opsworks/register-elastic-ip.rst deleted file mode 100644 index 0af182e6844e..000000000000 --- a/awscli/examples/opsworks/register-elastic-ip.rst +++ /dev/null @@ -1,19 +0,0 @@ -**To register an Elastic IP address with a stack** - -The following example registers an Elastic IP address, identified by its IP address, with a specified stack. - -**Note:** The Elastic IP address must be in the same region as the stack. :: - - aws opsworks register-elastic-ip --region us-east-1 --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 --elastic-ip 54.148.130.96 - -*Output* :: - - { - "ElasticIp": "54.148.130.96" - } - -**More Information** - -For more information, see `Registering Elastic IP Addresses with a Stack`_ in the *OpsWorks User Guide*. - -.. _`Registering Elastic IP Addresses with a Stack`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-reg.html#resources-reg-eip diff --git a/awscli/examples/opsworks/register-rds-db-instance.rst b/awscli/examples/opsworks/register-rds-db-instance.rst deleted file mode 100644 index 2503f686901c..000000000000 --- a/awscli/examples/opsworks/register-rds-db-instance.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To register an Amazon RDS instance with a stack** - -The following example registers an Amazon RDS DB instance, identified by its Amazon Resource Name (ARN), with a specified stack. -It also specifies the instance's master username and password. Note that AWS OpsWorks does not validate either of these -values. If either one is incorrect, your application will not be able to connect to the database. :: - - aws opsworks register-rds-db-instance --region us-east-1 --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 --rds-db-instance-arn arn:aws:rds:us-west-2:123456789012:db:clitestdb --db-user cliuser --db-password some23!pwd - -*Output*: None. - -**More Information** - -For more information, see `Registering Amazon RDS Instances with a Stack`_ in the *AWS OpsWorks User Guide*. - -.. _`Registering Amazon RDS Instances with a Stack`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-reg.html#resources-reg-rds diff --git a/awscli/examples/opsworks/register-volume.rst b/awscli/examples/opsworks/register-volume.rst deleted file mode 100644 index 643af1ff2f5e..000000000000 --- a/awscli/examples/opsworks/register-volume.rst +++ /dev/null @@ -1,18 +0,0 @@ -**To register an Amazon EBS volume with a stack** - -The following example registers an Amazon EBS volume, identified by its volume ID, with a specified stack. :: - - aws opsworks register-volume --region us-east-1 --stack-id d72553d4-8727-448c-9b00-f024f0ba1b06 --ec-2-volume-id vol-295c1638 - -*Output*:: - - { - "VolumeId": "ee08039c-7cb7-469f-be10-40fb7f0c05e8" - } - - -**More Information** - -For more information, see `Registering Amazon EBS Volumes with a Stack`_ in the *AWS OpsWorks User Guide*. - -.. _`Registering Amazon EBS Volumes with a Stack`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-reg.html#resources-reg-ebs diff --git a/awscli/examples/opsworks/register.rst b/awscli/examples/opsworks/register.rst deleted file mode 100644 index 6a35a8b8e272..000000000000 --- a/awscli/examples/opsworks/register.rst +++ /dev/null @@ -1,105 +0,0 @@ -**To register instances with a stack** - -The following examples show a variety of ways to register instances with a stack that were created outside of AWS Opsworks. -You can run ``register`` from the instance to be registered, or from a separate workstation. -For more information, see `Registering Amazon EC2 and On-premises Instances`_ in the *AWS OpsWorks User Guide*. - -.. _`Registering Amazon EC2 and On-premises Instances`: http://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register-registering.html - - -**Note**: For brevity, the examples omit the ``region`` argument. - -*To register an Amazon EC2 instance* - -To indicate that you are registering an EC2 instance, set the ``--infrastructure-class`` argument -to ``ec2``. - -The following example registers an EC2 instance with the specified stack from a separate workstation. -The instance is identified by its EC2 ID, ``i-12345678``. The example uses the workstation's default SSH username and attempts -to log in to the instance using authentication techniques that do not require a password, -such as a default private SSH key. If that fails, ``register`` queries for the password. :: - - aws opsworks register --infrastructure-class=ec2 --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb i-12345678 - -The following example registers an EC2 instance with the specifed stack from a separate workstation. -It uses the ``--ssh-username`` and ``--ssh-private-key`` arguments to explicitly -specify the SSH username and private key file that the command uses to log into the instance. -``ec2-user`` is the standard username for Amazon Linux instances. Use ``ubuntu`` for Ubuntu instances. :: - - aws opsworks register --infrastructure-class=ec2 --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --ssh-username ec2-user --ssh-private-key ssh_private_key i-12345678 - -The following example registers the EC2 instance that is running the ``register`` command. -Log in to the instance with SSH and run ``register`` with the ``--local`` argument instead of an instance ID or hostname. :: - - aws opsworks register --infrastructure-class ec2 --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --local - -*To register an on-premises instance* - -To indicate that you are registering an on-premises instance, set the ``--infrastructure-class`` argument -to ``on-premises``. - -The following example registers an existing on-premises instance with a specified stack from a separate workstation. -The instance is identified by its IP address, ``192.0.2.3``. The example uses the workstation's default SSH username and attempts -to log in to the instance using authentication techniques that do not require a password, -such as a default private SSH key. If that fails, ``register`` queries for the password. :: - - aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb 192.0.2.3 - -The following example registers an on-premises instance with a specified stack from a separate workstation. -The instance is identified by its hostname, ``host1``. The ``--override-...`` arguments direct AWS OpsWorks -to display ``webserver1`` as the host name and ``192.0.2.3`` and ``10.0.0.2`` as the instance's public and -private IP addresses, respectively. :: - - aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --override-hostname webserver1 --override-public-ip 192.0.2.3 --override-private-ip 10.0.0.2 host1 - -The following example registers an on-premises instance with a specified stack from a separate workstation. -The instance is identified by its IP address. ``register`` logs into the instance using the specified SSH username and private key file. :: - - aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --ssh-username admin --ssh-private-key ssh_private_key 192.0.2.3 - -The following example registers an existing on-premises instance with a specified stack from a separate workstation. -The command logs into the instance using a custom SSH command string that specifies -the SSH password and the instance's IP address. :: - - aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --override-ssh "sshpass -p 'mypassword' ssh your-user@192.0.2.3" - -The following example registers the on-premises instance that is running the ``register`` command. -Log in to the instance with SSH and run ``register`` with the ``--local`` argument instead of an instance ID or hostname. :: - - aws opsworks register --infrastructure-class on-premises --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb --local - -*Output*: The following is typical output for registering an EC2 instance. - -:: - - Warning: Permanently added '52.11.41.206' (ECDSA) to the list of known hosts. - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 100 6403k 100 6403k 0 0 2121k 0 0:00:03 0:00:03 --:--:-- 2121k - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Initializing AWS OpsWorks environment - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Running on Ubuntu - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Checking if OS is supported - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Running on supported OS - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Setup motd - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Executing: ln -sf --backup /etc/motd.opsworks-static /etc/motd - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Enabling multiverse repositories - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Customizing APT environment - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Installing system packages - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Executing: dpkg --configure -a - [Tue, 24 Feb 2015 20:48:37 +0000] opsworks-init: Executing with retry: apt-get update - [Tue, 24 Feb 2015 20:49:13 +0000] opsworks-init: Executing: apt-get install -y ruby ruby-dev libicu-dev libssl-dev libxslt-dev libxml2-dev libyaml-dev monit - [Tue, 24 Feb 2015 20:50:13 +0000] opsworks-init: Using assets bucket from environment: 'opsworks-instance-assets-us-east-1.s3.amazonaws.com'. - [Tue, 24 Feb 2015 20:50:13 +0000] opsworks-init: Installing Ruby for the agent - [Tue, 24 Feb 2015 20:50:13 +0000] opsworks-init: Executing: /tmp/opsworks-agent-installer.YgGq8wF3UUre6yDy/opsworks-agent-installer/opsworks-agent/bin/installer_wrapper.sh -r -R opsworks-instance-assets-us-east-1.s3.amazonaws.com - [Tue, 24 Feb 2015 20:50:44 +0000] opsworks-init: Starting the installer - Instance successfully registered. Instance ID: 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 - Connection to 52.11.41.206 closed. - -**More Information** - -For more information, see `Registering an Instance with an AWS OpsWorks Stack`_ in the *AWS OpsWorks User Guide*. - -.. _`Registering an Instance with an AWS OpsWorks Stack`: http://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register.html - - - diff --git a/awscli/examples/opsworks/set-load-based-auto-scaling.rst b/awscli/examples/opsworks/set-load-based-auto-scaling.rst deleted file mode 100644 index d3aaab2340aa..000000000000 --- a/awscli/examples/opsworks/set-load-based-auto-scaling.rst +++ /dev/null @@ -1,38 +0,0 @@ -**To set the load-based scaling configuration for a layer** - -The following example enables load-based scaling for a specified layer and sets the configuration -for that layer. -You must use ``create-instance`` to add load-based instances to the layer. :: - - aws opsworks --region us-east-1 set-load-based-auto-scaling --layer-id 523569ae-2faf-47ac-b39e-f4c4b381f36d --enable --up-scaling file://upscale.json --down-scaling file://downscale.json - -The example puts the upscaling threshold settings in a separate file in the working directory named ``upscale.json``, which contains the following. :: - - { - "InstanceCount": 2, - "ThresholdsWaitTime": 3, - "IgnoreMetricsTime": 3, - "CpuThreshold": 85, - "MemoryThreshold": 85, - "LoadThreshold": 85 - } - -The example puts the downscaling threshold settings in a separate file in the working directory named ``downscale.json``, which contains the following. :: - - { - "InstanceCount": 2, - "ThresholdsWaitTime": 3, - "IgnoreMetricsTime": 3, - "CpuThreshold": 35, - "MemoryThreshold": 30, - "LoadThreshold": 30 - } - -*Output*: None. - -**More Information** - -For more information, see `Using Automatic Load-based Scaling`_ in the *AWS OpsWorks User Guide*. - -.. _`Using Automatic Load-based Scaling`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling-loadbased.html - diff --git a/awscli/examples/opsworks/set-permission.rst b/awscli/examples/opsworks/set-permission.rst deleted file mode 100644 index 54f6137134e0..000000000000 --- a/awscli/examples/opsworks/set-permission.rst +++ /dev/null @@ -1,23 +0,0 @@ -**To grant per-stack AWS OpsWorks permission levels** - -When you import an AWS Identity and Access Management (IAM) user into AWS OpsWorks by calling ``create-user-profile``, the user has only those -permissions that are granted by the attached IAM policies. -You can grant AWS OpsWorks permissions by modifying a user's policies. -However, it is often easier to import a user and then use the ``set-permission`` command to grant -the user one of the standard permission levels for each stack to which the user will need access. - -The following example grants permission for the specified stack for a user, who -is identified by Amazon Resource Name (ARN). The example grants the user a Manage permissions level, with sudo and SSH privileges on the stack's -instances. :: - - aws opsworks set-permission --region us-east-1 --stack-id 71c7ca72-55ae-4b6a-8ee1-a8dcded3fa0f --level manage --iam-user-arn arn:aws:iam::123456789102:user/cli-user-test --allow-ssh --allow-sudo - - -*Output*: None. - -**More Information** - -For more information, see `Granting AWS OpsWorks Users Per-Stack Permissions`_ in the *AWS OpsWorks User Guide*. - -.. _`Granting AWS OpsWorks Users Per-Stack Permissions`: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users-console.html - diff --git a/awscli/examples/opsworks/set-time-based-auto-scaling.rst b/awscli/examples/opsworks/set-time-based-auto-scaling.rst deleted file mode 100644 index a308b9903c2f..000000000000 --- a/awscli/examples/opsworks/set-time-based-auto-scaling.rst +++ /dev/null @@ -1,33 +0,0 @@ -**To set the time-based scaling configuration for a layer** - -The following example sets the time-based configuration for a specified instance. -You must first use ``create-instance`` to add the instance to the layer. :: - - aws opsworks --region us-east-1 set-time-based-auto-scaling --instance-id 69b6237c-08c0-4edb-a6af-78f3d01cedf2 --auto-scaling-schedule file://schedule.json - -The example puts the schedule in a separate file in the working directory named ``schedule.json``. -For this example, the instance is on for a few hours around midday UTC (Coordinated Universal Time) on Monday and Tuesday. :: - - { - "Monday": { - "10": "on", - "11": "on", - "12": "on", - "13": "on" - }, - "Tuesday": { - "10": "on", - "11": "on", - "12": "on", - "13": "on" - } - } - -*Output*: None. - -**More Information** - -For more information, see `Using Automatic Time-based Scaling`_ in the *AWS OpsWorks User Guide*. - -.. _`Using Automatic Time-based Scaling`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling-timebased.html - diff --git a/awscli/examples/opsworks/start-instance.rst b/awscli/examples/opsworks/start-instance.rst deleted file mode 100644 index 125fada9a3c4..000000000000 --- a/awscli/examples/opsworks/start-instance.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To start an instance** - -The following ``start-instance`` command starts a specified 24/7 instance. :: - - aws opsworks start-instance --instance-id f705ee48-9000-4890-8bd3-20eb05825aaf - -*Output*: None. Use describe-instances_ to check the instance's status. - -.. _describe-instances: http://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-instances.html - -**Tip** You can start every offline instance in a stack with one command by calling start-stack_. - -.. _start-stack: http://docs.aws.amazon.com/cli/latest/reference/opsworks/start-stack.html - -**More Information** - -For more information, see `Manually Starting, Stopping, and Rebooting 24/7 Instances`_ in the *AWS OpsWorks User Guide*. - -.. _`Manually Starting, Stopping, and Rebooting 24/7 Instances`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html - diff --git a/awscli/examples/opsworks/start-stack.rst b/awscli/examples/opsworks/start-stack.rst deleted file mode 100644 index 674b6b12ec49..000000000000 --- a/awscli/examples/opsworks/start-stack.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To start a stack's instances** - -The following example starts all of a stack's 24/7 instances. -To start a particular instance, use ``start-instance``. :: - - aws opsworks --region us-east-1 start-stack --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8 - -*Output*: None. - -**More Information** - -For more information, see `Starting an Instance`_ in the *AWS OpsWorks User Guide*. - -.. _`Starting an Instance`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html#workinginstances-starting-start - diff --git a/awscli/examples/opsworks/stop-instance.rst b/awscli/examples/opsworks/stop-instance.rst deleted file mode 100644 index 54c09eba9ebf..000000000000 --- a/awscli/examples/opsworks/stop-instance.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To stop an instance** - -The following example stops a specified instance, which is identified by its instance ID. -You can obtain an instance ID by going to the instance's details page on the AWS OpsWorks console or by -running the ``describe-instances`` command. :: - - aws opsworks stop-instance --region us-east-1 --instance-id 3a21cfac-4a1f-4ce2-a921-b2cfba6f7771 - -You can restart a stopped instance by calling ``start-instance`` or by deleting the instance by calling -``delete-instance``. - -*Output*: None. - -**More Information** - -For more information, see `Stopping an Instance`_ in the *AWS OpsWorks User Guide*. - -.. _`Stopping an Instance`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html#workinginstances-starting-stop - - diff --git a/awscli/examples/opsworks/stop-stack.rst b/awscli/examples/opsworks/stop-stack.rst deleted file mode 100644 index 03c2ec9140a3..000000000000 --- a/awscli/examples/opsworks/stop-stack.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To stop a stack's instances** - -The following example stops all of a stack's 24/7 instances. -To stop a particular instance, use ``stop-instance``. :: - - aws opsworks --region us-east-1 stop-stack --stack-id 8c428b08-a1a1-46ce-a5f8-feddc43771b8 - -*Output*: No output. - -**More Information** - -For more information, see `Stopping an Instance`_ in the *AWS OpsWorks User Guide*. - -.. _`Stopping an Instance`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html#workinginstances-starting-stop - diff --git a/awscli/examples/opsworks/unassign-instance.rst b/awscli/examples/opsworks/unassign-instance.rst deleted file mode 100644 index e9fbb0a69afb..000000000000 --- a/awscli/examples/opsworks/unassign-instance.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To unassign a registered instance from its layers** - -The following ``unassign-instance`` command unassigns an instance from its attached layers. :: - - aws opsworks --region us-east-1 unassign-instance --instance-id 4d6d1710-ded9-42a1-b08e-b043ad7af1e2 - -**Output**: None. - -**More Information** - -For more information, see `Unassigning a Registered Instance`_ in the *AWS OpsWorks User Guide*. - -.. _`Unassigning a Registered Instance`: http://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-unassign.html - diff --git a/awscli/examples/opsworks/unassign-volume.rst b/awscli/examples/opsworks/unassign-volume.rst deleted file mode 100644 index d3f069876b1c..000000000000 --- a/awscli/examples/opsworks/unassign-volume.rst +++ /dev/null @@ -1,16 +0,0 @@ -**To unassign a volume from its instance** - -The following example unassigns a registered Amazon Elastic Block Store (Amazon EBS) volume from its instance. -The volume is identified by its volume ID, which is the GUID that AWS OpsWorks assigns when -you register the volume with a stack, not the Amazon Elastic Compute Cloud (Amazon EC2) volume ID. :: - - aws opsworks --region us-east-1 unassign-volume --volume-id 8430177d-52b7-4948-9c62-e195af4703df - -*Output*: None. - -**More Information** - -For more information, see `Unassigning Amazon EBS Volumes`_ in the *AWS OpsWorks User Guide*. - -.. _`Unassigning Amazon EBS Volumes`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-detach.html#resources-detach-ebs - diff --git a/awscli/examples/opsworks/update-app.rst b/awscli/examples/opsworks/update-app.rst deleted file mode 100644 index 5b1fb3ccc0e1..000000000000 --- a/awscli/examples/opsworks/update-app.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To update an app** - -The following example updates a specified app to change its name. :: - - aws opsworks --region us-east-1 update-app --app-id 26a61ead-d201-47e3-b55c-2a7c666942f8 --name NewAppName - -*Output*: None. - -**More Information** - -For more information, see `Editing Apps`_ in the *AWS OpsWorks User Guide*. - -.. _`Editing Apps`: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-editing.html - diff --git a/awscli/examples/opsworks/update-elastic-ip.rst b/awscli/examples/opsworks/update-elastic-ip.rst deleted file mode 100644 index 709075f21c11..000000000000 --- a/awscli/examples/opsworks/update-elastic-ip.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To update an Elastic IP address name** - -The following example updates the name of a specified Elastic IP address. :: - - aws opsworks --region us-east-1 update-elastic-ip --elastic-ip 54.148.130.96 --name NewIPName - -*Output*: None. - -**More Information** - -For more information, see `Resource Management`_ in the *AWS OpsWorks User Guide*. - -.. _`Resource Management`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html - diff --git a/awscli/examples/opsworks/update-instance.rst b/awscli/examples/opsworks/update-instance.rst deleted file mode 100644 index d4e2dd1cf871..000000000000 --- a/awscli/examples/opsworks/update-instance.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To update an instance** - -The following example updates a specified instance's type. :: - - aws opsworks --region us-east-1 update-instance --instance-id dfe18b02-5327-493d-91a4-c5c0c448927f --instance-type c3.xlarge - -*Output*: None. - -**More Information** - -For more information, see `Editing the Instance Configuration`_ in the *AWS OpsWorks User Guide*. - -.. _`Editing the Instance Configuration`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-properties.html - diff --git a/awscli/examples/opsworks/update-layer.rst b/awscli/examples/opsworks/update-layer.rst deleted file mode 100644 index c8a0b404db77..000000000000 --- a/awscli/examples/opsworks/update-layer.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To update a layer** - -The following example updates a specified layer to use Amazon EBS-optimized instances. :: - - aws opsworks --region us-east-1 update-layer --layer-id 888c5645-09a5-4d0e-95a8-812ef1db76a4 --use-ebs-optimized-instances - -*Output*: None. - -**More Information** - -For more information, see `Editing an OpsWorks Layer's Configuration`_ in the *AWS OpsWorks User Guide*. - -.. _`Editing an OpsWorks Layer's Configuration`: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html - diff --git a/awscli/examples/opsworks/update-my-user-profile.rst b/awscli/examples/opsworks/update-my-user-profile.rst deleted file mode 100644 index b804540c3a48..000000000000 --- a/awscli/examples/opsworks/update-my-user-profile.rst +++ /dev/null @@ -1,16 +0,0 @@ -**To update a user's profile** - -The following example updates the ``development`` user's profile to use a specified SSH public key. -The user's AWS credentials are represented by the ``development`` profile in the ``credentials`` file -(``~\.aws\credentials``), and the key is in a ``.pem`` file in the working directory. :: - - aws opsworks --region us-east-1 --profile development update-my-user-profile --ssh-public-key file://development_key.pem - -*Output*: None. - -**More Information** - -For more information, see `Editing AWS OpsWorks User Settings`_ in the *AWS OpsWorks User Guide*. - -.. _`Editing AWS OpsWorks User Settings`: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users-manage-edit.html - diff --git a/awscli/examples/opsworks/update-rds-db-instance.rst b/awscli/examples/opsworks/update-rds-db-instance.rst deleted file mode 100644 index bb6c434648c9..000000000000 --- a/awscli/examples/opsworks/update-rds-db-instance.rst +++ /dev/null @@ -1,18 +0,0 @@ -**To update a registered Amazon RDS DB instance** - -The following example updates an Amazon RDS instance's master password value. -Note that this command does not change the RDS instance's master password, just the password that -you provide to AWS OpsWorks. -If this password does not match the RDS instance's password, -your application will not be able to connect to the database. :: - - aws opsworks --region us-east-1 update-rds-db-instance --db-password 123456789 - -*Output*: None. - -**More Information** - -For more information, see `Registering Amazon RDS Instances with a Stack`_ in the *AWS OpsWorks User Guide*. - -.. _`Registering Amazon RDS Instances with a Stack`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-reg.html#resources-reg-rds - diff --git a/awscli/examples/opsworks/update-volume.rst b/awscli/examples/opsworks/update-volume.rst deleted file mode 100644 index 182e7ce44e6b..000000000000 --- a/awscli/examples/opsworks/update-volume.rst +++ /dev/null @@ -1,16 +0,0 @@ -**To update a registered volume** - -The following example updates a registered Amazon Elastic Block Store (Amazon EBS) volume's mount point. -The volume is identified by its volume ID, which is the GUID that AWS OpsWorks assigns to the volume when -you register it with a stack, not the Amazon Elastic Compute Cloud (Amazon EC2) volume ID.:: - - aws opsworks --region us-east-1 update-volume --volume-id 8430177d-52b7-4948-9c62-e195af4703df --mount-point /mnt/myvol - -*Output*: None. - -**More Information** - -For more information, see `Assigning Amazon EBS Volumes to an Instance`_ in the *AWS OpsWorks User Guide*. - -.. _`Assigning Amazon EBS Volumes to an Instance`: http://docs.aws.amazon.com/opsworks/latest/userguide/resources-attach.html#resources-attach-ebs - diff --git a/awscli/examples/opsworkscm/associate-node.rst b/awscli/examples/opsworkscm/associate-node.rst deleted file mode 100644 index d791353185b8..000000000000 --- a/awscli/examples/opsworkscm/associate-node.rst +++ /dev/null @@ -1,22 +0,0 @@ -**To associate nodes** - -The following ``associate-node`` command associates a node named ``i-44de882p`` with -a Chef Automate server named ``automate-06``, meaning that the ``automate-06`` server -manages the node, and communicates recipe commands to the node through ``chef-client`` agent software -that is installed on the node by the associate-node command. Valid node names are EC2 instance IDs.:: - - aws opsworks-cm associate-node --server-name "automate-06" --node-name "i-43de882p" --engine-attributes "Name=CHEF_ORGANIZATION,Value='MyOrganization' Name=CHEF_NODE_PUBLIC_KEY,Value='Public_key_contents'" - -The output returned by the command resembles the following. -*Output*:: - - { - "NodeAssociationStatusToken": "AHUY8wFe4pdXtZC5DiJa5SOLp5o14DH//rHRqHDWXxwVoNBxcEy4V7R0NOFymh7E/1HumOBPsemPQFE6dcGaiFk" - } - -**More Information** - -For more information, see `Adding Nodes Automatically in AWS OpsWorks for Chef Automate`_ in the *AWS OpsWorks User Guide*. - -.. _`Adding Nodes Automatically in AWS OpsWorks for Chef Automate`: http://docs.aws.amazon.com/opsworks/latest/userguide/opscm-unattend-assoc.html - diff --git a/awscli/examples/opsworkscm/create-backup.rst b/awscli/examples/opsworkscm/create-backup.rst deleted file mode 100644 index 8f0b6489a511..000000000000 --- a/awscli/examples/opsworkscm/create-backup.rst +++ /dev/null @@ -1,46 +0,0 @@ -**To create backups** - -The following ``create-backup`` command starts a manual backup of a Chef Automate server -named ``automate-06`` in the ``us-east-1`` region. The command adds a descriptive message to -the backup in the ``--description`` parameter. :: - - aws opsworks-cm create-backup \ - --server-name 'automate-06' \ - --description "state of my infrastructure at launch" - -The output shows you information similar to the following about the new backup. - -Output:: - - { - "Backups": [ - { - "BackupArn": "string", - "BackupId": "automate-06-20160729133847520", - "BackupType": "MANUAL", - "CreatedAt": 2016-07-29T13:38:47.520Z, - "Description": "state of my infrastructure at launch", - "Engine": "Chef", - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", - "InstanceType": "m4.large", - "KeyPair": "", - "PreferredBackupWindow": "", - "PreferredMaintenanceWindow": "", - "S3LogUrl": "https://s3.amazonaws.com//automate-06-20160729133847520", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", - "Status": "OK", - "StatusDescription": "", - "SubnetIds": [ "subnet-49436a18" ], - "ToolsVersion": "string", - "UserArn": "arn:aws:iam::1019881987024:user/opsworks-user" - } - ], - } - -For more information, see `Back Up and Restore an AWS OpsWorks for Chef Automate Server`_ in the *AWS OpsWorks User Guide*. - -.. _`Back Up and Restore an AWS OpsWorks for Chef Automate Server`: http://docs.aws.amazon.com/opsworks/latest/userguide/opscm-backup-restore.html \ No newline at end of file diff --git a/awscli/examples/opsworkscm/create-server.rst b/awscli/examples/opsworkscm/create-server.rst deleted file mode 100644 index 21ece1d98d97..000000000000 --- a/awscli/examples/opsworkscm/create-server.rst +++ /dev/null @@ -1,48 +0,0 @@ -**To create a server** - -The following ``create-server`` example creates a new Chef Automate server named ``automate-06`` in your default region. Note that defaults are used for most other settings, such as number of backups to retain, and maintenance and backup start times. Before you run a ``create-server`` command, complete prerequisites in `Getting Started with AWS OpsWorks for Chef Automate `__ in the *AWS Opsworks for Chef Automate User Guide*. :: - - aws opsworks-cm create-server \ - --engine "Chef" \ - --engine-model "Single" \ - --engine-version "12" \ - --server-name "automate-06" \ - --instance-profile-arn "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role" \ - --instance-type "t2.medium" \ - --key-pair "amazon-test" \ - --service-role-arn "arn:aws:iam::044726508045:role/aws-opsworks-cm-service-role" - -The output shows you information similar to the following about the new server:: - - { - "Server": { - "BackupRetentionCount": 10, - "CreatedAt": 2016-07-29T13:38:47.520Z, - "DisableAutomatedBackup": FALSE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "Chef", - "EngineAttributes": [ - { - "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", - "Value": "1Password1" - } - ], - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/aws-opsworks-cm-ec2-role", - "InstanceType": "t2.medium", - "KeyPair": "amazon-test", - "MaintenanceStatus": "", - "PreferredBackupWindow": "Sun:02:00", - "PreferredMaintenanceWindow": "00:00", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role", - "Status": "CREATING", - "StatusReason": "", - "SubnetIds": [ "subnet-49436a18" ] - } - } - -For more information, see `UpdateServer `_ in the *AWS OpsWorks for Chef Automate API Reference*. \ No newline at end of file diff --git a/awscli/examples/opsworkscm/delete-backup.rst b/awscli/examples/opsworkscm/delete-backup.rst deleted file mode 100644 index d20a0f98cb9c..000000000000 --- a/awscli/examples/opsworkscm/delete-backup.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To delete backups** - -The following ``delete-backup`` command deletes a manual or automated backup of -a Chef Automate server, identified by the backup ID. This command is useful when -you are approaching the maximum number of backups that you can save, or you want -to minimize your Amazon S3 storage costs.:: - - aws opsworks-cm delete-backup --backup-id "automate-06-2016-11-19T23:42:40.240Z" - -The output shows whether the backup deletion succeeded. - -**More Information** - -For more information, see `Back Up and Restore an AWS OpsWorks for Chef Automate Server`_ in the *AWS OpsWorks User Guide*. - -.. _`Back Up and Restore an AWS OpsWorks for Chef Automate Server`: http://docs.aws.amazon.com/opsworks/latest/userguide/opscm-backup-restore.html - diff --git a/awscli/examples/opsworkscm/delete-server.rst b/awscli/examples/opsworkscm/delete-server.rst deleted file mode 100644 index d7b76e4e3c39..000000000000 --- a/awscli/examples/opsworkscm/delete-server.rst +++ /dev/null @@ -1,16 +0,0 @@ -**To delete servers** - -The following ``delete-server`` command deletes a Chef Automate server, identified -by the server's name. After the server is deleted, it is no longer returned by -``DescribeServer`` requests.:: - - aws opsworks-cm delete-server --server-name "automate-06" - -The output shows whether the server deletion succeeded. - -**More Information** - -For more information, see `Delete an AWS OpsWorks for Chef Automate Server`_ in the *AWS OpsWorks User Guide*. - -.. _`Delete an AWS OpsWorks for Chef Automate Server`: http://docs.aws.amazon.com/opsworks/latest/userguide/opscm-delete-server.html - diff --git a/awscli/examples/opsworkscm/describe-account-attributes.rst b/awscli/examples/opsworkscm/describe-account-attributes.rst deleted file mode 100644 index 2beb54536554..000000000000 --- a/awscli/examples/opsworkscm/describe-account-attributes.rst +++ /dev/null @@ -1,26 +0,0 @@ -**To describe account attributes** - -The following ``describe-account-attributes`` command returns information about your -account's usage of AWS OpsWorks for Chef Automate resources.:: - - aws opsworks-cm describe-account-attributes - -The output for each account attribute entry returned by the command resembles the following. -*Output*:: - - { - "Attributes": [ - { - "Maximum": 5, - "Name": "ServerLimit", - "Used": 2 - } - ] - } - -**More Information** - -For more information, see `DescribeAccountAttributes`_ in the *AWS OpsWorks for Chef Automate API Reference*. - -.. _`DescribeAccountAttributes`: http://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_DescribeAccountAttributes.html - diff --git a/awscli/examples/opsworkscm/describe-backups.rst b/awscli/examples/opsworkscm/describe-backups.rst deleted file mode 100644 index 9a7d48326de9..000000000000 --- a/awscli/examples/opsworkscm/describe-backups.rst +++ /dev/null @@ -1,44 +0,0 @@ -**To describe backups** - -The following ``describe-backups`` command returns information about all backups -associated with your account in your default region. :: - - aws opsworks-cm describe-backups - -The output for each backup entry returned by the command resembles the following. - -Output:: - - { - "Backups": [ - { - "BackupArn": "string", - "BackupId": "automate-06-20160729133847520", - "BackupType": "MANUAL", - "CreatedAt": 2016-07-29T13:38:47.520Z, - "Description": "state of my infrastructure at launch", - "Engine": "Chef", - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", - "InstanceType": "m4.large", - "KeyPair": "", - "PreferredBackupWindow": "", - "PreferredMaintenanceWindow": "", - "S3LogUrl": "https://s3.amazonaws.com//automate-06-20160729133847520", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", - "Status": "Successful", - "StatusDescription": "", - "SubnetIds": [ "subnet-49436a18" ], - "ToolsVersion": "string", - "UserArn": "arn:aws:iam::1019881987024:user/opsworks-user" - } - ], - } - -For more information, see `Back Up and Restore an AWS OpsWorks for Chef Automate Server`_ in the *AWS OpsWorks User Guide*. - -.. _`Back Up and Restore an AWS OpsWorks for Chef Automate Server`: http://docs.aws.amazon.com/opsworks/latest/userguide/opscm-backup-restore.html - diff --git a/awscli/examples/opsworkscm/describe-events.rst b/awscli/examples/opsworkscm/describe-events.rst deleted file mode 100644 index 688fd0b495ad..000000000000 --- a/awscli/examples/opsworkscm/describe-events.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To describe events** - -The following ``describe-events`` example returns information about all events that are associated with the specified Chef Automate server. :: - - aws opsworks-cm describe-events \ - --server-name 'automate-06' - -The output for each event entry returned by the command resembles the following example:: - - { - "ServerEvents": [ - { - "CreatedAt": 2016-07-29T13:38:47.520Z, - "LogUrl": "https://s3.amazonaws.com//automate-06-20160729133847520", - "Message": "Updates successfully installed.", - "ServerName": "automate-06" - } - ] - } - -For more information, see `General Troubleshooting Tips `_ in the *AWS OpsWorks User Guide*. \ No newline at end of file diff --git a/awscli/examples/opsworkscm/describe-node-association-status.rst b/awscli/examples/opsworkscm/describe-node-association-status.rst deleted file mode 100644 index 33e8a040f42e..000000000000 --- a/awscli/examples/opsworkscm/describe-node-association-status.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To describe node association status** - -The following ``describe-node-association-status`` command returns the status of a -request to associate a node with a Chef Automate server named ``automate-06``.:: - - aws opsworks-cm describe-node-association-status --server-name "automate-06" --node-association-status-token "AflJKl+/GoKLZJBdDQEx0O65CDi57blQe9nKM8joSok0pQ9xr8DqApBN9/1O6sLdSvlfDEKkEx+eoCHvjoWHaOs=" - -The output for each account attribute entry returned by the command resembles the following. -*Output*:: - - { - "NodeAssociationStatus": "IN_PROGRESS" - } - -**More Information** - -For more information, see `DescribeNodeAssociationStatus`_ in the *AWS OpsWorks for Chef Automate API Reference*. - -.. _`DescribeNodeAssociationStatus`: http://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_DescribeNodeAssociationStatus.html - diff --git a/awscli/examples/opsworkscm/describe-servers.rst b/awscli/examples/opsworkscm/describe-servers.rst deleted file mode 100644 index 8266cdb4fb4e..000000000000 --- a/awscli/examples/opsworkscm/describe-servers.rst +++ /dev/null @@ -1,48 +0,0 @@ -**To describe servers** - -The following ``describe-servers`` command returns information about all servers -that are associated with your account, and in your default region.:: - - aws opsworks-cm describe-servers - -The output for each server entry returned by the command resembles the following. -*Output*:: - - { - "Servers": [ - { - "BackupRetentionCount": 8, - "CreatedAt": 2016-07-29T13:38:47.520Z, - "DisableAutomatedBackup": FALSE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "Chef", - "EngineAttributes": [ - { - "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", - "Value": "1Password1" - } - ], - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", - "InstanceType": "m4.large", - "KeyPair": "", - "MaintenanceStatus": "SUCCESS", - "PreferredBackupWindow": "03:00", - "PreferredMaintenanceWindow": "Mon:09:00", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", - "Status": "HEALTHY", - "StatusReason": "", - "SubnetIds": [ "subnet-49436a18" ] - } - ] - } - -**More Information** - -For more information, see `DescribeServers`_ in the *AWS OpsWorks for Chef Automate API Guide*. - -.. _`DescribeServers`: http://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_DescribeServers.html diff --git a/awscli/examples/opsworkscm/disassociate-node.rst b/awscli/examples/opsworkscm/disassociate-node.rst deleted file mode 100644 index 824c4a6ebf65..000000000000 --- a/awscli/examples/opsworkscm/disassociate-node.rst +++ /dev/null @@ -1,19 +0,0 @@ -**To disassociate nodes** - -The following ``disassociate-node`` command disassociates a node named ``i-44de882p``, removing the node from -management by a Chef Automate server named ``automate-06``. Valid node names are EC2 instance IDs.:: - - aws opsworks-cm disassociate-node --server-name "automate-06" --node-name "i-43de882p" --engine-attributes "Name=CHEF_ORGANIZATION,Value='MyOrganization' Name=CHEF_NODE_PUBLIC_KEY,Value='Public_key_contents'" - -The output returned by the command resembles the following. -*Output*:: - - { - "NodeAssociationStatusToken": "AHUY8wFe4pdXtZC5DiJa5SOLp5o14DH//rHRqHDWXxwVoNBxcEy4V7R0NOFymh7E/1HumOBPsemPQFE6dcGaiFk" - } - -**More Information** - -For more information, see `Delete an AWS OpsWorks for Chef Automate Server`_ in the *AWS OpsWorks User Guide*. - -.. _`Delete an AWS OpsWorks for Chef Automate Server`: http://docs.aws.amazon.com/opsworks/latest/userguide/opscm-delete-server.html diff --git a/awscli/examples/opsworkscm/restore-server.rst b/awscli/examples/opsworkscm/restore-server.rst deleted file mode 100644 index fdd0bf0e8092..000000000000 --- a/awscli/examples/opsworkscm/restore-server.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To restore a server** - -The following ``restore-server`` command performs an in-place restoration of a -Chef Automate server named ``automate-06`` in your default region from a backup -with an ID of ``automate-06-2016-11-22T16:13:27.998Z``. Restoring a server restores -connections to the nodes that the Chef Automate server was managing at the time -that the specified backup was performed. - - aws opsworks-cm restore-server --backup-id "automate-06-2016-11-22T16:13:27.998Z" --server-name "automate-06" - -The output is the command ID only. -*Output*:: - - (None) - -**More Information** - -For more information, see `Restore a Failed AWS OpsWorks for Chef Automate Server`_ in the *AWS OpsWorks User Guide*. - -.. _`Restore a Failed AWS OpsWorks for Chef Automate Server`: http://docs.aws.amazon.com/opsworks/latest/userguide/opscm-chef-restore.html diff --git a/awscli/examples/opsworkscm/start-maintenance.rst b/awscli/examples/opsworkscm/start-maintenance.rst deleted file mode 100644 index 47cd93e7c7e9..000000000000 --- a/awscli/examples/opsworkscm/start-maintenance.rst +++ /dev/null @@ -1,39 +0,0 @@ -**To start maintenance** - -The following ``start-maintenance`` example manually starts maintenance on the specified Chef Automate or Puppet Enterprise server in your default region. This command is useful if an earlier, automated maintenance attempt failed, and the underlying cause of maintenance failure has been resolved. :: - - aws opsworks-cm start-maintenance \ - --server-name 'automate-06' - -Output:: - - { - "Server": { - "AssociatePublicIpAddress": true, - "BackupRetentionCount": 10, - "ServerName": "automate-06", - "CreatedAt": 1569229584.842, - "CloudFormationStackArn": "arn:aws:cloudformation:us-west-2:123456789012:stack/aws-opsworks-cm-instance-automate-06-1606611794746/EXAMPLE0-31de-11eb-bdb0-0a5b0a1353b8", - "DisableAutomatedBackup": false, - "Endpoint": "automate-06-EXAMPLEvr8gjfk5f.us-west-2.opsworks-cm.io", - "Engine": "ChefAutomate", - "EngineModel": "Single", - "EngineAttributes": [], - "EngineVersion": "2020-07", - "InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-cm-ec2-role", - "InstanceType": "m5.large", - "PreferredMaintenanceWindow": "Sun:01:00", - "PreferredBackupWindow": "Sun:15:00", - "SecurityGroupIds": [ - "sg-EXAMPLE" - ], - "ServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/aws-opsworks-cm-service-role", - "Status": "UNDER_MAINTENANCE", - "SubnetIds": [ - "subnet-EXAMPLE" - ], - "ServerArn": "arn:aws:opsworks-cm:us-west-2:123456789012:server/automate-06/0148382d-66b0-4196-8274-d1a2b6dff8d1" - } - } - -For more information, see `System Maintenance (Puppet Enterprise servers) `_ or `System Maintenance (Chef Automate servers) `_ in the *AWS OpsWorks User Guide*. \ No newline at end of file diff --git a/awscli/examples/opsworkscm/update-server-engine-attributes.rst b/awscli/examples/opsworkscm/update-server-engine-attributes.rst deleted file mode 100644 index 5854b9ba6b7a..000000000000 --- a/awscli/examples/opsworkscm/update-server-engine-attributes.rst +++ /dev/null @@ -1,43 +0,0 @@ -**To update server engine attributes** - -The following ``update-server-engine-attributes`` command updates the value of the ``CHEF_PIVOTAL_KEY`` engine attribute for a Chef Automate server named ``automate-06``. It is currently not possible to change the value of other engine attributes. :: - - aws opsworks-cm update-server-engine-attributes \ - --attribute-name CHEF_PIVOTAL_KEY \ - --attribute-value "new key value" \ - --server-name "automate-06" - -The output shows you information similar to the following about the updated server. :: - - { - "Server": { - "BackupRetentionCount": 2, - "CreatedAt": 2016-07-29T13:38:47.520Z, - "DisableAutomatedBackup": FALSE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "Chef", - "EngineAttributes": [ - { - "Name": "CHEF_PIVOTAL_KEY", - "Value": "new key value" - } - ], - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", - "InstanceType": "m4.large", - "KeyPair": "", - "MaintenanceStatus": "SUCCESS", - "PreferredBackupWindow": "Mon:09:15", - "PreferredMaintenanceWindow": "03:00", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", - "Status": "HEALTHY", - "StatusReason": "", - "SubnetIds": [ "subnet-49436a18" ] - } - } - -For more information, see `UpdateServerEngineAttributes `_ in the *AWS OpsWorks for Chef Automate API Reference*. diff --git a/awscli/examples/opsworkscm/update-server.rst b/awscli/examples/opsworkscm/update-server.rst deleted file mode 100644 index 8be7dbd20327..000000000000 --- a/awscli/examples/opsworkscm/update-server.rst +++ /dev/null @@ -1,42 +0,0 @@ -**To update a server** - -The following ``update-server`` command updates the maintenance start time of the specified Chef Automate server in your default region. The ``--preferred-maintenance-window`` parameter is added to change the start day and time of server maintenance to Mondays at 9:15 a.m. UTC.:: - - aws opsworks-cm update-server \ - --server-name "automate-06" \ - --preferred-maintenance-window "Mon:09:15" - -The output shows you information similar to the following about the updated server. :: - - { - "Server": { - "BackupRetentionCount": 8, - "CreatedAt": 2016-07-29T13:38:47.520Z, - "DisableAutomatedBackup": TRUE, - "Endpoint": "https://opsworks-cm.us-east-1.amazonaws.com", - "Engine": "Chef", - "EngineAttributes": [ - { - "Name": "CHEF_DELIVERY_ADMIN_PASSWORD", - "Value": "1Password1" - } - ], - "EngineModel": "Single", - "EngineVersion": "12", - "InstanceProfileArn": "arn:aws:iam::1019881987024:instance-profile/automate-06-1010V4UU2WRM2", - "InstanceType": "m4.large", - "KeyPair": "", - "MaintenanceStatus": "OK", - "PreferredBackupWindow": "Mon:09:15", - "PreferredMaintenanceWindow": "03:00", - "SecurityGroupIds": [ "sg-1a24c270" ], - "ServerArn": "arn:aws:iam::1019881987024:instance/automate-06-1010V4UU2WRM2", - "ServerName": "automate-06", - "ServiceRoleArn": "arn:aws:iam::1019881987024:role/aws-opsworks-cm-service-role.1114810729735", - "Status": "HEALTHY", - "StatusReason": "", - "SubnetIds": [ "subnet-49436a18" ] - } - } - -For more information, see `UpdateServer `_ in the *AWS OpsWorks for Chef Automate API Reference*. diff --git a/awscli/examples/pi/create-performance-analysis-report.rst b/awscli/examples/pi/create-performance-analysis-report.rst new file mode 100644 index 000000000000..718b20e7106d --- /dev/null +++ b/awscli/examples/pi/create-performance-analysis-report.rst @@ -0,0 +1,17 @@ +**To create a performance analysis report** + +The following ``create-performance-analysis-report`` example creates a performance analysis report with the start time ``1682969503`` and end time ``1682979503`` for the database ``db-abcdefg123456789``. :: + + aws pi create-performance-analysis-report \ + --service-type RDS \ + --identifier db-abcdefg123456789 \ + --start-time 1682969503 \ + --end-time 1682979503 + +Output:: + + { + "AnalysisReportId": "report-0234d3ed98e28fb17" + } + +For more information about creating performance analysis reports, see `Creating a performance analysis report in Performance Insights `__ in the *Amazon RDS User Guide* and `Creating a performance analysis report in Performance Insights `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/delete-performance-analysis-report.rst b/awscli/examples/pi/delete-performance-analysis-report.rst new file mode 100644 index 000000000000..0b4c30393e96 --- /dev/null +++ b/awscli/examples/pi/delete-performance-analysis-report.rst @@ -0,0 +1,12 @@ +**To delete a performance analysis report** + +The following ``delete-performance-analysis-report`` example deletes the performance analysis report with the report ID ``report-0d99cc91c4422ee61``. :: + + aws pi delete-performance-analysis-report \ + --service-type RDS \ + --identifier db-abcdefg123456789 \ + --analysis-report-id report-0d99cc91c4422ee61 + +This command produces no output. + +For more information about deleting performance analysis reports, see `Deleting a performance analysis report in Performance Insights `__ in the *Amazon RDS User Guide* and `Deleting a performance analysis report in Performance Insights `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/describe-dimension-keys.rst b/awscli/examples/pi/describe-dimension-keys.rst index f85b47714a59..89156d5b1756 100644 --- a/awscli/examples/pi/describe-dimension-keys.rst +++ b/awscli/examples/pi/describe-dimension-keys.rst @@ -1,4 +1,4 @@ -**To describe dimension keys** +**Example 1: To describe dimension keys** This example requests the names of all wait events. The data is summarized by event name, and the aggregate values of those events over the specified time period. @@ -54,3 +54,35 @@ Output:: } ] } + +**Example 2: To find the SQL ID for statements contributing the most to DB load** + +The following ``describe-dimension-keys`` requests the SQL statement and SQL ID for the 10 statements that contributed the most to DB load. :: + + aws pi describe-dimension-keys \ + --service-type RDS \ + --identifier db-abcdefg123456789 \ + --start-time 2023-05-01T00:00:00Z \ + --end-time 2023-05-01T01:00:00Z \ + --metric db.load.avg \ + --group-by '{"Group": "db.sql", "Dimensions": ["db.sql.id", "db.sql.statement"],"Limit": 10}' + +Output:: + + { + "AlignedEndTime": 1.5270804E9, + "AlignedStartTime": 1.5270264E9, + "Identifier": "db-abcdefg123456789", + "MetricList": [ + { + "Keys": [ + { + "Dimensions": {"db.sql.id": "AKIAIOSFODNN7EXAMPLE", "db.sql.statement": "SELECT * FROM customers WHERE customer_id = 123"}, + "Total": 25.5,"Partitions": [12.3, 13.2] + } + ] + } + ] + } + +For more information about dimensions in Performance Insights, see `Database load `__ in the *Amazon RDS User Guide* and `Database load `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/get-dimension-key-details.rst b/awscli/examples/pi/get-dimension-key-details.rst new file mode 100644 index 000000000000..59324127c10f --- /dev/null +++ b/awscli/examples/pi/get-dimension-key-details.rst @@ -0,0 +1,25 @@ +**To get details for a specified dimension group for a DB instance** + +The following ``get-dimension-key-details`` example retrieves the full text of a SQL statement for DB instance ``db-10BCD2EFGHIJ3KL4M5NO6PQRS5``. The ``--group`` is ``db.sql``, and the ``--group-identifier`` is ``db.sql.id``. In this example, ``example-sql-id`` represents a SQL ID retrieved by using the ``get-resource-metrics`` or ``describe-dimension-keys`` operations. In this example, the dimensions details are available. Thus, Performance Insights retrieves the full text of the SQL statement, without truncating it. :: + + aws pi get-dimension-key-details \ + --service-type RDS \ + --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 \ + --group db.sql \ + --group-identifier example-sql-id \ + --requested-dimensions statement + +Output:: + + { + "Dimensions":[ + { + "Value": "SELECT e.last_name, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id", + "Dimension": "db.sql.statement", + "Status": "AVAILABLE" + }, + ... + ] + } + +For more information about dimensions in Performance Insights, see `Database load `__ in the *Amazon RDS User Guide* and `Database load `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/get-performance-analysis-report.rst b/awscli/examples/pi/get-performance-analysis-report.rst new file mode 100644 index 000000000000..d0dc03ead9be --- /dev/null +++ b/awscli/examples/pi/get-performance-analysis-report.rst @@ -0,0 +1,27 @@ +**To get a performance analysis report** + +The following ``get-performance-analysis-report`` example gets the performance analysis report for the database ``db-abcdefg123456789`` with the report ID ``report-0d99cc91c4422ee61``. The response provides the report status, ID, time details, and insights. :: + + aws pi get-performance-analysis-report \ + --service-type RDS \ + --identifier db-abcdefg123456789 \ + --analysis-report-id report-0d99cc91c4422ee61 + +Output:: + + { + "AnalysisReport": { + "Status": "Succeeded", + "ServiceType": "RDS", + "Identifier": "db-abcdefg123456789", + "StartTime": 1680583486.584, + "AnalysisReportId": "report-0d99cc91c4422ee61", + "EndTime": 1680587086.584, + "CreateTime": 1680587087.139, + "Insights": [ + ... (Condensed for space) + ] + } + } + +For more information about performance analysis reports, see `Analyzing database performance for a period of time `__ in the *Amazon RDS User Guide* and `Analyzing database performance for a period of time `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/get-resource-metadata.rst b/awscli/examples/pi/get-resource-metadata.rst new file mode 100644 index 000000000000..4e60a14db1c3 --- /dev/null +++ b/awscli/examples/pi/get-resource-metadata.rst @@ -0,0 +1,20 @@ +**To get resource metadata for a database** + +The following ``get-resource-metadata`` example gets the resource metadata for the database ``db-abcdefg123456789``. The response shows that SQL digest statistics are enabled. :: + + aws pi get-resource-metadata \ + --service-type RDS \ + --identifier db-abcdefg123456789 + +Output:: + + { + "Identifier": "db-abcdefg123456789", + "Features":{ + "SQL_DIGEST_STATISTICS":{ + "Status": "ENABLED" + } + } + } + +For more information about SQL statistics for Performance Insights, see `SQL statistics for Performance Insights `__ in the *Amazon RDS User Guide* and `SQL statistics for Performance Insights `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/list-available-resource-dimensions.rst b/awscli/examples/pi/list-available-resource-dimensions.rst new file mode 100644 index 000000000000..4f21e072cccd --- /dev/null +++ b/awscli/examples/pi/list-available-resource-dimensions.rst @@ -0,0 +1,48 @@ +**To list the dimensions that can be queried for a metric type on a DB instance** + +The following ``list-available-resource-dimensions`` example lists the ``db.load`` metrics you can query for the database ``db-abcdefg123456789``. :: + + aws pi list-available-resource-dimensions \ + --service-type RDS \ + --identifier db-abcdefg123456789 \ + --metrics db.load + +Output:: + + { + "MetricDimensions": [ + { + "Metric": "db.load", + "Groups": [ + { + "Group": "db.user", + "Dimensions": [ + { + "Identifier": "db.user.id" + }, + { + "Identifier": "db.user.name" + } + ] + }, + { + "Group": "db.sql_tokenized", + "Dimensions": [ + { + "Identifier": "db.sql_tokenized.id" + }, + { + "Identifier": "db.sql_tokenized.db_id" + }, + { + "Identifier": "db.sql_tokenized.statement" + } + ] + }, + ... + ] + } + ] + } + +For more information about dimensions in Performance Insights, see `Database load `__ in the *Amazon RDS User Guide* and `Database load `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/list-available-resource-metrics.rst b/awscli/examples/pi/list-available-resource-metrics.rst new file mode 100644 index 000000000000..589bf1ee7ba8 --- /dev/null +++ b/awscli/examples/pi/list-available-resource-metrics.rst @@ -0,0 +1,29 @@ +**To list the metrics that can be queried for a metric type on a DB instance** + +The following ``list-available-resource-metrics`` example lists the ``db.load`` metrics you can query for the database ``db-abcdefg123456789``. :: + + aws pi list-available-resource-metrics \ + --service-type RDS \ + --identifier db-abcdefg123456789 \ + --metric-types "os" "db" + +Output:: + + { + "Metrics": [ + { + "Description": "The number of virtual CPUs for the DB instance", + "Metric": "os.general.numVCPUs", + "Unit": "vCPUs" + }, + ......, + { + "Description": "Time spent reading data file blocks by backends in this instance", + "Metric": "db.IO.read_latency", + "Unit": "Milliseconds per block" + }, + ...... + ] + } + +For more information about metrics in Performance Insights, see `Database load `__ in the *Amazon RDS User Guide* and `Database load `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/list-performance-analysis-reports.rst b/awscli/examples/pi/list-performance-analysis-reports.rst new file mode 100644 index 000000000000..10e13520011d --- /dev/null +++ b/awscli/examples/pi/list-performance-analysis-reports.rst @@ -0,0 +1,44 @@ +**To list performance analysis reports for a database** + +The following ``list-performance-analysis-reports`` example lists performance analysis reports for the database ``db-abcdefg123456789``. The response lists all the reports with the report ID, status, and time period details. :: + + aws pi list-performance-analysis-reports \ + --service-type RDS \ + --identifier db-abcdefg123456789 + +Output:: + + { + "AnalysisReports": [ + { + "Status": "Succeeded", + "EndTime": 1680587086.584, + "CreateTime": 1680587087.139, + "StartTime": 1680583486.584, + "AnalysisReportId": "report-0d99cc91c4422ee61" + }, + { + "Status": "Succeeded", + "EndTime": 1681491137.914, + "CreateTime": 1681491145.973, + "StartTime": 1681487537.914, + "AnalysisReportId": "report-002633115cc002233" + }, + { + "Status": "Succeeded", + "EndTime": 1681493499.849, + "CreateTime": 1681493507.762, + "StartTime": 1681489899.849, + "AnalysisReportId": "report-043b1e006b47246f9" + }, + { + "Status": "InProgress", + "EndTime": 1682979503.0, + "CreateTime": 1682979618.994, + "StartTime": 1682969503.0, + "AnalysisReportId": "report-01ad15f9b88bcbd56" + } + ] + } + +For more information about performance analysis reports, see `Analyzing database performance for a period of time `__ in the *Amazon RDS User Guide* and `Analyzing database performance for a period of time `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/list-tags-for-resource.rst b/awscli/examples/pi/list-tags-for-resource.rst new file mode 100644 index 000000000000..7fe98060d023 --- /dev/null +++ b/awscli/examples/pi/list-tags-for-resource.rst @@ -0,0 +1,20 @@ +**To list tags for a performance analysis report** + +The following ``list-tags-for-resource`` example lists tags for a performance analysis report with the report ID ``report-0d99cc91c4422ee61``. :: + + aws pi list-tags-for-resource \ + --service-type RDS \ + --resource-arn arn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61 + +Output:: + + { + "Tags": [ + { + "Value": "test-tag", + "Key": "name" + } + ] + } + +For more information about tagging performance analysis reports, see `Adding tags to a performance analysis report in Performance Insights `__ in the *Amazon RDS User Guide* and `Adding tags to a performance analysis report in Performance Insights `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/tag-resource.rst b/awscli/examples/pi/tag-resource.rst new file mode 100644 index 000000000000..dd5dc1fe683e --- /dev/null +++ b/awscli/examples/pi/tag-resource.rst @@ -0,0 +1,12 @@ +**To add a tag to a performance analysis report** + +The following ``tag-resource`` example adds the tag key ``name`` with the tag value ``test-tag`` to a performance analysis report with the report ID ``report-0d99cc91c4422ee61``. :: + + aws pi tag-resource \ + --service-type RDS \ + --resource-arn arn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61 \ + --tags Key=name,Value=test-tag + +This command produces no output. + +For more information about tagging performance analysis reports, see `Adding tags to a performance analysis report in Performance Insights `__ in the *Amazon RDS User Guide* and `Adding tags to a performance analysis report in Performance Insights `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pi/untag-resource.rst b/awscli/examples/pi/untag-resource.rst new file mode 100644 index 000000000000..1c3d09b354a4 --- /dev/null +++ b/awscli/examples/pi/untag-resource.rst @@ -0,0 +1,12 @@ +**To delete a tag for a performance analysis report** + +The following ``untag-resource`` example deletes the tag ``name`` for a performance analysis report with the report ID ``report-0d99cc91c4422ee61``. :: + + aws pi untag-resource \ + --service-type RDS \ + --resource-arn arn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61 \ + --tag-keys name + +This command produces no output. + +For more information about tagging performance analysis reports, see `Adding tags to a performance analysis report in Performance Insights `__ in the *Amazon RDS User Guide* and `Adding tags to a performance analysis report in Performance Insights `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/create-pipe.rst b/awscli/examples/pipes/create-pipe.rst new file mode 100644 index 000000000000..9185c24c6fa3 --- /dev/null +++ b/awscli/examples/pipes/create-pipe.rst @@ -0,0 +1,23 @@ +**To Create a pipe** + +The following ``create-pipe`` example creates a Pipe named ``Demo_Pipe`` with SQS as the source and CloudWatch Log Group as the target for the Pipe. :: + + aws pipes create-pipe \ + --name Demo_Pipe \ + --desired-state RUNNING \ + --role-arn arn:aws:iam::123456789012:role/service-role/Amazon_EventBridge_Pipe_Demo_Pipe_28b3aa4f \ + --source arn:aws:sqs:us-east-1:123456789012:Demo_Queue \ + --target arn:aws:logs:us-east-1:123456789012:log-group:/aws/pipes/Demo_LogGroup + +Output:: + + { + "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe", + "Name": "Demo_Pipe", + "DesiredState": "RUNNING", + "CurrentState": "CREATING", + "CreationTime": "2024-10-08T12:33:59-05:00", + "LastModifiedTime": "2024-10-08T12:33:59.684839-05:00" + } + +For more information, see `Amazon EventBridge Pipes concepts `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/delete-pipe.rst b/awscli/examples/pipes/delete-pipe.rst new file mode 100644 index 000000000000..1d33e88ae01a --- /dev/null +++ b/awscli/examples/pipes/delete-pipe.rst @@ -0,0 +1,19 @@ +**To delete an existing pipe** + +The following ``delete-pipe`` example deletes a Pipe named ``Demo_Pipe`` in the specified account. :: + + aws pipes delete-pipe \ + --name Demo_Pipe + +Output:: + + { + "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe", + "Name": "Demo_Pipe", + "DesiredState": "STOPPED", + "CurrentState": "DELETING", + "CreationTime": "2024-10-08T09:29:10-05:00", + "LastModifiedTime": "2024-10-08T11:57:22-05:00" + } + +For more information, see `Amazon EventBridge Pipes concepts `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/describe-pipe.rst b/awscli/examples/pipes/describe-pipe.rst new file mode 100644 index 000000000000..41ecb7cd7aa9 --- /dev/null +++ b/awscli/examples/pipes/describe-pipe.rst @@ -0,0 +1,37 @@ +**To retrieve information about a Pipe** + +The following ``describe-pipe`` example displays information about the Pipe ``Demo_Pipe`` in the specified account. :: + + aws pipes describe-pipe \ + --name Demo_Pipe + +Output:: + + { + "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe", + "Name": "Demo_Pipe", + "DesiredState": "RUNNING", + "CurrentState": "RUNNING", + "StateReason": "User initiated", + "Source": "arn:aws:sqs:us-east-1:123456789012:Demo_Queue", + "SourceParameters": { + "SqsQueueParameters": { + "BatchSize": 1 + } + }, + "EnrichmentParameters": {}, + "Target": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/pipes/Demo_LogGroup", + "TargetParameters": {}, + "RoleArn": "arn:aws:iam::123456789012:role/service-role/Amazon_EventBridge_Pipe_Demo_Pipe_28b3aa4f", + "Tags": {}, + "CreationTime": "2024-10-08T09:29:10-05:00", + "LastModifiedTime": "2024-10-08T10:23:47-05:00", + "LogConfiguration": { + "CloudwatchLogsLogDestination": { + "LogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/vendedlogs/pipes/Demo_Pipe" + }, + "Level": "ERROR" + } + } + +For more information, see `Amazon EventBridge Pipes concepts `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/list-pipes.rst b/awscli/examples/pipes/list-pipes.rst new file mode 100644 index 000000000000..c44bf99d028e --- /dev/null +++ b/awscli/examples/pipes/list-pipes.rst @@ -0,0 +1,25 @@ +**To retrieve a list of Pipes** + +The following ``list-pipes`` example shows all the pipes in the specified account. :: + + aws pipes list-pipes + +Output:: + + { + "Pipes": [ + { + "Name": "Demo_Pipe", + "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe", + "DesiredState": "RUNNING", + "CurrentState": "RUNNING", + "StateReason": "User initiated", + "CreationTime": "2024-10-08T09:29:10-05:00", + "LastModifiedTime": "2024-10-08T10:23:47-05:00", + "Source": "arn:aws:sqs:us-east-1:123456789012:Demo_Queue", + "Target": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/pipes/Demo_LogGroup" + } + ] + } + +For more information, see `Amazon EventBridge Pipes concepts `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/list-tags-for-resource.rst b/awscli/examples/pipes/list-tags-for-resource.rst new file mode 100644 index 000000000000..c3c07fccd3fc --- /dev/null +++ b/awscli/examples/pipes/list-tags-for-resource.rst @@ -0,0 +1,17 @@ +**To list the tags associated with an existing pipe** + +The following ``list-tags-for-resource`` example lists all the tags associated with a pipe named ``Demo_Pipe`` in the specified account. :: + + aws pipes list-tags-for-resource \ + --resource-arn arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe + +Output:: + + { + "tags": { + "stack": "Production", + "team": "DevOps" + } + } + +For more information, see `Amazon EventBridge Pipes concepts `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/start-pipe.rst b/awscli/examples/pipes/start-pipe.rst new file mode 100644 index 000000000000..f621e7332772 --- /dev/null +++ b/awscli/examples/pipes/start-pipe.rst @@ -0,0 +1,19 @@ +**To start an existing pipe** + +The following ``start-pipe`` example starts a Pipe named ``Demo_Pipe`` in the specified account. :: + + aws pipes start-pipe \ + --name Demo_Pipe + +Output:: + + { + "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe", + "Name": "Demo_Pipe", + "DesiredState": "RUNNING", + "CurrentState": "STARTING", + "CreationTime": "2024-10-08T09:29:10-05:00", + "LastModifiedTime": "2024-10-08T10:17:24-05:00" + } + +For more information, see `Starting or stopping an Amazon EventBridge pipe `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/stop-pipe.rst b/awscli/examples/pipes/stop-pipe.rst new file mode 100644 index 000000000000..5248d8673a01 --- /dev/null +++ b/awscli/examples/pipes/stop-pipe.rst @@ -0,0 +1,19 @@ +**To stop an existing pipe** + +The following ``stop-pipe`` example stops a Pipe named ``Demo_Pipe`` in the specified account. :: + + aws pipes stop-pipe \ + --name Demo_Pipe + +Output:: + + { + "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe", + "Name": "Demo_Pipe", + "DesiredState": "STOPPED", + "CurrentState": "STOPPING", + "CreationTime": "2024-10-08T09:29:10-05:00", + "LastModifiedTime": "2024-10-08T09:29:49-05:00" + } + +For more information, see `Starting or stopping an Amazon EventBridge pipe `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/tag-resource.rst b/awscli/examples/pipes/tag-resource.rst new file mode 100644 index 000000000000..c6c7d281ad9f --- /dev/null +++ b/awscli/examples/pipes/tag-resource.rst @@ -0,0 +1,9 @@ +**To Tag an existing pipe** + +The following ``tag-resource`` example tags a Pipe named ``Demo_Pipe``. If the command succeeds, no output is returned. :: + + aws pipes tag-resource \ + --resource-arn arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe \ + --tags stack=Production + +For more information, see `Amazon EventBridge Pipes concepts `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/untag-resource.rst b/awscli/examples/pipes/untag-resource.rst new file mode 100644 index 000000000000..3f342430a1c8 --- /dev/null +++ b/awscli/examples/pipes/untag-resource.rst @@ -0,0 +1,9 @@ +**To remove a Tag from an existing pipe** + +The following ``untag-resource`` example removes a tag with the key ``stack`` from the Pipe named ``Demo_Pipe``. If the command succeeds, no output is returned. :: + + aws pipes untag-resource \ + --resource-arn arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe \ + --tags stack + +For more information, see `Amazon EventBridge Pipes concepts `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/pipes/update-pipe.rst b/awscli/examples/pipes/update-pipe.rst new file mode 100644 index 000000000000..c6d7f4168ce5 --- /dev/null +++ b/awscli/examples/pipes/update-pipe.rst @@ -0,0 +1,22 @@ +**To update an existing pipe** + +The following ``update-pipe`` example updates the Pipe named ``Demo_Pipe`` by adding a CloudWatch Log configuration parameter, enure to update the execution role of the pipe so that it has the correct permissions for Log destination. :: + + aws pipes update-pipe \ + --name Demo_Pipe \ + --desired-state RUNNING \ + --log-configuration CloudwatchLogsLogDestination={LogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:/aws/vendedlogs/pipes/Demo_Pipe},Level=TRACE \ + --role-arn arn:aws:iam::123456789012:role/service-role/Amazon_EventBridge_Pipe_Demo_Pipe_28b3aa4f + +Output:: + + { + "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe", + "Name": "Demo_Pipe", + "DesiredState": "RUNNING", + "CurrentState": "UPDATING", + "CreationTime": "2024-10-08T09:29:10-05:00", + "LastModifiedTime": "2024-10-08T11:35:48-05:00" + } + +For more information, see `Amazon EventBridge Pipes concepts `__ in the *Amazon EventBridge User Guide*. \ No newline at end of file diff --git a/awscli/examples/polly/get-speech-synthesis-task.rst b/awscli/examples/polly/get-speech-synthesis-task.rst index 3d25165e19b2..64b726d9c0c0 100644 --- a/awscli/examples/polly/get-speech-synthesis-task.rst +++ b/awscli/examples/polly/get-speech-synthesis-task.rst @@ -1,23 +1,23 @@ -**To get information about a speech synthesis task** - -The following ``get-speech-synthesis-task`` example retrieves information about the specified speech synthesis task. :: - - aws polly get-speech-synthesis-task \ - --task-id 70b61c0f-57ce-4715-a247-cae8729dcce9 - -Output:: - - { - "SynthesisTask": { - "TaskId": "70b61c0f-57ce-4715-a247-cae8729dcce9", - "TaskStatus": "completed", - "OutputUri": "https://s3.us-west-2.amazonaws.com/my-s3-bucket/70b61c0f-57ce-4715-a247-cae8729dcce9.mp3", - "CreationTime": 1603911042.689, - "RequestCharacters": 1311, - "OutputFormat": "mp3", - "TextType": "text", - "VoiceId": "Joanna" - } - } - -For more information, see `Creating long audio files `__ in the *Amazon Polly Developer Guide*. +**To get information about a speech synthesis task** + +The following ``get-speech-synthesis-task`` example retrieves information about the specified speech synthesis task. :: + + aws polly get-speech-synthesis-task \ + --task-id 70b61c0f-57ce-4715-a247-cae8729dcce9 + +Output:: + + { + "SynthesisTask": { + "TaskId": "70b61c0f-57ce-4715-a247-cae8729dcce9", + "TaskStatus": "completed", + "OutputUri": "https://s3.us-west-2.amazonaws.com/amzn-s3-demo-bucket/70b61c0f-57ce-4715-a247-cae8729dcce9.mp3", + "CreationTime": 1603911042.689, + "RequestCharacters": 1311, + "OutputFormat": "mp3", + "TextType": "text", + "VoiceId": "Joanna" + } + } + +For more information, see `Creating long audio files `__ in the *Amazon Polly Developer Guide*. diff --git a/awscli/examples/polly/list-speech-synthesis-tasks.rst b/awscli/examples/polly/list-speech-synthesis-tasks.rst index 99ba9891aa3c..5ddbdccb0cd0 100644 --- a/awscli/examples/polly/list-speech-synthesis-tasks.rst +++ b/awscli/examples/polly/list-speech-synthesis-tasks.rst @@ -1,25 +1,25 @@ -**To list your speech synthesis tasks** - -The following ``list-speech-synthesis-tasks`` example lists your speech synthesis tasks. :: - - aws polly list-speech-synthesis-tasks - -Output:: - - { - "SynthesisTasks": [ - { - "TaskId": "70b61c0f-57ce-4715-a247-cae8729dcce9", - "TaskStatus": "completed", - "OutputUri": "https://s3.us-west-2.amazonaws.com/my-s3-bucket/70b61c0f-57ce-4715-a247-cae8729dcce9.mp3", - "CreationTime": 1603911042.689, - "RequestCharacters": 1311, - "OutputFormat": "mp3", - "TextType": "text", - "VoiceId": "Joanna" - } - ] - } - -For more information, see `Creating long audio files `__ in the *Amazon Polly Developer Guide*. - +**To list your speech synthesis tasks** + +The following ``list-speech-synthesis-tasks`` example lists your speech synthesis tasks. :: + + aws polly list-speech-synthesis-tasks + +Output:: + + { + "SynthesisTasks": [ + { + "TaskId": "70b61c0f-57ce-4715-a247-cae8729dcce9", + "TaskStatus": "completed", + "OutputUri": "https://s3.us-west-2.amazonaws.com/amzn-s3-demo-bucket/70b61c0f-57ce-4715-a247-cae8729dcce9.mp3", + "CreationTime": 1603911042.689, + "RequestCharacters": 1311, + "OutputFormat": "mp3", + "TextType": "text", + "VoiceId": "Joanna" + } + ] + } + +For more information, see `Creating long audio files `__ in the *Amazon Polly Developer Guide*. + diff --git a/awscli/examples/polly/start-speech-synthesis-task.rst b/awscli/examples/polly/start-speech-synthesis-task.rst index aa85d49d52d3..740fcde3f1a6 100644 --- a/awscli/examples/polly/start-speech-synthesis-task.rst +++ b/awscli/examples/polly/start-speech-synthesis-task.rst @@ -1,27 +1,27 @@ -**To synthesize text** - -The following ``start-speech-synthesis-task`` example synthesizes the text in ``text_file.txt`` and stores the resulting MP3 file in the specified bucket. :: - - aws polly start-speech-synthesis-task \ - --output-format mp3 \ - --output-s3-bucket-name my-s3-bucket \ - --text file://text_file.txt \ - --voice-id Joanna - -Output:: - - { - "SynthesisTask": { - "TaskId": "70b61c0f-57ce-4715-a247-cae8729dcce9", - "TaskStatus": "scheduled", - "OutputUri": "https://s3.us-east-2.amazonaws.com/my-s3-bucket/70b61c0f-57ce-4715-a247-cae8729dcce9.mp3", - "CreationTime": 1603911042.689, - "RequestCharacters": 1311, - "OutputFormat": "mp3", - "TextType": "text", - "VoiceId": "Joanna" - } - } - -For more information, see `Creating long audio files `__ in the *Amazon Polly Developer Guide*. - +**To synthesize text** + +The following ``start-speech-synthesis-task`` example synthesizes the text in ``text_file.txt`` and stores the resulting MP3 file in the specified bucket. :: + + aws polly start-speech-synthesis-task \ + --output-format mp3 \ + --output-s3-bucket-name amzn-s3-demo-bucket \ + --text file://text_file.txt \ + --voice-id Joanna + +Output:: + + { + "SynthesisTask": { + "TaskId": "70b61c0f-57ce-4715-a247-cae8729dcce9", + "TaskStatus": "scheduled", + "OutputUri": "https://s3.us-east-2.amazonaws.com/amzn-s3-demo-bucket/70b61c0f-57ce-4715-a247-cae8729dcce9.mp3", + "CreationTime": 1603911042.689, + "RequestCharacters": 1311, + "OutputFormat": "mp3", + "TextType": "text", + "VoiceId": "Joanna" + } + } + +For more information, see `Creating long audio files `__ in the *Amazon Polly Developer Guide*. + diff --git a/awscli/examples/qldb/cancel-journal-kinesis-stream.rst b/awscli/examples/qldb/cancel-journal-kinesis-stream.rst deleted file mode 100644 index 75a499b41d4f..000000000000 --- a/awscli/examples/qldb/cancel-journal-kinesis-stream.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To cancel a journal stream** - -The following ``cancel-journal-kinesis-stream`` example cancels the specified journal stream from a ledger. :: - - aws qldb cancel-journal-kinesis-stream \ - --ledger-name myExampleLedger \ - --stream-id 7ISCkqwe4y25YyHLzYUFAf - -Output:: - - { - "StreamId": "7ISCkqwe4y25YyHLzYUFAf" - } - -For more information, see `Streaming journal data from Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/create-ledger.rst b/awscli/examples/qldb/create-ledger.rst deleted file mode 100644 index 37732917e701..000000000000 --- a/awscli/examples/qldb/create-ledger.rst +++ /dev/null @@ -1,43 +0,0 @@ -**Example 1: To create a ledger with default properties** - -The following ``create-ledger`` example creates a ledger with the name ``myExampleLedger`` and the permissions mode ``STANDARD``. The optional parameters for deletion protection and AWS KMS key are not specified, so they default to ``true`` and an AWS owned KMS key respectively. :: - - aws qldb create-ledger \ - --name myExampleLedger \ - --permissions-mode STANDARD - -Output:: - - { - "State": "CREATING", - "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", - "DeletionProtection": true, - "CreationDateTime": 1568839243.951, - "Name": "myExampleLedger", - "PermissionsMode": "STANDARD" - } - -**Example 2: To create a ledger with deletion protection disabled, a customer managed KMS key, and specified tags** - -The following ``create-ledger`` example creates a ledger with the name ``myExampleLedger2`` and the permissions mode ``STANDARD``. The deletion protection feature is disabled, the specified customer managed KMS key is used for encryption at rest, and the specified tags are attached to the resource. :: - - aws qldb create-ledger \ - --name myExampleLedger2 \ - --permissions-mode STANDARD \ - --no-deletion-protection \ - --kms-key arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ - --tags IsTest=true,Domain=Test - -Output:: - - { - "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger2", - "DeletionProtection": false, - "CreationDateTime": 1568839543.557, - "State": "CREATING", - "Name": "myExampleLedger2", - "PermissionsMode": "STANDARD", - "KmsKeyArn": "arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" - } - -For more information, see `Basic Operations for Amazon QLDB Ledgers `__ in the *Amazon QLDB Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/qldb/delete-ledger.rst b/awscli/examples/qldb/delete-ledger.rst deleted file mode 100644 index f8b8dca5b9c3..000000000000 --- a/awscli/examples/qldb/delete-ledger.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete a ledger** - -The following ``delete-ledger`` example deletes the specified ledger. :: - - aws qldb delete-ledger \ - --name myExampleLedger - -This command produces no output. - -For more information, see `Basic Operations for Amazon QLDB Ledgers `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/describe-journal-kinesis-stream.rst b/awscli/examples/qldb/describe-journal-kinesis-stream.rst deleted file mode 100644 index 852ef855dcbe..000000000000 --- a/awscli/examples/qldb/describe-journal-kinesis-stream.rst +++ /dev/null @@ -1,29 +0,0 @@ -**To describe a journal stream** - -The following ``describe-journal-kinesis-stream`` example displays the details for the specified journal stream from a ledger. :: - - aws qldb describe-journal-kinesis-stream \ - --ledger-name myExampleLedger \ - --stream-id 7ISCkqwe4y25YyHLzYUFAf - -Output:: - - { - "Stream": { - "LedgerName": "myExampleLedger", - "CreationTime": 1591221984.677, - "InclusiveStartTime": 1590710400.0, - "ExclusiveEndTime": 1590796799.0, - "RoleArn": "arn:aws:iam::123456789012:role/my-kinesis-stream-role", - "StreamId": "7ISCkqwe4y25YyHLzYUFAf", - "Arn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/7ISCkqwe4y25YyHLzYUFAf", - "Status": "ACTIVE", - "KinesisConfiguration": { - "StreamArn": "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb", - "AggregationEnabled": true - }, - "StreamName": "myExampleLedger-stream" - } - } - -For more information, see `Streaming journal data from Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/describe-journal-s3-export.rst b/awscli/examples/qldb/describe-journal-s3-export.rst deleted file mode 100644 index 5c20514b0c9e..000000000000 --- a/awscli/examples/qldb/describe-journal-s3-export.rst +++ /dev/null @@ -1,30 +0,0 @@ -**To describe a journal export job** - -The following ``describe-journal-s3-export`` example displays the details for the specified export job from a ledger. :: - - aws qldb describe-journal-s3-export \ - --name myExampleLedger \ - --export-id ADR2ONPKN5LINYGb4dp7yZ - -Output:: - - { - "ExportDescription": { - "S3ExportConfiguration": { - "Bucket": "awsExampleBucket", - "Prefix": "ledgerexport1/", - "EncryptionConfiguration": { - "ObjectEncryptionType": "SSE_S3" - } - }, - "RoleArn": "arn:aws:iam::123456789012:role/my-s3-export-role", - "Status": "COMPLETED", - "ExportCreationTime": 1568847801.418, - "InclusiveStartTime": 1568764800.0, - "ExclusiveEndTime": 1568847599.0, - "LedgerName": "myExampleLedger", - "ExportId": "ADR2ONPKN5LINYGb4dp7yZ" - } - } - -For more information, see `Exporting Your Journal in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/describe-ledger.rst b/awscli/examples/qldb/describe-ledger.rst deleted file mode 100644 index 2c5d611cfd47..000000000000 --- a/awscli/examples/qldb/describe-ledger.rst +++ /dev/null @@ -1,23 +0,0 @@ -**To describe a ledger** - -The following ``describe-ledger`` example displays the details for the specified ledger. :: - - aws qldb describe-ledger \ - --name myExampleLedger - -Output:: - - { - "CreationDateTime": 1568839243.951, - "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", - "State": "ACTIVE", - "Name": "myExampleLedger", - "DeletionProtection": true, - "PermissionsMode": "STANDARD", - "EncryptionDescription": { - "KmsKeyArn": "arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", - "EncryptionStatus": "ENABLED" - } - } - -For more information, see `Basic Operations for Amazon QLDB Ledgers `__ in the *Amazon QLDB Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/qldb/export-journal-to-s3.rst b/awscli/examples/qldb/export-journal-to-s3.rst deleted file mode 100644 index f935178c75af..000000000000 --- a/awscli/examples/qldb/export-journal-to-s3.rst +++ /dev/null @@ -1,28 +0,0 @@ -**To export journal blocks to S3** - -The following ``export-journal-to-s3`` example creates an export job for journal blocks within a specified date and time range from a ledger with the name ``myExampleLedger``. The export job writes the blocks into a specified Amazon S3 bucket. :: - - aws qldb export-journal-to-s3 \ - --name myExampleLedger \ - --inclusive-start-time 2019-09-18T00:00:00Z \ - --exclusive-end-time 2019-09-18T22:59:59Z \ - --role-arn arn:aws:iam::123456789012:role/my-s3-export-role \ - --s3-export-configuration file://my-s3-export-config.json - -Contents of ``my-s3-export-config.json``:: - - { - "Bucket": "awsExampleBucket", - "Prefix": "ledgerexport1/", - "EncryptionConfiguration": { - "ObjectEncryptionType": "SSE_S3" - } - } - -Output:: - - { - "ExportId": "ADR2ONPKN5LINYGb4dp7yZ" - } - -For more information, see `Exporting Your Journal in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/get-block.rst b/awscli/examples/qldb/get-block.rst deleted file mode 100644 index 2ba22da8fa4e..000000000000 --- a/awscli/examples/qldb/get-block.rst +++ /dev/null @@ -1,55 +0,0 @@ -**Example 1: To get a journal block and proof for verification using input files** - -The following ``get-block`` example requests a block data object and a proof from the specified ledger. The request is for a specified digest tip address and block address. :: - - aws qldb get-block \ - --name vehicle-registration \ - --block-address file://myblockaddress.json \ - --digest-tip-address file://mydigesttipaddress.json - -Contents of ``myblockaddress.json``:: - - { - "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100}" - } - -Contents of ``mydigesttipaddress.json``:: - - { - "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}" - } - -Output:: - - { - "Block": { - "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},transactionId:\"FnQeJBAicTX0Ah32ZnVtSX\",blockTimestamp:2019-09-16T19:37:05.360Z,blockHash:{{NoChM92yKRuJAb/jeLd1VnYn4DHiWIf071ACfic9uHc=}},entriesHash:{{l05LOsiKV14SDbuaYnH7uwXzUvqzIwUiRLXGbTyj/nY=}},previousBlockHash:{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},entriesHashList:[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},{{y5cCBr7pOAIUfsVQ1j0TqtE97b4b4oo1R0vnYyE5wWM=}},{{TvTXygML1bMe6NvEZtGkX+KR+W/EJl4qD1mmV77KZQg=}}],transactionInfo:{statements:[{statement:\"FROM VehicleRegistration AS r \\nWHERE r.VIN = '1N4AL11D75C109151'\\nINSERT INTO r.Owners.SecondaryOwners\\n VALUE { 'PersonId' : 'CMVdR77XP8zAglmmFDGTvt' }\",startTime:2019-09-16T19:37:05.302Z,statementDigest:{{jcgPX2vsOJ0waum4qmDYtn1pCAT9xKNIzA+2k4R+mxA=}}}],documents:{JUJgkIcNbhS2goq8RqLuZ4:{tableName:\"VehicleRegistration\",tableId:\"BFJKdXgzt9oF4wjMbuxy4G\",statements:[0]}}},revisions:[{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}]}" - }, - "Proof": { - "IonText": "[{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" - } - } - -For more information, see `Data Verification in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. - -**Example 2: To get a journal block and proof for verification using shorthand syntax** - -The following ``get-block`` example requests a block data object and a proof from the specified ledger using shorthand syntax. The request is for a specified digest tip address and block address. :: - - aws qldb get-block \ - --name vehicle-registration \ - --block-address 'IonText="{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100}"' \ - --digest-tip-address 'IonText="{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}"' - -Output:: - - { - "Block": { - "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},transactionId:\"FnQeJBAicTX0Ah32ZnVtSX\",blockTimestamp:2019-09-16T19:37:05.360Z,blockHash:{{NoChM92yKRuJAb/jeLd1VnYn4DHiWIf071ACfic9uHc=}},entriesHash:{{l05LOsiKV14SDbuaYnH7uwXzUvqzIwUiRLXGbTyj/nY=}},previousBlockHash:{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},entriesHashList:[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},{{y5cCBr7pOAIUfsVQ1j0TqtE97b4b4oo1R0vnYyE5wWM=}},{{TvTXygML1bMe6NvEZtGkX+KR+W/EJl4qD1mmV77KZQg=}}],transactionInfo:{statements:[{statement:\"FROM VehicleRegistration AS r \\nWHERE r.VIN = '1N4AL11D75C109151'\\nINSERT INTO r.Owners.SecondaryOwners\\n VALUE { 'PersonId' : 'CMVdR77XP8zAglmmFDGTvt' }\",startTime:2019-09-16T19:37:05.302Z,statementDigest:{{jcgPX2vsOJ0waum4qmDYtn1pCAT9xKNIzA+2k4R+mxA=}}}],documents:{JUJgkIcNbhS2goq8RqLuZ4:{tableName:\"VehicleRegistration\",tableId:\"BFJKdXgzt9oF4wjMbuxy4G\",statements:[0]}}},revisions:[{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}]}" - }, - "Proof": { - "IonText": "[{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" - } - } - -For more information, see `Data Verification in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/get-digest.rst b/awscli/examples/qldb/get-digest.rst deleted file mode 100644 index 530a7b326063..000000000000 --- a/awscli/examples/qldb/get-digest.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To get a digest for a ledger** - -The following ``get-digest`` example requests a digest from the specified ledger at the latest committed block in the journal. :: - - aws qldb get-digest \ - --name vehicle-registration - -Output:: - - { - "Digest": "6m6BMXobbJKpMhahwVthAEsN6awgnHK62Qq5McGP1Gk=", - "DigestTipAddress": { - "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}" - } - } - -For more information, see `Data Verification in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/get-revision.rst b/awscli/examples/qldb/get-revision.rst deleted file mode 100644 index 96aca4ae7443..000000000000 --- a/awscli/examples/qldb/get-revision.rst +++ /dev/null @@ -1,57 +0,0 @@ -**Example 1: To get a document revision and proof for verification using input files** - -The following ``get-revision`` example requests a revision data object and a proof from the specified ledger. The request is for a specified digest tip address, document ID, and block address of the revision. :: - - aws qldb get-revision \ - --name vehicle-registration \ - --block-address file://myblockaddress.json \ - --document-id JUJgkIcNbhS2goq8RqLuZ4 \ - --digest-tip-address file://mydigesttipaddress.json - -Contents of ``myblockaddress.json``:: - - { - "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100}" - } - -Contents of ``mydigesttipaddress.json``:: - - { - "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}" - } - -Output:: - - { - "Revision": { - "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}" - }, - "Proof": { - "IonText": "[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{VV1rdaNuf+yJZVGlmsM6gr2T52QvBO8Lg+KgpjcnWAU=}},{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" - } - } - -For more information, see `Data Verification in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. - -**Example 2: To get a document revision and proof for verification using shorthand syntax** - -The following ``get-revision`` example requests a revision data object and a proof from the specified ledger using shorthand syntax. The request is for a specified digest tip address, document ID, and block address of the revision. :: - - aws qldb get-revision \ - --name vehicle-registration \ - --block-address 'IonText="{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100}"' \ - --document-id JUJgkIcNbhS2goq8RqLuZ4 \ - --digest-tip-address 'IonText="{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}"' - -Output:: - - { - "Revision": { - "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}" - }, - "Proof": { - "IonText": "[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{VV1rdaNuf+yJZVGlmsM6gr2T52QvBO8Lg+KgpjcnWAU=}},{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" - } - } - -For more information, see `Data Verification in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/list-journal-kinesis-streams-for-ledger.rst b/awscli/examples/qldb/list-journal-kinesis-streams-for-ledger.rst deleted file mode 100644 index 466372c361e8..000000000000 --- a/awscli/examples/qldb/list-journal-kinesis-streams-for-ledger.rst +++ /dev/null @@ -1,30 +0,0 @@ -**To list journal streams for a ledger** - -The following ``list-journal-kinesis-streams-for-ledger`` example lists journal streams for the specified ledger. :: - - aws qldb list-journal-kinesis-streams-for-ledger \ - --ledger-name myExampleLedger - -Output:: - - { - "Streams": [ - { - "LedgerName": "myExampleLedger", - "CreationTime": 1591221984.677, - "InclusiveStartTime": 1590710400.0, - "ExclusiveEndTime": 1590796799.0, - "RoleArn": "arn:aws:iam::123456789012:role/my-kinesis-stream-role", - "StreamId": "7ISCkqwe4y25YyHLzYUFAf", - "Arn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/7ISCkqwe4y25YyHLzYUFAf", - "Status": "ACTIVE", - "KinesisConfiguration": { - "StreamArn": "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb", - "AggregationEnabled": true - }, - "StreamName": "myExampleLedger-stream" - } - ] - } - -For more information, see `Streaming journal data from Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/list-journal-s3-exports-for-ledger.rst b/awscli/examples/qldb/list-journal-s3-exports-for-ledger.rst deleted file mode 100644 index 14b784d75039..000000000000 --- a/awscli/examples/qldb/list-journal-s3-exports-for-ledger.rst +++ /dev/null @@ -1,31 +0,0 @@ -**To list journal export jobs for a ledger** - -The following ``list-journal-s3-exports-for-ledger`` example lists journal export jobs for the specified ledger. :: - - aws qldb list-journal-s3-exports-for-ledger \ - --name myExampleLedger - -Output:: - - { - "JournalS3Exports": [ - { - "LedgerName": "myExampleLedger", - "ExclusiveEndTime": 1568847599.0, - "ExportCreationTime": 1568847801.418, - "S3ExportConfiguration": { - "Bucket": "awsExampleBucket", - "Prefix": "ledgerexport1/", - "EncryptionConfiguration": { - "ObjectEncryptionType": "SSE_S3" - } - }, - "ExportId": "ADR2ONPKN5LINYGb4dp7yZ", - "RoleArn": "arn:aws:iam::123456789012:role/qldb-s3-export", - "InclusiveStartTime": 1568764800.0, - "Status": "IN_PROGRESS" - } - ] - } - -For more information, see `Exporting Your Journal in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/qldb/list-journal-s3-exports.rst b/awscli/examples/qldb/list-journal-s3-exports.rst deleted file mode 100644 index 641e77ab1519..000000000000 --- a/awscli/examples/qldb/list-journal-s3-exports.rst +++ /dev/null @@ -1,46 +0,0 @@ -**To list journal export jobs** - -The following ``list-journal-s3-exports`` example lists journal export jobs for all ledgers that are associated with the current AWS account and Region. :: - - aws qldb list-journal-s3-exports - -Output:: - - { - "JournalS3Exports": [ - { - "Status": "IN_PROGRESS", - "LedgerName": "myExampleLedger", - "S3ExportConfiguration": { - "EncryptionConfiguration": { - "ObjectEncryptionType": "SSE_S3" - }, - "Bucket": "awsExampleBucket", - "Prefix": "ledgerexport1/" - }, - "RoleArn": "arn:aws:iam::123456789012:role/my-s3-export-role", - "ExportCreationTime": 1568847801.418, - "ExportId": "ADR2ONPKN5LINYGb4dp7yZ", - "InclusiveStartTime": 1568764800.0, - "ExclusiveEndTime": 1568847599.0 - }, - { - "Status": "COMPLETED", - "LedgerName": "myExampleLedger2", - "S3ExportConfiguration": { - "EncryptionConfiguration": { - "ObjectEncryptionType": "SSE_S3" - }, - "Bucket": "awsExampleBucket", - "Prefix": "ledgerexport1/" - }, - "RoleArn": "arn:aws:iam::123456789012:role/my-s3-export-role", - "ExportCreationTime": 1568846847.638, - "ExportId": "2pdvW8UQrjBAiYTMehEJDI", - "InclusiveStartTime": 1568592000.0, - "ExclusiveEndTime": 1568764800.0 - } - ] - } - -For more information, see `Exporting Your Journal in Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/list-ledgers.rst b/awscli/examples/qldb/list-ledgers.rst deleted file mode 100644 index 073e729f477f..000000000000 --- a/awscli/examples/qldb/list-ledgers.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To list your available ledgers** - -The following ``list-ledgers`` example lists all ledgers that are associated with the current AWS account and Region. :: - - aws qldb list-ledgers - -Output:: - - { - "Ledgers": [ - { - "State": "ACTIVE", - "CreationDateTime": 1568839243.951, - "Name": "myExampleLedger" - }, - { - "State": "ACTIVE", - "CreationDateTime": 1568839543.557, - "Name": "myExampleLedger2" - } - ] - } - -For more information, see `Basic Operations for Amazon QLDB Ledgers `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/list-tags-for-resource.rst b/awscli/examples/qldb/list-tags-for-resource.rst deleted file mode 100644 index 5fbccf27dcbd..000000000000 --- a/awscli/examples/qldb/list-tags-for-resource.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To list the tags attached to a ledger** - -The following ``list-tags-for-resource`` example lists all tags attached to the specified ledger. :: - - aws qldb list-tags-for-resource \ - --resource-arn arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger - -Output:: - - { - "Tags": { - "IsTest": "true", - "Domain": "Test" - } - } - -For more information, see `Tagging Amazon QLDB Resources `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/stream-journal-to-kinesis.rst b/awscli/examples/qldb/stream-journal-to-kinesis.rst deleted file mode 100644 index 1669669e72e0..000000000000 --- a/awscli/examples/qldb/stream-journal-to-kinesis.rst +++ /dev/null @@ -1,46 +0,0 @@ -**Example 1: To stream journal data to Kinesis Data Streams using input files** - -The following ``stream-journal-to-kinesis`` example creates a stream of journal data within a specified date and time range from a ledger with the name ``myExampleLedger``. The stream sends the data to a specified Amazon Kinesis data stream. :: - - aws qldb stream-journal-to-kinesis \ - --ledger-name myExampleLedger \ - --inclusive-start-time 2020-05-29T00:00:00Z \ - --exclusive-end-time 2020-05-29T23:59:59Z \ - --role-arn arn:aws:iam::123456789012:role/my-kinesis-stream-role \ - --kinesis-configuration file://my-kinesis-config.json \ - --stream-name myExampleLedger-stream - -Contents of ``my-kinesis-config.json``:: - - { - "StreamArn": "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb", - "AggregationEnabled": true - } - -Output:: - - { - "StreamId": "7ISCkqwe4y25YyHLzYUFAf" - } - -For more information, see `Streaming journal data from Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. - -**Example 2: To stream journal data to Kinesis Data Streams using shorthand syntax** - -The following ``stream-journal-to-kinesis`` example creates a stream of journal data within a specified date and time range from a ledger with the name ``myExampleLedger``. The stream sends the data to a specified Amazon Kinesis data stream. :: - - aws qldb stream-journal-to-kinesis \ - --ledger-name myExampleLedger \ - --inclusive-start-time 2020-05-29T00:00:00Z \ - --exclusive-end-time 2020-05-29T23:59:59Z \ - --role-arn arn:aws:iam::123456789012:role/my-kinesis-stream-role \ - --stream-name myExampleLedger-stream \ - --kinesis-configuration StreamArn=arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb,AggregationEnabled=true - -Output:: - - { - "StreamId": "7ISCkqwe4y25YyHLzYUFAf" - } - -For more information, see `Streaming journal data from Amazon QLDB `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/tag-resource.rst b/awscli/examples/qldb/tag-resource.rst deleted file mode 100644 index 72e31e43d6de..000000000000 --- a/awscli/examples/qldb/tag-resource.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To tag a ledger** - -The following ``tag-resource`` example adds a set of tags to a specified ledger. :: - - aws qldb tag-resource \ - --resource-arn arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger \ - --tags IsTest=true,Domain=Test - -This command produces no output. - -For more information, see `Tagging Amazon QLDB Resources `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/untag-resource.rst b/awscli/examples/qldb/untag-resource.rst deleted file mode 100644 index a1f77baa8ae4..000000000000 --- a/awscli/examples/qldb/untag-resource.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To remove tags from a resource** - -The following ``untag-resource`` example removes tags with the specified tag keys from a specified ledger. :: - - aws qldb untag-resource \ - --resource-arn arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger \ - --tag-keys IsTest Domain - -This command produces no output. - -For more information, see `Tagging Amazon QLDB Resources `__ in the *Amazon QLDB Developer Guide*. diff --git a/awscli/examples/qldb/update-ledger-permissions-mode.rst b/awscli/examples/qldb/update-ledger-permissions-mode.rst deleted file mode 100644 index 22b4e771f84d..000000000000 --- a/awscli/examples/qldb/update-ledger-permissions-mode.rst +++ /dev/null @@ -1,34 +0,0 @@ -**Example 1: To update the permissions mode of a ledger to STANDARD** - -The following ``update-ledger-permissions-mode`` example assigns the ``STANDARD`` permissions mode to the specified ledger. :: - - aws qldb update-ledger-permissions-mode \ - --name myExampleLedger \ - --permissions-mode STANDARD - -Output:: - - { - "Name": "myExampleLedger", - "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", - "PermissionsMode": "STANDARD" - } - -**Example 2: To update the permissions mode of a ledger to ALLOW_ALL** - -The following ``update-ledger-permissions-mode`` example assigns the ``ALLOW_ALL`` permissions mode to the specified ledger. :: - - aws qldb update-ledger-permissions-mode \ - --name myExampleLedger \ - --permissions-mode ALLOW_ALL - -Output:: - - { - "Name": "myExampleLedger", - "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", - "PermissionsMode": "ALLOW_ALL" - } - - -For more information, see `Basic Operations for Amazon QLDB Ledgers `__ in the *Amazon QLDB Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/qldb/update-ledger.rst b/awscli/examples/qldb/update-ledger.rst deleted file mode 100644 index 1d8807fd0bd2..000000000000 --- a/awscli/examples/qldb/update-ledger.rst +++ /dev/null @@ -1,63 +0,0 @@ -**Example 1: To update the deletion protection property of a ledger** - -The following ``update-ledger`` example updates the specified ledger to disable the deletion protection feature. :: - - aws qldb update-ledger \ - --name myExampleLedger \ - --no-deletion-protection - -Output:: - - { - "CreationDateTime": 1568839243.951, - "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", - "DeletionProtection": false, - "Name": "myExampleLedger", - "State": "ACTIVE" - } - -**Example 2: To update the AWS KMS key of a ledger to a customer managed key** - -The following ``update-ledger`` example updates the specified ledger to use a customer managed KMS key for encryption at rest. :: - - aws qldb update-ledger \ - --name myExampleLedger \ - --kms-key arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 - -Output:: - - { - "CreationDateTime": 1568839243.951, - "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", - "DeletionProtection": false, - "Name": "myExampleLedger", - "State": "ACTIVE", - "EncryptionDescription": { - "KmsKeyArn": "arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", - "EncryptionStatus": "UPDATING" - } - } - -**Example 3: To update the AWS KMS key of a ledger to an AWS owned key** - -The following ``update-ledger`` example updates the specified ledger to use an AWS owned KMS key for encryption at rest. :: - - aws qldb update-ledger \ - --name myExampleLedger \ - --kms-key AWS_OWNED_KMS_KEY - -Output:: - - { - "CreationDateTime": 1568839243.951, - "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", - "DeletionProtection": false, - "Name": "myExampleLedger", - "State": "ACTIVE", - "EncryptionDescription": { - "KmsKeyArn": "AWS_OWNED_KMS_KEY", - "EncryptionStatus": "UPDATING" - } - } - -For more information, see `Basic Operations for Amazon QLDB Ledgers `__ in the *Amazon QLDB Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/rds/cancel-export-task.rst b/awscli/examples/rds/cancel-export-task.rst index edf6c140a809..29e7820f768b 100644 --- a/awscli/examples/rds/cancel-export-task.rst +++ b/awscli/examples/rds/cancel-export-task.rst @@ -1,23 +1,23 @@ -**To cancel a snapshot export to Amazon S3** - -The following ``cancel-export-task`` example cancels an export task in progress that is exporting a snapshot to Amazon S3. :: - - aws rds cancel-export-task \ - --export-task-identifier my-s3-export-1 - -Output:: - - { - "ExportTaskIdentifier": "my-s3-export-1", - "SourceArn": "arn:aws:rds:us-east-1:123456789012:snapshot:publisher-final-snapshot", - "SnapshotTime": "2019-03-24T20:01:09.815Z", - "S3Bucket": "mybucket", - "S3Prefix": "", - "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/export-snap-S3-role", - "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcd0000-7bfd-4594-af38-aabbccddeeff", - "Status": "CANCELING", - "PercentProgress": 0, - "TotalExtractedDataInGB": 0 - } - +**To cancel a snapshot export to Amazon S3** + +The following ``cancel-export-task`` example cancels an export task in progress that is exporting a snapshot to Amazon S3. :: + + aws rds cancel-export-task \ + --export-task-identifier my-s3-export-1 + +Output:: + + { + "ExportTaskIdentifier": "my-s3-export-1", + "SourceArn": "arn:aws:rds:us-east-1:123456789012:snapshot:publisher-final-snapshot", + "SnapshotTime": "2019-03-24T20:01:09.815Z", + "S3Bucket": "amzn-s3-demo-bucket", + "S3Prefix": "", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/export-snap-S3-role", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcd0000-7bfd-4594-af38-aabbccddeeff", + "Status": "CANCELING", + "PercentProgress": 0, + "TotalExtractedDataInGB": 0 + } + For more information, see `Canceling a snapshot export task `__ in the *Amazon RDS User Guide* or `Canceling a snapshot export task `__ in the *Amazon Aurora User Guide*. \ No newline at end of file diff --git a/awscli/examples/rds/describe-db-cluster-parameters.rst b/awscli/examples/rds/describe-db-cluster-parameters.rst index 8c62d93e129c..beb1e12d37d8 100644 --- a/awscli/examples/rds/describe-db-cluster-parameters.rst +++ b/awscli/examples/rds/describe-db-cluster-parameters.rst @@ -103,7 +103,7 @@ Output:: } ] -**Example 4: To describe only the modifable Boolean parameters in a DB cluster parameter group** +**Example 4: To describe only the modifiable Boolean parameters in a DB cluster parameter group** The following ``describe-db-cluster-parameters`` example retrieves the names of only the parameters that you can modify in a DB cluster parameter group and that have a Boolean data type. :: diff --git a/awscli/examples/rds/describe-export-tasks.rst b/awscli/examples/rds/describe-export-tasks.rst index a39d1125afce..dd18e0943108 100644 --- a/awscli/examples/rds/describe-export-tasks.rst +++ b/awscli/examples/rds/describe-export-tasks.rst @@ -1,40 +1,40 @@ -**To describe snapshot export tasks** - -The following ``describe-export-tasks`` example returns information about snapshot exports to Amazon S3. :: - - aws rds describe-export-tasks - -Output:: - - { - "ExportTasks": [ - { - "ExportTaskIdentifier": "test-snapshot-export", - "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:test-snapshot", - "SnapshotTime": "2020-03-02T18:26:28.163Z", - "TaskStartTime": "2020-03-02T18:57:56.896Z", - "TaskEndTime": "2020-03-02T19:10:31.985Z", - "S3Bucket": "mybucket", - "S3Prefix": "", - "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", - "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", - "Status": "COMPLETE", - "PercentProgress": 100, - "TotalExtractedDataInGB": 0 - }, - { - "ExportTaskIdentifier": "my-s3-export", - "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test", - "SnapshotTime": "2020-03-27T20:48:42.023Z", - "S3Bucket": "mybucket", - "S3Prefix": "", - "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", - "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", - "Status": "STARTING", - "PercentProgress": 0, - "TotalExtractedDataInGB": 0 - } - ] - } - -For more information, see `Monitoring Snapshot Exports `__ in the *Amazon RDS User Guide*. +**To describe snapshot export tasks** + +The following ``describe-export-tasks`` example returns information about snapshot exports to Amazon S3. :: + + aws rds describe-export-tasks + +Output:: + + { + "ExportTasks": [ + { + "ExportTaskIdentifier": "test-snapshot-export", + "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:test-snapshot", + "SnapshotTime": "2020-03-02T18:26:28.163Z", + "TaskStartTime": "2020-03-02T18:57:56.896Z", + "TaskEndTime": "2020-03-02T19:10:31.985Z", + "S3Bucket": "amzn-s3-demo-bucket", + "S3Prefix": "", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", + "Status": "COMPLETE", + "PercentProgress": 100, + "TotalExtractedDataInGB": 0 + }, + { + "ExportTaskIdentifier": "my-s3-export", + "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test", + "SnapshotTime": "2020-03-27T20:48:42.023Z", + "S3Bucket": "amzn-s3-demo-bucket", + "S3Prefix": "", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", + "Status": "STARTING", + "PercentProgress": 0, + "TotalExtractedDataInGB": 0 + } + ] + } + +For more information, see `Monitoring Snapshot Exports `__ in the *Amazon RDS User Guide*. diff --git a/awscli/examples/rds/describe-pending-maintenance-actions.rst b/awscli/examples/rds/describe-pending-maintenance-actions.rst index f6534e1b3e43..3e77d1c00b93 100644 --- a/awscli/examples/rds/describe-pending-maintenance-actions.rst +++ b/awscli/examples/rds/describe-pending-maintenance-actions.rst @@ -1,6 +1,6 @@ **To list resources with at least one pending maintenance action** -The following ``describe-pending-maintenance-actions`` example lists the pending maintenace action for a DB instance. :: +The following ``describe-pending-maintenance-actions`` example lists the pending maintenance action for a DB instance. :: aws rds describe-pending-maintenance-actions diff --git a/awscli/examples/rds/download-db-log-file-portion.rst b/awscli/examples/rds/download-db-log-file-portion.rst index 3434b57b6034..3dd10e8523ef 100644 --- a/awscli/examples/rds/download-db-log-file-portion.rst +++ b/awscli/examples/rds/download-db-log-file-portion.rst @@ -1,4 +1,4 @@ -**To download a DB log file** +**Example 1: To download the latest part of a DB log file** The following ``download-db-log-file-portion`` example downloads only the latest part of your log file, saving it to a local file named ``tail.txt``. :: @@ -7,7 +7,11 @@ The following ``download-db-log-file-portion`` example downloads only the latest --log-file-name log.txt \ --output text > tail.txt -To download the entire file, you need to include the ``--starting-token 0`` parameter. The following example saves the output to a local file named ``full.txt``. :: +The saved file might contain blank lines. They appear at the end of each part of the log file while being downloaded. + +**Example 2: To download an entire DB log file** + +The following ``download-db-log-file-portion`` example downloads the entire log file, using the ``--starting-token 0`` parameter, and saves the output to a local file named ``full.txt``. :: aws rds download-db-log-file-portion \ --db-instance-identifier test-instance \ @@ -15,4 +19,4 @@ To download the entire file, you need to include the ``--starting-token 0`` para --starting-token 0 \ --output text > full.txt -The saved file might contain blank lines. They appear at the end of each part of the log file while being downloaded. This generally doesn't cause any trouble in your log file analysis. +The saved file might contain blank lines. They appear at the end of each part of the log file while being downloaded. \ No newline at end of file diff --git a/awscli/examples/rds/modify-db-instance.rst b/awscli/examples/rds/modify-db-instance.rst index 38f903f9138f..e4f7f2cb08a6 100644 --- a/awscli/examples/rds/modify-db-instance.rst +++ b/awscli/examples/rds/modify-db-instance.rst @@ -95,7 +95,7 @@ Output:: "ReadReplicaDBInstanceIdentifiers": [], "LicenseModel": "general-public-license", - ... output ommited ... + ... output omitted ... } } diff --git a/awscli/examples/rds/restore-db-cluster-from-s3.rst b/awscli/examples/rds/restore-db-cluster-from-s3.rst index e30d207c106c..3f7fe445d389 100644 --- a/awscli/examples/rds/restore-db-cluster-from-s3.rst +++ b/awscli/examples/rds/restore-db-cluster-from-s3.rst @@ -1,64 +1,64 @@ -**To restore an Amazon Aurora DB cluster from Amazon S3** - -The following ``restore-db-cluster-from-s3`` example restores an Amazon Aurora MySQL version 5.7-compatible DB cluster from a MySQL 5.7 DB backup file in Amazon S3. :: - - aws rds restore-db-cluster-from-s3 \ - --db-cluster-identifier cluster-s3-restore \ - --engine aurora-mysql \ - --master-username admin \ - --master-user-password mypassword \ - --s3-bucket-name mybucket \ - --s3-prefix test-backup \ - --s3-ingestion-role-arn arn:aws:iam::123456789012:role/service-role/TestBackup \ - --source-engine mysql \ - --source-engine-version 5.7.28 - -Output:: - - { - "DBCluster": { - "AllocatedStorage": 1, - "AvailabilityZones": [ - "us-west-2c", - "us-west-2a", - "us-west-2b" - ], - "BackupRetentionPeriod": 1, - "DBClusterIdentifier": "cluster-s3-restore", - "DBClusterParameterGroup": "default.aurora-mysql5.7", - "DBSubnetGroup": "default", - "Status": "creating", - "Endpoint": "cluster-s3-restore.cluster-co3xyzabc123.us-west-2.rds.amazonaws.com", - "ReaderEndpoint": "cluster-s3-restore.cluster-ro-co3xyzabc123.us-west-2.rds.amazonaws.com", - "MultiAZ": false, - "Engine": "aurora-mysql", - "EngineVersion": "5.7.12", - "Port": 3306, - "MasterUsername": "admin", - "PreferredBackupWindow": "11:15-11:45", - "PreferredMaintenanceWindow": "thu:12:19-thu:12:49", - "ReadReplicaIdentifiers": [], - "DBClusterMembers": [], - "VpcSecurityGroups": [ - { - "VpcSecurityGroupId": "sg-########", - "Status": "active" - } - ], - "HostedZoneId": "Z1PVIF0EXAMPLE", - "StorageEncrypted": false, - "DbClusterResourceId": "cluster-SU5THYQQHOWCXZZDGXREXAMPLE", - "DBClusterArn": "arn:aws:rds:us-west-2:123456789012:cluster:cluster-s3-restore", - "AssociatedRoles": [], - "IAMDatabaseAuthenticationEnabled": false, - "ClusterCreateTime": "2020-07-27T14:22:08.095Z", - "EngineMode": "provisioned", - "DeletionProtection": false, - "HttpEndpointEnabled": false, - "CopyTagsToSnapshot": false, - "CrossAccountClone": false, - "DomainMemberships": [] - } - } - -For more information, see `Migrating Data from MySQL by Using an Amazon S3 Bucket `__ in the *Amazon Aurora User Guide*. +**To restore an Amazon Aurora DB cluster from Amazon S3** + +The following ``restore-db-cluster-from-s3`` example restores an Amazon Aurora MySQL version 5.7-compatible DB cluster from a MySQL 5.7 DB backup file in Amazon S3. :: + + aws rds restore-db-cluster-from-s3 \ + --db-cluster-identifier cluster-s3-restore \ + --engine aurora-mysql \ + --master-username admin \ + --master-user-password mypassword \ + --s3-bucket-name amzn-s3-demo-bucket \ + --s3-prefix test-backup \ + --s3-ingestion-role-arn arn:aws:iam::123456789012:role/service-role/TestBackup \ + --source-engine mysql \ + --source-engine-version 5.7.28 + +Output:: + + { + "DBCluster": { + "AllocatedStorage": 1, + "AvailabilityZones": [ + "us-west-2c", + "us-west-2a", + "us-west-2b" + ], + "BackupRetentionPeriod": 1, + "DBClusterIdentifier": "cluster-s3-restore", + "DBClusterParameterGroup": "default.aurora-mysql5.7", + "DBSubnetGroup": "default", + "Status": "creating", + "Endpoint": "cluster-s3-restore.cluster-co3xyzabc123.us-west-2.rds.amazonaws.com", + "ReaderEndpoint": "cluster-s3-restore.cluster-ro-co3xyzabc123.us-west-2.rds.amazonaws.com", + "MultiAZ": false, + "Engine": "aurora-mysql", + "EngineVersion": "5.7.12", + "Port": 3306, + "MasterUsername": "admin", + "PreferredBackupWindow": "11:15-11:45", + "PreferredMaintenanceWindow": "thu:12:19-thu:12:49", + "ReadReplicaIdentifiers": [], + "DBClusterMembers": [], + "VpcSecurityGroups": [ + { + "VpcSecurityGroupId": "sg-########", + "Status": "active" + } + ], + "HostedZoneId": "Z1PVIF0EXAMPLE", + "StorageEncrypted": false, + "DbClusterResourceId": "cluster-SU5THYQQHOWCXZZDGXREXAMPLE", + "DBClusterArn": "arn:aws:rds:us-west-2:123456789012:cluster:cluster-s3-restore", + "AssociatedRoles": [], + "IAMDatabaseAuthenticationEnabled": false, + "ClusterCreateTime": "2020-07-27T14:22:08.095Z", + "EngineMode": "provisioned", + "DeletionProtection": false, + "HttpEndpointEnabled": false, + "CopyTagsToSnapshot": false, + "CrossAccountClone": false, + "DomainMemberships": [] + } + } + +For more information, see `Migrating Data from MySQL by Using an Amazon S3 Bucket `__ in the *Amazon Aurora User Guide*. diff --git a/awscli/examples/rds/start-export-task.rst b/awscli/examples/rds/start-export-task.rst index ae45c407d689..d99476c90fab 100644 --- a/awscli/examples/rds/start-export-task.rst +++ b/awscli/examples/rds/start-export-task.rst @@ -1,26 +1,26 @@ -**To export a snapshot to Amazon S3** - -The following ``start-export-task`` example exports a DB snapshot named ``db5-snapshot-test`` to the Amazon S3 bucket named ``mybucket``. :: - - aws rds start-export-task \ - --export-task-identifier my-s3-export \ - --source-arn arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test \ - --s3-bucket-name mybucket \ - --iam-role-arn arn:aws:iam::123456789012:role/service-role/ExportRole \ - --kms-key-id arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff - -Output:: - - { - "ExportTaskIdentifier": "my-s3-export", - "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test", - "SnapshotTime": "2020-03-27T20:48:42.023Z", - "S3Bucket": "mybucket", - "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", - "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", - "Status": "STARTING", - "PercentProgress": 0, - "TotalExtractedDataInGB": 0 - } - -For more information, see `Exporting a Snapshot to an Amazon S3 Bucket `__ in the *Amazon RDS User Guide*. +**To export a snapshot to Amazon S3** + +The following ``start-export-task`` example exports a DB snapshot named ``db5-snapshot-test`` to the Amazon S3 bucket named ``amzn-s3-demo-bucket``. :: + + aws rds start-export-task \ + --export-task-identifier my-s3-export \ + --source-arn arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test \ + --s3-bucket-name amzn-s3-demo-bucket \ + --iam-role-arn arn:aws:iam::123456789012:role/service-role/ExportRole \ + --kms-key-id arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff + +Output:: + + { + "ExportTaskIdentifier": "my-s3-export", + "SourceArn": "arn:aws:rds:us-west-2:123456789012:snapshot:db5-snapshot-test", + "SnapshotTime": "2020-03-27T20:48:42.023Z", + "S3Bucket": "amzn-s3-demo-bucket", + "IamRoleArn": "arn:aws:iam::123456789012:role/service-role/ExportRole", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/abcd0000-7fca-4128-82f2-aabbccddeeff", + "Status": "STARTING", + "PercentProgress": 0, + "TotalExtractedDataInGB": 0 + } + +For more information, see `Exporting a Snapshot to an Amazon S3 Bucket `__ in the *Amazon RDS User Guide*. diff --git a/awscli/examples/rekognition/get-celebrity-recognition.rst b/awscli/examples/rekognition/get-celebrity-recognition.rst index 3ebba78d7140..44353ed600bc 100644 --- a/awscli/examples/rekognition/get-celebrity-recognition.rst +++ b/awscli/examples/rekognition/get-celebrity-recognition.rst @@ -1,6 +1,6 @@ **To get the results of a celebrity recognition operation** -The following ``get-celebrity-recognition`` command diplays the results of a celebrity recognition operation that you started previously by calling ``start-celebrity-recognition``. :: +The following ``get-celebrity-recognition`` command displays the results of a celebrity recognition operation that you started previously by calling ``start-celebrity-recognition``. :: aws rekognition get-celebrity-recognition \ --job-id 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef diff --git a/awscli/examples/resourcegroupstaggingapi/untag-resources.rst b/awscli/examples/resourcegroupstaggingapi/untag-resources.rst index e614cd992990..bc11b93abeda 100644 --- a/awscli/examples/resourcegroupstaggingapi/untag-resources.rst +++ b/awscli/examples/resourcegroupstaggingapi/untag-resources.rst @@ -3,7 +3,7 @@ The following ``untag-resources`` example removes the specified tag keys and any associated values from the specified resource. :: aws resourcegroupstaggingapi untag-resources \ - --resource-arn-list arn:aws:s3:::awsexamplebucket \ + --resource-arn-list arn:aws:s3:::amzn-s3-demo-bucket \ --tag-keys Environment CostCenter Output:: diff --git a/awscli/examples/robomaker/batch-describe-simulation-job.rst b/awscli/examples/robomaker/batch-describe-simulation-job.rst deleted file mode 100644 index b2059f10a8a2..000000000000 --- a/awscli/examples/robomaker/batch-describe-simulation-job.rst +++ /dev/null @@ -1,150 +0,0 @@ -**To batch describe simulation jobs** - -The following ``batch-describe-simulation-job`` example retrieves details for the three specified simulation jobs. - -Command:: - - aws robomaker batch-describe-simulation-job \ - --job arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-66bbb3gpxm8x arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-p0cpdrrwng2n arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-g8h6tglmblgw - -Output:: - - { - "jobs": [ - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-66bbb3gpxm8x", - "status": "Completed", - "lastUpdatedAt": 1548959178.0, - "failureBehavior": "Continue", - "clientRequestToken": "6020408e-b05c-4310-9f13-4ed71c5221ed", - "outputLocation": { - "s3Bucket": "awsrobomakerobjecttracker-111111111-bundlesbucket-2lk584kiq1oa", - "s3Prefix": "output" - }, - "maxJobDurationInSeconds": 3600, - "simulationTimeMillis": 0, - "iamRole": "arn:aws:iam::111111111111:role/AWSRoboMakerObjectTracker-154895-SimulationJobRole-14D5ASA7PQE3A", - "simulationApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerObjectTracker-1548959046124_NPvyfcatq/1548959170096", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "object_tracker_simulation", - "launchFile": "local_training.launch", - "environmentVariables": { - "MARKOV_PRESET_FILE": "object_tracker.py", - "MODEL_S3_BUCKET": "awsrobomakerobjecttracker-111111111-bundlesbucket-2lk584kiq1oa", - "MODEL_S3_PREFIX": "model-store", - "ROS_AWS_REGION": "us-west-2" - } - } - } - ], - "tags": {}, - "vpcConfig": { - "subnets": [ - "subnet-716dd52a", - "subnet-43c22325", - "subnet-3f526976" - ], - "securityGroups": [ - "sg-3fb40545" - ], - "vpcId": "vpc-99895eff", - "assignPublicIp": true - } - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-p0cpdrrwng2n", - "status": "Completed", - "lastUpdatedAt": 1548168817.0, - "failureBehavior": "Continue", - "clientRequestToken": "e4a23e75-f9a7-411d-835f-21881c82c58b", - "outputLocation": { - "s3Bucket": "awsrobomakercloudwatch-111111111111-bundlesbucket-14e5s9jvwtmv7", - "s3Prefix": "output" - }, - "maxJobDurationInSeconds": 3600, - "simulationTimeMillis": 0, - "iamRole": "arn:aws:iam::111111111111:role/AWSRoboMakerCloudWatch-154766341-SimulationJobRole-G0OBWTQ8YBG6", - "robotApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/AWSRoboMakerCloudWatch-1547663411642_NZbpqEJ3T/1547663517377", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "cloudwatch_robot", - "launchFile": "await_commands.launch", - "environmentVariables": { - "LAUNCH_ID": "1548168752173", - "ROS_AWS_REGION": "us-west-2" - } - } - } - ], - "simulationApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerCloudWatch-1547663411642_0LIt6D1h6/1547663521470", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "cloudwatch_simulation", - "launchFile": "bookstore_turtlebot_navigation.launch", - "environmentVariables": { - "LAUNCH_ID": "1548168752173", - "ROS_AWS_REGION": "us-west-2", - "TURTLEBOT3_MODEL": "waffle_pi" - } - } - } - ], - "tags": {}, - "vpcConfig": { - "subnets": [ - "subnet-716dd52a", - "subnet-43c22325", - "subnet-3f526976" - ], - "securityGroups": [ - "sg-3fb40545" - ], - "vpcId": "vpc-99895eff", - "assignPublicIp": true - } - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-g8h6tglmblgw", - "status": "Canceled", - "lastUpdatedAt": 1546543442.0, - "failureBehavior": "Fail", - "clientRequestToken": "d796bbb4-2a2c-1abc-f2a9-0d9e547d853f", - "outputLocation": { - "s3Bucket": "sample-bucket", - "s3Prefix": "SimulationLog_115490482698" - }, - "maxJobDurationInSeconds": 28800, - "simulationTimeMillis": 0, - "iamRole": "arn:aws:iam::111111111111:role/RoboMakerSampleTheFirst", - "robotApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerHelloWorldRobot/1546541208251", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "hello_world_robot", - "launchFile": "rotate.launch" - } - } - ], - "simulationApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/RoboMakerHelloWorldSimulation/1546541198985", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "hello_world_simulation", - "launchFile": "empty_world.launch" - } - } - ], - "tags": {} - } - ], - "unprocessedJobs": [] - } \ No newline at end of file diff --git a/awscli/examples/robomaker/cancel-simulation-job.rst b/awscli/examples/robomaker/cancel-simulation-job.rst deleted file mode 100644 index 0a4424150fbd..000000000000 --- a/awscli/examples/robomaker/cancel-simulation-job.rst +++ /dev/null @@ -1,6 +0,0 @@ -**To cancel a simulation job** - -The following ``cancel-simulation-job`` example cancels the specified simulation job. :: - - aws robomaker cancel-simulation-job \ - --job arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-66bbb3gpxm8x diff --git a/awscli/examples/robomaker/create-deployment-job.rst b/awscli/examples/robomaker/create-deployment-job.rst deleted file mode 100644 index 82291acb3b00..000000000000 --- a/awscli/examples/robomaker/create-deployment-job.rst +++ /dev/null @@ -1,37 +0,0 @@ -**To create a deployment job** - -This example creates a deployment job for fleet MyFleet. It includes an environment variable named "ENVIRONMENT". -It also attaches a tag named "Region". - -Command:: - - aws robomaker create-deployment-job --deployment-config concurrentDeploymentPercentage=20,failureThresholdPercentage=25 --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711 --tags Region=West --deployment-application-configs application=arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerVoiceInteractionRobot/1546537110575,applicationVersion=1,launchConfig={environmentVariables={ENVIRONMENT=Beta},launchFile=await_commands.launch,packageName=voice_interaction_robot} - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/sim-0974h36s4v0t", - "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", - "status": "Pending", - "deploymentApplicationConfigs": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerVoiceInteractionRobot/1546537110575", - "applicationVersion": "1", - "launchConfig": { - "packageName": "voice_interaction_robot", - "launchFile": "await_commands.launch", - "environmentVariables": { - "ENVIRONMENT": "Beta" - } - } - } - ], - "createdAt": 1550770236.0, - "deploymentConfig": { - "concurrentDeploymentPercentage": 20, - "failureThresholdPercentage": 25 - }, - "tags": { - "Region": "West" - } - } \ No newline at end of file diff --git a/awscli/examples/robomaker/create-fleet.rst b/awscli/examples/robomaker/create-fleet.rst deleted file mode 100644 index 9d22a835e27e..000000000000 --- a/awscli/examples/robomaker/create-fleet.rst +++ /dev/null @@ -1,18 +0,0 @@ -**To create a fleet** - -This example creates a fleet. It attaches a tag named Region. - -Command:: - - aws robomaker create-fleet --name MyFleet --tags Region=East - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyOtherFleet/1550771394395", - "name": "MyFleet", - "createdAt": 1550771394.0, - "tags": { - "Region": "East" - } - } \ No newline at end of file diff --git a/awscli/examples/robomaker/create-robot-application-version.rst b/awscli/examples/robomaker/create-robot-application-version.rst deleted file mode 100644 index a3ff727f1fe5..000000000000 --- a/awscli/examples/robomaker/create-robot-application-version.rst +++ /dev/null @@ -1,31 +0,0 @@ -**To create a robot application version** - -This example creates a robot application version. - -Command:: - - aws robomaker create-robot-application-version --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551201873931 - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551201873931", - "name": "MyRobotApplication", - "version": "1", - "sources": [ - { - "s3Bucket": "my-bucket", - "s3Key": "my-robot-application.tar.gz", - "etag": "f8cf5526f1c6e7b3a72c3ed3f79c5493-70", - "architecture": "ARMHF" - } - ], - "robotSoftwareSuite": { - "name": "ROS", - "version": "Kinetic" - }, - "lastUpdatedAt": 1551201873.0, - "revisionId": "9986bb8d-a695-4ab4-8810-9f4a74d1aa00" - "tags": {} - } - diff --git a/awscli/examples/robomaker/create-robot-application.rst b/awscli/examples/robomaker/create-robot-application.rst deleted file mode 100644 index ae992690ed9c..000000000000 --- a/awscli/examples/robomaker/create-robot-application.rst +++ /dev/null @@ -1,29 +0,0 @@ -**To create a robot application** - -This example creates a robot application. - -Command:: - - aws robomaker create-robot-application --name MyRobotApplication --sources s3Bucket=my-bucket,s3Key=my-robot-application.tar.gz,architecture=X86_64 --robot-software-suite name=ROS,version=Kinetic - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551201873931", - "name": "MyRobotApplication", - "version": "$LATEST", - "sources": [ - { - "s3Bucket": "my-bucket", - "s3Key": "my-robot-application.tar.gz", - "architecture": "ARMHF" - } - ], - "robotSoftwareSuite": { - "name": "ROS", - "version": "Kinetic" - }, - "lastUpdatedAt": 1551201873.0, - "revisionId": "1f3cb539-9239-4841-a656-d3efcffa07e1", - "tags": {} - } diff --git a/awscli/examples/robomaker/create-robot.rst b/awscli/examples/robomaker/create-robot.rst deleted file mode 100644 index c3c730bf14c1..000000000000 --- a/awscli/examples/robomaker/create-robot.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To create a robot** - -This example creates a robot. It uses the ARMHF architecture. It also attaches a tag named Region. - -Command:: - - aws robomaker create-robot --name MyRobot --architecture ARMHF --greengrass-group-id 0f728a3c-7dbf-4a3e-976d-d16a8360caba --tags Region=East - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398", - "name": "MyRobot", - "createdAt": 1550772325.0, - "greengrassGroupId": "0f728a3c-7dbf-4a3e-976d-d16a8360caba", - "architecture": "ARMHF", - "tags": { - "Region": "East" - } - } \ No newline at end of file diff --git a/awscli/examples/robomaker/create-simulation-application-version.rst b/awscli/examples/robomaker/create-simulation-application-version.rst deleted file mode 100644 index 446b86928b29..000000000000 --- a/awscli/examples/robomaker/create-simulation-application-version.rst +++ /dev/null @@ -1,39 +0,0 @@ -**To create a simulation application version** - -This example creates a robot application version. - -Command:: - - aws robomaker create-simulation-application-version --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MySimulationApplication/1551203427605 - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MyRobotApplication/1551203427605", - "name": "MyRobotApplication", - "version": "1", - "sources": [ - { - "s3Bucket": "my-bucket", - "s3Key": "my-simulation-application.tar.gz", - "etag": "00d8a94ff113856688c4fce618ae0f45-94", - "architecture": "X86_64" - } - ], - "simulationSoftwareSuite": { - "name": "Gazebo", - "version": "7" - }, - "robotSoftwareSuite": { - "name": "ROS", - "version": "Kinetic" - }, - "renderingEngine": { - "name": "OGRE", - "version": "1.x" - }, - "lastUpdatedAt": 1551203853.0, - "revisionId": "ee753e53-519c-4d37-895d-65e79bcd1914", - "tags": {} - } - diff --git a/awscli/examples/robomaker/create-simulation-application.rst b/awscli/examples/robomaker/create-simulation-application.rst deleted file mode 100644 index 4c528e80f453..000000000000 --- a/awscli/examples/robomaker/create-simulation-application.rst +++ /dev/null @@ -1,38 +0,0 @@ -**To create a simulation application** - -This example creates a simulation application. - -Command:: - - aws robomaker create-simulation-application --name MyRobotApplication --sources s3Bucket=my-bucket,s3Key=my-simulation-application.tar.gz,architecture=ARMHF --robot-software-suite name=ROS,version=Kinetic --simulation-software-suite name=Gazebo,version=7 --rendering-engine name=OGRE,version=1.x - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MyRobotApplication/1551203301792", - "name": "MyRobotApplication", - "version": "$LATEST", - "sources": [ - { - "s3Bucket": "my-bucket", - "s3Key": "my-simulation-application.tar.gz", - "architecture": "X86_64" - } - ], - "simulationSoftwareSuite": { - "name": "Gazebo", - "version": "7" - }, - "robotSoftwareSuite": { - "name": "ROS", - "version": "Kinetic" - }, - "renderingEngine": { - "name": "OGRE", - "version": "1.x" - }, - "lastUpdatedAt": 1551203301.0, - "revisionId": "ee753e53-519c-4d37-895d-65e79bcd1914", - "tags": {} - } - diff --git a/awscli/examples/robomaker/create-simulation-job.rst b/awscli/examples/robomaker/create-simulation-job.rst deleted file mode 100644 index d5b4cd8641a9..000000000000 --- a/awscli/examples/robomaker/create-simulation-job.rst +++ /dev/null @@ -1,43 +0,0 @@ -**To create a simulation job** - -This example creates a simulation job. It uses a robot application and a simulation application. - -Command:: - - aws robomaker create-simulation-job --max-job-duration-in-seconds 3600 --iam-role arn:aws:iam::111111111111:role/AWSRoboMakerCloudWatch-154766341-SimulationJobRole-G0OBWTQ8YBG6 --robot-applications application=arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821,launchConfig={packageName=hello_world_robot,launchFile=rotate.launch} --simulation-applications application=arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605,launchConfig={packageName=hello_world_simulation,launchFile=empty_world.launch} --tags Region=North - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-w7m68wpr05h8", - "status": "Pending", - "lastUpdatedAt": 1551213837.0, - "failureBehavior": "Fail", - "clientRequestToken": "b283ccce-e468-43ee-8642-be76a9d69f15", - "maxJobDurationInSeconds": 3600, - "simulationTimeMillis": 0, - "iamRole": "arn:aws:iam::111111111111:role/MySimulationRole", - "robotApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "hello_world_robot", - "launchFile": "rotate.launch" - } - } - ], - "simulationApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "hello_world_simulation", - "launchFile": "empty_world.launch" - } - } - ], - "tags": { - "Region": "North" - } - } \ No newline at end of file diff --git a/awscli/examples/robomaker/delete-fleet.rst b/awscli/examples/robomaker/delete-fleet.rst deleted file mode 100644 index 3eb7ac6ef501..000000000000 --- a/awscli/examples/robomaker/delete-fleet.rst +++ /dev/null @@ -1,7 +0,0 @@ -**To delete a fleet** - -This example deletes a fleet. - -Command:: - - aws robomaker delete-fleet --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771394395 diff --git a/awscli/examples/robomaker/delete-robot-application.rst b/awscli/examples/robomaker/delete-robot-application.rst deleted file mode 100644 index e355da1aa67c..000000000000 --- a/awscli/examples/robomaker/delete-robot-application.rst +++ /dev/null @@ -1,7 +0,0 @@ -**To delete a robot application** - -This example deletes a robot application. - -Command:: - - aws robomaker delete-robot-application --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821 diff --git a/awscli/examples/robomaker/delete-robot.rst b/awscli/examples/robomaker/delete-robot.rst deleted file mode 100644 index b36f85b27fc4..000000000000 --- a/awscli/examples/robomaker/delete-robot.rst +++ /dev/null @@ -1,7 +0,0 @@ -**To delete a robot** - -This example deletes a robot. - -Command:: - - aws robomaker delete-robot --robot arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1540829698778 diff --git a/awscli/examples/robomaker/delete-simulation-application.rst b/awscli/examples/robomaker/delete-simulation-application.rst deleted file mode 100644 index efe076bf43dd..000000000000 --- a/awscli/examples/robomaker/delete-simulation-application.rst +++ /dev/null @@ -1,7 +0,0 @@ -**To delete a simulation application** - -This example deletes a simulation application. - -Command:: - - aws robomaker delete-simulation-application --application arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605 diff --git a/awscli/examples/robomaker/deregister-robot.rst b/awscli/examples/robomaker/deregister-robot.rst deleted file mode 100644 index bda6f5ae3dda..000000000000 --- a/awscli/examples/robomaker/deregister-robot.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To deregister a robot from a fleet** - -This example deregisters a robot from a fleet. - -Command:: - - aws robomaker deregister-robot --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907 --robot arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398 - -Output:: - - { - "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907", - "robot": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398" - } diff --git a/awscli/examples/robomaker/describe-deployment-job.rst b/awscli/examples/robomaker/describe-deployment-job.rst deleted file mode 100644 index c4e4e6965a6d..000000000000 --- a/awscli/examples/robomaker/describe-deployment-job.rst +++ /dev/null @@ -1,38 +0,0 @@ -**To describe a deployment job** - -The following ``describe-deployment-job`` example retrieves the details about the specified deployment job. :: - - aws robomaker describe-deployment-job \ - --job arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-xl8qssl6pbcn - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-xl8qssl6pbcn", - "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711", - "status": "InProgress", - "deploymentConfig": { - "concurrentDeploymentPercentage": 20, - "failureThresholdPercentage": 25 - }, - "deploymentApplicationConfigs": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/RoboMakerHelloWorldRobot/1546541208251", - "applicationVersion": "1", - "launchConfig": { - "packageName": "hello_world_robot", - "launchFile": "rotate.launch" - } - } - ], - "createdAt": 1551218369.0, - "robotDeploymentSummary": [ - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1540834232469", - "deploymentStartTime": 1551218376.0, - "status": "Deploying", - "progressDetail": {} - } - ], - "tags": {} - } diff --git a/awscli/examples/robomaker/describe-fleet.rst b/awscli/examples/robomaker/describe-fleet.rst deleted file mode 100644 index 1698ae1e734e..000000000000 --- a/awscli/examples/robomaker/describe-fleet.rst +++ /dev/null @@ -1,28 +0,0 @@ -**To describe a fleet** - -The following ``describe-fleet`` example retrieves the details for the specified fleet. :: - - aws robomaker describe-fleet \ - --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907 - -Output:: - - { - "name": "MyFleet", - "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", - "robots": [ - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1540834232469", - "createdAt": 1540834232.0 - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyOtherRobot/1540829698778", - "createdAt": 1540829698.0 - } - ], - "createdAt": 1539894765.0, - "lastDeploymentStatus": "Succeeded", - "lastDeploymentJob": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-xl8qssl6pbcn", - "lastDeploymentTime": 1551218369.0, - "tags": {} - } diff --git a/awscli/examples/robomaker/describe-robot-application.rst b/awscli/examples/robomaker/describe-robot-application.rst deleted file mode 100644 index 137513c01503..000000000000 --- a/awscli/examples/robomaker/describe-robot-application.rst +++ /dev/null @@ -1,29 +0,0 @@ -**To describe a robot application** - -This example describes a robot application. - -Command:: - - aws robomaker describe-robot-application --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821 - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821", - "name": "MyRobotApplication", - "version": "$LATEST", - "sources": [ - { - "s3Bucket": "my-bucket", - "s3Key": "my-robot-application.tar.gz", - "architecture": "X86_64" - } - ], - "robotSoftwareSuite": { - "name": "ROS", - "version": "Kinetic" - }, - "revisionId": "e72efe0d-f44f-4333-b604-f6fa5c6bb50b", - "lastUpdatedAt": 1551203485.0, - "tags": {} - } \ No newline at end of file diff --git a/awscli/examples/robomaker/describe-robot.rst b/awscli/examples/robomaker/describe-robot.rst deleted file mode 100644 index e4c5a581f39b..000000000000 --- a/awscli/examples/robomaker/describe-robot.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To describe a robot** - -This example describes a robot. - -Command:: - - aws robomaker describe-robot --robot arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398 - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398", - "name": "MyRobot", - "status": "Available", - "greengrassGroupId": "0f728a3c-7dbf-4a3e-976d-d16a8360caba", - "createdAt": 1550772325.0, - "architecture": "ARMHF", - "tags": { - "Region": "East" - } - } \ No newline at end of file diff --git a/awscli/examples/robomaker/describe-simulation-application.rst b/awscli/examples/robomaker/describe-simulation-application.rst deleted file mode 100644 index 578a7c7b1f35..000000000000 --- a/awscli/examples/robomaker/describe-simulation-application.rst +++ /dev/null @@ -1,37 +0,0 @@ -**To describe a simulation application** - -This example describes a simulation application. - -Command:: - - aws robomaker describe-simulation-application --application arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605 - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605", - "name": "MySimulationApplication", - "version": "$LATEST", - "sources": [ - { - "s3Bucket": "my-bucket", - "s3Key": "my-simulation-application.tar.gz", - "architecture": "X86_64" - } - ], - "simulationSoftwareSuite": { - "name": "Gazebo", - "version": "7" - }, - "robotSoftwareSuite": { - "name": "ROS", - "version": "Kinetic" - }, - "renderingEngine": { - "name": "OGRE", - "version": "1.x" - }, - "revisionId": "783674ab-b7b8-42d9-b01f-9373907987e5", - "lastUpdatedAt": 1551203427.0, - "tags": {} - } \ No newline at end of file diff --git a/awscli/examples/robomaker/describe-simulation-job.rst b/awscli/examples/robomaker/describe-simulation-job.rst deleted file mode 100644 index cfa3a1ad88ac..000000000000 --- a/awscli/examples/robomaker/describe-simulation-job.rst +++ /dev/null @@ -1,45 +0,0 @@ -**To describe a simulation job** - -This example describes a simulation job. - -Command:: - - aws robomaker describe-simulation-job --job arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-pql32v7pfjy6 - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-pql32v7pfjy6", - "status": "Running", - "lastUpdatedAt": 1551219349.0, - "failureBehavior": "Continue", - "clientRequestToken": "a19ec4b5-e50d-3591-33da-c2e593c60615", - "outputLocation": { - "s3Bucket": "my-output-bucket", - "s3Prefix": "output" - }, - "maxJobDurationInSeconds": 3600, - "simulationTimeMillis": 0, - "iamRole": "arn:aws:iam::111111111111:role/MySimulationRole", - "robotApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551206341136", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "hello_world_robot", - "launchFile": "rotate.launch" - } - } - ], - "simulationApplications": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551206347967", - "applicationVersion": "$LATEST", - "launchConfig": { - "packageName": "hello_world_simulation", - "launchFile": "empty_world.launch" - } - } - ], - "tags": {} - } \ No newline at end of file diff --git a/awscli/examples/robomaker/list-deployment-jobs.rst b/awscli/examples/robomaker/list-deployment-jobs.rst deleted file mode 100644 index e7e87681f242..000000000000 --- a/awscli/examples/robomaker/list-deployment-jobs.rst +++ /dev/null @@ -1,57 +0,0 @@ -**To list deployment jobs** - -The following ``list-deployment-jobs`` example retrieves a list of deployment jobs. :: - - aws robomaker list-deployment-jobs - -Output:: - - { - "deploymentJobs": [ - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/sim-6293szzm56rv", - "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", - "status": "InProgress", - "deploymentApplicationConfigs": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/HelloWorldRobot/1546537110575", - "applicationVersion": "1", - "launchConfig": { - "packageName": "hello_world_robot", - "launchFile": "rotate.launch", - "environmentVariables": { - "ENVIRONMENT": "Desert" - } - } - } - ], - "deploymentConfig": { - "concurrentDeploymentPercentage": 20, - "failureThresholdPercentage": 25 - }, - "createdAt": 1550689373.0 - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-4w4g69p25zdb", - "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", - "status": "Pending", - "deploymentApplicationConfigs": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/AWSRoboMakerHelloWorld-1544562726923_YGHM_sh5M/1544562822877", - "applicationVersion": "1", - "launchConfig": { - "packageName": "fail", - "launchFile": "fail" - } - } - ], - "deploymentConfig": { - "concurrentDeploymentPercentage": 20, - "failureThresholdPercentage": 25 - }, - "failureReason": "", - "failureCode": "", - "createdAt": 1544719763.0 - } - ] - } \ No newline at end of file diff --git a/awscli/examples/robomaker/list-fleets.rst b/awscli/examples/robomaker/list-fleets.rst deleted file mode 100644 index 2150e399f02b..000000000000 --- a/awscli/examples/robomaker/list-fleets.rst +++ /dev/null @@ -1,22 +0,0 @@ -**To list fleets** - -This example lists fleets. A maximum of 20 fleets will be returned. - -Command:: - - aws robomaker list-fleets --max-items 20 - -Output:: - - { - "fleetDetails": [ - { - "name": "Trek", - "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", - "createdAt": 1539894765.0, - "lastDeploymentStatus": "Failed", - "lastDeploymentJob": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-4w4g69p25zdb", - "lastDeploymentTime": 1544719763.0 - } - ] - } \ No newline at end of file diff --git a/awscli/examples/robomaker/list-robot-applications.rst b/awscli/examples/robomaker/list-robot-applications.rst deleted file mode 100644 index 419d62f94304..000000000000 --- a/awscli/examples/robomaker/list-robot-applications.rst +++ /dev/null @@ -1,32 +0,0 @@ -**To list robot applications** - -This example lists robot applications. Results are limited to 20 robot applications. - -Command:: - - aws robomaker list-robot-applications --max-results 20 - -Output:: - - { - "robotApplicationSummaries": [ - { - "name": "MyRobot", - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobot/1546537110575", - "version": "$LATEST", - "lastUpdatedAt": 1546540372.0 - }, - { - "name": "AnotherRobot", - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/AnotherRobot/1546541208251", - "version": "$LATEST", - "lastUpdatedAt": 1546541208.0 - }, - { - "name": "MySuperRobot", - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MySuperRobot/1547663517377", - "version": "$LATEST", - "lastUpdatedAt": 1547663517.0 - } - ] - } \ No newline at end of file diff --git a/awscli/examples/robomaker/list-robots.rst b/awscli/examples/robomaker/list-robots.rst deleted file mode 100644 index e51b95093665..000000000000 --- a/awscli/examples/robomaker/list-robots.rst +++ /dev/null @@ -1,45 +0,0 @@ -**To list robots** - -This example lists robots. A maximum of 20 robots will be returned. - -Command:: - - aws robomaker list-robots --max-results 20 - -Output:: - - { - "robots": [ - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/Robot100/1544035373264", - "name": "Robot100", - "status": "Available", - "createdAt": 1544035373.0, - "architecture": "X86_64" - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/Robot101/1542146976587", - "name": "Robot101", - "status": "Available", - "createdAt": 1542146976.0, - "architecture": "X86_64" - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/Robot102/1540834232469", - "name": "Robot102", - "fleetArn": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711", - "status": "Available", - "createdAt": 1540834232.0, - "architecture": "X86_64", - "lastDeploymentJob": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-jb007b75gl5f", - "lastDeploymentTime": 1550689533.0 - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1540829698778", - "name": "MyRobot", - "status": "Registered", - "createdAt": 1540829698.0, - "architecture": "X86_64" - } - ] - } \ No newline at end of file diff --git a/awscli/examples/robomaker/list-simulation-applications.rst b/awscli/examples/robomaker/list-simulation-applications.rst deleted file mode 100644 index 107c783e678c..000000000000 --- a/awscli/examples/robomaker/list-simulation-applications.rst +++ /dev/null @@ -1,50 +0,0 @@ -**To list simulation applications** - -This example lists simulation applications. A maximum of 20 simulation applications will be returned. - -Command:: - - aws robomaker list-simulation-applications --max-results 20 - -Output:: - - { - "simulationApplicationSummaries": [ - { - "name": "AWSRoboMakerObjectTracker-1548959046124_NPvyfcatq", - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerObjectTracker-1548959046124_NPvyfcatq/1548959170096", - "version": "$LATEST", - "lastUpdatedAt": 1548959170.0 - }, - { - "name": "RoboMakerHelloWorldSimulation", - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/RoboMakerHelloWorldSimulation/1546541198985", - "version": "$LATEST", - "lastUpdatedAt": 1546541198.0 - }, - { - "name": "RoboMakerObjectTrackerSimulation", - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/RoboMakerObjectTrackerSimulation/1545846795615", - "version": "$LATEST", - "lastUpdatedAt": 1545847405.0 - }, - { - "name": "RoboMakerVoiceInteractionSimulation", - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/RoboMakerVoiceInteractionSimulation/1546537100507", - "version": "$LATEST", - "lastUpdatedAt": 1546540352.0 - }, - { - "name": "AWSRoboMakerCloudWatch-1547663411642_0LIt6D1h6", - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerCloudWatch-1547663411642_0LIt6D1h6/1547663521470", - "version": "$LATEST", - "lastUpdatedAt": 1547663521.0 - }, - { - "name": "AWSRoboMakerDeepRacer-1545848257672_1YZCaieQ-", - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/AWSRoboMakerDeepRacer-1545848257672_1YZCaieQ-/1545848370525", - "version": "$LATEST", - "lastUpdatedAt": 1545848370.0 - } - ] - } \ No newline at end of file diff --git a/awscli/examples/robomaker/list-simulation-jobs.rst b/awscli/examples/robomaker/list-simulation-jobs.rst deleted file mode 100644 index b85916088e83..000000000000 --- a/awscli/examples/robomaker/list-simulation-jobs.rst +++ /dev/null @@ -1,80 +0,0 @@ -**To list simulation jobs** - -This example lists simulation jobs. - -Command:: - - aws robomaker list-simulation-jobs - -Output:: - - { - "simulationJobSummaries": [ - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-66bbb3gpxm8x", - "lastUpdatedAt": 1548959178.0, - "status": "Completed", - "simulationApplicationNames": [ - "AWSRoboMakerObjectTracker-1548959046124_NPvyfcatq" - ], - "robotApplicationNames": [ - null - ] - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-b27c4rkrtzcw", - "lastUpdatedAt": 1543514088.0, - "status": "Canceled", - "simulationApplicationNames": [ - "AWSRoboMakerPersonDetection-1543513948280_T8rHW2_lu" - ], - "robotApplicationNames": [ - "AWSRoboMakerPersonDetection-1543513948280_EYaMT0mYb" - ] - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-51vxjbzy4q8t", - "lastUpdatedAt": 1543508858.0, - "status": "Canceled", - "simulationApplicationNames": [ - "AWSRoboMakerCloudWatch-1543504747391_lFF9ZQyx6" - ], - "robotApplicationNames": [ - "AWSRoboMakerCloudWatch-1543504747391_axbYa3S3K" - ] - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-kgf1fqxflqbx", - "lastUpdatedAt": 1543504862.0, - "status": "Completed", - "simulationApplicationNames": [ - "AWSRoboMakerCloudWatch-1543504747391_lFF9ZQyx6" - ], - "robotApplicationNames": [ - "AWSRoboMakerCloudWatch-1543504747391_axbYa3S3K" - ] - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-vw8lvh061nqt", - "lastUpdatedAt": 1543441430.0, - "status": "Completed", - "simulationApplicationNames": [ - "AWSRoboMakerHelloWorld-1543437372341__yb_Jg96l" - ], - "robotApplicationNames": [ - "AWSRoboMakerHelloWorld-1543437372341_lNbmKHvs9" - ] - }, - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-txy5ypxmhz84", - "lastUpdatedAt": 1543437488.0, - "status": "Completed", - "simulationApplicationNames": [ - "AWSRoboMakerHelloWorld-1543437372341__yb_Jg96l" - ], - "robotApplicationNames": [ - "AWSRoboMakerHelloWorld-1543437372341_lNbmKHvs9" - ] - } - ] - } \ No newline at end of file diff --git a/awscli/examples/robomaker/list-tags-for-resource.rst b/awscli/examples/robomaker/list-tags-for-resource.rst deleted file mode 100644 index cfc9c8de1cf6..000000000000 --- a/awscli/examples/robomaker/list-tags-for-resource.rst +++ /dev/null @@ -1,16 +0,0 @@ -**To list tags for a resource** - -This example lists tags for an AWS RoboMaker resource. - -Command:: - - aws robomaker list-tags-for-resource --resource-arn "arn:aws:robomaker:us-west-2:111111111111:robot/Robby_the_Robot/1544035373264" - -Output:: - - { - "tags": { - "Region": "North", - "Stage": "Initial" - } - } \ No newline at end of file diff --git a/awscli/examples/robomaker/register-robot.rst b/awscli/examples/robomaker/register-robot.rst deleted file mode 100644 index 18494d481860..000000000000 --- a/awscli/examples/robomaker/register-robot.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To register a robot** - -This example registers a robot to a fleet. - -Command:: - - aws robomaker register-robot --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907 --robot arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398 - -Output:: - - { - "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1550771358907", - "robot": "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1550772324398" - } \ No newline at end of file diff --git a/awscli/examples/robomaker/restart-simulation-job.rst b/awscli/examples/robomaker/restart-simulation-job.rst deleted file mode 100644 index 409ce9354c79..000000000000 --- a/awscli/examples/robomaker/restart-simulation-job.rst +++ /dev/null @@ -1,7 +0,0 @@ -**To restart a simulation** - -This example restarts a simulation. - -Command:: - - aws robomaker restart-simulation-job --job arn:aws:robomaker:us-west-2:111111111111:simulation-job/sim-t6rdgt70mftr diff --git a/awscli/examples/robomaker/sync-deployment-job.rst b/awscli/examples/robomaker/sync-deployment-job.rst deleted file mode 100644 index 4ae4d593758f..000000000000 --- a/awscli/examples/robomaker/sync-deployment-job.rst +++ /dev/null @@ -1,30 +0,0 @@ -**To sync a deployment job** - -This example synchronizes a deployment job. - -Command:: - - aws robomaker sync-deployment-job --fleet arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/Trek/1539894765711 - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:deployment-job/deployment-09ccxs3tlfms", - "fleet": "arn:aws:robomaker:us-west-2:111111111111:deployment-fleet/MyFleet/1539894765711", - "status": "Pending", - "deploymentConfig": { - "concurrentDeploymentPercentage": 20, - "failureThresholdPercentage": 25 - }, - "deploymentApplicationConfigs": [ - { - "application": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1546541208251", - "applicationVersion": "1", - "launchConfig": { - "packageName": "hello_world_simulation", - "launchFile": "empty_world.launch" - } - } - ], - "createdAt": 1551286954.0 - } \ No newline at end of file diff --git a/awscli/examples/robomaker/tag-resource.rst b/awscli/examples/robomaker/tag-resource.rst deleted file mode 100644 index 2a89b558e855..000000000000 --- a/awscli/examples/robomaker/tag-resource.rst +++ /dev/null @@ -1,7 +0,0 @@ -**To tag a resource** - -This example tags a resource. It attaches two tags: Region and Stage. - -Command:: - - aws robomaker tag-resource --resource-arn "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1544035373264" --tags Region=North,Stage=Initial diff --git a/awscli/examples/robomaker/untag-resource.rst b/awscli/examples/robomaker/untag-resource.rst deleted file mode 100644 index 1a139cc18dd1..000000000000 --- a/awscli/examples/robomaker/untag-resource.rst +++ /dev/null @@ -1,7 +0,0 @@ -**To untag a resource** - -This example removes a tag from a resource. It removes the Region tag. - -Command:: - - aws robomaker untag-resource --resource-arn "arn:aws:robomaker:us-west-2:111111111111:robot/MyRobot/1544035373264" --tag-keys Region diff --git a/awscli/examples/robomaker/update-robot-application.rst b/awscli/examples/robomaker/update-robot-application.rst deleted file mode 100644 index d6057c8ee468..000000000000 --- a/awscli/examples/robomaker/update-robot-application.rst +++ /dev/null @@ -1,28 +0,0 @@ -**To update a robot application** - -This example updates a robot application. - -Command:: - - aws robomaker update-robot-application --application arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821 --sources s3Bucket=my-bucket,s3Key=my-robot-application.tar.gz,architecture=X86_64 --robot-software-suite name=ROS,version=Kinetic - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:robot-application/MyRobotApplication/1551203485821", - "name": "MyRobotApplication", - "version": "$LATEST", - "sources": [ - { - "s3Bucket": "my-bucket", - "s3Key": "my-robot-application.tar.gz", - "architecture": "X86_64" - } - ], - "robotSoftwareSuite": { - "name": "ROS", - "version": "Kinetic" - }, - "lastUpdatedAt": 1551287993.0, - "revisionId": "20b5e331-24fd-4504-8b8c-531afe5f4c94" - } \ No newline at end of file diff --git a/awscli/examples/robomaker/update-simulation-application.rst b/awscli/examples/robomaker/update-simulation-application.rst deleted file mode 100644 index 54388e3fe804..000000000000 --- a/awscli/examples/robomaker/update-simulation-application.rst +++ /dev/null @@ -1,36 +0,0 @@ -**To update a simulation application** - -This example updates a simulation application. - -Command:: - - aws robomaker update-simulation-application --application arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605 --sources s3Bucket=my-bucket,s3Key=my-simulation-application.tar.gz,architecture=X86_64 --robot-software-suite name=ROS,version=Kinetic --simulation-software-suite name=Gazebo,version=7 --rendering-engine name=OGRE,version=1.x - -Output:: - - { - "arn": "arn:aws:robomaker:us-west-2:111111111111:simulation-application/MySimulationApplication/1551203427605", - "name": "MySimulationApplication", - "version": "$LATEST", - "sources": [ - { - "s3Bucket": "my-bucket", - "s3Key": "my-simulation-application.tar.gz", - "architecture": "X86_64" - } - ], - "simulationSoftwareSuite": { - "name": "Gazebo", - "version": "7" - }, - "robotSoftwareSuite": { - "name": "ROS", - "version": "Kinetic" - }, - "renderingEngine": { - "name": "OGRE", - "version": "1.x" - }, - "lastUpdatedAt": 1551289361.0, - "revisionId": "4a22cb5d-93c5-4cef-9311-52bdd119b79e" - } \ No newline at end of file diff --git a/awscli/examples/route53domains/get-domain-detail.rst b/awscli/examples/route53domains/get-domain-detail.rst old mode 100755 new mode 100644 index 5495f1ba465c..6c7eecbff366 --- a/awscli/examples/route53domains/get-domain-detail.rst +++ b/awscli/examples/route53domains/get-domain-detail.rst @@ -4,7 +4,7 @@ The following ``get-domain-detail`` command displays detailed information about This command runs only in the ``us-east-1`` Region. If your default region is set to ``us-east-1``, you can omit the ``region`` parameter. :: - aws route53domains get-domain-detail \ + aws route53domains get-domain-detail \ --region us-east-1 \ --domain-name example.com @@ -77,7 +77,7 @@ Output:: "RegistrantPrivacy": true, "TechPrivacy": true, "RegistrarName": "Amazon Registrar, Inc.", - "WhoIsServer": "whois.registrar.amazon.com", + "WhoIsServer": "whois.registrar.amazon", "RegistrarUrl": "http://registrar.amazon.com", "AbuseContactEmail": "abuse@registrar.amazon.com", "AbuseContactPhone": "+1.2062661000", @@ -86,4 +86,4 @@ Output:: "StatusList": [ "clientTransferProhibited" ] - } + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/associate-profile.rst b/awscli/examples/route53profiles/associate-profile.rst new file mode 100644 index 000000000000..f9c8a7efecfd --- /dev/null +++ b/awscli/examples/route53profiles/associate-profile.rst @@ -0,0 +1,26 @@ +**To associate a Profile** + +The following ``associate-profile`` example associates a Profile to a VPC. :: + + aws route53profiles associate-profile \ + --name test-association \ + --profile-id rp-4987774726example \ + --resource-id vpc-0af3b96b3example + +Output:: + + { + "ProfileAssociation": { + "CreationTime": 1710851336.527, + "Id": "rpassoc-489ce212fexample", + "ModificationTime": 1710851336.527, + "Name": "test-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceId": "vpc-0af3b96b3example", + "Status": "CREATING", + "StatusMessage": "Creating Profile Association" + } + } + +For more information, see `Using Profiles `__ in the *Amazon Route 53 Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/route53profiles/associate-resource-to-profile.rst b/awscli/examples/route53profiles/associate-resource-to-profile.rst new file mode 100644 index 000000000000..80c144cef84e --- /dev/null +++ b/awscli/examples/route53profiles/associate-resource-to-profile.rst @@ -0,0 +1,28 @@ +**To associate a resource to a Profile** + +The following ``associate-resource-to-profile`` example associates a DNS Firewall rule group with the priority of 102 to a Profile. :: + + aws route53profiles associate-resource-to-profile \ + --name test-resource-association \ + --profile-id rp-4987774726example \ + --resource-arn arn:aws:route53resolver:us-east-1:123456789012:firewall-rule-group/rslvr-frg-cfe7f72example \ + --resource-properties "{\"priority\": 102}" + +Output:: + + { + "ProfileResourceAssociation": { + "CreationTime": 1710851216.613, + "Id": "rpr-001913120a7example", + "ModificationTime": 1710851216.613, + "Name": "test-resource-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceArn": "arn:aws:route53resolver:us-east-1:123456789012:firewall-rule-group/rslvr-frg-cfe7f72example", + "ResourceProperties": "{\"priority\":102}", + "ResourceType": "FIREWALL_RULE_GROUP", + "Status": "UPDATING", + "StatusMessage": "Updating the Profile to DNS Firewall rule group association" + } + } + diff --git a/awscli/examples/route53profiles/create-profile.rst b/awscli/examples/route53profiles/create-profile.rst new file mode 100644 index 000000000000..e45db24e3e85 --- /dev/null +++ b/awscli/examples/route53profiles/create-profile.rst @@ -0,0 +1,23 @@ +**To create a Profile** + +The following ``create-profile`` example creates a Profile. :: + + aws route53profiles create-profile \ + --name test + +Output:: + + { + "Profile": { + "Arn": "arn:aws:route53profiles:us-east-1:123456789012:profile/rp-6ffe47d5example", + "ClientToken": "2ca1a304-32b3-4f5f-bc4c-EXAMPLE11111", + "CreationTime": 1710850903.578, + "Id": "rp-6ffe47d5example", + "ModificationTime": 1710850903.578, + "Name": "test", + "OwnerId": "123456789012", + "ShareStatus": "NOT_SHARED", + "Status": "COMPLETE", + "StatusMessage": "Created Profile" + } + } diff --git a/awscli/examples/route53profiles/delete-profile.rst b/awscli/examples/route53profiles/delete-profile.rst new file mode 100644 index 000000000000..d20b5c39649d --- /dev/null +++ b/awscli/examples/route53profiles/delete-profile.rst @@ -0,0 +1,23 @@ +**To delete a Profile** + +The following ``delete-profile`` example deletes a Profile. :: + + aws route53profiles delete-profile \ + --profile-id rp-6ffe47d5example + +Output:: + + { + "Profile": { + "Arn": "arn:aws:route53profiles:us-east-1:123456789012:profile/rp-6ffe47d5example", + "ClientToken": "0a15fec0-05d9-4f78-bec0-EXAMPLE11111", + "CreationTime": 1710850903.578, + "Id": "rp-6ffe47d5example", + "ModificationTime": 1710850903.578, + "Name": "test", + "OwnerId": "123456789012", + "ShareStatus": "NOT_SHARED", + "Status": "DELETED", + "StatusMessage": "Deleted Profile" + } + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/disassociate-profile.rst b/awscli/examples/route53profiles/disassociate-profile.rst new file mode 100644 index 000000000000..e005d592b754 --- /dev/null +++ b/awscli/examples/route53profiles/disassociate-profile.rst @@ -0,0 +1,23 @@ +**To disassociate a Profile** + +The following ``disassociate-profile`` example disassociates a Profile from a VPC. :: + + aws route53profiles disassociate-profile \ + --profile-id rp-4987774726example \ + --resource-id vpc-0af3b96b3example + +Output:: + + { + "ProfileAssociation": { + "CreationTime": 1710851336.527, + "Id": "rpassoc-489ce212fexample", + "ModificationTime": 1710851401.362, + "Name": "test-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceId": "vpc-0af3b96b3example", + "Status": "DELETING", + "StatusMessage": "Deleting Profile Association" + } + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/disassociate-resource-from-profile.rst b/awscli/examples/route53profiles/disassociate-resource-from-profile.rst new file mode 100644 index 000000000000..a1427e647172 --- /dev/null +++ b/awscli/examples/route53profiles/disassociate-resource-from-profile.rst @@ -0,0 +1,25 @@ +**To disassociate a resource from Profile** + +The following ``disassociate-resource-from-profile`` example disassociates a DNS Firewall rule group from a Profile. :: + + aws route53profiles disassociate-resource-from-profile \ + --profile-id rp-4987774726example \ + --resource-arn arn:aws:route53resolver:us-east-1:123456789012:firewall-rule-group/rslvr-frg-cfe7f72example + +Output:: + + { + "ProfileResourceAssociation": { + "CreationTime": 1710851216.613, + "Id": "rpr-001913120a7example", + "ModificationTime": 1710852624.36, + "Name": "test-resource-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceArn": "arn:aws:route53resolver:us-east-1:123456789012:firewall-rule-group/rslvr-frg-cfe7f72example", + "ResourceProperties": "{\"priority\":105}", + "ResourceType": "FIREWALL_RULE_GROUP", + "Status": "DELETING", + "StatusMessage": "Deleting the Profile to DNS Firewall rule group association" + } + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/get-profile-association.rst b/awscli/examples/route53profiles/get-profile-association.rst new file mode 100644 index 000000000000..764b1f63db0c --- /dev/null +++ b/awscli/examples/route53profiles/get-profile-association.rst @@ -0,0 +1,22 @@ +**To get information about a Profile association** + +The following ``get-profile-association`` returns information about the specified Profile association. :: + + aws route53profiles get-profile-association \ + --profile-association-id rpassoc-489ce212fexample + +Output:: + + { + "ProfileAssociation": { + "CreationTime": 1709338817.148, + "Id": "rrpassoc-489ce212fexample", + "ModificationTime": 1709338974.772, + "Name": "test-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceId": "vpc-0af3b96b3example", + "Status": "COMPLETE", + "StatusMessage": "Created Profile Association" + } + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/get-profile-resource-association.rst b/awscli/examples/route53profiles/get-profile-resource-association.rst new file mode 100644 index 000000000000..53603493ba0e --- /dev/null +++ b/awscli/examples/route53profiles/get-profile-resource-association.rst @@ -0,0 +1,24 @@ +**To get information about a resource associated to a Profile** + +The following ``get-profile-resource-association`` returns information about the specified resource association to a Profile. :: + + aws route53profiles get-profile-resource-association \ + --profile-resource-association-id rpr-001913120a7example + +Output:: + + { + "ProfileResourceAssociation": { + "CreationTime": 1710851216.613, + "Id": "rpr-001913120a7example", + "ModificationTime": 1710852303.798, + "Name": "test-resource-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceArn": "arn:aws:route53resolver:us-east-1:123456789012:firewall-rule-group/rslvr-frg-cfe7f72example", + "ResourceProperties": "{\"priority\":105}", + "ResourceType": "FIREWALL_RULE_GROUP", + "Status": "COMPLETE", + "StatusMessage": "Completed creation of Profile to DNS Firewall rule group association" + } + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/get-profile.rst b/awscli/examples/route53profiles/get-profile.rst new file mode 100644 index 000000000000..5e99d0c3db3d --- /dev/null +++ b/awscli/examples/route53profiles/get-profile.rst @@ -0,0 +1,23 @@ +**To get information about a Profile** + +The following ``get-profile`` returns information about the specified Profile. :: + + aws route53profiles get-profile \ + --profile-id rp-4987774726example + +Output:: + + { + "Profile": { + "Arn": "arn:aws:route53profiles:us-east-1:123456789012:profile/rp-4987774726example", + "ClientToken": "0cbc5ae7-4921-4204-bea9-EXAMPLE11111", + "CreationTime": 1710851044.288, + "Id": "rp-4987774726example", + "ModificationTime": 1710851044.288, + "Name": "test", + "OwnerId": "123456789012", + "ShareStatus": "NOT_SHARED", + "Status": "COMPLETE", + "StatusMessage": "Created Profile" + } + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/list-profile-associations.rst b/awscli/examples/route53profiles/list-profile-associations.rst new file mode 100644 index 000000000000..49ab92e31fac --- /dev/null +++ b/awscli/examples/route53profiles/list-profile-associations.rst @@ -0,0 +1,23 @@ +**To list Profile associations** + +The following ``list-profile-associations`` lists the Profile associations in your AWS account. :: + + aws route53profiles list-profile-associations + +Output:: + + { + "ProfileAssociations": [ + { + "CreationTime": 1709338817.148, + "Id": "rpassoc-489ce212fexample", + "ModificationTime": 1709338974.772, + "Name": "test-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceId": "vpc-0af3b96b3example", + "Status": "COMPLETE", + "StatusMessage": "Created Profile Association" + } + ] + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/list-profile-resource-associations.rst b/awscli/examples/route53profiles/list-profile-resource-associations.rst new file mode 100644 index 000000000000..24b6a1fc3045 --- /dev/null +++ b/awscli/examples/route53profiles/list-profile-resource-associations.rst @@ -0,0 +1,26 @@ +**To list Profile resource associations** + +The following ``list-profile-resource-associations`` list the Profile resource associations for the specified Profile. :: + + aws route53profiles list-profile-resource-associations \ + --profile-id rp-4987774726example + +Output:: + + { + "ProfileResourceAssociations": [ + { + "CreationTime": 1710851216.613, + "Id": "rpr-001913120a7example", + "ModificationTime": 1710851216.613, + "Name": "test-resource-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceArn": "arn:aws:route53resolver:us-east-1:123456789012:firewall-rule-group/rslvr-frg-cfe7f72example", + "ResourceProperties": "{\"priority\":102}", + "ResourceType": "FIREWALL_RULE_GROUP", + "Status": "COMPLETE", + "StatusMessage": "Completed creation of Profile to DNS Firewall rule group association" + } + ] + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/list-profiles.rst b/awscli/examples/route53profiles/list-profiles.rst new file mode 100644 index 000000000000..4abcc8b8bba5 --- /dev/null +++ b/awscli/examples/route53profiles/list-profiles.rst @@ -0,0 +1,18 @@ +**To list Profiles** + +The following ``list-profiles`` lists the Profiles in your AWS account and displays additional information about them. :: + + aws route53profiles list-profiles + +Output:: + + { + "ProfileSummaries": [ + { + "Arn": "arn:aws:route53profiles:us-east-1:123456789012:profile/rp-4987774726example", + "Id": "rp-4987774726example", + "Name": "test", + "ShareStatus": "NOT_SHARED" + } + ] + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/list-tags-for-resource.rst b/awscli/examples/route53profiles/list-tags-for-resource.rst new file mode 100644 index 000000000000..852751d716dc --- /dev/null +++ b/awscli/examples/route53profiles/list-tags-for-resource.rst @@ -0,0 +1,15 @@ +**To list tags for a resource** + +The following ``list-tags-for-resource`` lists tags for the specified resource. :: + + aws route53profiles list-tags-for-resource \ + --resource-arn arn:aws:route53profiles:us-east-1:123456789012:profile/rp-4987774726example + +Output:: + + { + "Tags": { + "my-key-2": "my-value-2", + "my-key-1": "my-value-1" + } + } \ No newline at end of file diff --git a/awscli/examples/route53profiles/update-profile-resource-association.rst b/awscli/examples/route53profiles/update-profile-resource-association.rst new file mode 100644 index 000000000000..2f05e7520472 --- /dev/null +++ b/awscli/examples/route53profiles/update-profile-resource-association.rst @@ -0,0 +1,25 @@ +**To update a resource associated to a Profile** + +The following ``update-profile-resource-association`` updates a priority of a DNS Firewall rule group that is associated to the Profile. :: + + aws route53profiles update-profile-resource-association \ + --profile-resource-association-id rpr-001913120a7example \ + --resource-properties "{\"priority\": 105}" + +Output:: + + { + "ProfileResourceAssociation": { + "CreationTime": 1710851216.613, + "Id": "rpr-001913120a7example", + "ModificationTime": 1710852303.798, + "Name": "test-resource-association", + "OwnerId": "123456789012", + "ProfileId": "rp-4987774726example", + "ResourceArn": "arn:aws:route53resolver:us-east-1:123456789012:firewall-rule-group/rslvr-frg-cfe7f72example", + "ResourceProperties": "{\"priority\":105}", + "ResourceType": "FIREWALL_RULE_GROUP", + "Status": "UPDATING", + "StatusMessage": "Updating the Profile to DNS Firewall rule group association" + } + } \ No newline at end of file diff --git a/awscli/examples/s3/_concepts.rst b/awscli/examples/s3/_concepts.rst index a2a36ffd7986..3a922bfb5734 100644 --- a/awscli/examples/s3/_concepts.rst +++ b/awscli/examples/s3/_concepts.rst @@ -14,13 +14,13 @@ are two types of path arguments: ``LocalPath`` and ``S3Uri``. written as an absolute path or relative path. ``S3Uri``: represents the location of a S3 object, prefix, or bucket. This -must be written in the form ``s3://mybucket/mykey`` where ``mybucket`` is +must be written in the form ``s3://amzn-s3-demo-bucket/mykey`` where ``amzn-s3-demo-bucket`` is the specified S3 bucket, ``mykey`` is the specified S3 key. The path argument must begin with ``s3://`` in order to denote that the path argument refers to a S3 object. Note that prefixes are separated by forward slashes. For example, if the S3 object ``myobject`` had the prefix ``myprefix``, the S3 key would be ``myprefix/myobject``, and if the object was in the bucket -``mybucket``, the ``S3Uri`` would be ``s3://mybucket/myprefix/myobject``. +``amzn-s3-demo-bucket``, the ``S3Uri`` would be ``s3://amzn-s3-demo-bucket/myprefix/myobject``. ``S3Uri`` also supports S3 access points. To specify an access point, this value must be of the form ``s3:///``. For example if diff --git a/awscli/examples/s3/cp.rst b/awscli/examples/s3/cp.rst index 0eb85fda80bc..eb2529c28d35 100644 --- a/awscli/examples/s3/cp.rst +++ b/awscli/examples/s3/cp.rst @@ -3,67 +3,67 @@ The following ``cp`` command copies a single file to a specified bucket and key:: - aws s3 cp test.txt s3://mybucket/test2.txt + aws s3 cp test.txt s3://amzn-s3-demo-bucket/test2.txt Output:: - upload: test.txt to s3://mybucket/test2.txt + upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt **Example 2: Copying a local file to S3 with an expiration date** The following ``cp`` command copies a single file to a specified bucket and key that expires at the specified ISO 8601 timestamp:: - aws s3 cp test.txt s3://mybucket/test2.txt \ + aws s3 cp test.txt s3://amzn-s3-demo-bucket/test2.txt \ --expires 2014-10-01T20:30:00Z Output:: - upload: test.txt to s3://mybucket/test2.txt + upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt **Example 3: Copying a file from S3 to S3** The following ``cp`` command copies a single s3 object to a specified bucket and key:: - aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt + aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt Output:: - copy: s3://mybucket/test.txt to s3://mybucket/test2.txt + copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt **Example 4: Copying an S3 object to a local file** The following ``cp`` command copies a single object to a specified file locally:: - aws s3 cp s3://mybucket/test.txt test2.txt + aws s3 cp s3://amzn-s3-demo-bucket/test.txt test2.txt Output:: - download: s3://mybucket/test.txt to test2.txt + download: s3://amzn-s3-demo-bucket/test.txt to test2.txt **Example 5: Copying an S3 object from one bucket to another** The following ``cp`` command copies a single object to a specified bucket while retaining its original name:: - aws s3 cp s3://mybucket/test.txt s3://mybucket2/ + aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket2/ Output:: - copy: s3://mybucket/test.txt to s3://mybucket2/test.txt + copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt **Example 6: Recursively copying S3 objects to a local directory** When passed with the parameter ``--recursive``, the following ``cp`` command recursively copies all objects under a -specified prefix and bucket to a specified directory. In this example, the bucket ``mybucket`` has the objects +specified prefix and bucket to a specified directory. In this example, the bucket ``amzn-s3-demo-bucket`` has the objects ``test1.txt`` and ``test2.txt``:: - aws s3 cp s3://mybucket . \ + aws s3 cp s3://amzn-s3-demo-bucket . \ --recursive Output:: - download: s3://mybucket/test1.txt to test1.txt - download: s3://mybucket/test2.txt to test2.txt + download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt + download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt **Example 7: Recursively copying local files to S3** @@ -71,51 +71,51 @@ When passed with the parameter ``--recursive``, the following ``cp`` command rec specified directory to a specified bucket and prefix while excluding some files by using an ``--exclude`` parameter. In this example, the directory ``myDir`` has the files ``test1.txt`` and ``test2.jpg``:: - aws s3 cp myDir s3://mybucket/ \ + aws s3 cp myDir s3://amzn-s3-demo-bucket/ \ --recursive \ --exclude "*.jpg" Output:: - upload: myDir/test1.txt to s3://mybucket/test1.txt + upload: myDir/test1.txt to s3://amzn-s3-demo-bucket/test1.txt **Example 8: Recursively copying S3 objects to another bucket** When passed with the parameter ``--recursive``, the following ``cp`` command recursively copies all objects under a specified bucket to another bucket while excluding some objects by using an ``--exclude`` parameter. In this example, -the bucket ``mybucket`` has the objects ``test1.txt`` and ``another/test1.txt``:: +the bucket ``amzn-s3-demo-bucket`` has the objects ``test1.txt`` and ``another/test1.txt``:: - aws s3 cp s3://mybucket/ s3://mybucket2/ \ + aws s3 cp s3://amzn-s3-demo-bucket/ s3://amzn-s3-demo-bucket2/ \ --recursive \ --exclude "another/*" Output:: - copy: s3://mybucket/test1.txt to s3://mybucket2/test1.txt + copy: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt You can combine ``--exclude`` and ``--include`` options to copy only objects that match a pattern, excluding all others:: - aws s3 cp s3://mybucket/logs/ s3://mybucket2/logs/ \ + aws s3 cp s3://amzn-s3-demo-bucket/logs/ s3://amzn-s3-demo-bucket2/logs/ \ --recursive \ --exclude "*" \ --include "*.log" Output:: - copy: s3://mybucket/logs/test/test.log to s3://mybucket2/logs/test/test.log - copy: s3://mybucket/logs/test3.log to s3://mybucket2/logs/test3.log + copy: s3://amzn-s3-demo-bucket/logs/test/test.log to s3://amzn-s3-demo-bucket2/logs/test/test.log + copy: s3://amzn-s3-demo-bucket/logs/test3.log to s3://amzn-s3-demo-bucket2/logs/test3.log **Example 9: Setting the Access Control List (ACL) while copying an S3 object** The following ``cp`` command copies a single object to a specified bucket and key while setting the ACL to ``public-read-write``:: - aws s3 cp s3://mybucket/test.txt s3://mybucket/test2.txt \ + aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt \ --acl public-read-write Output:: - copy: s3://mybucket/test.txt to s3://mybucket/test2.txt + copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt Note that if you're using the ``--acl`` option, ensure that any associated IAM policies include the ``"s3:PutObjectAcl"`` action:: @@ -138,7 +138,7 @@ Output:: "s3:PutObjectAcl" ], "Resource": [ - "arn:aws:s3:::mybucket/*" + "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Effect": "Allow", "Sid": "Stmt1234567891234" @@ -152,11 +152,11 @@ Output:: The following ``cp`` command illustrates the use of the ``--grants`` option to grant read access to all users identified by URI and full control to a specific user identified by their Canonical ID:: - aws s3 cp file.txt s3://mybucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be + aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be Output:: - upload: file.txt to s3://mybucket/file.txt + upload: file.txt to s3://amzn-s3-demo-bucket/file.txt **Example 11: Uploading a local file stream to S3** @@ -164,13 +164,13 @@ Output:: The following ``cp`` command uploads a local file stream from standard input to a specified bucket and key:: - aws s3 cp - s3://mybucket/stream.txt + aws s3 cp - s3://amzn-s3-demo-bucket/stream.txt **Example 12: Uploading a local file stream that is larger than 50GB to S3** The following ``cp`` command uploads a 51GB local file stream from standard input to a specified bucket and key. The ``--expected-size`` option must be provided, or the upload may fail when it reaches the default part limit of 10,000:: - aws s3 cp - s3://mybucket/stream.txt --expected-size 54760833024 + aws s3 cp - s3://amzn-s3-demo-bucket/stream.txt --expected-size 54760833024 **Example 13: Downloading an S3 object as a local file stream** @@ -178,7 +178,7 @@ The following ``cp`` command uploads a 51GB local file stream from standard inpu The following ``cp`` command downloads an S3 object locally as a stream to standard output. Downloading as a stream is not currently compatible with the ``--recursive`` parameter:: - aws s3 cp s3://mybucket/stream.txt - + aws s3 cp s3://amzn-s3-demo-bucket/stream.txt - **Example 14: Uploading to an S3 access point** diff --git a/awscli/examples/s3/ls.rst b/awscli/examples/s3/ls.rst index 3754f80d0165..e3e456134834 100644 --- a/awscli/examples/s3/ls.rst +++ b/awscli/examples/s3/ls.rst @@ -1,19 +1,19 @@ **Example 1: Listing all user owned buckets** -The following ``ls`` command lists all of the bucket owned by the user. In this example, the user owns the buckets ``mybucket`` and ``mybucket2``. The timestamp is the date the bucket was created, shown in your machine's time zone. This date can change when making changes to your bucket, such as editing its bucket policy. Note if ``s3://`` is used for the path argument ````, it will list all of the buckets as well. :: +The following ``ls`` command lists all of the bucket owned by the user. In this example, the user owns the buckets ``amzn-s3-demo-bucket`` and ``amzn-s3-demo-bucket2``. The timestamp is the date the bucket was created, shown in your machine's time zone. This date can change when making changes to your bucket, such as editing its bucket policy. Note if ``s3://`` is used for the path argument ````, it will list all of the buckets as well. :: aws s3 ls Output:: - 2013-07-11 17:08:50 mybucket - 2013-07-24 14:55:44 mybucket2 + 2013-07-11 17:08:50 amzn-s3-demo-bucket + 2013-07-24 14:55:44 amzn-s3-demo-bucket2 **Example 2: Listing all prefixes and objects in a bucket** -The following ``ls`` command lists objects and common prefixes under a specified bucket and prefix. In this example, the user owns the bucket ``mybucket`` with the objects ``test.txt`` and ``somePrefix/test.txt``. The ``LastWriteTime`` and ``Length`` are arbitrary. Note that since the ``ls`` command has no interaction with the local filesystem, the ``s3://`` URI scheme is not required to resolve ambiguity and may be omitted. :: +The following ``ls`` command lists objects and common prefixes under a specified bucket and prefix. In this example, the user owns the bucket ``amzn-s3-demo-bucket`` with the objects ``test.txt`` and ``somePrefix/test.txt``. The ``LastWriteTime`` and ``Length`` are arbitrary. Note that since the ``ls`` command has no interaction with the local filesystem, the ``s3://`` URI scheme is not required to resolve ambiguity and may be omitted. :: - aws s3 ls s3://mybucket + aws s3 ls s3://amzn-s3-demo-bucket Output:: @@ -24,7 +24,7 @@ Output:: The following ``ls`` command lists objects and common prefixes under a specified bucket and prefix. However, there are no objects nor common prefixes under the specified bucket and prefix. :: - aws s3 ls s3://mybucket/noExistPrefix + aws s3 ls s3://amzn-s3-demo-bucket/noExistPrefix Output:: @@ -34,7 +34,7 @@ Output:: The following ``ls`` command will recursively list objects in a bucket. Rather than showing ``PRE dirname/`` in the output, all the content in a bucket will be listed in order. :: - aws s3 ls s3://mybucket \ + aws s3 ls s3://amzn-s3-demo-bucket \ --recursive Output:: @@ -54,7 +54,7 @@ Output:: The following ``ls`` command demonstrates the same command using the --human-readable and --summarize options. --human-readable displays file size in Bytes/MiB/KiB/GiB/TiB/PiB/EiB. --summarize displays the total number of objects and total size at the end of the result listing:: - aws s3 ls s3://mybucket \ + aws s3 ls s3://amzn-s3-demo-bucket \ --recursive \ --human-readable \ --summarize diff --git a/awscli/examples/s3/mb.rst b/awscli/examples/s3/mb.rst index aa1e15234bb5..c7d25f3e0a62 100644 --- a/awscli/examples/s3/mb.rst +++ b/awscli/examples/s3/mb.rst @@ -1,22 +1,22 @@ **Example 1: Create a bucket** -The following ``mb`` command creates a bucket. In this example, the user makes the bucket ``mybucket``. The bucket is +The following ``mb`` command creates a bucket. In this example, the user makes the bucket ``amzn-s3-demo-bucket``. The bucket is created in the region specified in the user's configuration file:: - aws s3 mb s3://mybucket + aws s3 mb s3://amzn-s3-demo-bucket Output:: - make_bucket: s3://mybucket + make_bucket: s3://amzn-s3-demo-bucket **Example 2: Create a bucket in the specified region** The following ``mb`` command creates a bucket in a region specified by the ``--region`` parameter. In this example, the -user makes the bucket ``mybucket`` in the region ``us-west-1``:: +user makes the bucket ``amzn-s3-demo-bucket`` in the region ``us-west-1``:: - aws s3 mb s3://mybucket \ + aws s3 mb s3://amzn-s3-demo-bucket \ --region us-west-1 Output:: - make_bucket: s3://mybucket + make_bucket: s3://amzn-s3-demo-bucket diff --git a/awscli/examples/s3/mv.rst b/awscli/examples/s3/mv.rst index 07b385c59dd5..836d5d0fcae0 100644 --- a/awscli/examples/s3/mv.rst +++ b/awscli/examples/s3/mv.rst @@ -2,55 +2,55 @@ The following ``mv`` command moves a single file to a specified bucket and key. :: - aws s3 mv test.txt s3://mybucket/test2.txt + aws s3 mv test.txt s3://amzn-s3-demo-bucket/test2.txt Output:: - move: test.txt to s3://mybucket/test2.txt + move: test.txt to s3://amzn-s3-demo-bucket/test2.txt **Example 2: Move an object to the specified bucket and key** The following ``mv`` command moves a single s3 object to a specified bucket and key. :: - aws s3 mv s3://mybucket/test.txt s3://mybucket/test2.txt + aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt Output:: - move: s3://mybucket/test.txt to s3://mybucket/test2.txt + move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt **Example 3: Move an S3 object to the local directory** The following ``mv`` command moves a single object to a specified file locally. :: - aws s3 mv s3://mybucket/test.txt test2.txt + aws s3 mv s3://amzn-s3-demo-bucket/test.txt test2.txt Output:: - move: s3://mybucket/test.txt to test2.txt + move: s3://amzn-s3-demo-bucket/test.txt to test2.txt **Example 4: Move an object with it's original name to the specified bucket** The following ``mv`` command moves a single object to a specified bucket while retaining its original name:: - aws s3 mv s3://mybucket/test.txt s3://mybucket2/ + aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket2/ Output:: - move: s3://mybucket/test.txt to s3://mybucket2/test.txt + move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt **Example 5: Move all objects and prefixes in a bucket to the local directory** When passed with the parameter ``--recursive``, the following ``mv`` command recursively moves all objects under a -specified prefix and bucket to a specified directory. In this example, the bucket ``mybucket`` has the objects +specified prefix and bucket to a specified directory. In this example, the bucket ``amzn-s3-demo-bucket`` has the objects ``test1.txt`` and ``test2.txt``. :: - aws s3 mv s3://mybucket . \ + aws s3 mv s3://amzn-s3-demo-bucket . \ --recursive Output:: - move: s3://mybucket/test1.txt to test1.txt - move: s3://mybucket/test2.txt to test2.txt + move: s3://amzn-s3-demo-bucket/test1.txt to test1.txt + move: s3://amzn-s3-demo-bucket/test2.txt to test2.txt **Example 6: Move all objects and prefixes in a bucket to the local directory, except ``.jpg`` files** @@ -58,51 +58,51 @@ When passed with the parameter ``--recursive``, the following ``mv`` command rec specified directory to a specified bucket and prefix while excluding some files by using an ``--exclude`` parameter. In this example, the directory ``myDir`` has the files ``test1.txt`` and ``test2.jpg``. :: - aws s3 mv myDir s3://mybucket/ \ + aws s3 mv myDir s3://amzn-s3-demo-bucket/ \ --recursive \ --exclude "*.jpg" Output:: - move: myDir/test1.txt to s3://mybucket2/test1.txt + move: myDir/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt **Example 7: Move all objects and prefixes in a bucket to the local directory, except specified prefix** When passed with the parameter ``--recursive``, the following ``mv`` command recursively moves all objects under a specified bucket to another bucket while excluding some objects by using an ``--exclude`` parameter. In this example, -the bucket ``mybucket`` has the objects ``test1.txt`` and ``another/test1.txt``. :: +the bucket ``amzn-s3-demo-bucket`` has the objects ``test1.txt`` and ``another/test1.txt``. :: - aws s3 mv s3://mybucket/ s3://mybucket2/ \ + aws s3 mv s3://amzn-s3-demo-bucket/ s3://amzn-s3-demo-bucket2/ \ --recursive \ - --exclude "mybucket/another/*" + --exclude "amzn-s3-demo-bucket/another/*" Output:: - move: s3://mybucket/test1.txt to s3://mybucket2/test1.txt + move: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt **Example 8: Move an object to the specified bucket and set the ACL** The following ``mv`` command moves a single object to a specified bucket and key while setting the ACL to ``public-read-write``. :: - aws s3 mv s3://mybucket/test.txt s3://mybucket/test2.txt \ + aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt \ --acl public-read-write Output:: - move: s3://mybucket/test.txt to s3://mybucket/test2.txt + move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt **Example 9: Move a local file to the specified bucket and grant permissions** The following ``mv`` command illustrates the use of the ``--grants`` option to grant read access to all users and full control to a specific user identified by their email address. :: - aws s3 mv file.txt s3://mybucket/ \ + aws s3 mv file.txt s3://amzn-s3-demo-bucket/ \ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com Output:: - move: file.txt to s3://mybucket/file.txt + move: file.txt to s3://amzn-s3-demo-bucket/file.txt **Example 10: Move a file to an S3 access point** diff --git a/awscli/examples/s3/presign.rst b/awscli/examples/s3/presign.rst index 32e245732d6e..7af4b374f81f 100644 --- a/awscli/examples/s3/presign.rst +++ b/awscli/examples/s3/presign.rst @@ -2,21 +2,21 @@ The following ``presign`` command generates a pre-signed URL for a specified bucket and key that is valid for one hour. :: - aws s3 presign s3://DOC-EXAMPLE-BUCKET/test2.txt + aws s3 presign s3://amzn-s3-demo-bucket/test2.txt Output:: - https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456 + https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456 **Example 2: To create a pre-signed URL with a custom lifetime that links to an object in an S3 bucket** The following ``presign`` command generates a pre-signed URL for a specified bucket and key that is valid for one week. :: - aws s3 presign s3://DOC-EXAMPLE-BUCKET/test2.txt \ + aws s3 presign s3://amzn-s3-demo-bucket/test2.txt \ --expires-in 604800 Output:: - https://DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456 + https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456 For more information, see `Share an Object with Others `__ in the *S3 Developer Guide* guide. diff --git a/awscli/examples/s3/rb.rst b/awscli/examples/s3/rb.rst index 1abecb67ae92..a37590c40c11 100644 --- a/awscli/examples/s3/rb.rst +++ b/awscli/examples/s3/rb.rst @@ -1,24 +1,24 @@ **Example 1: Delete a bucket** -The following ``rb`` command removes a bucket. In this example, the user's bucket is ``mybucket``. Note that the bucket must be empty in order to remove:: +The following ``rb`` command removes a bucket. In this example, the user's bucket is ``amzn-s3-demo-bucket``. Note that the bucket must be empty in order to remove:: - aws s3 rb s3://mybucket + aws s3 rb s3://amzn-s3-demo-bucket Output:: - remove_bucket: mybucket + remove_bucket: amzn-s3-demo-bucket **Example 2: Force delete a bucket** The following ``rb`` command uses the ``--force`` parameter to first remove all of the objects in the bucket and then -remove the bucket itself. In this example, the user's bucket is ``mybucket`` and the objects in ``mybucket`` are +remove the bucket itself. In this example, the user's bucket is ``amzn-s3-demo-bucket`` and the objects in ``amzn-s3-demo-bucket`` are ``test1.txt`` and ``test2.txt``:: - aws s3 rb s3://mybucket \ + aws s3 rb s3://amzn-s3-demo-bucket \ --force Output:: - delete: s3://mybucket/test1.txt - delete: s3://mybucket/test2.txt - remove_bucket: mybucket \ No newline at end of file + delete: s3://amzn-s3-demo-bucket/test1.txt + delete: s3://amzn-s3-demo-bucket/test2.txt + remove_bucket: amzn-s3-demo-bucket \ No newline at end of file diff --git a/awscli/examples/s3/rm.rst b/awscli/examples/s3/rm.rst index 73cb6ce4905d..735e38995202 100644 --- a/awscli/examples/s3/rm.rst +++ b/awscli/examples/s3/rm.rst @@ -2,54 +2,54 @@ The following ``rm`` command deletes a single s3 object:: - aws s3 rm s3://mybucket/test2.txt + aws s3 rm s3://amzn-s3-demo-bucket/test2.txt Output:: - delete: s3://mybucket/test2.txt + delete: s3://amzn-s3-demo-bucket/test2.txt **Example 2: Delete all contents in a bucket** The following ``rm`` command recursively deletes all objects under a specified bucket and prefix when passed with the -parameter ``--recursive``. In this example, the bucket ``mybucket`` contains the objects ``test1.txt`` and +parameter ``--recursive``. In this example, the bucket ``amzn-s3-demo-bucket`` contains the objects ``test1.txt`` and ``test2.txt``:: - aws s3 rm s3://mybucket \ + aws s3 rm s3://amzn-s3-demo-bucket \ --recursive Output:: - delete: s3://mybucket/test1.txt - delete: s3://mybucket/test2.txt + delete: s3://amzn-s3-demo-bucket/test1.txt + delete: s3://amzn-s3-demo-bucket/test2.txt **Example 3: Delete all contents in a bucket, except ``.jpg`` files** The following ``rm`` command recursively deletes all objects under a specified bucket and prefix when passed with the parameter ``--recursive`` while excluding some objects by using an ``--exclude`` parameter. In this example, the bucket -``mybucket`` has the objects ``test1.txt`` and ``test2.jpg``:: +``amzn-s3-demo-bucket`` has the objects ``test1.txt`` and ``test2.jpg``:: - aws s3 rm s3://mybucket/ \ + aws s3 rm s3://amzn-s3-demo-bucket/ \ --recursive \ --exclude "*.jpg" Output:: - delete: s3://mybucket/test1.txt + delete: s3://amzn-s3-demo-bucket/test1.txt **Example 4: Delete all contents in a bucket, except objects under the specified prefix** The following ``rm`` command recursively deletes all objects under a specified bucket and prefix when passed with the parameter ``--recursive`` while excluding all objects under a particular prefix by using an ``--exclude`` parameter. In -this example, the bucket ``mybucket`` has the objects ``test1.txt`` and ``another/test.txt``:: +this example, the bucket ``amzn-s3-demo-bucket`` has the objects ``test1.txt`` and ``another/test.txt``:: - aws s3 rm s3://mybucket/ \ + aws s3 rm s3://amzn-s3-demo-bucket/ \ --recursive \ --exclude "another/*" Output:: - delete: s3://mybucket/test1.txt + delete: s3://amzn-s3-demo-bucket/test1.txt **Example 5: Delete an object from an S3 access point** diff --git a/awscli/examples/s3/sync.rst b/awscli/examples/s3/sync.rst index 5e8dc255b5f3..bee26f6684fc 100644 --- a/awscli/examples/s3/sync.rst +++ b/awscli/examples/s3/sync.rst @@ -4,15 +4,15 @@ The following ``sync`` command syncs objects from a local directory to the speci uploading the local files to S3. A local file will require uploading if the size of the local file is different than the size of the S3 object, the last modified time of the local file is newer than the last modified time of the S3 object, or the local file does not exist under the specified bucket and prefix. In this example, the user syncs the -bucket ``mybucket`` to the local current directory. The local current directory contains the files ``test.txt`` and -``test2.txt``. The bucket ``mybucket`` contains no objects. :: +bucket ``amzn-s3-demo-bucket`` to the local current directory. The local current directory contains the files ``test.txt`` and +``test2.txt``. The bucket ``amzn-s3-demo-bucket`` contains no objects. :: - aws s3 sync . s3://mybucket + aws s3 sync . s3://amzn-s3-demo-bucket Output:: - upload: test.txt to s3://mybucket/test.txt - upload: test2.txt to s3://mybucket/test2.txt + upload: test.txt to s3://amzn-s3-demo-bucket/test.txt + upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt **Example 2: Sync all S3 objects from the specified S3 bucket to another bucket** @@ -21,15 +21,15 @@ prefix and bucket by copying S3 objects. An S3 object will require copying if th the last modified time of the source is newer than the last modified time of the destination, or the S3 object does not exist under the specified bucket and prefix destination. -In this example, the user syncs the bucket ``mybucket`` to the bucket ``mybucket2``. The bucket ``mybucket`` contains the objects ``test.txt`` and ``test2.txt``. The bucket -``mybucket2`` contains no objects:: +In this example, the user syncs the bucket ``amzn-s3-demo-bucket`` to the bucket ``amzn-s3-demo-bucket2``. The bucket ``amzn-s3-demo-bucket`` contains the objects ``test.txt`` and ``test2.txt``. The bucket +``amzn-s3-demo-bucket2`` contains no objects:: - aws s3 sync s3://mybucket s3://mybucket2 + aws s3 sync s3://amzn-s3-demo-bucket s3://amzn-s3-demo-bucket2 Output:: - copy: s3://mybucket/test.txt to s3://mybucket2/test.txt - copy: s3://mybucket/test2.txt to s3://mybucket2/test2.txt + copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt + copy: s3://amzn-s3-demo-bucket/test2.txt to s3://amzn-s3-demo-bucket2/test2.txt **Example 3: Sync all S3 objects from the specified S3 bucket to the local directory** @@ -38,62 +38,62 @@ downloading S3 objects. An S3 object will require downloading if the size of the local file, the last modified time of the S3 object is newer than the last modified time of the local file, or the S3 object does not exist in the local directory. Take note that when objects are downloaded from S3, the last modified time of the local file is changed to the last modified time of the S3 object. In this example, the user syncs the -bucket ``mybucket`` to the current local directory. The bucket ``mybucket`` contains the objects ``test.txt`` and +bucket ``amzn-s3-demo-bucket`` to the current local directory. The bucket ``amzn-s3-demo-bucket`` contains the objects ``test.txt`` and ``test2.txt``. The current local directory has no files:: - aws s3 sync s3://mybucket . + aws s3 sync s3://amzn-s3-demo-bucket . Output:: - download: s3://mybucket/test.txt to test.txt - download: s3://mybucket/test2.txt to test2.txt + download: s3://amzn-s3-demo-bucket/test.txt to test.txt + download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt **Example 4: Sync all local objects to the specified bucket and delete all files that do not match** The following ``sync`` command syncs objects under a specified prefix and bucket to files in a local directory by uploading the local files to S3. Because of the ``--delete`` parameter, any files existing under the specified prefix and bucket but not existing in the local directory will be deleted. In this example, the user syncs -the bucket ``mybucket`` to the local current directory. The local current directory contains the files ``test.txt`` and -``test2.txt``. The bucket ``mybucket`` contains the object ``test3.txt``:: +the bucket ``amzn-s3-demo-bucket`` to the local current directory. The local current directory contains the files ``test.txt`` and +``test2.txt``. The bucket ``amzn-s3-demo-bucket`` contains the object ``test3.txt``:: - aws s3 sync . s3://mybucket \ + aws s3 sync . s3://amzn-s3-demo-bucket \ --delete Output:: - upload: test.txt to s3://mybucket/test.txt - upload: test2.txt to s3://mybucket/test2.txt - delete: s3://mybucket/test3.txt + upload: test.txt to s3://amzn-s3-demo-bucket/test.txt + upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt + delete: s3://amzn-s3-demo-bucket/test3.txt **Example 5: Sync all local objects to the specified bucket except ``.jpg`` files** The following ``sync`` command syncs objects under a specified prefix and bucket to files in a local directory by uploading the local files to S3. Because of the ``--exclude`` parameter, all files matching the pattern -existing both in S3 and locally will be excluded from the sync. In this example, the user syncs the bucket ``mybucket`` +existing both in S3 and locally will be excluded from the sync. In this example, the user syncs the bucket ``amzn-s3-demo-bucket`` to the local current directory. The local current directory contains the files ``test.jpg`` and ``test2.txt``. The -bucket ``mybucket`` contains the object ``test.jpg`` of a different size than the local ``test.jpg``:: +bucket ``amzn-s3-demo-bucket`` contains the object ``test.jpg`` of a different size than the local ``test.jpg``:: - aws s3 sync . s3://mybucket \ + aws s3 sync . s3://amzn-s3-demo-bucket \ --exclude "*.jpg" Output:: - upload: test2.txt to s3://mybucket/test2.txt + upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt -**Example 6: Sync all local objects to the specified bucket except ``.jpg`` files** +**Example 6: Sync all local objects to the specified bucket except specified directory files** The following ``sync`` command syncs files under a local directory to objects under a specified prefix and bucket by downloading S3 objects. This example uses the ``--exclude`` parameter flag to exclude a specified directory and S3 prefix from the ``sync`` command. In this example, the user syncs the local current directory to the bucket -``mybucket``. The local current directory contains the files ``test.txt`` and ``another/test2.txt``. The bucket -``mybucket`` contains the objects ``another/test5.txt`` and ``test1.txt``:: +``amzn-s3-demo-bucket``. The local current directory contains the files ``test.txt`` and ``another/test2.txt``. The bucket +``amzn-s3-demo-bucket`` contains the objects ``another/test5.txt`` and ``test1.txt``:: - aws s3 sync s3://mybucket/ . \ + aws s3 sync s3://amzn-s3-demo-bucket/ . \ --exclude "*another/*" Output:: - download: s3://mybucket/test1.txt to test1.txt + download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt **Example 7: Sync all objects between buckets in different regions** diff --git a/awscli/examples/s3/website.rst b/awscli/examples/s3/website.rst index 65ea8df9f3a5..2326e6d002bb 100644 --- a/awscli/examples/s3/website.rst +++ b/awscli/examples/s3/website.rst @@ -1,10 +1,10 @@ **Configure an S3 bucket as a static website** -The following command configures a bucket named ``my-bucket`` as a static website. The index document option specifies the file in ``my-bucket`` that visitors will be directed to when they navigate to the website URL. In this case, the bucket is in the us-west-2 region, so the site would appear at ``http://my-bucket.s3-website-us-west-2.amazonaws.com``. +The following command configures a bucket named ``amzn-s3-demo-bucket`` as a static website. The index document option specifies the file in ``amzn-s3-demo-bucket`` that visitors will be directed to when they navigate to the website URL. In this case, the bucket is in the us-west-2 region, so the site would appear at ``http://amzn-s3-demo-bucket.s3-website-us-west-2.amazonaws.com``. All files in the bucket that appear on the static site must be configured to allow visitors to open them. File permissions are configured separately from the bucket website configuration. :: - aws s3 website s3://my-bucket/ \ + aws s3 website s3://amzn-s3-demo-bucket/ \ --index-document index.html \ --error-document error.html diff --git a/awscli/examples/s3api/abort-multipart-upload.rst b/awscli/examples/s3api/abort-multipart-upload.rst index 0ab11e334f86..2a2ba1a85e47 100644 --- a/awscli/examples/s3api/abort-multipart-upload.rst +++ b/awscli/examples/s3api/abort-multipart-upload.rst @@ -1,9 +1,9 @@ **To abort the specified multipart upload** -The following ``abort-multipart-upload`` command aborts a multipart upload for the key ``multipart/01`` in the bucket ``my-bucket``. :: +The following ``abort-multipart-upload`` command aborts a multipart upload for the key ``multipart/01`` in the bucket ``amzn-s3-demo-bucket``. :: aws s3api abort-multipart-upload \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key multipart/01 \ --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R diff --git a/awscli/examples/s3api/complete-multipart-upload.rst b/awscli/examples/s3api/complete-multipart-upload.rst index c6b82347cf21..f1271ec6e671 100644 --- a/awscli/examples/s3api/complete-multipart-upload.rst +++ b/awscli/examples/s3api/complete-multipart-upload.rst @@ -1,6 +1,6 @@ -The following command completes a multipart upload for the key ``multipart/01`` in the bucket ``my-bucket``:: +The following command completes a multipart upload for the key ``multipart/01`` in the bucket ``amzn-s3-demo-bucket``:: - aws s3api complete-multipart-upload --multipart-upload file://mpustruct --bucket my-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R + aws s3api complete-multipart-upload --multipart-upload file://mpustruct --bucket amzn-s3-demo-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R The upload ID required by this command is output by ``create-multipart-upload`` and can also be retrieved with ``list-multipart-uploads``. @@ -31,7 +31,7 @@ Output:: { "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", - "Bucket": "my-bucket", - "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", + "Bucket": "amzn-s3-demo-bucket", + "Location": "https://amzn-s3-demo-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" } diff --git a/awscli/examples/s3api/create-bucket.rst b/awscli/examples/s3api/create-bucket.rst index 8bbe58af45c7..62370f5e427d 100644 --- a/awscli/examples/s3api/create-bucket.rst +++ b/awscli/examples/s3api/create-bucket.rst @@ -1,52 +1,52 @@ **Example 1: To create a bucket** -The following ``create-bucket`` example creates a bucket named ``my-bucket``:: +The following ``create-bucket`` example creates a bucket named ``amzn-s3-demo-bucket``:: aws s3api create-bucket \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --region us-east-1 Output:: { - "Location": "/my-bucket" + "Location": "/amzn-s3-demo-bucket" } For more information, see `Creating a bucket `__ in the *Amazon S3 User Guide*. **Example 2: To create a bucket with owner enforced** -The following ``create-bucket`` example creates a bucket named ``my-bucket`` that uses the bucket owner enforced setting for S3 Object Ownership. :: +The following ``create-bucket`` example creates a bucket named ``amzn-s3-demo-bucket`` that uses the bucket owner enforced setting for S3 Object Ownership. :: aws s3api create-bucket \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --region us-east-1 \ --object-ownership BucketOwnerEnforced Output:: { - "Location": "/my-bucket" + "Location": "/amzn-s3-demo-bucket" } For more information, see `Controlling ownership of objects and disabling ACLs `__ in the *Amazon S3 User Guide*. **Example 3: To create a bucket outside of the ``us-east-1`` region** -The following ``create-bucket`` example creates a bucket named ``my-bucket`` in the +The following ``create-bucket`` example creates a bucket named ``amzn-s3-demo-bucket`` in the ``eu-west-1`` region. Regions outside of ``us-east-1`` require the appropriate ``LocationConstraint`` to be specified in order to create the bucket in the desired region. :: aws s3api create-bucket \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --region eu-west-1 \ --create-bucket-configuration LocationConstraint=eu-west-1 Output:: { - "Location": "http://my-bucket.s3.amazonaws.com/" + "Location": "http://amzn-s3-demo-bucket.s3.amazonaws.com/" } For more information, see `Creating a bucket `__ in the *Amazon S3 User Guide*. \ No newline at end of file diff --git a/awscli/examples/s3api/create-multipart-upload.rst b/awscli/examples/s3api/create-multipart-upload.rst index a0552e99a0de..ed096f03cee8 100644 --- a/awscli/examples/s3api/create-multipart-upload.rst +++ b/awscli/examples/s3api/create-multipart-upload.rst @@ -1,13 +1,13 @@ -The following command creates a multipart upload in the bucket ``my-bucket`` with the key ``multipart/01``:: +The following command creates a multipart upload in the bucket ``amzn-s3-demo-bucket`` with the key ``multipart/01``:: - aws s3api create-multipart-upload --bucket my-bucket --key 'multipart/01' + aws s3api create-multipart-upload --bucket amzn-s3-demo-bucket --key 'multipart/01' Output:: { - "Bucket": "my-bucket", + "Bucket": "amzn-s3-demo-bucket", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "Key": "multipart/01" } -The completed file will be named ``01`` in a folder called ``multipart`` in the bucket ``my-bucket``. Save the upload ID, key and bucket name for use with the ``upload-part`` command. \ No newline at end of file +The completed file will be named ``01`` in a folder called ``multipart`` in the bucket ``amzn-s3-demo-bucket``. Save the upload ID, key and bucket name for use with the ``upload-part`` command. \ No newline at end of file diff --git a/awscli/examples/s3api/delete-bucket-analytics-configuration.rst b/awscli/examples/s3api/delete-bucket-analytics-configuration.rst index 47d350e423f5..51c3d0a5f88a 100755 --- a/awscli/examples/s3api/delete-bucket-analytics-configuration.rst +++ b/awscli/examples/s3api/delete-bucket-analytics-configuration.rst @@ -3,7 +3,7 @@ The following ``delete-bucket-analytics-configuration`` example removes the analytics configuration for the specified bucket and ID. :: aws s3api delete-bucket-analytics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 1 This command produces no output. \ No newline at end of file diff --git a/awscli/examples/s3api/delete-bucket-cors.rst b/awscli/examples/s3api/delete-bucket-cors.rst index 53ca2a4e8f08..6c9ceeb74883 100644 --- a/awscli/examples/s3api/delete-bucket-cors.rst +++ b/awscli/examples/s3api/delete-bucket-cors.rst @@ -1,3 +1,3 @@ -The following command deletes a Cross-Origin Resource Sharing configuration from a bucket named ``my-bucket``:: +The following command deletes a Cross-Origin Resource Sharing configuration from a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-bucket-cors --bucket my-bucket + aws s3api delete-bucket-cors --bucket amzn-s3-demo-bucket diff --git a/awscli/examples/s3api/delete-bucket-encryption.rst b/awscli/examples/s3api/delete-bucket-encryption.rst index da439a3203af..fd6e966909d3 100755 --- a/awscli/examples/s3api/delete-bucket-encryption.rst +++ b/awscli/examples/s3api/delete-bucket-encryption.rst @@ -3,6 +3,6 @@ The following ``delete-bucket-encryption`` example deletes the server-side encryption configuration of the specified bucket. :: aws s3api delete-bucket-encryption \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket This command produces no output. diff --git a/awscli/examples/s3api/delete-bucket-intelligent-tiering-configuration.rst b/awscli/examples/s3api/delete-bucket-intelligent-tiering-configuration.rst index 2bcbd07fc59f..8e5691e7f406 100644 --- a/awscli/examples/s3api/delete-bucket-intelligent-tiering-configuration.rst +++ b/awscli/examples/s3api/delete-bucket-intelligent-tiering-configuration.rst @@ -3,7 +3,7 @@ The following ``delete-bucket-intelligent-tiering-configuration`` example removes an S3 Intelligent-Tiering configuration, named ExampleConfig, on a bucket. :: aws s3api delete-bucket-intelligent-tiering-configuration \ - --bucket DOC-EXAMPLE-BUCKET \ + --bucket amzn-s3-demo-bucket \ --id ExampleConfig This command produces no output. diff --git a/awscli/examples/s3api/delete-bucket-inventory-configuration.rst b/awscli/examples/s3api/delete-bucket-inventory-configuration.rst index a9e062df24d4..6ddd5ab6d545 100755 --- a/awscli/examples/s3api/delete-bucket-inventory-configuration.rst +++ b/awscli/examples/s3api/delete-bucket-inventory-configuration.rst @@ -3,7 +3,7 @@ The following ``delete-bucket-inventory-configuration`` example deletes the inventory configuration with ID ``1`` for the specified bucket. :: aws s3api delete-bucket-inventory-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 1 This command produces no output. diff --git a/awscli/examples/s3api/delete-bucket-lifecycle.rst b/awscli/examples/s3api/delete-bucket-lifecycle.rst index 8d06f89305e7..3235ef5caa48 100644 --- a/awscli/examples/s3api/delete-bucket-lifecycle.rst +++ b/awscli/examples/s3api/delete-bucket-lifecycle.rst @@ -1,3 +1,3 @@ -The following command deletes a lifecycle configuration from a bucket named ``my-bucket``:: +The following command deletes a lifecycle configuration from a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-bucket-lifecycle --bucket my-bucket + aws s3api delete-bucket-lifecycle --bucket amzn-s3-demo-bucket diff --git a/awscli/examples/s3api/delete-bucket-metrics-configuration.rst b/awscli/examples/s3api/delete-bucket-metrics-configuration.rst index 325d31ce2dc7..6b428609f898 100755 --- a/awscli/examples/s3api/delete-bucket-metrics-configuration.rst +++ b/awscli/examples/s3api/delete-bucket-metrics-configuration.rst @@ -3,7 +3,7 @@ The following ``delete-bucket-metrics-configuration`` example removes the metrics configuration for the specified bucket and ID. :: aws s3api delete-bucket-metrics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 123 This command produces no output. \ No newline at end of file diff --git a/awscli/examples/s3api/delete-bucket-ownership-controls.rst b/awscli/examples/s3api/delete-bucket-ownership-controls.rst index 00ca9b95e6cd..d947325f7d58 100644 --- a/awscli/examples/s3api/delete-bucket-ownership-controls.rst +++ b/awscli/examples/s3api/delete-bucket-ownership-controls.rst @@ -3,7 +3,7 @@ The following ``delete-bucket-ownership-controls`` example removes the bucket ownership settings of a bucket. :: aws s3api delete-bucket-ownership-controls \ - --bucket DOC-EXAMPLE-BUCKET + --bucket amzn-s3-demo-bucket This command produces no output. diff --git a/awscli/examples/s3api/delete-bucket-policy.rst b/awscli/examples/s3api/delete-bucket-policy.rst index 0e104e57e475..bbd01103c8dd 100644 --- a/awscli/examples/s3api/delete-bucket-policy.rst +++ b/awscli/examples/s3api/delete-bucket-policy.rst @@ -1,3 +1,3 @@ -The following command deletes a bucket policy from a bucket named ``my-bucket``:: +The following command deletes a bucket policy from a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-bucket-policy --bucket my-bucket + aws s3api delete-bucket-policy --bucket amzn-s3-demo-bucket diff --git a/awscli/examples/s3api/delete-bucket-replication.rst b/awscli/examples/s3api/delete-bucket-replication.rst index 50f9dfc38e5d..db8faac83e35 100644 --- a/awscli/examples/s3api/delete-bucket-replication.rst +++ b/awscli/examples/s3api/delete-bucket-replication.rst @@ -1,3 +1,3 @@ -The following command deletes a replication configuration from a bucket named ``my-bucket``:: +The following command deletes a replication configuration from a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-bucket-replication --bucket my-bucket + aws s3api delete-bucket-replication --bucket amzn-s3-demo-bucket diff --git a/awscli/examples/s3api/delete-bucket-tagging.rst b/awscli/examples/s3api/delete-bucket-tagging.rst index 713a6ad29f48..cdce318063d8 100644 --- a/awscli/examples/s3api/delete-bucket-tagging.rst +++ b/awscli/examples/s3api/delete-bucket-tagging.rst @@ -1,3 +1,3 @@ -The following command deletes a tagging configuration from a bucket named ``my-bucket``:: +The following command deletes a tagging configuration from a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-bucket-tagging --bucket my-bucket + aws s3api delete-bucket-tagging --bucket amzn-s3-demo-bucket diff --git a/awscli/examples/s3api/delete-bucket-website.rst b/awscli/examples/s3api/delete-bucket-website.rst index 155cd1e474a0..781e3322be9c 100644 --- a/awscli/examples/s3api/delete-bucket-website.rst +++ b/awscli/examples/s3api/delete-bucket-website.rst @@ -1,3 +1,3 @@ -The following command deletes a website configuration from a bucket named ``my-bucket``:: +The following command deletes a website configuration from a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-bucket-website --bucket my-bucket + aws s3api delete-bucket-website --bucket amzn-s3-demo-bucket diff --git a/awscli/examples/s3api/delete-bucket.rst b/awscli/examples/s3api/delete-bucket.rst index 761eafb15e94..b1cc31522761 100644 --- a/awscli/examples/s3api/delete-bucket.rst +++ b/awscli/examples/s3api/delete-bucket.rst @@ -1,3 +1,3 @@ -The following command deletes a bucket named ``my-bucket``:: +The following command deletes a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-bucket --bucket my-bucket --region us-east-1 + aws s3api delete-bucket --bucket amzn-s3-demo-bucket --region us-east-1 diff --git a/awscli/examples/s3api/delete-object-tagging.rst b/awscli/examples/s3api/delete-object-tagging.rst index dbfd27da53f1..d29617f81859 100755 --- a/awscli/examples/s3api/delete-object-tagging.rst +++ b/awscli/examples/s3api/delete-object-tagging.rst @@ -3,7 +3,7 @@ The following ``delete-object-tagging`` example deletes the tag with the specified key from the object ``doc1.rtf``. :: aws s3api delete-object-tagging \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key doc1.rtf This command produces no output. \ No newline at end of file diff --git a/awscli/examples/s3api/delete-object.rst b/awscli/examples/s3api/delete-object.rst index 3a5df3c4e062..6f1a23963f38 100644 --- a/awscli/examples/s3api/delete-object.rst +++ b/awscli/examples/s3api/delete-object.rst @@ -1,6 +1,6 @@ -The following command deletes an object named ``test.txt`` from a bucket named ``my-bucket``:: +The following command deletes an object named ``test.txt`` from a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-object --bucket my-bucket --key test.txt + aws s3api delete-object --bucket amzn-s3-demo-bucket --key test.txt If bucket versioning is enabled, the output will contain the version ID of the delete marker:: diff --git a/awscli/examples/s3api/delete-objects.rst b/awscli/examples/s3api/delete-objects.rst index 2446efd51ab4..f08f728f26d1 100644 --- a/awscli/examples/s3api/delete-objects.rst +++ b/awscli/examples/s3api/delete-objects.rst @@ -1,6 +1,6 @@ -The following command deletes an object from a bucket named ``my-bucket``:: +The following command deletes an object from a bucket named ``amzn-s3-demo-bucket``:: - aws s3api delete-objects --bucket my-bucket --delete file://delete.json + aws s3api delete-objects --bucket amzn-s3-demo-bucket --delete file://delete.json ``delete.json`` is a JSON document in the current directory that specifies the object to delete:: diff --git a/awscli/examples/s3api/delete-public-access-block.rst b/awscli/examples/s3api/delete-public-access-block.rst index 563a8b5069b9..54fd0ee6dc40 100755 --- a/awscli/examples/s3api/delete-public-access-block.rst +++ b/awscli/examples/s3api/delete-public-access-block.rst @@ -3,6 +3,6 @@ The following ``delete-public-access-block`` example removes the block public access configuration on the specified bucket. :: aws s3api delete-public-access-block \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket This command produces no output. diff --git a/awscli/examples/s3api/get-bucket-accelerate-configuration.rst b/awscli/examples/s3api/get-bucket-accelerate-configuration.rst index c40bd611d6b4..3f18aa88bcfb 100644 --- a/awscli/examples/s3api/get-bucket-accelerate-configuration.rst +++ b/awscli/examples/s3api/get-bucket-accelerate-configuration.rst @@ -3,7 +3,7 @@ The following ``get-bucket-accelerate-configuration`` example retrieves the accelerate configuration for the specified bucket. :: aws s3api get-bucket-accelerate-configuration \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-acl.rst b/awscli/examples/s3api/get-bucket-acl.rst index 42f40386a31a..33870686cf53 100644 --- a/awscli/examples/s3api/get-bucket-acl.rst +++ b/awscli/examples/s3api/get-bucket-acl.rst @@ -1,6 +1,6 @@ -The following command retrieves the access control list for a bucket named ``my-bucket``:: +The following command retrieves the access control list for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-acl --bucket my-bucket + aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-analytics-configuration.rst b/awscli/examples/s3api/get-bucket-analytics-configuration.rst index e9e0bba7eb41..b6f1ffe97f48 100755 --- a/awscli/examples/s3api/get-bucket-analytics-configuration.rst +++ b/awscli/examples/s3api/get-bucket-analytics-configuration.rst @@ -3,7 +3,7 @@ The following ``get-bucket-analytics-configuration`` example displays the analytics configuration for the specified bucket and ID. :: aws s3api get-bucket-analytics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 1 Output:: diff --git a/awscli/examples/s3api/get-bucket-cors.rst b/awscli/examples/s3api/get-bucket-cors.rst index 2bbf9f68e6ae..b712b011e9ed 100644 --- a/awscli/examples/s3api/get-bucket-cors.rst +++ b/awscli/examples/s3api/get-bucket-cors.rst @@ -1,6 +1,6 @@ -The following command retrieves the Cross-Origin Resource Sharing configuration for a bucket named ``my-bucket``:: +The following command retrieves the Cross-Origin Resource Sharing configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-cors --bucket my-bucket + aws s3api get-bucket-cors --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-encryption.rst b/awscli/examples/s3api/get-bucket-encryption.rst index f442f11b58c7..376f4bbdaecc 100755 --- a/awscli/examples/s3api/get-bucket-encryption.rst +++ b/awscli/examples/s3api/get-bucket-encryption.rst @@ -1,9 +1,9 @@ **To retrieve the server-side encryption configuration for a bucket** -The following ``get-bucket-encryption`` example retrieves the server-side encryption configuration for the bucket ``my-bucket``. :: +The following ``get-bucket-encryption`` example retrieves the server-side encryption configuration for the bucket ``amzn-s3-demo-bucket``. :: aws s3api get-bucket-encryption \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-intelligent-tiering-configuration.rst b/awscli/examples/s3api/get-bucket-intelligent-tiering-configuration.rst index 6bf9e17ab049..ac57d76f4e94 100644 --- a/awscli/examples/s3api/get-bucket-intelligent-tiering-configuration.rst +++ b/awscli/examples/s3api/get-bucket-intelligent-tiering-configuration.rst @@ -3,7 +3,7 @@ The following ``get-bucket-intelligent-tiering-configuration`` example retrieves an S3 Intelligent-Tiering configuration, named ExampleConfig, on a bucket. :: aws s3api get-bucket-intelligent-tiering-configuration \ - --bucket DOC-EXAMPLE-BUCKET \ + --bucket amzn-s3-demo-bucket \ --id ExampleConfig Output:: diff --git a/awscli/examples/s3api/get-bucket-inventory-configuration.rst b/awscli/examples/s3api/get-bucket-inventory-configuration.rst index 90a9524a2f79..52bc5d78099d 100755 --- a/awscli/examples/s3api/get-bucket-inventory-configuration.rst +++ b/awscli/examples/s3api/get-bucket-inventory-configuration.rst @@ -3,7 +3,7 @@ The following ``get-bucket-inventory-configuration`` example retrieves the inventory configuration for the specified bucket with ID ``1``. :: aws s3api get-bucket-inventory-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 1 Output:: @@ -14,7 +14,7 @@ Output:: "Destination": { "S3BucketDestination": { "Format": "ORC", - "Bucket": "arn:aws:s3:::my-bucket", + "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, diff --git a/awscli/examples/s3api/get-bucket-lifecycle-configuration.rst b/awscli/examples/s3api/get-bucket-lifecycle-configuration.rst index 4a10dc8bd642..f279be5d73d5 100644 --- a/awscli/examples/s3api/get-bucket-lifecycle-configuration.rst +++ b/awscli/examples/s3api/get-bucket-lifecycle-configuration.rst @@ -1,6 +1,6 @@ -The following command retrieves the lifecycle configuration for a bucket named ``my-bucket``:: +The following command retrieves the lifecycle configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-lifecycle-configuration --bucket my-bucket + aws s3api get-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-lifecycle.rst b/awscli/examples/s3api/get-bucket-lifecycle.rst index fcb23fa8bf07..f58960e1e8ff 100644 --- a/awscli/examples/s3api/get-bucket-lifecycle.rst +++ b/awscli/examples/s3api/get-bucket-lifecycle.rst @@ -1,6 +1,6 @@ -The following command retrieves the lifecycle configuration for a bucket named ``my-bucket``:: +The following command retrieves the lifecycle configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-lifecycle --bucket my-bucket + aws s3api get-bucket-lifecycle --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-location.rst b/awscli/examples/s3api/get-bucket-location.rst index 092fa5e8afe0..0ad5c7ec973d 100644 --- a/awscli/examples/s3api/get-bucket-location.rst +++ b/awscli/examples/s3api/get-bucket-location.rst @@ -1,6 +1,6 @@ -The following command retrieves the location constraint for a bucket named ``my-bucket``, if a constraint exists:: +The following command retrieves the location constraint for a bucket named ``amzn-s3-demo-bucket``, if a constraint exists:: - aws s3api get-bucket-location --bucket my-bucket + aws s3api get-bucket-location --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-logging.rst b/awscli/examples/s3api/get-bucket-logging.rst index f1398a5b914b..6a1876ba3bfc 100755 --- a/awscli/examples/s3api/get-bucket-logging.rst +++ b/awscli/examples/s3api/get-bucket-logging.rst @@ -3,13 +3,13 @@ The following ``get-bucket-logging`` example retrieves the logging status for the specified bucket. :: aws s3api get-bucket-logging \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: { "LoggingEnabled": { "TargetPrefix": "", - "TargetBucket": "my-bucket-logs" + "TargetBucket": "amzn-s3-demo-bucket-logs" } } diff --git a/awscli/examples/s3api/get-bucket-metrics-configuration.rst b/awscli/examples/s3api/get-bucket-metrics-configuration.rst index d0628a55f7e2..bfed5f1804de 100755 --- a/awscli/examples/s3api/get-bucket-metrics-configuration.rst +++ b/awscli/examples/s3api/get-bucket-metrics-configuration.rst @@ -3,7 +3,7 @@ The following ``get-bucket-metrics-configuration`` example displays the metrics configuration for the specified bucket and ID. :: aws s3api get-bucket-metrics-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 123 Output:: diff --git a/awscli/examples/s3api/get-bucket-notification-configuration.rst b/awscli/examples/s3api/get-bucket-notification-configuration.rst index 8eca1c3fa895..1f39bedd7481 100644 --- a/awscli/examples/s3api/get-bucket-notification-configuration.rst +++ b/awscli/examples/s3api/get-bucket-notification-configuration.rst @@ -1,6 +1,6 @@ -The following command retrieves the notification configuration for a bucket named ``my-bucket``:: +The following command retrieves the notification configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-notification-configuration --bucket my-bucket + aws s3api get-bucket-notification-configuration --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-notification.rst b/awscli/examples/s3api/get-bucket-notification.rst index e8a591e66ee1..91eafc505918 100644 --- a/awscli/examples/s3api/get-bucket-notification.rst +++ b/awscli/examples/s3api/get-bucket-notification.rst @@ -1,6 +1,6 @@ -The following command retrieves the notification configuration for a bucket named ``my-bucket``:: +The following command retrieves the notification configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-notification --bucket my-bucket + aws s3api get-bucket-notification --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-ownership-controls.rst b/awscli/examples/s3api/get-bucket-ownership-controls.rst index 1db8866d157c..84fc0d75f4ab 100644 --- a/awscli/examples/s3api/get-bucket-ownership-controls.rst +++ b/awscli/examples/s3api/get-bucket-ownership-controls.rst @@ -3,7 +3,7 @@ The following ``get-bucket-ownership-controls`` example retrieves the bucket ownership settings of a bucket. :: aws s3api get-bucket-ownership-controls \ - --bucket DOC-EXAMPLE-BUCKET + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-policy-status.rst b/awscli/examples/s3api/get-bucket-policy-status.rst index 599f1f128a17..5164c3e30173 100755 --- a/awscli/examples/s3api/get-bucket-policy-status.rst +++ b/awscli/examples/s3api/get-bucket-policy-status.rst @@ -1,9 +1,9 @@ **To retrieve the policy status for a bucket indicating whether the bucket is public** -The following ``get-bucket-policy-status`` example retrieves the policy status for the bucket ``my-bucket``. :: +The following ``get-bucket-policy-status`` example retrieves the policy status for the bucket ``amzn-s3-demo-bucket``. :: aws s3api get-bucket-policy-status \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-policy.rst b/awscli/examples/s3api/get-bucket-policy.rst index 606e3297fbd9..ea219624de98 100644 --- a/awscli/examples/s3api/get-bucket-policy.rst +++ b/awscli/examples/s3api/get-bucket-policy.rst @@ -1,11 +1,11 @@ -The following command retrieves the bucket policy for a bucket named ``my-bucket``:: +The following command retrieves the bucket policy for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-policy --bucket my-bucket + aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket Output:: { - "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/secret/*\"}]}" + "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/secret/*\"}]}" } Get and put a bucket policy @@ -16,9 +16,9 @@ make modifications to the file, and then use ``put-bucket-policy`` to apply the modified bucket policy. To download the bucket policy to a file, you can run:: - aws s3api get-bucket-policy --bucket mybucket --query Policy --output text > policy.json + aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket --query Policy --output text > policy.json You can then modify the ``policy.json`` file as needed. Finally you can apply this modified policy back to the S3 bucket by running:: - aws s3api put-bucket-policy --bucket mybucket --policy file://policy.json + aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json diff --git a/awscli/examples/s3api/get-bucket-replication.rst b/awscli/examples/s3api/get-bucket-replication.rst index c056c701e844..23e1aae1e3ae 100644 --- a/awscli/examples/s3api/get-bucket-replication.rst +++ b/awscli/examples/s3api/get-bucket-replication.rst @@ -1,6 +1,6 @@ -The following command retrieves the replication configuration for a bucket named ``my-bucket``:: +The following command retrieves the replication configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-replication --bucket my-bucket + aws s3api get-bucket-replication --bucket amzn-s3-demo-bucket Output:: @@ -11,7 +11,7 @@ Output:: "Status": "Enabled", "Prefix": "", "Destination": { - "Bucket": "arn:aws:s3:::my-bucket-backup", + "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket-backup", "StorageClass": "STANDARD" }, "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1" diff --git a/awscli/examples/s3api/get-bucket-request-payment.rst b/awscli/examples/s3api/get-bucket-request-payment.rst index 41c9f8d8f8d8..d53d664d8e8b 100644 --- a/awscli/examples/s3api/get-bucket-request-payment.rst +++ b/awscli/examples/s3api/get-bucket-request-payment.rst @@ -3,7 +3,7 @@ The following ``get-bucket-request-payment`` example retrieves the requester pays configuration for the specified bucket. :: aws s3api get-bucket-request-payment \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-tagging.rst b/awscli/examples/s3api/get-bucket-tagging.rst index fbbee96e7d9d..8d8906462e6c 100644 --- a/awscli/examples/s3api/get-bucket-tagging.rst +++ b/awscli/examples/s3api/get-bucket-tagging.rst @@ -1,6 +1,6 @@ -The following command retrieves the tagging configuration for a bucket named ``my-bucket``:: +The following command retrieves the tagging configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-tagging --bucket my-bucket + aws s3api get-bucket-tagging --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-versioning.rst b/awscli/examples/s3api/get-bucket-versioning.rst index fea8280d06af..7ba6890a28c9 100644 --- a/awscli/examples/s3api/get-bucket-versioning.rst +++ b/awscli/examples/s3api/get-bucket-versioning.rst @@ -1,6 +1,6 @@ -The following command retrieves the versioning configuration for a bucket named ``my-bucket``:: +The following command retrieves the versioning configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-versioning --bucket my-bucket + aws s3api get-bucket-versioning --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-bucket-website.rst b/awscli/examples/s3api/get-bucket-website.rst index e4a3682b4fe4..b0945d07e068 100644 --- a/awscli/examples/s3api/get-bucket-website.rst +++ b/awscli/examples/s3api/get-bucket-website.rst @@ -1,6 +1,6 @@ -The following command retrieves the static website configuration for a bucket named ``my-bucket``:: +The following command retrieves the static website configuration for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-bucket-website --bucket my-bucket + aws s3api get-bucket-website --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/get-object-acl.rst b/awscli/examples/s3api/get-object-acl.rst index b487cdd93b94..5d89a58b2a86 100644 --- a/awscli/examples/s3api/get-object-acl.rst +++ b/awscli/examples/s3api/get-object-acl.rst @@ -1,6 +1,6 @@ -The following command retrieves the access control list for an object in a bucket named ``my-bucket``:: +The following command retrieves the access control list for an object in a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-object-acl --bucket my-bucket --key index.html + aws s3api get-object-acl --bucket amzn-s3-demo-bucket --key index.html Output:: diff --git a/awscli/examples/s3api/get-object-attributes.rst b/awscli/examples/s3api/get-object-attributes.rst index 12f10f72bd3f..d9cc78c685df 100644 --- a/awscli/examples/s3api/get-object-attributes.rst +++ b/awscli/examples/s3api/get-object-attributes.rst @@ -3,7 +3,7 @@ The following ``get-object-attributes`` example retrieves metadata from the object ``doc1.rtf``. :: aws s3api get-object-attributes \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key doc1.rtf \ --object-attributes "StorageClass" "ETag" "ObjectSize" diff --git a/awscli/examples/s3api/get-object-legal-hold.rst b/awscli/examples/s3api/get-object-legal-hold.rst index 1163d94a0c35..74bd0f05f6a3 100644 --- a/awscli/examples/s3api/get-object-legal-hold.rst +++ b/awscli/examples/s3api/get-object-legal-hold.rst @@ -3,7 +3,7 @@ The following ``get-object-legal-hold`` example retrieves the Legal Hold status for the specified object. :: aws s3api get-object-legal-hold \ - --bucket my-bucket-with-object-lock \ + --bucket amzn-s3-demo-bucket-with-object-lock \ --key doc1.rtf Output:: diff --git a/awscli/examples/s3api/get-object-lock-configuration.rst b/awscli/examples/s3api/get-object-lock-configuration.rst index 3be8c620185f..d75b2ba6a1ca 100755 --- a/awscli/examples/s3api/get-object-lock-configuration.rst +++ b/awscli/examples/s3api/get-object-lock-configuration.rst @@ -3,7 +3,7 @@ The following ``get-object-lock-configuration`` example retrieves the object lock configuration for the specified bucket. :: aws s3api get-object-lock-configuration \ - --bucket my-bucket-with-object-lock + --bucket amzn-s3-demo-bucket-with-object-lock Output:: diff --git a/awscli/examples/s3api/get-object-retention.rst b/awscli/examples/s3api/get-object-retention.rst index ebd67e632b54..d2930010a993 100755 --- a/awscli/examples/s3api/get-object-retention.rst +++ b/awscli/examples/s3api/get-object-retention.rst @@ -3,7 +3,7 @@ The following ``get-object-retention`` example retrieves the object retention configuration for the specified object. :: aws s3api get-object-retention \ - --bucket my-bucket-with-object-lock \ + --bucket amzn-s3-demo-bucket-with-object-lock \ --key doc1.rtf Output:: diff --git a/awscli/examples/s3api/get-object-tagging.rst b/awscli/examples/s3api/get-object-tagging.rst index 8fe3225c26a8..d942238876d2 100755 --- a/awscli/examples/s3api/get-object-tagging.rst +++ b/awscli/examples/s3api/get-object-tagging.rst @@ -3,7 +3,7 @@ The following ``get-object-tagging`` example retrieves the values for the specified key from the specified object. :: aws s3api get-object-tagging \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key doc1.rtf Output:: @@ -20,7 +20,7 @@ Output:: The following ``get-object-tagging`` example tries to retrieve the tag sets of the object ``doc2.rtf``, which has no tags. :: aws s3api get-object-tagging \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key doc2.rtf Output:: @@ -33,7 +33,7 @@ Output:: The following ``get-object-tagging`` example retrieves the tag sets of the object ``doc3.rtf``, which has multiple tags. :: aws s3api get-object-tagging \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key doc3.rtf Output:: diff --git a/awscli/examples/s3api/get-object-torrent.rst b/awscli/examples/s3api/get-object-torrent.rst index dc23e558d75a..989e9e6cfbb7 100644 --- a/awscli/examples/s3api/get-object-torrent.rst +++ b/awscli/examples/s3api/get-object-torrent.rst @@ -1,5 +1,5 @@ -The following command creates a torrent for an object in a bucket named ``my-bucket``:: +The following command creates a torrent for an object in a bucket named ``amzn-s3-demo-bucket``:: - aws s3api get-object-torrent --bucket my-bucket --key large-video-file.mp4 large-video-file.torrent + aws s3api get-object-torrent --bucket amzn-s3-demo-bucket --key large-video-file.mp4 large-video-file.torrent The torrent file is saved locally in the current folder. Note that the output filename (``large-video-file.torrent``) is specified without an option name and must be the last argument in the command. \ No newline at end of file diff --git a/awscli/examples/s3api/get-public-access-block.rst b/awscli/examples/s3api/get-public-access-block.rst index 7cd897d1ea5d..2c2dea9220e8 100755 --- a/awscli/examples/s3api/get-public-access-block.rst +++ b/awscli/examples/s3api/get-public-access-block.rst @@ -3,7 +3,7 @@ The following ``get-public-access-block`` example displays the block public access configuration for the specified bucket. :: aws s3api get-public-access-block \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/head-bucket.rst b/awscli/examples/s3api/head-bucket.rst index 695c90f580a0..1a08f13f22e5 100644 --- a/awscli/examples/s3api/head-bucket.rst +++ b/awscli/examples/s3api/head-bucket.rst @@ -1,6 +1,6 @@ -The following command verifies access to a bucket named ``my-bucket``:: +The following command verifies access to a bucket named ``amzn-s3-demo-bucket``:: - aws s3api head-bucket --bucket my-bucket + aws s3api head-bucket --bucket amzn-s3-demo-bucket If the bucket exists and you have access to it, no output is returned. Otherwise, an error message will be shown. For example:: diff --git a/awscli/examples/s3api/head-object.rst b/awscli/examples/s3api/head-object.rst index e432a649c85a..1c87881b65e0 100644 --- a/awscli/examples/s3api/head-object.rst +++ b/awscli/examples/s3api/head-object.rst @@ -1,6 +1,6 @@ -The following command retrieves metadata for an object in a bucket named ``my-bucket``:: +The following command retrieves metadata for an object in a bucket named ``amzn-s3-demo-bucket``:: - aws s3api head-object --bucket my-bucket --key index.html + aws s3api head-object --bucket amzn-s3-demo-bucket --key index.html Output:: diff --git a/awscli/examples/s3api/list-bucket-analytics-configurations.rst b/awscli/examples/s3api/list-bucket-analytics-configurations.rst index cedf797292d1..93d5131d76cc 100755 --- a/awscli/examples/s3api/list-bucket-analytics-configurations.rst +++ b/awscli/examples/s3api/list-bucket-analytics-configurations.rst @@ -3,7 +3,7 @@ The following ``list-bucket-analytics-configurations`` retrieves a list of analytics configurations for the specified bucket. :: aws s3api list-bucket-analytics-configurations \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/list-bucket-intelligent-tiering-configurations.rst b/awscli/examples/s3api/list-bucket-intelligent-tiering-configurations.rst index b30b240954ff..6e09ea78086c 100644 --- a/awscli/examples/s3api/list-bucket-intelligent-tiering-configurations.rst +++ b/awscli/examples/s3api/list-bucket-intelligent-tiering-configurations.rst @@ -3,7 +3,7 @@ The following ``list-bucket-intelligent-tiering-configurations`` example retrieves all S3 Intelligent-Tiering configuration on a bucket. :: aws s3api list-bucket-intelligent-tiering-configurations \ - --bucket DOC-EXAMPLE-BUCKET + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/list-bucket-inventory-configurations.rst b/awscli/examples/s3api/list-bucket-inventory-configurations.rst index 2b40ede04fdf..1a8c2e5fcbdc 100755 --- a/awscli/examples/s3api/list-bucket-inventory-configurations.rst +++ b/awscli/examples/s3api/list-bucket-inventory-configurations.rst @@ -3,7 +3,7 @@ The following ``list-bucket-inventory-configurations`` example lists the inventory configurations for the specified bucket. :: aws s3api list-bucket-inventory-configurations \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: @@ -14,7 +14,7 @@ Output:: "Destination": { "S3BucketDestination": { "Format": "ORC", - "Bucket": "arn:aws:s3:::my-bucket", + "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, @@ -29,7 +29,7 @@ Output:: "Destination": { "S3BucketDestination": { "Format": "CSV", - "Bucket": "arn:aws:s3:::my-bucket", + "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "AccountId": "123456789012" } }, diff --git a/awscli/examples/s3api/list-bucket-metrics-configurations.rst b/awscli/examples/s3api/list-bucket-metrics-configurations.rst index 769c4d7404b6..79145dd11cc0 100755 --- a/awscli/examples/s3api/list-bucket-metrics-configurations.rst +++ b/awscli/examples/s3api/list-bucket-metrics-configurations.rst @@ -3,7 +3,7 @@ The following ``list-bucket-metrics-configurations`` example retrieves a list of metrics configurations for the specified bucket. :: aws s3api list-bucket-metrics-configurations \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/list-multipart-uploads.rst b/awscli/examples/s3api/list-multipart-uploads.rst index 34d825f5b0bf..082bae3443e2 100644 --- a/awscli/examples/s3api/list-multipart-uploads.rst +++ b/awscli/examples/s3api/list-multipart-uploads.rst @@ -1,6 +1,6 @@ -The following command lists all of the active multipart uploads for a bucket named ``my-bucket``:: +The following command lists all of the active multipart uploads for a bucket named ``amzn-s3-demo-bucket``:: - aws s3api list-multipart-uploads --bucket my-bucket + aws s3api list-multipart-uploads --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/list-object-versions.rst b/awscli/examples/s3api/list-object-versions.rst index dce635a23f90..5f21a6114e13 100644 --- a/awscli/examples/s3api/list-object-versions.rst +++ b/awscli/examples/s3api/list-object-versions.rst @@ -1,6 +1,6 @@ -The following command retrieves version information for an object in a bucket named ``my-bucket``:: +The following command retrieves version information for an object in a bucket named ``amzn-s3-demo-bucket``:: - aws s3api list-object-versions --bucket my-bucket --prefix index.html + aws s3api list-object-versions --bucket amzn-s3-demo-bucket --prefix index.html Output:: diff --git a/awscli/examples/s3api/list-objects-v2.rst b/awscli/examples/s3api/list-objects-v2.rst index 0e98fcb3d1ea..2ecf04b7cbcc 100644 --- a/awscli/examples/s3api/list-objects-v2.rst +++ b/awscli/examples/s3api/list-objects-v2.rst @@ -3,7 +3,7 @@ The following ``list-objects-v2`` example lists the objects in the specified bucket. :: aws s3api list-objects-v2 \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket Output:: diff --git a/awscli/examples/s3api/list-parts.rst b/awscli/examples/s3api/list-parts.rst index 2e574da1c224..0328f7133fc9 100644 --- a/awscli/examples/s3api/list-parts.rst +++ b/awscli/examples/s3api/list-parts.rst @@ -1,6 +1,6 @@ -The following command lists all of the parts that have been uploaded for a multipart upload with key ``multipart/01`` in the bucket ``my-bucket``:: +The following command lists all of the parts that have been uploaded for a multipart upload with key ``multipart/01`` in the bucket ``amzn-s3-demo-bucket``:: - aws s3api list-parts --bucket my-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R + aws s3api list-parts --bucket amzn-s3-demo-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R Output:: diff --git a/awscli/examples/s3api/put-bucket-accelerate-configuration.rst b/awscli/examples/s3api/put-bucket-accelerate-configuration.rst index 0cbb96053791..0bad93b16b78 100644 --- a/awscli/examples/s3api/put-bucket-accelerate-configuration.rst +++ b/awscli/examples/s3api/put-bucket-accelerate-configuration.rst @@ -3,7 +3,7 @@ The following ``put-bucket-accelerate-configuration`` example enables the accelerate configuration for the specified bucket. :: aws s3api put-bucket-accelerate-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --accelerate-configuration Status=Enabled This command produces no output. diff --git a/awscli/examples/s3api/put-bucket-acl.rst b/awscli/examples/s3api/put-bucket-acl.rst index 42418a8160aa..91a1ed127336 100644 --- a/awscli/examples/s3api/put-bucket-acl.rst +++ b/awscli/examples/s3api/put-bucket-acl.rst @@ -1,7 +1,7 @@ This example grants ``full control`` to two AWS users (*user1@example.com* and *user2@example.com*) and ``read`` permission to everyone:: - aws s3api put-bucket-acl --bucket MyBucket --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers + aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers See http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html for details on custom ACLs (the s3api ACL commands, such as ``put-bucket-acl``, use the same shorthand argument notation). diff --git a/awscli/examples/s3api/put-bucket-analytics-configuration.rst b/awscli/examples/s3api/put-bucket-analytics-configuration.rst index 25dea1fcfbae..64ae218931ae 100644 --- a/awscli/examples/s3api/put-bucket-analytics-configuration.rst +++ b/awscli/examples/s3api/put-bucket-analytics-configuration.rst @@ -3,7 +3,7 @@ The following ``put-bucket-analytics-configuration`` example configures analytics for the specified bucket. :: aws s3api put-bucket-analytics-configuration \ - --bucket my-bucket --id 1 \ + --bucket amzn-s3-demo-bucket --id 1 \ --analytics-configuration '{"Id": "1","StorageClassAnalysis": {}}' This command produces no output. diff --git a/awscli/examples/s3api/put-bucket-cors.rst b/awscli/examples/s3api/put-bucket-cors.rst index 83494f3c058c..65be5da0b721 100644 --- a/awscli/examples/s3api/put-bucket-cors.rst +++ b/awscli/examples/s3api/put-bucket-cors.rst @@ -1,7 +1,7 @@ The following example enables ``PUT``, ``POST``, and ``DELETE`` requests from *www.example.com*, and enables ``GET`` requests from any domain:: - aws s3api put-bucket-cors --bucket MyBucket --cors-configuration file://cors.json + aws s3api put-bucket-cors --bucket amzn-s3-demo-bucket --cors-configuration file://cors.json cors.json: { diff --git a/awscli/examples/s3api/put-bucket-encryption.rst b/awscli/examples/s3api/put-bucket-encryption.rst index da892f68aad0..c9bed5350fca 100644 --- a/awscli/examples/s3api/put-bucket-encryption.rst +++ b/awscli/examples/s3api/put-bucket-encryption.rst @@ -3,7 +3,7 @@ The following ``put-bucket-encryption`` example sets AES256 encryption as the default for the specified bucket. :: aws s3api put-bucket-encryption \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}' This command produces no output. \ No newline at end of file diff --git a/awscli/examples/s3api/put-bucket-intelligent-tiering-configuration.rst b/awscli/examples/s3api/put-bucket-intelligent-tiering-configuration.rst index 5d46dfa17475..e3bf35547f77 100644 --- a/awscli/examples/s3api/put-bucket-intelligent-tiering-configuration.rst +++ b/awscli/examples/s3api/put-bucket-intelligent-tiering-configuration.rst @@ -3,7 +3,7 @@ The following ``put-bucket-intelligent-tiering-configuration`` example updates an S3 Intelligent-Tiering configuration, named ExampleConfig, on a bucket. The configuration will transition objects that have not been accessed under the prefix images to Archive Access after 90 days and Deep Archive Access after 180 days. :: aws s3api put-bucket-intelligent-tiering-configuration \ - --bucket DOC-EXAMPLE-BUCKET \ + --bucket amzn-s3-demo-bucket \ --id "ExampleConfig" \ --intelligent-tiering-configuration file://intelligent-tiering-configuration.json diff --git a/awscli/examples/s3api/put-bucket-inventory-configuration.rst b/awscli/examples/s3api/put-bucket-inventory-configuration.rst index a5f260604033..71cb607dbf63 100755 --- a/awscli/examples/s3api/put-bucket-inventory-configuration.rst +++ b/awscli/examples/s3api/put-bucket-inventory-configuration.rst @@ -1,21 +1,21 @@ **Example 1: To set an inventory configuration for a bucket** -The following ``put-bucket-inventory-configuration`` example sets a weekly ORC-formatted inventory report for the bucket ``my-bucket``. :: +The following ``put-bucket-inventory-configuration`` example sets a weekly ORC-formatted inventory report for the bucket ``amzn-s3-demo-bucket``. :: aws s3api put-bucket-inventory-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 1 \ - --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}' + --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}' This command produces no output. **Example 2: To set an inventory configuration for a bucket** -The following ``put-bucket-inventory-configuration`` example sets a daily CSV-formatted inventory report for the bucket ``my-bucket``. :: +The following ``put-bucket-inventory-configuration`` example sets a daily CSV-formatted inventory report for the bucket ``amzn-s3-demo-bucket``. :: aws s3api put-bucket-inventory-configuration \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --id 2 \ - --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}' + --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}' This command produces no output. diff --git a/awscli/examples/s3api/put-bucket-lifecycle-configuration.rst b/awscli/examples/s3api/put-bucket-lifecycle-configuration.rst index 243ea8ea51f5..c47e452d2aa8 100644 --- a/awscli/examples/s3api/put-bucket-lifecycle-configuration.rst +++ b/awscli/examples/s3api/put-bucket-lifecycle-configuration.rst @@ -1,6 +1,6 @@ -The following command applies a lifecycle configuration to a bucket named ``my-bucket``:: +The following command applies a lifecycle configuration to a bucket named ``amzn-s3-demo-bucket``:: - aws s3api put-bucket-lifecycle-configuration --bucket my-bucket --lifecycle-configuration file://lifecycle.json + aws s3api put-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket --lifecycle-configuration file://lifecycle.json The file ``lifecycle.json`` is a JSON document in the current folder that specifies two rules:: diff --git a/awscli/examples/s3api/put-bucket-lifecycle.rst b/awscli/examples/s3api/put-bucket-lifecycle.rst index c236b7d220ca..f4fc8582bcc9 100644 --- a/awscli/examples/s3api/put-bucket-lifecycle.rst +++ b/awscli/examples/s3api/put-bucket-lifecycle.rst @@ -1,6 +1,6 @@ -The following command applies a lifecycle configuration to the bucket ``my-bucket``:: +The following command applies a lifecycle configuration to the bucket ``amzn-s3-demo-bucket``:: - aws s3api put-bucket-lifecycle --bucket my-bucket --lifecycle-configuration file://lifecycle.json + aws s3api put-bucket-lifecycle --bucket amzn-s3-demo-bucket --lifecycle-configuration file://lifecycle.json The file ``lifecycle.json`` is a JSON document in the current folder that specifies two rules:: diff --git a/awscli/examples/s3api/put-bucket-logging.rst b/awscli/examples/s3api/put-bucket-logging.rst index 8c1242943989..17beeef1226e 100644 --- a/awscli/examples/s3api/put-bucket-logging.rst +++ b/awscli/examples/s3api/put-bucket-logging.rst @@ -1,9 +1,9 @@ **Example 1: To set bucket policy logging** -The following ``put-bucket-logging`` example sets the logging policy for *MyBucket*. First, grant the logging service principal permission in your bucket policy using the ``put-bucket-policy`` command. :: +The following ``put-bucket-logging`` example sets the logging policy for *amzn-s3-demo-bucket*. First, grant the logging service principal permission in your bucket policy using the ``put-bucket-policy`` command. :: aws s3api put-bucket-policy \ - --bucket MyBucket \ + --bucket amzn-s3-demo-bucket \ --policy file://policy.json Contents of ``policy.json``:: @@ -16,7 +16,7 @@ Contents of ``policy.json``:: "Effect": "Allow", "Principal": {"Service": "logging.s3.amazonaws.com"}, "Action": "s3:PutObject", - "Resource": "arn:aws:s3:::MyBucket/Logs/*", + "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/Logs/*", "Condition": { "ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"}, "StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"} @@ -28,14 +28,14 @@ Contents of ``policy.json``:: To apply the logging policy, use ``put-bucket-logging``. :: aws s3api put-bucket-logging \ - --bucket MyBucket \ + --bucket amzn-s3-demo-bucket \ --bucket-logging-status file://logging.json Contents of ``logging.json``:: { "LoggingEnabled": { - "TargetBucket": "MyBucket", + "TargetBucket": "amzn-s3-demo-bucket", "TargetPrefix": "Logs/" } } @@ -46,26 +46,26 @@ For more information, see `Amazon S3 Server Access Logging `__ in the *Amazon S3 Developer Guide*. -For more information about uploading objects, see `Uploading Objects`_ in the *Amazon S3 Developer Guide*. +**Example 2: Upload a video file to Amazon S3** -.. _`Uploading Objects`: http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html +The following ``put-object`` command example uploads a video file. :: + aws s3api put-object \ + --bucket amzn-s3-demo-bucket \ + --key my-dir/big-video-file.mp4 \ + --body /media/videos/f-sharp-3-data-services.mp4 + +For more information about uploading objects, see `Uploading Objects < http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html>`__ in the *Amazon S3 Developer Guide*. diff --git a/awscli/examples/s3api/put-public-access-block.rst b/awscli/examples/s3api/put-public-access-block.rst index f06bf915f85d..5d082bc98d34 100755 --- a/awscli/examples/s3api/put-public-access-block.rst +++ b/awscli/examples/s3api/put-public-access-block.rst @@ -3,7 +3,7 @@ The following ``put-public-access-block`` example sets a restrictive block public access configuration for the specified bucket. :: aws s3api put-public-access-block \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true" This command produces no output. diff --git a/awscli/examples/s3api/select-object-content.rst b/awscli/examples/s3api/select-object-content.rst index 0385f8e30f22..5462af4f1f39 100755 --- a/awscli/examples/s3api/select-object-content.rst +++ b/awscli/examples/s3api/select-object-content.rst @@ -3,7 +3,7 @@ The following ``select-object-content`` example filters the object ``my-data-file.csv`` with the specified SQL statement and sends output to a file. :: aws s3api select-object-content \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key my-data-file.csv \ --expression "select * from s3object limit 100" \ --expression-type 'SQL' \ diff --git a/awscli/examples/s3api/upload-part-copy.rst b/awscli/examples/s3api/upload-part-copy.rst index 2c0504261e23..a1194464ca35 100755 --- a/awscli/examples/s3api/upload-part-copy.rst +++ b/awscli/examples/s3api/upload-part-copy.rst @@ -3,9 +3,9 @@ The following ``upload-part-copy`` example uploads a part by copying data from an existing object as a data source. :: aws s3api upload-part-copy \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key "Map_Data_June.mp4" \ - --copy-source "my-bucket/copy_of_Map_Data_June.mp4" \ + --copy-source "amzn-s3-demo-bucket/copy_of_Map_Data_June.mp4" \ --part-number 1 \ --upload-id "bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm" diff --git a/awscli/examples/s3api/upload-part.rst b/awscli/examples/s3api/upload-part.rst index e8a35eb1f7c6..fb8f4a704040 100644 --- a/awscli/examples/s3api/upload-part.rst +++ b/awscli/examples/s3api/upload-part.rst @@ -1,6 +1,6 @@ The following command uploads the first part in a multipart upload initiated with the ``create-multipart-upload`` command:: - aws s3api upload-part --bucket my-bucket --key 'multipart/01' --part-number 1 --body part01 --upload-id "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R" + aws s3api upload-part --bucket amzn-s3-demo-bucket --key 'multipart/01' --part-number 1 --body part01 --upload-id "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R" The ``body`` option takes the name or path of a local file for upload (do not use the file:// prefix). The minimum part size is 5 MB. Upload ID is returned by ``create-multipart-upload`` and can also be retrieved with ``list-multipart-uploads``. Bucket and key are specified when you create the multipart upload. diff --git a/awscli/examples/s3api/wait/bucket-exists.rst b/awscli/examples/s3api/wait/bucket-exists.rst index 35d0060386ad..b6c1d27fa7da 100755 --- a/awscli/examples/s3api/wait/bucket-exists.rst +++ b/awscli/examples/s3api/wait/bucket-exists.rst @@ -3,6 +3,6 @@ The following ``wait bucket-exists`` example pauses and continues only after it can confirm that the specified bucket exists. :: aws s3api wait bucket-exists \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket This command produces no output. diff --git a/awscli/examples/s3api/wait/bucket-not-exists.rst b/awscli/examples/s3api/wait/bucket-not-exists.rst index 941f9f02ff7f..ef975b1ea132 100755 --- a/awscli/examples/s3api/wait/bucket-not-exists.rst +++ b/awscli/examples/s3api/wait/bucket-not-exists.rst @@ -3,6 +3,6 @@ The following ``wait bucket-not-exists`` example pauses and continues only after it can confirm that the specified bucket doesn't exist. :: aws s3api wait bucket-not-exists \ - --bucket my-bucket + --bucket amzn-s3-demo-bucket This command produces no output. diff --git a/awscli/examples/s3api/wait/object-exists.rst b/awscli/examples/s3api/wait/object-exists.rst index 787f4f838d7e..ddef8f8ea625 100755 --- a/awscli/examples/s3api/wait/object-exists.rst +++ b/awscli/examples/s3api/wait/object-exists.rst @@ -3,7 +3,7 @@ The following ``wait object-not-exists`` example pauses and continues only after it can confirm that the specified object (``--key``) in the specified bucket exists. :: aws s3api wait object-exists \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key doc1.rtf This command produces no output. \ No newline at end of file diff --git a/awscli/examples/s3api/wait/object-not-exists.rst b/awscli/examples/s3api/wait/object-not-exists.rst index 416cb930d07e..a19df3e412c4 100755 --- a/awscli/examples/s3api/wait/object-not-exists.rst +++ b/awscli/examples/s3api/wait/object-not-exists.rst @@ -3,7 +3,7 @@ The following ``wait object-not-exists`` example pauses and continues only after it can confirm that the specified object (``--key``) in the specified bucket doesn't exist. :: aws s3api wait object-not-exists \ - --bucket my-bucket \ + --bucket amzn-s3-demo-bucket \ --key doc1.rtf This command produces no output. \ No newline at end of file diff --git a/awscli/examples/s3control/get-multi-region-access-point-routes.rst b/awscli/examples/s3control/get-multi-region-access-point-routes.rst index 20f6d0d7153d..d1853f1575b8 100644 --- a/awscli/examples/s3control/get-multi-region-access-point-routes.rst +++ b/awscli/examples/s3control/get-multi-region-access-point-routes.rst @@ -13,12 +13,12 @@ Output:: "Mrap": "arn:aws:s3::111122223333:accesspoint/0000000000000.mrap", "Routes": [ { - "Bucket": "DOC-EXAMPLE-BUCKET-1", + "Bucket": "amzn-s3-demo-bucket1", "Region": "ap-southeast-2", "TrafficDialPercentage": 100 }, { - "Bucket": "DOC-EXAMPLE-BUCKET-2", + "Bucket": "amzn-s3-demo-bucket2", "Region": "us-west-1", "TrafficDialPercentage": 0 } diff --git a/awscli/examples/s3control/submit-multi-region-access-point-routes.rst b/awscli/examples/s3control/submit-multi-region-access-point-routes.rst index 9ff33d7283a1..988cce5d40fe 100644 --- a/awscli/examples/s3control/submit-multi-region-access-point-routes.rst +++ b/awscli/examples/s3control/submit-multi-region-access-point-routes.rst @@ -1,11 +1,11 @@ **To update your Multi-Region Access Point routing configuration** -The following ``submit-multi-region-access-point-routes`` example updates the routing statuses of ``DOC-EXAMPLE-BUCKET-1`` and ``DOC-EXAMPLE-BUCKET-2`` in the ``ap-southeast-2`` Region for your Multi-Region Access Point. :: +The following ``submit-multi-region-access-point-routes`` example updates the routing statuses of ``amzn-s3-demo-bucket1`` and ``amzn-s3-demo-bucket2`` in the ``ap-southeast-2`` Region for your Multi-Region Access Point. :: aws s3control submit-multi-region-access-point-routes \ --region ap-southeast-2 \ --account-id 111122223333 \ --mrap MultiRegionAccessPoint_ARN \ - --route-updates Bucket=DOC-EXAMPLE-BUCKET-1,TrafficDialPercentage=100 Bucket=DOC-EXAMPLE-BUCKET-2,TrafficDialPercentage=0 + --route-updates Bucket=amzn-s3-demo-bucket1,TrafficDialPercentage=100 Bucket=amzn-s3-demo-bucket2,TrafficDialPercentage=0 This command produces no output. \ No newline at end of file diff --git a/awscli/examples/secretsmanager/create-secret.rst b/awscli/examples/secretsmanager/create-secret.rst index 56465559a2cf..63447d9e32d6 100755 --- a/awscli/examples/secretsmanager/create-secret.rst +++ b/awscli/examples/secretsmanager/create-secret.rst @@ -1,23 +1,4 @@ -**Example 1: To create a secret** - -The following ``create-secret`` example creates a secret with two key-value pairs. :: - - aws secretsmanager create-secret \ - --name MyTestSecret \ - --description "My test secret created with the CLI." \ - --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}" - -Output:: - - { - "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", - "Name": "MyTestSecret", - "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" - } - -For more information, see `Create a secret `__ in the *Secrets Manager User Guide*. - -**Example 2: To create a secret from credentials in a JSON file** +**Example 1: To create a secret from credentials in a JSON file** The following ``create-secret`` example creates a secret from credentials in a file. For more information, see `Loading AWS CLI parameters from a file `__ in the *AWS CLI User Guide*. :: @@ -44,4 +25,23 @@ Output:: "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } +For more information, see `Create a secret `__ in the *Secrets Manager User Guide*. + +**Example 2: To create a secret** + +The following ``create-secret`` example creates a secret with two key-value pairs. When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. For more information, see `Mitigate the risks of using command-line tools to store secrets `__ in the *Secrets Manager User Guide*. :: + + aws secretsmanager create-secret \ + --name MyTestSecret \ + --description "My test secret created with the CLI." \ + --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}" + +Output:: + + { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", + "Name": "MyTestSecret", + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" + } + For more information, see `Create a secret `__ in the *Secrets Manager User Guide*. \ No newline at end of file diff --git a/awscli/examples/securityhub/describe-hub.rst b/awscli/examples/securityhub/describe-hub.rst index c78c456d7109..1983c4b88164 100644 --- a/awscli/examples/securityhub/describe-hub.rst +++ b/awscli/examples/securityhub/describe-hub.rst @@ -1,15 +1,17 @@ **To get information about a hub resource** -The following ``describe-hub`` example returns the subscription date for the specified hub resource. The hub resource is identified by its ARN. :: +The following ``describe-hub`` example returns the subscription date and other configuration settings for the specified hub resource. The hub resource is identified by its ARN. :: - aws securityhub describe-hub \ + aws securityhub describe-hub \ --hub-arn "arn:aws:securityhub:us-west-1:123456789012:hub/default" Output:: { "HubArn": "arn:aws:securityhub:us-west-1:123456789012:hub/default", - "SubscribedAt": "2019-11-19T23:15:10.046Z" + "SubscribedAt": "2019-11-19T23:15:10.046Z", + "AutoEnableControls": true, + "ControlFindingGenerator": "SECURITY_CONTROL" } -For more information, see `AWS::SecurityHub::Hub `__ in the *AWS CloudFormation User Guide*. +For more information, see `AWS::SecurityHub::Hub `__ in the *AWS CloudFormation User Guide*. diff --git a/awscli/examples/securityhub/describe-standards-controls.rst b/awscli/examples/securityhub/describe-standards-controls.rst index 650b6c6b8ecc..550e17f8d19a 100644 --- a/awscli/examples/securityhub/describe-standards-controls.rst +++ b/awscli/examples/securityhub/describe-standards-controls.rst @@ -1,6 +1,6 @@ **To request the list of controls in an enabled standard** -The following ``describe-standards-controls`` example requests the list of controls in the requestor account's subscription to the PCI DSS standard. The request returns two controls at a time. :: +The following ``describe-standards-controls`` example requests the list of controls in the requester account's subscription to the PCI DSS standard. The request returns two controls at a time. :: aws securityhub describe-standards-controls \ --standards-subscription-arn "arn:aws:securityhub:us-west-1:123456789012:subscription/pci-dss/v/3.2.1" \ diff --git a/awscli/examples/securityhub/list-configuration-policy-associations.rst b/awscli/examples/securityhub/list-configuration-policy-associations.rst index 3476e6b3a347..09f2f0bf21a8 100644 --- a/awscli/examples/securityhub/list-configuration-policy-associations.rst +++ b/awscli/examples/securityhub/list-configuration-policy-associations.rst @@ -3,7 +3,7 @@ The following ``list-configuration-policy-associations`` example lists a summary of configuration associations for the organization. The response include associations with configuration policies and self-managed behavior. :: aws securityhub list-configuration-policy-associations \ - --association-type "APPLIED" \ + --filters '{"AssociationType": "APPLIED"}' \ --max-items 4 Output:: @@ -47,4 +47,4 @@ Output:: } } -For more information, see `Viewing Security Hub configuration policies `__ in the *AWS Security Hub User Guide*. \ No newline at end of file +For more information, see `Viewing configuration policy status and details `__ in the *AWS Security Hub User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/create-aws-log-source.rst b/awscli/examples/securitylake/create-aws-log-source.rst new file mode 100644 index 000000000000..5bf14da2ec88 --- /dev/null +++ b/awscli/examples/securitylake/create-aws-log-source.rst @@ -0,0 +1,16 @@ +**To add a natively supported Amazon Web Service as an Amazon Security Lake source** + +The following ``create-aws-logsource`` example adds VPC Flow Logs as a Security Lake source in the designated accounts and Regions. :: + + aws securitylake create-aws-log-source \ + --sources '[{"regions": ["us-east-1"], "accounts": ["123456789012"], "sourceName": "SH_FINDINGS", "sourceVersion": "2.0"}]' + +Output:: + + { + "failed": [ + "123456789012" + ] + } + +For more information, see `Adding an AWS service as a source `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/create-custom-log-source.rst b/awscli/examples/securitylake/create-custom-log-source.rst new file mode 100644 index 000000000000..ef1f01241c78 --- /dev/null +++ b/awscli/examples/securitylake/create-custom-log-source.rst @@ -0,0 +1,28 @@ +**To add a custom source as an Amazon Security Lake source** + +The following ``create-custom-logsource`` example adds a custom source as a Security Lake source in the designated log provider account and the designated Region. :: + + aws securitylake create-custom-log-source \ + --source-name "VPC_FLOW" \ + --event-classes '["DNS_ACTIVITY", "NETWORK_ACTIVITY"]' \ + --configuration '{"crawlerConfiguration": {"roleArn": "arn:aws:glue:eu-west-2:123456789012:crawler/E1WG1ZNPRXT0D4"},"providerIdentity": {"principal": "029189416600","externalId": "123456789012"}}' --region "us-east-1" + +Output:: + + { + "customLogSource": { + "attributes": { + "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/E1WG1ZNPRXT0D4", + "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/E1WG1ZNPRXT0D4", + "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/E1WG1ZNPRXT0D4" + }, + "provider": { + "location": "amzn-s3-demo-bucket--usw2-az1--x-s3", + "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-Provider-testCustom2-eu-west-2" + }, + "sourceName": "testCustom2" + "sourceVersion": "2.0" + } + } + +For more information, see `Adding a custom source `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/create-data-lake-exception-subscription.rst b/awscli/examples/securitylake/create-data-lake-exception-subscription.rst new file mode 100644 index 000000000000..a08894ade3a0 --- /dev/null +++ b/awscli/examples/securitylake/create-data-lake-exception-subscription.rst @@ -0,0 +1,12 @@ +**To send notifications of Security Lake exceptions** + +The following ``create-data-lake-exception-subscription`` example sends notifications of Security Lake exceptions to the specified account through SMS delivery. The exception message remains for the specified time period. :: + + aws securitylake create-data-lake-exception-subscription \ + --notification-endpoint "123456789012" \ + --exception-time-to-live 30 \ + --subscription-protocol "sms" + +This command produces no output. + +For more information, see `Troubleshooting Amazon Security Lake `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/create-data-lake-organization-configuration.rst b/awscli/examples/securitylake/create-data-lake-organization-configuration.rst new file mode 100644 index 000000000000..cc1629bb9fc5 --- /dev/null +++ b/awscli/examples/securitylake/create-data-lake-organization-configuration.rst @@ -0,0 +1,10 @@ +**To configure Security Lake in new organization accounts** + +The following ``create-data-lake-organization-configuration`` example enables Security Lake and the collection of the specified source events and logs in new organization accounts. :: + + aws securitylake create-data-lake-organization-configuration \ + --auto-enable-new-account '[{"region":"us-east-1","sources":[{"sourceName":"SH_FINDINGS","sourceVersion": "1.0"}]}]' + +This command produces no output. + +For more information, see `Managing multiple accounts with AWS Organizations `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/create-data-lake.rst b/awscli/examples/securitylake/create-data-lake.rst new file mode 100644 index 000000000000..27e18643e3c1 --- /dev/null +++ b/awscli/examples/securitylake/create-data-lake.rst @@ -0,0 +1,126 @@ +**Example 1: To configure your data lake in multiple Regions** + +The following ``create-data-lake`` example enables Amazon Security Lake in multiple AWS Regions and configures your data lake. :: + + aws securitylake create-data-lake \ + --configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}, {"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}]' \ + --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager" + +Output:: + + { + "dataLakes": [ + { + "createStatus": "COMPLETED", + "dataLakeArn": "arn:aws:securitylake:us-east-1:522481757177:data-lake/default", + "encryptionConfiguration": { + "kmsKeyId": "S3_MANAGED_KEY" + }, + "lifecycleConfiguration": { + "expiration": { + "days": 365 + }, + "transitions": [ + { + "days": 60, + "storageClass": "ONEZONE_IA" + } + ] + }, + "region": "us-east-1", + "replicationConfiguration": { + "regions": [ + "ap-northeast-3" + ], + "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" + }, + "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-1-gnevt6s8z7bzby8oi3uiaysbr8v2ml", + "updateStatus": { + "exception": {}, + "requestId": "f20a6450-d24a-4f87-a6be-1d4c075a59c2", + "status": "INITIALIZED" + } + }, + { + "createStatus": "COMPLETED", + "dataLakeArn": "arn:aws:securitylake:us-east-2:522481757177:data-lake/default", + "encryptionConfiguration": { + "kmsKeyId": "S3_MANAGED_KEY" + }, + "lifecycleConfiguration": { + "expiration": { + "days": 365 + }, + "transitions": [ + { + "days": 60, + "storageClass": "ONEZONE_IA" + } + ] + }, + "region": "us-east-2", + "replicationConfiguration": { + "regions": [ + "ap-northeast-3" + ], + "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" + }, + "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-2-cehuifzl5rwmhm6m62h7zhvtseogr9", + "updateStatus": { + "exception": {}, + "requestId": "f20a6450-d24a-4f87-a6be-1d4c075a59c2", + "status": "INITIALIZED" + } + } + ] + } + +For more information, see `Getting started with Amazon Security Lake `__ in the *Amazon Security Lake User Guide*. + +**Example 2: To configure your data lake in a single Region** + +The following ``create-data-lake`` example enables Amazon Security Lake in a single AWS Region and configures your data lake. :: + + aws securitylake create-data-lake \ + --configurations '[{"encryptionConfiguration": {"kmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":500},"transitions":[{"days":30,"storageClass":"GLACIER"}]}}]' \ + --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager" + +Output:: + + { + "dataLakes": [ + { + "createStatus": "COMPLETED", + "dataLakeArn": "arn:aws:securitylake:us-east-2:522481757177:data-lake/default", + "encryptionConfiguration": { + "kmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "lifecycleConfiguration": { + "expiration": { + "days": 500 + }, + "transitions": [ + { + "days": 30, + "storageClass": "GLACIER" + } + ] + }, + "region": "us-east-2", + "replicationConfiguration": { + "regions": [ + "ap-northeast-3" + ], + "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" + }, + "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-2-cehuifzl5rwmhm6m62h7zhvtseogr9", + "updateStatus": { + "exception": {}, + "requestId": "77702a53-dcbf-493e-b8ef-518e362f3003", + "status": "INITIALIZED" + } + } + ] + } + +For more information, see `Getting started with Amazon Security Lake `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/create-subscriber-notification.rst b/awscli/examples/securitylake/create-subscriber-notification.rst new file mode 100644 index 000000000000..bdb701b9f9d2 --- /dev/null +++ b/awscli/examples/securitylake/create-subscriber-notification.rst @@ -0,0 +1,17 @@ +**To create a subscriber notification** + +The following ``create-subscriber-notification`` example shows how to specify subscriber notification to create a notification when new data is written to the data lake. :: + + aws securitylake create-subscriber-notification \ + --subscriber-id "12345ab8-1a34-1c34-1bd4-12345ab9012" \ + --configuration '{"httpsNotificationConfiguration": {"targetRoleArn":"arn:aws:iam::XXX:role/service-role/RoleName", "endpoint":"https://account-management.$3.$2.securitylake.aws.dev/v1/datalake"}}' + +Output:: + + { + "subscriberEndpoint": [ + "https://account-management.$3.$2.securitylake.aws.dev/v1/datalake" + ] + } + +For more information, see `Subscriber management `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/create-subscriber.rst b/awscli/examples/securitylake/create-subscriber.rst new file mode 100644 index 000000000000..516f0611ec59 --- /dev/null +++ b/awscli/examples/securitylake/create-subscriber.rst @@ -0,0 +1,83 @@ +**Example 1: To create a subscriber with data access** + +The following ``create-subscriber`` example creates a subscriber in Security Lake with access to data in the current AWS Region for the specified subscriber identity for an AWS source. :: + + aws securitylake create-subscriber \ + --access-types "S3" \ + --sources '[{"awsLogSource": {"sourceName": "VPC_FLOW","sourceVersion": "2.0"}}]' \ + --subscriber-name 'opensearch-s3' \ + --subscriber-identity '{"principal": "029189416600","externalId": "123456789012"}' + +Output:: + + { + "subscriber": { + "accessTypes": [ + "S3" + ], + "createdAt": "2024-07-17T19:08:26.787000+00:00", + "roleArn": "arn:aws:iam::773172568199:role/AmazonSecurityLake-896f218b-cfba-40be-a255-8b49a65d0407", + "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-1-um632ufwpvxkyz0bc5hkb64atycnf3", + "sources": [ + { + "awsLogSource": { + "sourceName": "VPC_FLOW", + "sourceVersion": "2.0" + } + } + ], + "subscriberArn": "arn:aws:securitylake:us-east-1:773172568199:subscriber/896f218b-cfba-40be-a255-8b49a65d0407", + "subscriberId": "896f218b-cfba-40be-a255-8b49a65d0407", + "subscriberIdentity": { + "externalId": "123456789012", + "principal": "029189416600" + }, + "subscriberName": "opensearch-s3", + "subscriberStatus": "ACTIVE", + "updatedAt": "2024-07-17T19:08:27.133000+00:00" + } + } + +For more information, see `Creating a subscriber with data access `__ in the *Amazon Security Lake User Guide*. + +**Example 2: To create a subscriber with query access** + +The following ``create-subscriber`` example creates a subscriber in Security Lake with query access in the current AWS Region for the specified subscriber identity. :: + + aws securitylake create-subscriber \ + --access-types "LAKEFORMATION" \ + --sources '[{"awsLogSource": {"sourceName": "VPC_FLOW","sourceVersion": "2.0"}}]' \ + --subscriber-name 'opensearch-s3' \ + --subscriber-identity '{"principal": "029189416600","externalId": "123456789012"}' + +Output:: + + { + "subscriber": { + "accessTypes": [ + "LAKEFORMATION" + ], + "createdAt": "2024-07-18T01:05:55.853000+00:00", + "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/8c31da49-c224-4f1e-bb12-37ab756d6d8a", + "resourceShareName": "LakeFormation-V2-NAMENAMENA-123456789012", + "sources": [ + { + "awsLogSource": { + "sourceName": "VPC_FLOW", + "sourceVersion": "2.0" + } + } + ], + "subscriberArn": "arn:aws:securitylake:us-east-1:123456789012:subscriber/e762aabb-ce3d-4585-beab-63474597845d", + "subscriberId": "e762aabb-ce3d-4585-beab-63474597845d", + "subscriberIdentity": { + "externalId": "123456789012", + "principal": "029189416600" + }, + "subscriberName": "opensearch-s3", + "subscriberStatus": "ACTIVE", + "updatedAt": "2024-07-18T01:05:58.393000+00:00" + } + } + +For more information, see `Creating a subscriber with query access `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/delete-aws-log-source.rst b/awscli/examples/securitylake/delete-aws-log-source.rst new file mode 100644 index 000000000000..5d99d761d0c3 --- /dev/null +++ b/awscli/examples/securitylake/delete-aws-log-source.rst @@ -0,0 +1,16 @@ +**To remove a natively-supported AWS service.** + +The following ``delete-aws-logsource`` example deletes VPC Flow Logs as a Security Lake source in the designated accounts and Regions. :: + + aws securitylake delete-aws-log-source \ + --sources '[{"regions": ["us-east-1"], "accounts": ["123456789012"], "sourceName": "SH_FINDINGS", "sourceVersion": "2.0"}]' + +Output:: + + { + "failed": [ + "123456789012" + ] + } + +For more information, see `Removing an AWS service as a source `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/delete-custom-log-source.rst b/awscli/examples/securitylake/delete-custom-log-source.rst new file mode 100644 index 000000000000..41aeb46b9ad0 --- /dev/null +++ b/awscli/examples/securitylake/delete-custom-log-source.rst @@ -0,0 +1,10 @@ +**To remove a custom source.** + +The following ``delete-custom-logsource`` example deletes a custom source in the designated log provider account in the designated Region. :: + + aws securitylake delete-custom-log-source \ + --source-name "CustomSourceName" + +This command produces no output. + +For more information, see `Deleting a custom source `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/delete-data-lake-organization-configuration.rst b/awscli/examples/securitylake/delete-data-lake-organization-configuration.rst new file mode 100644 index 000000000000..9118049d528c --- /dev/null +++ b/awscli/examples/securitylake/delete-data-lake-organization-configuration.rst @@ -0,0 +1,10 @@ +**To stop automatic source collection in member accounts** + +The following ``delete-data-lake-organization-configuration`` example stops the automatic collection of AWS Security Hub findings from new member accounts that join the organization. Only the delegated Security Lake administrator can run this command. It prevents new member accounts from automatically contributing data to the data lake. :: + + aws securitylake delete-data-lake-organization-configuration \ + --auto-enable-new-account '[{"region":"us-east-1","sources":[{"sourceName":"SH_FINDINGS"}]}]' + +This command produces no output. + +For more information, see `Managing multiple accounts with AWS Organizations `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/delete-data-lake.rst b/awscli/examples/securitylake/delete-data-lake.rst new file mode 100644 index 000000000000..e8d3a6baef18 --- /dev/null +++ b/awscli/examples/securitylake/delete-data-lake.rst @@ -0,0 +1,10 @@ +**To disable your data lake** + +The following ``delete-data-lake`` example disables your data lake in the specified AWS Regions. In the specified Regions, sources no longer contribute data to the data lake. For a Security Lake deployment utilizing AWS Organizations, only the delegated Security Lake administrator for the organization can disable Security Lake for accounts in the organization. :: + + aws securitylake delete-data-lake \ + --regions "ap-northeast-1" "eu-central-1" + +This command produces no output. + +For more information, see `Disabling Amazon Security Lake `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/delete-subscriber-notification.rst b/awscli/examples/securitylake/delete-subscriber-notification.rst new file mode 100644 index 000000000000..dd98ca339058 --- /dev/null +++ b/awscli/examples/securitylake/delete-subscriber-notification.rst @@ -0,0 +1,10 @@ +**To delete a subscriber notification** + +The following ``delete-subscriber-notification`` example shows how to delete the subscriber notification for specific Security Lake subscriber. :: + + aws securitylake delete-subscriber-notification \ + --subscriber-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" + +This command produces no output. + +For more information, see `Subscriber management `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/delete-subscriber.rst b/awscli/examples/securitylake/delete-subscriber.rst new file mode 100644 index 000000000000..d5839d72ae93 --- /dev/null +++ b/awscli/examples/securitylake/delete-subscriber.rst @@ -0,0 +1,10 @@ +**To delete a subscriber** + +The following ``delete-subscriber`` example shows how to remove a subscriber if you no longer want a subscriber to consume data from Security Lake. :: + + aws securitylake delete-subscriber \ + --subscriber-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" + +This command produces no output. + +For more information, see `Subscriber management `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/get-data-lake-exception-subscription.rst b/awscli/examples/securitylake/get-data-lake-exception-subscription.rst new file mode 100644 index 000000000000..4835bae5ba48 --- /dev/null +++ b/awscli/examples/securitylake/get-data-lake-exception-subscription.rst @@ -0,0 +1,15 @@ +**To get details about an exception subscription** + +The following ``get-data-lake-exception-subscription`` example provides details about a Security Lake exception subscription. In this example, the user of the specified AWS account is notified of errors through SMS delivery. The exception message remains in the account for the specified time period. An exception subscription notifies a Security Lake user about an error through the requester's preferred protocol. :: + + aws securitylake get-data-lake-exception-subscription + +Output:: + + { + "exceptionTimeToLive": 30, + "notificationEndpoint": "123456789012", + "subscriptionProtocol": "sms" + } + +For more information, see `Troubleshooting data lake status `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/get-data-lake-organization-configuration.rst b/awscli/examples/securitylake/get-data-lake-organization-configuration.rst new file mode 100644 index 000000000000..3e9d9029fb98 --- /dev/null +++ b/awscli/examples/securitylake/get-data-lake-organization-configuration.rst @@ -0,0 +1,31 @@ +**To get details about the configuration for new organization accounts** + +The following ``get-data-lake-organization-configuration`` example retrieves details about the source logs that new organization accounts will send after onboarding to Amazon Security Lake. :: + + aws securitylake get-data-lake-organization-configuration + +Output:: + + { + "autoEnableNewAccount": [ + { + "region": "us-east-1", + "sources": [ + { + "sourceName": "VPC_FLOW", + "sourceVersion": "1.0" + }, + { + "sourceName": "ROUTE53", + "sourceVersion": "1.0" + }, + { + "sourceName": "SH_FINDINGS", + "sourceVersion": "1.0" + } + ] + } + ] + } + +For more information, see `Managing multiple accounts with AWS Organizations `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/get-data-lake-sources.rst b/awscli/examples/securitylake/get-data-lake-sources.rst new file mode 100644 index 000000000000..9054de8a432a --- /dev/null +++ b/awscli/examples/securitylake/get-data-lake-sources.rst @@ -0,0 +1,66 @@ +**To get the status of log collection** + +The following ``get-data-lake-sources`` example gets a snapshot of log collection for the specified account in the current AWS Region. The account has Amazon Security Lake enabled. :: + + aws securitylake get-data-lake-sources \ + --accounts "123456789012" + +Output:: + + { + "dataLakeSources": [ + { + "account": "123456789012", + "sourceName": "SH_FINDINGS", + "sourceStatuses": [ + { + "resource": "vpc-1234567890abcdef0", + "status": "COLLECTING" + } + ] + }, + { + "account": "123456789012", + "sourceName": "VPC_FLOW", + "sourceStatuses": [ + { + "resource": "vpc-1234567890abcdef0", + "status": "NOT_COLLECTING" + } + ] + }, + { + "account": "123456789012", + "sourceName": "LAMBDA_EXECUTION", + "sourceStatuses": [ + { + "resource": "vpc-1234567890abcdef0", + "status": "COLLECTING" + } + ] + }, + { + "account": "123456789012", + "sourceName": "ROUTE53", + "sourceStatuses": [ + { + "resource": "vpc-1234567890abcdef0", + "status": "COLLECTING" + } + ] + }, + { + "account": "123456789012", + "sourceName": "CLOUD_TRAIL_MGMT", + "sourceStatuses": [ + { + "resource": "vpc-1234567890abcdef0", + "status": "COLLECTING" + } + ] + } + ], + "dataLakeArn": null + } + +For more information, see `Collecting data from AWS services `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/get-subscriber.rst b/awscli/examples/securitylake/get-subscriber.rst new file mode 100644 index 000000000000..f751424d2c9b --- /dev/null +++ b/awscli/examples/securitylake/get-subscriber.rst @@ -0,0 +1,90 @@ +**To retrieve the subscription information** + +The following ``get-subscriber`` example retrieves the subscription information for the specified Security Lake subscriber. :: + + aws securitylake get-subscriber \ + --subscriber-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 + +Output:: + + { + "subscriber": { + "accessTypes": [ + "LAKEFORMATION" + ], + "createdAt": "2024-04-19T15:19:44.421803+00:00", + "resourceShareArn": "arn:aws:ram:eu-west-2:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "resourceShareName": "LakeFormation-V3-TKJGBHCKTZ-123456789012", + "sources": [ + { + "awsLogSource": { + "sourceName": "LAMBDA_EXECUTION", + "sourceVersion": "1.0" + } + }, + { + "awsLogSource": { + "sourceName": "EKS_AUDIT", + "sourceVersion": "2.0" + } + }, + { + "awsLogSource": { + "sourceName": "ROUTE53", + "sourceVersion": "1.0" + } + }, + { + "awsLogSource": { + "sourceName": "SH_FINDINGS", + "sourceVersion": "1.0" + } + }, + { + "awsLogSource": { + "sourceName": "VPC_FLOW", + "sourceVersion": "1.0" + } + }, + { + "customLogSource": { + "attributes": { + "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/testCustom2", + "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/amazon_security_lake_glue_db_eu_west_2", + "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/amazon_security_lake_table_eu_west_2_ext_testcustom2" + }, + "provider": { + "location": "s3://aws-security-data-lake-eu-west-2-8ugsus4ztnsfpjbldwbgf4vge98av9/ext/testCustom2/", + "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-Provider-testCustom2-eu-west-2" + }, + "sourceName": "testCustom2" + } + }, + { + "customLogSource": { + "attributes": { + "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/TestCustom", + "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/amazon_security_lake_glue_db_eu_west_2", + "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/amazon_security_lake_table_eu_west_2_ext_testcustom" + }, + "provider": { + "location": "s3://aws-security-data-lake-eu-west-2-8ugsus4ztnsfpjbldwbgf4vge98av9/ext/TestCustom/", + "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-Provider-TestCustom-eu-west-2" + }, + "sourceName": "TestCustom" + } + } + ], + "subscriberArn": "arn:aws:securitylake:eu-west-2:123456789012:subscriber/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "subscriberId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "subscriberIdentity": { + "externalId": "123456789012", + "principal": "123456789012" + }, + "subscriberName": "test", + "subscriberStatus": "ACTIVE", + "updatedAt": "2024-04-19T15:19:55.230588+00:00" + } + } + +For more information, see `Subscriber management `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/list-data-lake-exceptions.rst b/awscli/examples/securitylake/list-data-lake-exceptions.rst new file mode 100644 index 000000000000..4b9f7d21adc4 --- /dev/null +++ b/awscli/examples/securitylake/list-data-lake-exceptions.rst @@ -0,0 +1,25 @@ +**To list the issues affecting your data lake** + +The following ``list-data-lake-exceptions`` example lists the issues that are affecting your data lake in the last 14 days in the specified AWS Regions. :: + + aws securitylake list-data-lake-exceptions \ + --regions "us-east-1" "eu-west-3" + +Output:: + + { + "exceptions": [ + { + "exception": "The account does not have the required role permissions. Update your role permissions to use the new data source version.", + "region": "us-east-1", + "timestamp": "2024-02-29T12:24:15.641725+00:00" + }, + { + "exception": "The account does not have the required role permissions. Update your role permissions to use the new data source version.", + "region": "eu-west-3", + "timestamp": "2024-02-29T12:24:15.641725+00:00" + } + ] + } + +For more information, see `Troubleshooting Amazon Security Lake `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/list-data-lakes.rst b/awscli/examples/securitylake/list-data-lakes.rst new file mode 100644 index 000000000000..4f9a200a27ab --- /dev/null +++ b/awscli/examples/securitylake/list-data-lakes.rst @@ -0,0 +1,49 @@ +**To list the Security Lake configuration object** + +The following ``list-data-lakes`` example lists the Amazon Security Lake configuration object for the specified AWS Region. You can use this command to determine whether Security Lake is enabled in a specified Region or Regions. :: + + aws securitylake list-data-lakes \ + --regions "us-east-1" + +Output:: + + { + "dataLakes": [ + { + "createStatus": "COMPLETED", + "dataLakeArn": "arn:aws:securitylake:us-east-1:123456789012:data-lake/default", + "encryptionConfiguration": { + "kmsKeyId": "S3_MANAGED_KEY" + }, + "lifecycleConfiguration": { + "expiration": { + "days": 365 + }, + "transitions": [ + { + "days": 60, + "storageClass": "ONEZONE_IA" + } + ] + }, + "region": "us-east-1", + "replicationConfiguration": { + "regions": [ + "ap-northeast-3" + ], + "roleArn": "arn:aws:securitylake:ap-northeast-3:123456789012:data-lake/default" + }, + "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-1-1234567890abcdef0", + "updateStatus": { + "exception": { + "code": "software.amazon.awssdk.services.s3.model.S3Exception", + "reason": "" + }, + "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "status": "FAILED" + } + } + ] + } + +For more information, see `Checking Region status `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/list-log-sources.rst b/awscli/examples/securitylake/list-log-sources.rst new file mode 100644 index 000000000000..3875ad94dd96 --- /dev/null +++ b/awscli/examples/securitylake/list-log-sources.rst @@ -0,0 +1,29 @@ +**To retrieve the Amazon Security Lake log sources** + +The following ``list-log-sources`` example lists the Amazon Security Lake log sources in a specified account. :: + + aws securitylake list-log-sources \ + --accounts "123456789012" + +Output:: + + { + "account": "123456789012", + "region": "xy-region-1", + "sources": [ + { + "awsLogSource": { + "sourceName": "VPC_FLOW", + "sourceVersion": "2.0" + } + }, + { + "awsLogSource": { + "sourceName": "SH_FINDINGS", + "sourceVersion": "2.0" + } + } + ] + } + +For more information, see `Source management `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/list-subscribers.rst b/awscli/examples/securitylake/list-subscribers.rst new file mode 100644 index 000000000000..0c8048acdd0d --- /dev/null +++ b/awscli/examples/securitylake/list-subscribers.rst @@ -0,0 +1,60 @@ +**To retrieve the Amazon Security Lake subscribers** + +The following ``list-subscribers`` example lists all the Amazon Security Lake subscribers in a specific account. :: + + aws securitylake list-subscribers + +Output:: + + { + "subscribers": [ + { + "accessTypes": [ + "S3" + ], + "createdAt": "2024-06-04T15:02:28.921000+00:00", + "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-E1WG1ZNPRXT0D4", + "s3BucketArn": "amzn-s3-demo-bucket--usw2-az1--x-s3", + "sources": [ + { + "awsLogSource": { + "sourceName": "CLOUD_TRAIL_MGMT", + "sourceVersion": "2.0" + } + }, + { + "awsLogSource": { + "sourceName": "LAMBDA_EXECUTION", + "sourceVersion": "1.0" + } + }, + { + "customLogSource": { + "attributes": { + "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/E1WG1ZNPRXT0D4", + "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/E1WG1ZNPRXT0D4", + "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/E1WG1ZNPRXT0D4" + }, + "provider": { + "location": "amzn-s3-demo-bucket--usw2-az1--x-s3", + "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-E1WG1ZNPRXT0D4" + }, + "sourceName": "testCustom2" + } + } + ], + "subscriberArn": "arn:aws:securitylake:eu-west-2:123456789012:subscriber/E1WG1ZNPRXT0D4", + "subscriberEndpoint": "arn:aws:sqs:eu-west-2:123456789012:AmazonSecurityLake-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111-Main-Queue", + "subscriberId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "subscriberIdentity": { + "externalId": "ext123456789012", + "principal": "123456789012" + }, + "subscriberName": "Test", + "subscriberStatus": "ACTIVE", + "updatedAt": "2024-06-04T15:02:35.617000+00:00" + } + ] + } + +For more information, see `Subscriber management `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/list-tags-for-resource.rst b/awscli/examples/securitylake/list-tags-for-resource.rst new file mode 100644 index 000000000000..91382761d590 --- /dev/null +++ b/awscli/examples/securitylake/list-tags-for-resource.rst @@ -0,0 +1,27 @@ +**To list tags for an existing resource** + +The following ``list-tags-for-resource`` example lists tags for the specified Amazon Security Lake subscriber. In this example, the Owner tag key doesn't have an associated tag value. You can use this operation to list tags for other existing Security Lake resources as well. :: + + aws securitylake list-tags-for-resource \ + --resource-arn "arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab" + +Output:: + + { + "tags": [ + { + "key": "Environment", + "value": "Cloud" + }, + { + "key": "CostCenter", + "value": "12345" + }, + { + "key": "Owner", + "value": "" + } + ] + } + +For more information, see `Tagging Amazon Security Lake resources `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/register-data-lake-delegated-administrator.rst b/awscli/examples/securitylake/register-data-lake-delegated-administrator.rst new file mode 100644 index 000000000000..be008ea565f0 --- /dev/null +++ b/awscli/examples/securitylake/register-data-lake-delegated-administrator.rst @@ -0,0 +1,10 @@ +**To designate the delegated administratore** + +The following ``register-data-lake-delegated-administrator`` example designates the specified AWS account as the delegated Amazon Security Lake administrator. :: + + aws securitylake register-data-lake-delegated-administrator \ + --account-id 123456789012 + +This command produces no output. + +For more information, see `Managing multiple accounts with AWS Organizations `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/tag-resource.rst b/awscli/examples/securitylake/tag-resource.rst new file mode 100644 index 000000000000..5512262112ad --- /dev/null +++ b/awscli/examples/securitylake/tag-resource.rst @@ -0,0 +1,11 @@ +**To add tags to an existing resource** + +The following ``tag-resource`` example add tags to an existing subscriber resource. To create a new resource and add one or more tags to it, don't use this operation. Instead, use the appropriate Create operation for the the type of resource that you want to create. :: + + aws securitylake tag-resource \ + --resource-arn "arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab" \ + --tags key=Environment,value=Cloud + +This command produces no output. + +For more information, see `Tagging Amazon Security Lake resources `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/untag-resource.rst b/awscli/examples/securitylake/untag-resource.rst new file mode 100644 index 000000000000..15d3bab171ed --- /dev/null +++ b/awscli/examples/securitylake/untag-resource.rst @@ -0,0 +1,11 @@ +**To remove tags from an existing resource** + +The following ``untag-resource`` example removes the specified tags from an existing subscriber resource. :: + + aws securitylake untag-resource \ + --resource-arn "arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab" \ + --tags Environment Owner + +This command produces no output. + +For more information, see `Tagging Amazon Security Lake resources `__ in the *Amazon Security Lake User Guide*. diff --git a/awscli/examples/securitylake/update-data-lake-exception-subscription.rst b/awscli/examples/securitylake/update-data-lake-exception-subscription.rst new file mode 100644 index 000000000000..0070f99edcb9 --- /dev/null +++ b/awscli/examples/securitylake/update-data-lake-exception-subscription.rst @@ -0,0 +1,12 @@ +**To update notification subscription for Security Lake exceptions** + +The following ``update-data-lake-exception-subscription`` example updates the notification subscription that notifies users of Security Lake exceptions. :: + + aws securitylake update-data-lake-exception-subscription \ + --notification-endpoint "123456789012" \ + --exception-time-to-live 30 \ + --subscription-protocol "email" + +This command produces no output. + +For more information, see `Troubleshooting Amazon Security Lake `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/update-data-lake.rst b/awscli/examples/securitylake/update-data-lake.rst new file mode 100644 index 000000000000..209541e0c643 --- /dev/null +++ b/awscli/examples/securitylake/update-data-lake.rst @@ -0,0 +1,126 @@ +**Example 1: To update your data lake settings** + +The following ``update-data-lake`` example updates the settings of your Amazon Security Lake data lake. You can use this operation to specify data encryption, storage, and rollup Region settings. :: + + aws securitylake update-data-lake \ + --configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}, {"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":365},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}]' \ + --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager" + +Output:: + + { + "dataLakes": [ + { + "createStatus": "COMPLETED", + "dataLakeArn": "arn:aws:securitylake:us-east-1:522481757177:data-lake/default", + "encryptionConfiguration": { + "kmsKeyId": "S3_MANAGED_KEY" + }, + "lifecycleConfiguration": { + "expiration": { + "days": 365 + }, + "transitions": [ + { + "days": 60, + "storageClass": "ONEZONE_IA" + } + ] + }, + "region": "us-east-1", + "replicationConfiguration": { + "regions": [ + "ap-northeast-3" + ], + "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" + }, + "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-1-gnevt6s8z7bzby8oi3uiaysbr8v2ml", + "updateStatus": { + "exception": {}, + "requestId": "f20a6450-d24a-4f87-a6be-1d4c075a59c2", + "status": "INITIALIZED" + } + }, + { + "createStatus": "COMPLETED", + "dataLakeArn": "arn:aws:securitylake:us-east-2:522481757177:data-lake/default", + "encryptionConfiguration": { + "kmsKeyId": "S3_MANAGED_KEY" + }, + "lifecycleConfiguration": { + "expiration": { + "days": 365 + }, + "transitions": [ + { + "days": 60, + "storageClass": "ONEZONE_IA" + } + ] + }, + "region": "us-east-2", + "replicationConfiguration": { + "regions": [ + "ap-northeast-3" + ], + "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" + }, + "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-2-cehuifzl5rwmhm6m62h7zhvtseogr9", + "updateStatus": { + "exception": {}, + "requestId": "f20a6450-d24a-4f87-a6be-1d4c075a59c2", + "status": "INITIALIZED" + } + } + ] + } + +For more information, see `Getting started with Amazon Security Lake `__ in the *Amazon Security Lake User Guide*. + +**Example 2: To configure your data lake in a single Region** + +The following ``create-data-lake`` example enables Amazon Security Lake in a single AWS Region and configures your data lake. :: + + aws securitylake create-data-lake \ + --configurations '[{"encryptionConfiguration": {"kmsKeyId":"1234abcd-12ab-34cd-56ef-1234567890ab"},"region":"us-east-2","lifecycleConfiguration": {"expiration":{"days":500},"transitions":[{"days":30,"storageClass":"GLACIER"}]}}]' \ + --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager" + +Output:: + + { + "dataLakes": [ + { + "createStatus": "COMPLETED", + "dataLakeArn": "arn:aws:securitylake:us-east-2:522481757177:data-lake/default", + "encryptionConfiguration": { + "kmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "lifecycleConfiguration": { + "expiration": { + "days": 500 + }, + "transitions": [ + { + "days": 30, + "storageClass": "GLACIER" + } + ] + }, + "region": "us-east-2", + "replicationConfiguration": { + "regions": [ + "ap-northeast-3" + ], + "roleArn": "arn:aws:securitylake:ap-northeast-3:522481757177:data-lake/default" + }, + "s3BucketArn": "arn:aws:s3:::aws-security-data-lake-us-east-2-cehuifzl5rwmhm6m62h7zhvtseogr9", + "updateStatus": { + "exception": {}, + "requestId": "77702a53-dcbf-493e-b8ef-518e362f3003", + "status": "INITIALIZED" + } + } + ] + } + +For more information, see `Getting started with Amazon Security Lake `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/update-subscriber-notification.rst b/awscli/examples/securitylake/update-subscriber-notification.rst new file mode 100644 index 000000000000..f41338d4a6bf --- /dev/null +++ b/awscli/examples/securitylake/update-subscriber-notification.rst @@ -0,0 +1,17 @@ +**To update a subscriber notification** + +The following ``update-subscriber-notification`` example shows how you can update the notification method for a subscriber. :: + + aws securitylake update-subscriber-notification \ + --subscriber-id "12345ab8-1a34-1c34-1bd4-12345ab9012" \ + --configuration '{"httpsNotificationConfiguration": {"targetRoleArn":"arn:aws:iam::XXX:role/service-role/RoleName", "endpoint":"https://account-management.$3.$2.securitylake.aws.dev/v1/datalake"}}' + +Output:: + + { + "subscriberEndpoint": [ + "https://account-management.$3.$2.securitylake.aws.dev/v1/datalake" + ] + } + +For more information, see `Subscriber management `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/securitylake/update-subscriber.rst b/awscli/examples/securitylake/update-subscriber.rst new file mode 100644 index 000000000000..599286c96253 --- /dev/null +++ b/awscli/examples/securitylake/update-subscriber.rst @@ -0,0 +1,76 @@ +**To update an Amazon Security Lake subscriber.** + +The following ``update-subscriber`` example updates the security lake data access sources for a specific Security Lake subscriber. :: + + aws securitylake update-subscriber \ + --subscriber-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 + +Output:: + + { + "subscriber": { + "accessTypes": [ + "LAKEFORMATION" + ], + "createdAt": "2024-04-19T15:19:44.421803+00:00", + "resourceShareArn": "arn:aws:ram:eu-west-2:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "resourceShareName": "LakeFormation-V3-TKJGBHCKTZ-123456789012", + "sources": [ + { + "awsLogSource": { + "sourceName": "LAMBDA_EXECUTION", + "sourceVersion": "1.0" + } + }, + { + "awsLogSource": { + "sourceName": "EKS_AUDIT", + "sourceVersion": "2.0" + } + }, + { + "awsLogSource": { + "sourceName": "ROUTE53", + "sourceVersion": "1.0" + } + }, + { + "awsLogSource": { + "sourceName": "SH_FINDINGS", + "sourceVersion": "1.0" + } + }, + { + "awsLogSource": { + "sourceName": "VPC_FLOW", + "sourceVersion": "1.0" + } + }, + { + "customLogSource": { + "attributes": { + "crawlerArn": "arn:aws:glue:eu-west-2:123456789012:crawler/E1WG1ZNPRXT0D4", + "databaseArn": "arn:aws:glue:eu-west-2:123456789012:database/E1WG1ZNPRXT0D4", + "tableArn": "arn:aws:glue:eu-west-2:123456789012:table/E1WG1ZNPRXT0D4" + }, + "provider": { + "location": "amzn-s3-demo-bucket--usw2-az1--x-s3", + "roleArn": "arn:aws:iam::123456789012:role/AmazonSecurityLake-E1WG1ZNPRXT0D4" + }, + "sourceName": "testCustom2" + } + } + ], + "subscriberArn": "arn:aws:securitylake:eu-west-2:123456789012:subscriber/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "subscriberId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", + "subscriberIdentity": { + "externalId": "123456789012", + "principal": "123456789012" + }, + "subscriberName": "test", + "subscriberStatus": "ACTIVE", + "updatedAt": "2024-07-18T20:47:37.098000+00:00" + } + } + +For more information, see `Subscriber management `__ in the *Amazon Security Lake User Guide*. \ No newline at end of file diff --git a/awscli/examples/servicecatalog-appregistry/update-attribute-group.rst b/awscli/examples/servicecatalog-appregistry/update-attribute-group.rst index b845b6809039..68b5845ba7e2 100644 --- a/awscli/examples/servicecatalog-appregistry/update-attribute-group.rst +++ b/awscli/examples/servicecatalog-appregistry/update-attribute-group.rst @@ -1,6 +1,6 @@ **To update an attribute group** -The following ``update-attribute-group`` example updates a specific attribute group in your AWS account to include a descritption. :: +The following ``update-attribute-group`` example updates a specific attribute group in your AWS account to include a description. :: aws servicecatalog-appregistry update-attribute-group \ --attribute-group "ExampleAttributeGroup" \ diff --git a/awscli/examples/servicediscovery/create-http-namespace.rst b/awscli/examples/servicediscovery/create-http-namespace.rst new file mode 100644 index 000000000000..6d438927243a --- /dev/null +++ b/awscli/examples/servicediscovery/create-http-namespace.rst @@ -0,0 +1,17 @@ +**To create an HTTP namespace** + +The following ``create-http-namespace`` example creates an HTTP namespace ``example.com``. :: + + aws servicediscovery create-http-namespace \ + --name example.com \ + --creator-request-id example-request-id + +Output:: + + { + "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" + } + +To confirm that the operation succeeded, you can run ``get-operation``. For more information, see `get-operation `__ . + +For more information about creating a namespace, see `Creating an AWS Cloud Map namespace to group application services `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/create-public-dns-namespace.rst b/awscli/examples/servicediscovery/create-public-dns-namespace.rst new file mode 100644 index 000000000000..4cde2b973fcc --- /dev/null +++ b/awscli/examples/servicediscovery/create-public-dns-namespace.rst @@ -0,0 +1,18 @@ +**To create an public DNS namespace** + +The following ``create-public-dns-namespace`` example creates an public DNS namespace ``example.com``. :: + + aws servicediscovery create-public-dns-namespace \ + --name example-public-dns.com \ + --creator-request-id example-public-request-id \ + --properties DnsProperties={SOA={TTL=60}} + +Output:: + + { + "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd" + } + +To confirm that the operation succeeded, you can run ``get-operation``. + +For more information about creating a namespace, see `Creating an AWS Cloud Map namespace to group application services `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/create-service.rst b/awscli/examples/servicediscovery/create-service.rst index 6685389eebcc..d0515d58c3f1 100644 --- a/awscli/examples/servicediscovery/create-service.rst +++ b/awscli/examples/servicediscovery/create-service.rst @@ -1,22 +1,23 @@ -**To create a service** +**Example 1: To create a service using namespace ID** The following ``create-service`` example creates a service. :: aws servicediscovery create-service \ --name myservice \ --namespace-id ns-ylexjili4cdxy3xm \ - --dns-config "NamespaceId=ns-ylexjili4cdxy3xm,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]" + --dns-config "RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]" Output:: { - "Service": { - "Id": "srv-p5zdwlg5uvvzjita", - "Arn": "arn:aws:servicediscovery:us-west-2:803642222207:service/srv-p5zdwlg5uvvzjita", + "Service": { + "Id": "srv-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", + "ResourceOwner": "123456789012", "Name": "myservice", - "NamespaceId": "ns-ylexjili4cdxy3xm", + "NamespaceId": "ns-abcd1234xmpl5678", "DnsConfig": { - "NamespaceId": "ns-ylexjili4cdxy3xm", + "NamespaceId": "ns-abcd1234xmpl5678", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { @@ -25,10 +26,49 @@ Output:: } ] }, - "CreateDate": 1587081768.334, - "CreatorRequestId": "567c1193-6b00-4308-bd57-ad38a8822d25" + "Type": "DNS_HTTP", + "CreateDate": "2025-08-18T13:45:31.023000-05:00", + "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", + "CreatedByAccount": "123456789012" } } -For more information, see `Creating services `__ in the *AWS Cloud Map Developer Guide*. +For more information, see `Creating an AWS Cloud Map service for an application component `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To create a service using namespace ARN** + +The following ``create-service`` example creates a service using a namespace ARN instead of namespace ID. Specifying a namespace ARN is necessary when creating a service in a shared namespace. :: + + aws servicediscovery create-service \ + --name myservice-arn \ + --namespace-id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 \ + --dns-config "RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]" + +Output:: + + { + "Service": { + "Id": "srv-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", + "ResourceOwner": "123456789012", + "Name": "myservice-arn", + "NamespaceId": "ns-abcd1234xmpl5678", + "DnsConfig": { + "NamespaceId": "ns-abcd1234xmpl5678", + "RoutingPolicy": "MULTIVALUE", + "DnsRecords": [ + { + "Type": "A", + "TTL": 60 + } + ] + }, + "Type": "DNS_HTTP", + "CreateDate": "2025-08-18T13:45:31.023000-05:00", + "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", + "CreatedByAccount": "123456789012" + } + } + +For more information, see `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/delete-namespace.rst b/awscli/examples/servicediscovery/delete-namespace.rst index e49db79000ae..83f1dbaad373 100644 --- a/awscli/examples/servicediscovery/delete-namespace.rst +++ b/awscli/examples/servicediscovery/delete-namespace.rst @@ -1,17 +1,31 @@ -**To delete a namespace** +**Example 1: To delete a namespace** The following ``delete-namespace`` example deletes a namespace. :: aws servicediscovery delete-namespace \ - --id ns-ylexjili4cdxy3xm + --id ns-abcd1234xmpl5678 Output:: { - "OperationId": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k98y6drk" + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" } To confirm that the operation succeeded, you can run ``get-operation``. For more information, see `get-operation `__ . -For more information, see `Deleting namespaces `__ in the *AWS Cloud Map Developer Guide*. +For more information, see `Deleting an AWS Cloud Map namespace `__ in the *AWS Cloud Map Developer Guide*. +**Example 2: To delete a namespace using namespace ARN** + +The following ``delete-namespace`` example deletes a namespace using its ARN. :: + + aws servicediscovery delete-namespace \ + --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +For more information, see `Deleting an AWS Cloud Map namespace `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/delete-service-attributes.rst b/awscli/examples/servicediscovery/delete-service-attributes.rst new file mode 100644 index 000000000000..3e672c2f3107 --- /dev/null +++ b/awscli/examples/servicediscovery/delete-service-attributes.rst @@ -0,0 +1,23 @@ +**Example 1: To delete a service attribute** + +The following ``delete-service-attributes`` example deletes a service attribute with the key ``Port`` that is associated with the specified service. :: + + aws servicediscovery delete-service-attributes \ + --service-id srv-abcd1234xmpl5678 \ + --attributes Port + +This command produces no output. + +For more information, see `AWS Cloud Map services `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To delete a service attribute using ARN** + +The following ``delete-service-attributes`` example deletes a service attribute using the service ARN. Specifying the ARN is necessary for deleting attributes associated with services created in namespaces shared with your account. :: + + aws servicediscovery delete-service-attributes \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 \ + --attributes Port + +This command produces no output. + +For more information, see `AWS Cloud Map services `__ and `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/delete-service.rst b/awscli/examples/servicediscovery/delete-service.rst index ebe46dd40c8f..03a90eb079ab 100644 --- a/awscli/examples/servicediscovery/delete-service.rst +++ b/awscli/examples/servicediscovery/delete-service.rst @@ -1,11 +1,21 @@ -**To delete a service** +**Example 1: To delete a service** The following ``delete-service`` example deletes a service. :: aws servicediscovery delete-service \ - --id srv-p5zdwlg5uvvzjita + --id srv-abcd1234xmpl5678 This command produces no output. -For more information, see `Deleting services `__ in the *AWS Cloud Map Developer Guide*. +For more information, see `Deleting an AWS Cloud Map service `__ in the *AWS Cloud Map Developer Guide*. +**Example 2: To delete a service using ARN** + +The following ``delete-service`` example deletes a service using its ARN. :: + + aws servicediscovery delete-service \ + --id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 + +This command produces no output. + +For more information, see `Deleting an AWS Cloud Map service `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/deregister-instance.rst b/awscli/examples/servicediscovery/deregister-instance.rst index 26f6ceb65602..c119b1d3b47a 100644 --- a/awscli/examples/servicediscovery/deregister-instance.rst +++ b/awscli/examples/servicediscovery/deregister-instance.rst @@ -1,4 +1,4 @@ -**To deregister a service instance** +**Example 1: To deregister a service instance** The following ``deregister-instance`` example deregisters a service instance. :: @@ -12,7 +12,23 @@ Output:: "OperationId": "4yejorelbukcjzpnr6tlmrghsjwpngf4-k98rnaiq" } -To confirm that the operation succeeded, you can run ``get-operation``. For more information, see `get-operation `__ . +To confirm that the operation succeeded, you can run ``get-operation``. For more information, see `get-operation `__. For more information, see `Deregistering service instances `__ in the *AWS Cloud Map Developer Guide*. +**Example 2: To deregister a service instance using service ARN for shared namespaces** + +The following ``deregister-instance`` example deregisters a service instance using a service ARN instead of service ID. Specifying an ARN is required when deregistering instances from services created in namespaces that are shared with your account. :: + + aws servicediscovery deregister-instance \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita \ + --instance-id web-server-01 + +Output:: + + { + "OperationId": "gv4g5meo7ndmkqjrhpn39wk42xmpl" + } + +For more information, see `Shared AWS Cloud Map namespaces `__ and `Deregistering an AWS Cloud Map service instance `__ in the *AWS Cloud Map Developer Guide*. + diff --git a/awscli/examples/servicediscovery/discover-instances-revision.rst b/awscli/examples/servicediscovery/discover-instances-revision.rst new file mode 100644 index 000000000000..342c24ae7b8b --- /dev/null +++ b/awscli/examples/servicediscovery/discover-instances-revision.rst @@ -0,0 +1,32 @@ +**Example 1: To discover the revision of an instance** + +The following ``discover-instances-revision`` example discovers the increasing revision of an instance. :: + + aws servicediscovery discover-instances-revision \ + --namespace-name example.com \ + --service-name myservice + +Output:: + + { + "InstancesRevision": 123456 + } + +For more information, see `AWS Cloud Map service instances `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To discover the revision of instances from a specific owner account** + +The following ``discover-instances-revision`` example discovers the revision of instances from a specific owner account. The owner-account parameter is necessary for instances in namespaces that are shared with your account. :: + + aws servicediscovery discover-instances-revision \ + --namespace-name shared-namespace \ + --service-name shared-service \ + --owner-account 123456789111 + +Output:: + + { + "InstancesRevision": 1234567890 + } + +For more information, see `Shared AWS Cloud Map namespaces `__ and `AWS Cloud Map service instances `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/discover-instances.rst b/awscli/examples/servicediscovery/discover-instances.rst index 0f372cdf66bb..d83917e27bf1 100644 --- a/awscli/examples/servicediscovery/discover-instances.rst +++ b/awscli/examples/servicediscovery/discover-instances.rst @@ -1,4 +1,4 @@ -**To discover registered instances** +**Example 1: To discover registered instances** The following ``discover-instances`` example discovers registered instances. :: @@ -22,6 +22,37 @@ Output:: "AWS_INSTANCE_PORT": "808" } } - ] + ], + "InstancesRevision": 85648075627387284 } +For more information, see `AWS Cloud Map service instances `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To discover instances from a specific owner account** + +The following ``discover-instances`` example discovers registered instances from a specific owner account. This parameter is necessary to discover instances in namespaces that are shared with your account. :: + + aws servicediscovery discover-instances \ + --namespace-name shared-namespace \ + --service-name shared-service \ + --owner-account 123456789111 + +Output:: + + { + "Instances": [ + { + "InstanceId": "shared-instance-1234", + "NamespaceName": "shared-namespace", + "ServiceName": "shared-service", + "HealthStatus": "HEALTHY", + "Attributes": { + "AWS_INSTANCE_IPV4": "203.0.113.75", + "AWS_INSTANCE_PORT": "80" + } + } + ], + "InstancesRevision": 1234567890 + } + +For more information, see `Shared AWS Cloud Map namespaces `__ and `AWS Cloud Map service instances `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/get-instance.rst b/awscli/examples/servicediscovery/get-instance.rst new file mode 100644 index 000000000000..74ef94577010 --- /dev/null +++ b/awscli/examples/servicediscovery/get-instance.rst @@ -0,0 +1,50 @@ +**Example 1: To get the details of an instance** + +The following ``get-instance`` example gets the attributes of a service. :: + + aws servicediscovery get-instance \ + --service-id srv-e4anhexample0004 + --instance-id i-abcd1234 + +Output:: + + { + "ResourceOwner": "123456789012", + "Instance": { + "Id": "arn:aws:servicediscovery:us-west-2:111122223333;:service/srv-e4anhexample0004", + "Attributes": { + "AWS_INSTANCE_IPV4": "192.0.2.44", + "AWS_INSTANCE_PORT": "80", + "color": "green", + "region": "us-west-2", + "stage": "beta" + }, + "CreatedByAccount": "123456789012" + } + } + +For more information, see `AWS Cloud Map service instances `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To get the details of an instance using service ARN for shared namespaces** + +The following ``get-instance`` example gets the attributes of an instance using a service ARN instead of service ID. Specifying an ARN is required when getting details of instances associated with namespaces that are shared with your account. The instance returned in this example was registered by account ``123456789111`` in a namespace owned by account ``123456789012``. :: + + aws servicediscovery get-instance \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita \ + --instance-id web-server-01 + +Output:: + + { + "ResourceOwner": "123456789012", + "Instance": { + "Id": "web-server-01", + "Attributes": { + "AWS_INSTANCE_IPV4": "203.0.113.15", + "AWS_INSTANCE_PORT": "80" + }, + "CreatedByAccount": "123456789111" + } + } + +For more information about cross-account namespace sharing, see `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/get-instances-health-status.rst b/awscli/examples/servicediscovery/get-instances-health-status.rst new file mode 100644 index 000000000000..dd51b5939c81 --- /dev/null +++ b/awscli/examples/servicediscovery/get-instances-health-status.rst @@ -0,0 +1,35 @@ +**Example 1: To get the health status of instances associated with a service** + +The following ``get-instances-health-status`` example gets the health status of instances associated with the specified service. :: + + aws servicediscovery get-instances-health-status \ + --service-id srv-e4anhexample0004 + +Output:: + + { + "Status": { + "i-abcd1234": "HEALTHY", + "i-abcd1235": "UNHEALTHY" + } + } + +For more information, see `AWS Cloud Map service instances `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To get the health status of instances using service ARN for shared namespaces** + +The following ``get-instances-health-status`` example gets the health status of instances using a service ARN instead of service ID. Specifying an ARN is required when getting health status for instances associated with namespaces that are shared with the requester's account. :: + + aws servicediscovery get-instances-health-status \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita + +Output:: + + { + "Status": { + "web-server-01": "HEALTHY", + "web-server-02": "UNHEALTHY" + } + } + +For more information, see `AWS Cloud Map service instances `__ and `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/get-namespace.rst b/awscli/examples/servicediscovery/get-namespace.rst new file mode 100644 index 000000000000..e1e3a963cbb0 --- /dev/null +++ b/awscli/examples/servicediscovery/get-namespace.rst @@ -0,0 +1,59 @@ +**Example 1: To get the details of a namespace** + +The following ``get-namespace`` example retrieves information about the specified namespace. :: + + aws servicediscovery get-namespace \ + --id ns-abcd1234xmpl5678 + +Output:: + + { + "Namespace": { + "Id": "ns-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", + "ResourceOwner": "123456789012", + "Name": "example-http.com", + "Type": "HTTP", + "Description": "Example.com AWS Cloud Map HTTP Namespace", + "Properties": { + "DnsProperties": {}, + "HttpProperties": { + "HttpName": "example-http.com" + } + }, + "CreateDate": "2024-02-23T13:35:21.874000-06:00", + "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + } + +For more information, see `AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To get the details of a namespace using ARN** + +The following ``get-namespace`` example retrieves information about the specified namespace using its ARN. Specifying the ARN is necessary for retrieving details of a namespace shared with your account. :: + + aws servicediscovery get-namespace \ + --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 + +Output:: + + { + "Namespace": { + "Id": "ns-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", + "ResourceOwner": "123456789012", + "Name": "example-http.com", + "Type": "HTTP", + "Description": "Example.com AWS Cloud Map HTTP Namespace", + "Properties": { + "DnsProperties": {}, + "HttpProperties": { + "HttpName": "example-http.com" + } + }, + "CreateDate": "2024-02-23T13:35:21.874000-06:00", + "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + } + +For more information, see `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/get-operation.rst b/awscli/examples/servicediscovery/get-operation.rst index c46b33904e4b..718709690322 100644 --- a/awscli/examples/servicediscovery/get-operation.rst +++ b/awscli/examples/servicediscovery/get-operation.rst @@ -1,22 +1,49 @@ -**To get the result of an operation** +**Example 1: To get the result of an operation** -The following ``get-operation`` example gets the result of an operation. :: +The following ``get-operation`` example gets the result of a namespace creation operation. :: aws servicediscovery get-operation \ - --operation-id gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd + --operation-id abcd1234xmpl5678abcd1234xmpl5678-abcd1234 Output:: { "Operation": { - "Id": "gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd", + "Id": "abcd1234xmpl5678abcd1234xmpl5678-abcd1234", "Type": "CREATE_NAMESPACE", "Status": "SUCCESS", - "CreateDate": 1587055860.121, - "UpdateDate": 1587055900.469, + "CreateDate": "2025-01-13T13:35:21.874000-06:00", + "UpdateDate": "2025-01-13T13:36:02.469000-06:00", "Targets": { - "NAMESPACE": "ns-ylexjili4cdxy3xm" + "NAMESPACE": "ns-abcd1234xmpl5678" } } } +For more information, see `Creating an AWS Cloud Map namespace to group application services `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To get an operation from a specific owner account** + +The following ``get-operation`` example gets the result of an operation associated with a specific namespace owner account. This parameter is necessary to get the result of operations associated with namespaces shared with your account. :: + + aws servicediscovery get-operation \ + --operation-id abcd1234xmpl5678abcd1234xmpl5678-abcd1234 \ + --owner-account 123456789111 + +Output:: + + { + "Operation": { + "Id": "abcd1234xmpl5678abcd1234xmpl5678-abcd1234", + "OwnerAccount": "123456789111", + "Type": "CREATE_NAMESPACE", + "Status": "SUCCESS", + "CreateDate": "2025-01-13T13:35:21.874000-06:00", + "UpdateDate": "2025-01-13T13:36:02.469000-06:00", + "Targets": { + "NAMESPACE": "ns-abcd1234xmpl5678" + } + } + } + +For more information, see `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/get-service-attributes.rst b/awscli/examples/servicediscovery/get-service-attributes.rst new file mode 100644 index 000000000000..fab59c3195fe --- /dev/null +++ b/awscli/examples/servicediscovery/get-service-attributes.rst @@ -0,0 +1,41 @@ +**Example 1: To get the attributes of a service** + +The following ``get-service-attributes`` example gets the attributes of a service. :: + + aws servicediscovery get-service-attributes \ + --service-id srv-abcd1234xmpl5678 + +Output:: + + { + "ServiceAttributes": { + "ServiceArn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", + "ResourceOwner": "123456789012", + "Attributes": { + "Port": "80" + } + } + } + +For more information, see `AWS Cloud Map services `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To get the attributes of a service using ARN** + +The following ``get-service-attributes`` example gets the attributes of a service using its ARN. Specifying an ARN is necessary for getting attributes of a service created in a namespace shared with your account. :: + + aws servicediscovery get-service-attributes \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 + +Output:: + + { + "ServiceAttributes": { + "ServiceArn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", + "ResourceOwner": "123456789012", + "Attributes": { + "Port": "80" + } + } + } + +For more information, see `AWS Cloud Map services `__ and `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/get-service.rst b/awscli/examples/servicediscovery/get-service.rst new file mode 100644 index 000000000000..d25a30db0e96 --- /dev/null +++ b/awscli/examples/servicediscovery/get-service.rst @@ -0,0 +1,51 @@ +**Example 1: To get the settings of a service** + +The following ``get-service`` example gets the settings of a specified service. :: + + aws servicediscovery get-service \ + --id srv-abcd1234xmpl5678 + +Output:: + + { + "Service": { + "Id": "srv-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", + "ResourceOwner": "123456789012", + "Name": "test-service", + "NamespaceId": "ns-abcd1234xmpl5678", + "DnsConfig": {}, + "Type": "HTTP", + "CreateDate": "2025-08-18T13:53:02.775000-05:00", + "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", + "CreatedByAccount": "123456789012" + } + } + +For more information, see `AWS Cloud Map services `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To get the settings of a service using ARN** + +The following ``get-service`` example gets the settings of a specified service using its ARN. Specifying the ARN is necessary when retrieving information about a service created in a namespace that is shared with your account. The caller account ``123456789111`` created the service in a namespace shared by account ``123456789012``. :: + + aws servicediscovery get-service \ + --id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 + +Output:: + + { + "Service": { + "Id": "srv-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678", + "ResourceOwner": "123456789012", + "Name": "test-service", + "NamespaceId": "ns-abcd1234xmpl5678", + "DnsConfig": {}, + "Type": "HTTP", + "CreateDate": "2025-08-18T13:53:02.775000-05:00", + "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", + "CreatedByAccount": "123456789111" + } + } + +For more information, see `Creating an AWS Cloud Map service for an application component `__ and `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/list-instances.rst b/awscli/examples/servicediscovery/list-instances.rst index b86d0077218d..19ec8f0f7af7 100644 --- a/awscli/examples/servicediscovery/list-instances.rst +++ b/awscli/examples/servicediscovery/list-instances.rst @@ -1,4 +1,4 @@ -**To list service instances** +**Example 1: To list service instances** The following ``list-instances`` example lists service instances. :: @@ -14,10 +14,45 @@ Output:: "Attributes": { "AWS_INSTANCE_IPV4": "172.2.1.3", "AWS_INSTANCE_PORT": "808" - } + }, + "CreatedByAccount": "123456789012" + } + ], + "ResourceOwner": "123456789012" + } + +For more information, see `Listing AWS Cloud Map service instances `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To list service instances using service ARN** + +The following ``list-instances`` example lists service instances using a service ARN instead of service ID. Specifying an ARN is required when listing instances associated with namespaces that are shared with your account. :: + + aws servicediscovery list-instances \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita + +Output:: + + { + "ResourceOwner": "123456789012", + "Instances": [ + { + "Id": "web-server-01", + "Attributes": { + "AWS_INSTANCE_IPV4": "203.0.113.15", + "AWS_INSTANCE_PORT": "80" + }, + "CreatedByAccount": "123456789012" + }, + { + "Id": "web-server-02", + "Attributes": { + "AWS_INSTANCE_IPV4": "203.0.113.16", + "AWS_INSTANCE_PORT": "80" + }, + "CreatedByAccount": "123456789012" } ] } -For more information, see `Viewing a list of service instances `__ in the *AWS Cloud Map Developer Guide*. +For more information about cross-account namespace sharing, see `Shared AWS Cloud Map namespaces `_ and `Listing AWS Cloud Map service instances `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/list-namespaces.rst b/awscli/examples/servicediscovery/list-namespaces.rst index eda5bfb44af9..de2274a01953 100644 --- a/awscli/examples/servicediscovery/list-namespaces.rst +++ b/awscli/examples/servicediscovery/list-namespaces.rst @@ -1,4 +1,4 @@ -**To list namespaces** +**Example 1: To list namespaces** The following ``list-namespaces`` example lists namespaces. :: @@ -9,50 +9,73 @@ Output:: { "Namespaces": [ { - "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-a3ccy2e7e3a7rile", - "CreateDate": 1585354387.357, - "Id": "ns-a3ccy2e7e3a7rile", + "Id": "ns-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678", + "ResourceOwner": "123456789012", "Name": "local", + "Type": "DNS_PRIVATE", "Properties": { "DnsProperties": { - "HostedZoneId": "Z06752353VBUDTC32S84S" + "HostedZoneId": "Z06752353VBUDTC32S84S", + "SOA": {} }, "HttpProperties": { "HttpName": "local" } }, - "Type": "DNS_PRIVATE" + "CreateDate": "2023-07-17T13:37:27.872000-05:00" }, { - "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-pocfyjtrsmwtvcxx", - "CreateDate": 1586468974.698, - "Description": "My second namespace", - "Id": "ns-pocfyjtrsmwtvcxx", + "Id": "ns-abcd1234xmpl9012", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl9012", + "ResourceOwner": "123456789012", "Name": "My-second-namespace", + "Type": "HTTP", + "Description": "My second namespace", "Properties": { - "DnsProperties": {}, + "DnsProperties": { + "SOA": {} + }, "HttpProperties": { "HttpName": "My-second-namespace" } }, - "Type": "HTTP" - }, + "CreateDate": "2023-11-14T10:35:47.840000-06:00" + } + ] + } + +For more information, see `Listing AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To list namespaces shared by other accounts** + +The following ``list-namespaces`` example lists namespaces that are shared with the caller account by other AWS accounts using the ``RESOURCE_OWNER`` filter. :: + + aws servicediscovery list-namespaces \ + --filters Name=RESOURCE_OWNER,Values=OTHER_ACCOUNTS,Condition=EQ + +Output:: + + { + "Namespaces": [ { - "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-ylexjili4cdxy3xm", - "CreateDate": 1587055896.798, - "Id": "ns-ylexjili4cdxy3xm", - "Name": "example.com", + "Id": "ns-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789111:namespace/ns-abcd1234xmpl5678", + "ResourceOwner": "123456789111", + "Name": "shared-namespace", + "Type": "HTTP", + "Description": "Namespace shared from another account", "Properties": { "DnsProperties": { - "HostedZoneId": "Z09983722P0QME1B3KC8I" + "SOA": {} }, - "HttpProperties": { - "HttpName": "example.com" + "HttpProperties": { + "HttpName": "shared-namespace" } }, - "Type": "DNS_PRIVATE" + "CreateDate": "2025-01-13T13:35:21.874000-06:00" } ] } -For more information, see `Viewing a list of namespaces `__ in the *AWS Cloud Map Developer Guide*. \ No newline at end of file +For more information, see `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. \ No newline at end of file diff --git a/awscli/examples/servicediscovery/list-operations.rst b/awscli/examples/servicediscovery/list-operations.rst new file mode 100644 index 000000000000..cc057700caeb --- /dev/null +++ b/awscli/examples/servicediscovery/list-operations.rst @@ -0,0 +1,29 @@ +**To list operations that meet the specified criteria** + +The following ``list-operations`` example lists operations that have a status of ``PENDING`` or ``SUCCESS``. :: + + aws servicediscovery list-operations \ + --service-id srv-e4anhexample0004 \ + --filters Name=STATUS,Condition=IN,Values=PENDING,SUCCESS + +Output:: + + { + "Operations": [ + { + "Id": "76yy8ovhpdz0plmjzbsnqgnrqvpv2qdt-kexample", + "Status": "SUCCESS" + }, + { + "Id": "prysnyzpji3u2ciy45nke83x2zanl7yk-dexample", + "Status": "SUCCESS" + }, + { + "Id": "ko4ekftir7kzlbechsh7xvcdgcpk66gh-7example", + "Status": "PENDING" + } + ] + } + + +For more information, see `What is AWS Cloud Map? `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/list-services.rst b/awscli/examples/servicediscovery/list-services.rst index 2cd5bcc3e92b..02fa1746618f 100644 --- a/awscli/examples/servicediscovery/list-services.rst +++ b/awscli/examples/servicediscovery/list-services.rst @@ -1,4 +1,4 @@ -**To list services** +**Example 1: To list services** The following ``list-services`` example lists services. :: @@ -26,5 +26,33 @@ Output:: ] } -For more information, see `Viewing a list of services `__ in the *AWS Cloud Map Developer Guide*. +For more information, see `Listing AWS Cloud Map services in a namespace `__ in the *AWS Cloud Map Developer Guide*. +**Example 2: To list services created in shared namespaces** + +The following ``list-services`` example lists services that are created in namespaces shared with the caller account ``123456789012`` by other AWS accounts using the ``RESOURCE_OWNER`` filter. :: + + aws servicediscovery list-services \ + --filters Name=RESOURCE_OWNER,Values=OTHER_ACCOUNTS,Condition=EQ + +Output:: + + { + "Services": [ + { + "Id": "srv-abcd1234xmpl5678", + "Arn": "arn:aws:servicediscovery:us-west-2:123456789111:service/srv-abcd1234xmpl5678", + "ResourceOwner": "123456789111", + "Name": "shared-service", + "NamespaceId": "ns-abcd1234xmpl5678", + "Type": "HTTP", + "Description": "Service in shared namespace", + "DnsConfig": {}, + "CreateDate": "2025-01-13T13:35:21.874000-06:00", + "CreatorRequestId": "abcd1234-5678-90ab-cdef-xmpl12345678", + "CreatedByAccount": "123456789012" + } + ] + } + +For more information, see `Shared AWS Cloud Map namespaces `__ and `Listing AWS Cloud Map services in a namespace `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/list-tags-for-resource.rst b/awscli/examples/servicediscovery/list-tags-for-resource.rst new file mode 100644 index 000000000000..b91254f54684 --- /dev/null +++ b/awscli/examples/servicediscovery/list-tags-for-resource.rst @@ -0,0 +1,23 @@ +**To list tags associated with the specified resource** + +The following ``list-tags-for-resource`` example lists tags for the specified resource. :: + + aws servicediscovery list-tags-for-resource \ + --resource-arn arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004 + +Output:: + + { + "Tags": [ + { + "Key": "Project", + "Value": "Zeta" + }, + { + "Key": "Department", + "Value": "Engineering" + } + ] + } + +For more information, see `Tagging your AWS Cloud Map resources `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/register-instance.rst b/awscli/examples/servicediscovery/register-instance.rst index 50e463de66aa..55eb1ba3e9d7 100644 --- a/awscli/examples/servicediscovery/register-instance.rst +++ b/awscli/examples/servicediscovery/register-instance.rst @@ -1,4 +1,4 @@ -**To register a service instance** +**Example 1: To register a service instance using service ID** The following ``register-instance`` example registers a service instance. :: @@ -15,5 +15,21 @@ Output:: To confirm that the operation succeeded, you can run ``get-operation``. For more information, see `get-operation `__ . -For more information, see `Registering instances `__ in the *AWS Cloud Map Developer Guide*. +For more information about registering an instance, see `Registering a resource as an AWS Cloud Map service instance `__ in the *AWS Cloud Map Developer Guide*. +**Example 2: To register a service instance using service ARN** + +The following ``register-instance`` example registers a service instance using a service ARN. Specifying the ARN is required when registering instances in services that are shared with your account. :: + + aws servicediscovery register-instance \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita \ + --instance-id web-server-01 \ + --attributes=AWS_INSTANCE_IPV4=203.0.113.15,AWS_INSTANCE_PORT=80 + +Output:: + + { + "OperationId": "gv4g5meo7ndmkqjrhpn39wk42xmpl" + } + +For more information about cross-account namespace sharing, see `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/tag-resource.rst b/awscli/examples/servicediscovery/tag-resource.rst new file mode 100644 index 000000000000..89f00b1bd652 --- /dev/null +++ b/awscli/examples/servicediscovery/tag-resource.rst @@ -0,0 +1,11 @@ +**To associate tags with the specified resource** + +The following ``tag-resource`` example associates a ``Department`` tag with the value ``Engineering`` with the specified namespace. :: + + aws servicediscovery tag-resource \ + --resource-arn arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004 \ + --tags Key=Department, Value=Engineering + +This command produces no output. + +For more information, see `Tagging your AWS Cloud Map resources `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/untag-resource.rst b/awscli/examples/servicediscovery/untag-resource.rst new file mode 100644 index 000000000000..5aaab5cb5f15 --- /dev/null +++ b/awscli/examples/servicediscovery/untag-resource.rst @@ -0,0 +1,11 @@ +**To remove tags from the specified resource** + +The following ``untag-resource`` example removes a ``Department`` tag from the specified namespace. :: + + aws servicediscovery untag-resource \ + --resource-arn arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-e4anhexample0004 \ + --tags Key=Department, Value=Engineering + +This command produces no output. + +For more information, see `Tagging your AWS Cloud Map resources `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/update-http-namespace.rst b/awscli/examples/servicediscovery/update-http-namespace.rst new file mode 100644 index 000000000000..873f5cd55fd9 --- /dev/null +++ b/awscli/examples/servicediscovery/update-http-namespace.rst @@ -0,0 +1,35 @@ +**Example 1: To update an HTTP namespace** + +The following ``update-http-namespace`` example updates the specified HTTP namespace's description. :: + + aws servicediscovery update-http-namespace \ + --id ns-abcd1234xmpl5678 \ + --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ + --namespace Description="The updated namespace description." + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +To confirm that the operation succeeded, you can run ``get-operation``. For more information, see `get-operation `__ . + +For more information, see `AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To update an HTTP namespace using ARN** + +The following ``update-http-namespace`` example updates the specified HTTP namespace using its ARN. :: + + aws servicediscovery update-http-namespace \ + --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 \ + --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ + --namespace Description="The updated namespace description." + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +For more information, see `AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/update-instance-custom-health-status.rst b/awscli/examples/servicediscovery/update-instance-custom-health-status.rst new file mode 100644 index 000000000000..33d712a98e52 --- /dev/null +++ b/awscli/examples/servicediscovery/update-instance-custom-health-status.rst @@ -0,0 +1,25 @@ +**Example 1: To update a custom health check** + +The following ``update-instance-custom-health-status`` example updates the status of the custom health check for the specified service and example service instance to ``HEALTHY``. :: + + aws servicediscovery update-instance-custom-health-status \ + --service-id srv-e4anhexample0004 \ + --instance-id example \ + --status HEALTHY + +This command produces no output. + +For more information, see `AWS Cloud Map service health check configuration `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To update a custom health check using service ARN** + +The following ``update-instance-custom-health-status`` example updates the status of the custom health check using a service ARN. The ARN is required when updating health status for instances associated with namespaces that are shared with the your account. :: + + aws servicediscovery update-instance-custom-health-status \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-p5zdwlg5uvvzjita \ + --instance-id web-server-01 \ + --status HEALTHY + +This command produces no output. + +For more information, see `AWS Cloud Map service health check configuration `__ and `Cross-account AWS Cloud Map namespace sharing `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/update-private-dns-namespace.rst b/awscli/examples/servicediscovery/update-private-dns-namespace.rst new file mode 100644 index 000000000000..8c7a187618fb --- /dev/null +++ b/awscli/examples/servicediscovery/update-private-dns-namespace.rst @@ -0,0 +1,35 @@ +**Example 1: To update a private DNS namespace using ID** + +The following ``update-private-dns-namespace`` example updates the description of a private DNS namespace using namespace ID. :: + + aws servicediscovery update-private-dns-namespace \ + --id ns-abcd1234xmpl5678 \ + --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ + --namespace Description="The updated namespace description." + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +To confirm that the operation succeeded, you can run ``get-operation``. + +For more information, see `AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To update a private DNS namespace using ARN** + +The following ``update-private-dns-namespace`` example updates a private DNS namespace using its ARN. :: + + aws servicediscovery update-private-dns-namespace \ + --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 \ + --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ + --namespace Description="The updated namespace description." + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +For more information, see `AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/update-public-dns-namespace.rst b/awscli/examples/servicediscovery/update-public-dns-namespace.rst new file mode 100644 index 000000000000..2605b838de54 --- /dev/null +++ b/awscli/examples/servicediscovery/update-public-dns-namespace.rst @@ -0,0 +1,35 @@ +**Example 1: To update a public DNS namespace using ID** + +The following ``update-public-dns-namespace`` example updates the description of a public DNS namespace using its ID. :: + + aws servicediscovery update-public-dns-namespace \ + --id ns-abcd1234xmpl5678 \ + --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ + --namespace Description="The updated namespace description." + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +To confirm that the operation succeeded, you can run ``get-operation``. + +For more information, see `AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To update a public DNS namespace using ARN** + +The following ``update-public-dns-namespace`` example updates a public DNS namespace using its ARN. :: + + aws servicediscovery update-public-dns-namespace \ + --id arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcd1234xmpl5678 \ + --updater-request-id abcd1234-5678-90ab-cdef-xmpl12345678 \ + --namespace Description="The updated namespace description." + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +For more information, see `AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/update-service-attributes.rst b/awscli/examples/servicediscovery/update-service-attributes.rst new file mode 100644 index 000000000000..abba37153029 --- /dev/null +++ b/awscli/examples/servicediscovery/update-service-attributes.rst @@ -0,0 +1,23 @@ +**Example 1: To update a service to add an attribute** + +The following ``update-service-attributes`` example updates the specified service to add a service attribute with a key ``Port`` and a value ``80``. :: + + aws servicediscovery update-service-attributes \ + --service-id srv-abcd1234xmpl5678 \ + --attributes Port=80 + +This command produces no output. + +For more information, see `AWS Cloud Map services `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To update a service attributes using ARN** + +The following ``update-service-attributes`` example updates a service using its ARN to add a service attribute. Specifying the ARN is necessary for adding attributes to services created in namespaces shared with your account. :: + + aws servicediscovery update-service-attributes \ + --service-id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 \ + --attributes Port=80 + +This command produces no output. + +For more information, see `AWS Cloud Map services `__ and `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/servicediscovery/update-service.rst b/awscli/examples/servicediscovery/update-service.rst new file mode 100644 index 000000000000..60f7e594eefb --- /dev/null +++ b/awscli/examples/servicediscovery/update-service.rst @@ -0,0 +1,33 @@ +**Example 1: To update a service** + +The following ``update-service`` example updates a service to update the ``DnsConfig`` and ``HealthCheckConfig`` settings. :: + + aws servicediscovery update-service \ + --id srv-abcd1234xmpl5678 \ + --service "DnsConfig={DnsRecords=[{Type=A,TTL=60}]},HealthCheckConfig={Type=HTTP,ResourcePath=/,FailureThreshold=2}" + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +To confirm that the operation succeeded, you can run ``get-operation``. + +For more information about updating a service, see `Updating an AWS Cloud Map service `__ in the *AWS Cloud Map Developer Guide*. + +**Example 2: To update a service using ARN** + +The following ``update-service`` example updates a service using its ARN. Specifying an ARN is necessary for services that are created in namespaces shared with your account. :: + + aws servicediscovery update-service \ + --id arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678 \ + --service "DnsConfig={DnsRecords=[{Type=A,TTL=60}]},HealthCheckConfig={Type=HTTP,ResourcePath=/,FailureThreshold=2}" + +Output:: + + { + "OperationId": "abcd1234-5678-90ab-cdef-xmpl12345678" + } + +For more information about updating a service, see `Updating an AWS Cloud Map service `__ and `Shared AWS Cloud Map namespaces `__ in the *AWS Cloud Map Developer Guide*. diff --git a/awscli/examples/ssm/deregister-managed-instance.rst b/awscli/examples/ssm/deregister-managed-instance.rst index 209565502950..b91fa53b461c 100644 --- a/awscli/examples/ssm/deregister-managed-instance.rst +++ b/awscli/examples/ssm/deregister-managed-instance.rst @@ -2,9 +2,9 @@ The following ``deregister-managed-instance`` example deregisters the specified managed instance. :: - aws ssm deregister-managed-instance - --instance-id "mi-08ab247cdfEXAMPLE" + aws ssm deregister-managed-instance \ + --instance-id 'mi-08ab247cdfEXAMPLE' This command produces no output. -For more information, see `Deregistering Managed Instances in a Hybrid Environment `__ in the *AWS Systems Manager User Guide*. +For more information, see `Deregistering managed nodes in a hybrid and multicloud environment `__ in the *AWS Systems Manager User Guide*. diff --git a/awscli/examples/ssm/describe-patch-baselines.rst b/awscli/examples/ssm/describe-patch-baselines.rst index f339dc89bce9..23e93af0c4fc 100755 --- a/awscli/examples/ssm/describe-patch-baselines.rst +++ b/awscli/examples/ssm/describe-patch-baselines.rst @@ -1,6 +1,6 @@ **Example 1: To list all patch baselines** -The following ``describe-patch-baselines`` example retreives details for all patch baselines in your account in the current Region. :: +The following ``describe-patch-baselines`` example retrieves details for all patch baselines in your account in the current Region. :: aws ssm describe-patch-baselines diff --git a/awscli/examples/ssm/get-maintenance-window-task.rst b/awscli/examples/ssm/get-maintenance-window-task.rst index 3fa3672a903f..a1b1fb7efa27 100755 --- a/awscli/examples/ssm/get-maintenance-window-task.rst +++ b/awscli/examples/ssm/get-maintenance-window-task.rst @@ -1,6 +1,6 @@ **To get information about a maintenance window task** -The following ``get-maintenance-window-task`` example retreives details about the specified maintenance window task. :: +The following ``get-maintenance-window-task`` example retrieves details about the specified maintenance window task. :: aws ssm get-maintenance-window-task \ --window-id mw-0c5ed765acEXAMPLE \ diff --git a/awscli/examples/ssm/put-parameter.rst b/awscli/examples/ssm/put-parameter.rst index 75bbc5fdeb7a..8f1dc5a59017 100644 --- a/awscli/examples/ssm/put-parameter.rst +++ b/awscli/examples/ssm/put-parameter.rst @@ -15,7 +15,7 @@ Output:: "Tier": "Standard" } -For more information, see `Create a Systems Manager parameter (AWS CLI) `__, 'Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. +For more information, see `Create a Systems Manager parameter (AWS CLI) `__, `Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. **Example 2: To create an advanced parameter** @@ -35,11 +35,11 @@ Output:: "Tier": "Advanced" } -For more information, see `Create a Systems Manager parameter (AWS CLI) `__, 'Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. +For more information, see `Create a Systems Manager parameter (AWS CLI) `__, `Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. **Example 3: To convert a standard parameter to an advanced parameter** -The following ``put-parameter`` example converts a existing standard parameter into an advanced parameter. :: +The following ``put-parameter`` example converts an existing standard parameter into an advanced parameter. :: aws ssm put-parameter \ --name "MyConvertedParameter" \ @@ -55,7 +55,7 @@ Output:: "Tier": "Advanced" } -For more information, see `Create a Systems Manager parameter (AWS CLI) `__, 'Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. +For more information, see `Create a Systems Manager parameter (AWS CLI) `__, `Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. **Example 4: To create a parameter with a policy attached** @@ -75,7 +75,7 @@ Output:: "Tier": "Advanced" } -For more information, see `Create a Systems Manager parameter (AWS CLI) `__, 'Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. +For more information, see `Create a Systems Manager parameter (AWS CLI) `__, `Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. **Example 5: To add a policy to an existing parameter** @@ -96,4 +96,4 @@ Output:: "Tier": "Advanced" } -For more information, see `Create a Systems Manager parameter (AWS CLI) `__, 'Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. +For more information, see `Create a Systems Manager parameter (AWS CLI) `__, `Managing parameter tiers `__, and `Working with parameter policies `__ in the *AWS Systems Manager User Guide*. \ No newline at end of file diff --git a/awscli/examples/ssm/send-command.rst b/awscli/examples/ssm/send-command.rst index 9db597d25327..e0b6a7afb498 100644 --- a/awscli/examples/ssm/send-command.rst +++ b/awscli/examples/ssm/send-command.rst @@ -52,7 +52,7 @@ Output:: For more information, see `Running Commands Using Systems Manager Run Command `__ in the *AWS Systems Manager User Guide*. -**Examle 2: To get IP information about an instance** +**Example 2: To get IP information about an instance** The following ``send-command`` example retrieves the IP information about an instance. :: diff --git a/awscli/examples/sts/assume-role-with-web-identity.rst b/awscli/examples/sts/assume-role-with-web-identity.rst index f7afe1f6422a..fbabfa6aa97a 100644 --- a/awscli/examples/sts/assume-role-with-web-identity.rst +++ b/awscli/examples/sts/assume-role-with-web-identity.rst @@ -13,12 +13,12 @@ The following ``assume-role-with-web-identity`` command retrieves a set of short Output:: { - "SubjectFromWebIdentityToken": "amzn1.account.AF6RHO7KZU5XRVQJGXK6HB56KR2A" + "SubjectFromWebIdentityToken": "amzn1.account.AF6RHO7KZU5XRVQJGXK6HB56KR2A", "Audience": "client.5498841531868486423.1548@apps.example.com", "AssumedRoleUser": { "Arn": "arn:aws:sts::123456789012:assumed-role/FederatedWebIdentityRole/app1", "AssumedRoleId": "AROACLKWSDQRAOEXAMPLE:app1" - } + }, "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", diff --git a/awscli/examples/sts/assume-root.rst b/awscli/examples/sts/assume-root.rst new file mode 100644 index 000000000000..56ec7fd4b6b7 --- /dev/null +++ b/awscli/examples/sts/assume-root.rst @@ -0,0 +1,22 @@ +**To launch a privileged session** + +The following ``assume-root`` command retrieves a set of short-term credentials you can use to remove a misconfigured Amazon S3 bucket policy for a member account in your organization. :: + + aws sts assume-root \ + --duration-seconds 900 \ + --target-principal 111122223333 \ + --task-policy-arn arn=arn:aws:iam::aws:policy/root-task/S3UnlockBucketPolicy + +Output:: + + { + "Credentials": { + "SecretAccessKey": "9drTJvcXLB89EXAMPLELB8923FB892xMFI", + "SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=", + "Expiration": "2024-11-15T00:05:07Z", + "AccessKeyId": "ASIAJEXAMPLEXEG2JICEA" + }, + "SourceIdentity": "Alice", + } + +The output of the command contains an access key, secret key, and session token that you can use to to perform privileged actions in the member account. For more information, see `Perform a privileged task on an AWS Organizations member account `__ in the *AWS IAM User Guide*. \ No newline at end of file diff --git a/awscli/examples/swf/register-domain.rst b/awscli/examples/swf/register-domain.rst index c3e7d78ca4db..f509ead17d07 100644 --- a/awscli/examples/swf/register-domain.rst +++ b/awscli/examples/swf/register-domain.rst @@ -1,6 +1,6 @@ **Registering a Domain** -You can use the AWS CLI to register new domains. Use the ``swf register-domain`` command. There are two required parameters, ``--name``, which takes the domain name, and ``--workflow-execution-retention-period-in-days``, which takes an integer to specify the number of days to retain workflow execution data on this domain, up to a maxium period of 90 days (for more information, see the `SWF FAQ `). Workflow execution data +You can use the AWS CLI to register new domains. Use the ``swf register-domain`` command. There are two required parameters, ``--name``, which takes the domain name, and ``--workflow-execution-retention-period-in-days``, which takes an integer to specify the number of days to retain workflow execution data on this domain, up to a maximum period of 90 days (for more information, see the `SWF FAQ `). Workflow execution data will not be retained after the specified number of days have passed. :: aws swf register-domain \ diff --git a/awscli/examples/synthetics/associate-resource.rst b/awscli/examples/synthetics/associate-resource.rst new file mode 100644 index 000000000000..3c774b8f4f12 --- /dev/null +++ b/awscli/examples/synthetics/associate-resource.rst @@ -0,0 +1,11 @@ +**To associate a canary with a group** + +The following ``associate-resource`` example associates a canary with a group named ``demo_group``. :: + + aws synthetics associate-resource \ + --group-identifier demo_group \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/create-canary.rst b/awscli/examples/synthetics/create-canary.rst new file mode 100644 index 000000000000..d48ba66002f4 --- /dev/null +++ b/awscli/examples/synthetics/create-canary.rst @@ -0,0 +1,48 @@ +**To create a canary** + +The following ``create-canary`` example creates a canary named ``demo_canary``. :: + + aws synthetics create-canary \ + --name demo_canary \ + --code '{"S3Bucket": "artifacts3bucket", "S3Key":"demo_canary.zip", "Handler": "index.lambda_handler"}' \ + --artifact-s3-location s3://amzn-s3-demo-bucket/demo_canary.zip \ + --execution-role-arn arn:aws:iam::123456789012:role/demo_canary_role \ + --schedule Expression="rate(10 minutes)" \ + --runtime-version syn-nodejs-puppeteer-9.1 + +Output:: + + { + "Canary": { + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Name": "demo_canary", + "Code": { + "Handler": "index.lambda_handler" + }, + "ExecutionRoleArn": "arn:aws:iam::123456789012:role/demo_canary_role", + "Schedule": { + "Expression": "rate(10 minutes)", + "DurationInSeconds": 0 + }, + "RunConfig": { + "TimeoutInSeconds": 600, + "MemoryInMB": 1000, + "ActiveTracing": false + }, + "SuccessRetentionPeriodInDays": 31, + "FailureRetentionPeriodInDays": 31, + "Status": { + "State": "CREATING", + "StateReasonCode": "CREATE_PENDING" + }, + "Timeline": { + "Created": "2024-10-15T19:03:08.826000+05:30", + "LastModified": "2024-10-15T19:03:08.826000+05:30" + }, + "ArtifactS3Location": "amzn-s3-demo-bucket/demo_canary.zip", + "RuntimeVersion": "syn-nodejs-puppeteer-9.1", + "Tags": {} + } + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/create-group.rst b/awscli/examples/synthetics/create-group.rst new file mode 100644 index 000000000000..781b0f9ed359 --- /dev/null +++ b/awscli/examples/synthetics/create-group.rst @@ -0,0 +1,21 @@ +**To create a group** + +The following ``create-group`` example creates a group named ``demo_group``. :: + + aws synthetics create-group \ + --name demo_group + +Output:: + + { + "Group": { + "Id": "example123", + "Name": "demo_group", + "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123", + "Tags": {}, + "CreatedTime": "2024-10-15T14:47:23.811000+05:30", + "LastModifiedTime": "2024-10-15T14:47:23.811000+05:30" + } + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/delete-canary.rst b/awscli/examples/synthetics/delete-canary.rst new file mode 100644 index 000000000000..a84d626ba1ef --- /dev/null +++ b/awscli/examples/synthetics/delete-canary.rst @@ -0,0 +1,10 @@ +**To permanently delete a canary** + +The following ``delete-canary`` example deletes a canary named ``demo_canary``. :: + + aws synthetics delete-canary \ + --name demo_canary + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/delete-group.rst b/awscli/examples/synthetics/delete-group.rst new file mode 100644 index 000000000000..41b5b6628e0b --- /dev/null +++ b/awscli/examples/synthetics/delete-group.rst @@ -0,0 +1,10 @@ +**To delete a group** + +The following ``delete-group`` example deletes a group named ``demo_group``. :: + + aws synthetics delete-group \ + --group-identifier demo_group + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/describe-canaries-last-run.rst b/awscli/examples/synthetics/describe-canaries-last-run.rst new file mode 100644 index 000000000000..74fbb8ab573d --- /dev/null +++ b/awscli/examples/synthetics/describe-canaries-last-run.rst @@ -0,0 +1,31 @@ +**To see information from the most recent run of each canary** + +The following ``describe-canaries-last-run`` example returns the most recent run of each canary that you have created. :: + + aws synthetics describe-canaries-last-run + +Output:: + + { + "CanariesLastRun": [ + { + "CanaryName": "demo_canary", + "LastRun": { + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Name": "demo_canary", + "Status": { + "State": "PASSED", + "StateReason": "", + "StateReasonCode": "" + }, + "Timeline": { + "Started": "2024-10-15T19:20:39.691000+05:30", + "Completed": "2024-10-15T19:20:58.211000+05:30" + }, + "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-abc-example1234/2024/10/15/13/50-39-690" + } + } + ] + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/describe-canaries.rst b/awscli/examples/synthetics/describe-canaries.rst new file mode 100644 index 000000000000..319e48d4409c --- /dev/null +++ b/awscli/examples/synthetics/describe-canaries.rst @@ -0,0 +1,48 @@ +**To list canaries in your account** + +The following ``describe-canaries`` example lists the details of canaries in your account. :: + + aws synthetics describe-canaries + +Output:: + + { + "Canaries": [ + { + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Name": "demo_canary", + "Code": { + "SourceLocationArn": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example11111b8:1", + "Handler": "pageLoadBlueprint.handler" + }, + "ExecutionRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudWatchSyntheticsRole-demo_canary-a12-a123bc456789", + "Schedule": { + "Expression": "rate(5 minutes)", + "DurationInSeconds": 0 + }, + "RunConfig": { + "TimeoutInSeconds": 300, + "MemoryInMB": 1000, + "ActiveTracing": false + }, + "SuccessRetentionPeriodInDays": 31, + "FailureRetentionPeriodInDays": 31, + "Status": { + "State": "RUNNING" + }, + "Timeline": { + "Created": "2024-10-15T18:55:15.168000+05:30", + "LastModified": "2024-10-15T18:55:40.540000+05:30", + "LastStarted": "2024-10-15T18:55:40.540000+05:30" + }, + "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-a12-a123bc456789", + "EngineArn": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", + "RuntimeVersion": "syn-nodejs-puppeteer-9.1", + "Tags": { + "blueprint": "heartbeat" + } + } + ] + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/describe-runtime-versions.rst b/awscli/examples/synthetics/describe-runtime-versions.rst new file mode 100644 index 000000000000..7ba3841d4002 --- /dev/null +++ b/awscli/examples/synthetics/describe-runtime-versions.rst @@ -0,0 +1,74 @@ +**To return a list of synthetics canary runtime versions** + +The following ``describe-runtime-versions`` example returns the list of synthetics canary runtime versions. :: + + aws synthetics describe-runtime-versions + +Output:: + + { + "RuntimeVersions": [ + { + "VersionName": "syn-nodejs-puppeteer-9.1", + "Description": "Security fixes and bug fix for date range error in har. Dependencies: Node JS 20.x, Puppeteer-core 22.12.1, Chromium 126.0.6478.126", + "ReleaseDate": "2024-10-02T05:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-9.0", + "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 20.x, Puppeteer-core 22.12.1, Chromium 126.0.6478.126", + "ReleaseDate": "2024-07-22T05:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-8.0", + "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 20.x, Puppeteer-core 22.10.0, Chromium 125.0.6422.112", + "ReleaseDate": "2024-06-21T05:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-7.0", + "Description": "Upgraded Chromium and Puppeteer. Dependencies: Node JS 18.x, Puppeteer-core 21.9.0, Chromium 121.0.6167.139", + "ReleaseDate": "2024-03-08T05:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-6.2", + "Description": "Updated shared libraries for Chromium and added ephemeral storage monitoring. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", + "ReleaseDate": "2024-02-02T05:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-6.1", + "Description": "Added puppeteer launch retry. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", + "ReleaseDate": "2023-11-13T05:30:00+05:30", + "DeprecationDate": "2024-03-08T13:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-6.0", + "Description": "Reduced X-Ray traces of a canary run, improved duration metric and upgraded to NodeJS 18.x. Dependencies: Node JS 18.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", + "ReleaseDate": "2023-09-15T05:30:00+05:30", + "DeprecationDate": "2024-03-08T13:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-5.2", + "Description": "Updated shared libraries for Chromium. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", + "ReleaseDate": "2024-02-01T05:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-5.1", + "Description": "Fixes a bug about missing request headers in har. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", + "ReleaseDate": "2023-08-09T05:30:00+05:30", + "DeprecationDate": "2024-03-08T13:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-5.0", + "Description": "Upgraded Puppeteer and Chromium. Dependencies: Node JS 16.x, Puppeteer-core 19.7.0, Chromium 111.0.5563.146", + "ReleaseDate": "2023-07-21T05:30:00+05:30", + "DeprecationDate": "2024-03-08T13:30:00+05:30" + }, + { + "VersionName": "syn-nodejs-puppeteer-4.0", + "Description": "Upgraded to NodeJS 16.x. Dependencies: Node JS 16.x, Puppeteer-core 5.5.0, Chromium 92.0.4512.0", + "ReleaseDate": "2023-05-01T05:30:00+05:30", + "DeprecationDate": "2024-03-08T13:30:00+05:30" + } + ] + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/disassociate-resource.rst b/awscli/examples/synthetics/disassociate-resource.rst new file mode 100644 index 000000000000..fe0856c16f60 --- /dev/null +++ b/awscli/examples/synthetics/disassociate-resource.rst @@ -0,0 +1,11 @@ +**To remove a canary from a group** + +The following ``disassociate-resource`` example removes a canary from the group named ``demo_group``. :: + + aws synthetics disassociate-resource \ + --group-identifier demo_group \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/get-canary-runs.rst b/awscli/examples/synthetics/get-canary-runs.rst new file mode 100644 index 000000000000..c329684a9933 --- /dev/null +++ b/awscli/examples/synthetics/get-canary-runs.rst @@ -0,0 +1,29 @@ +**To retrieve a list of runs for a specified canary** + +The following ``get-canary-runs`` example retrieves a list of runs for the canary named ``demo_canary``. :: + + aws synthetics get-canary-runs \ + --name demo_canary + +Output:: + + { + "CanaryRuns": [ + { + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Name": "demo_canary", + "Status": { + "State": "PASSED", + "StateReason": "", + "StateReasonCode": "" + }, + "Timeline": { + "Started": "2024-10-16T10:38:57.013000+05:30", + "Completed": "2024-10-16T10:39:25.793000+05:30" + }, + "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-abc-example1234/2024/10/15/13/50-39-690" + } + ] + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/get-canary.rst b/awscli/examples/synthetics/get-canary.rst new file mode 100644 index 000000000000..4812dae10dcf --- /dev/null +++ b/awscli/examples/synthetics/get-canary.rst @@ -0,0 +1,47 @@ +**To retrieve complete information about one canary** + +The following ``get-canary`` example retrieves complete information about the canary named ``demo_canary``. :: + + aws synthetics get-canary \ + --name demo_canary + +Output:: + + { + "Canary": { + "Id": "a1b2c3d4-5678-90ab-cdef-example11111", + "Name": "demo_canary", + "Code": { + "SourceLocationArn": "arn:aws:lambda:us-east-1:123456789012:layer:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", + "Handler": "pageLoadBlueprint.handler" + }, + "ExecutionRoleArn": "arn:aws:iam::123456789012:role/demo_canary_role", + "Schedule": { + "Expression": "rate(10 minutes)", + "DurationInSeconds": 0 + }, + "RunConfig": { + "TimeoutInSeconds": 300, + "MemoryInMB": 1000, + "ActiveTracing": false + }, + "SuccessRetentionPeriodInDays": 31, + "FailureRetentionPeriodInDays": 31, + "Status": { + "State": "RUNNING" + }, + "Timeline": { + "Created": "2024-10-15T18:55:15.168000+05:30", + "LastModified": "2024-10-15T18:55:40.540000+05:30", + "LastStarted": "2024-10-15T18:55:40.540000+05:30" + }, + "ArtifactS3Location": "cw-syn-results-123456789012-us-east-1/canary/us-east-1/demo_canary-a12-a123bc456789", + "EngineArn": "arn:aws:lambda:us-east-1:123456789012:function:cwsyn-demo_canary-a1b2c3d4-5678-90ab-cdef-example111118:1", + "RuntimeVersion": "syn-nodejs-puppeteer-9.1", + "Tags": { + "blueprint": "heartbeat" + } + } + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/get-group.rst b/awscli/examples/synthetics/get-group.rst new file mode 100644 index 000000000000..3db2e092451b --- /dev/null +++ b/awscli/examples/synthetics/get-group.rst @@ -0,0 +1,21 @@ +**To return information about one group** + +The following ``get-group`` example returns information about the group named ``demo_group``. :: + + aws synthetics get-group \ + --group-identifier demo_group + +Output:: + + { + "Group": { + "Id": "example123", + "Name": "demo_group", + "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123", + "Tags": {}, + "CreatedTime": "2024-10-15T14:47:23.811000+05:30", + "LastModifiedTime": "2024-10-15T14:47:23.811000+05:30" + } + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/list-associated-groups.rst b/awscli/examples/synthetics/list-associated-groups.rst new file mode 100644 index 000000000000..bdb618539103 --- /dev/null +++ b/awscli/examples/synthetics/list-associated-groups.rst @@ -0,0 +1,20 @@ +**To return a list of the groups** + +The following ``list-associated-groups`` example returns a list of the groups associated with the canary named ``demo_canary``. :: + + aws synthetics list-associated-groups \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary + +Output:: + + { + "Groups": [ + { + "Id": "example123", + "Name": "demo_group", + "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" + } + ] + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/list-group-resources.rst b/awscli/examples/synthetics/list-group-resources.rst new file mode 100644 index 000000000000..1d74dfa97a41 --- /dev/null +++ b/awscli/examples/synthetics/list-group-resources.rst @@ -0,0 +1,16 @@ +**To return a list of the ARNs of the canaries that are associated with the specified group** + +The following ``list-group-resources`` example returns a list of the ARNs of the canaries that are associated with the group named ``demo_group``. :: + + aws synthetics list-group-resources \ + --group-identifier demo_group + +Output:: + + { + "Resources": [ + "arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary" + ] + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/list-groups.rst b/awscli/examples/synthetics/list-groups.rst new file mode 100644 index 000000000000..88cb068874de --- /dev/null +++ b/awscli/examples/synthetics/list-groups.rst @@ -0,0 +1,19 @@ +**To return a list of all groups in the account** + +The following ``list-groups`` example returns a list of all groups in the account. :: + + aws synthetics list-groups + +Output:: + + { + "Groups": [ + { + "Id": "example123", + "Name": "demo_group", + "Arn": "arn:aws:synthetics:us-east-1:123456789012:group:example123" + } + ] + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/list-tags-for-resource.rst b/awscli/examples/synthetics/list-tags-for-resource.rst new file mode 100644 index 000000000000..fbf7529e5fa6 --- /dev/null +++ b/awscli/examples/synthetics/list-tags-for-resource.rst @@ -0,0 +1,31 @@ +**Example 1: To display the tags associated with a canary** + +The following ``list-tags-for-resource`` example returns the tags associated with a canary named ``demo_canary``. :: + + aws synthetics list-tags-for-resource \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary + +Output:: + + { + "Tags": { + "blueprint": "heartbeat" + } + } + +**Example 2: To display the tags associated with a group** + +The following ``list-tags-for-resource`` example returns the tags associated with a group named ``demo_group``. :: + + aws synthetics list-tags-for-resource \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123 + +Output:: + + { + "Tags": { + "team": "Devops" + } + } + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/start-canary.rst b/awscli/examples/synthetics/start-canary.rst new file mode 100644 index 000000000000..87802f04ce9a --- /dev/null +++ b/awscli/examples/synthetics/start-canary.rst @@ -0,0 +1,10 @@ +**To run a canary** + +The following ``start-canary`` example runs a canary named ``demo_canary``. :: + + aws synthetics start-canary \ + --name demo_canary + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/stop-canary.rst b/awscli/examples/synthetics/stop-canary.rst new file mode 100644 index 000000000000..24b69b51c185 --- /dev/null +++ b/awscli/examples/synthetics/stop-canary.rst @@ -0,0 +1,10 @@ +**To stop a canary** + +The following ``stop-canary`` example stops the canary named ``demo_canary``. :: + + aws synthetics stop-canary \ + --name demo_canary + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/tag-resource.rst b/awscli/examples/synthetics/tag-resource.rst new file mode 100644 index 000000000000..aa82e0718bd1 --- /dev/null +++ b/awscli/examples/synthetics/tag-resource.rst @@ -0,0 +1,21 @@ +**Example 1: To assign a tag to the canary** + +The following ``tag-resource`` example assigns a tag to the canary named ``demo_canary``. :: + + aws synthetics tag-resource \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary \ + --tags blueprint=heartbeat + +This command produces no output. + +**Example 2: To assign a tag to the group** + +The following ``tag-resource`` example assigns a tag to the group named ``demo_group``. :: + + aws synthetics tag-resource \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123 \ + --tags team=Devops + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/untag-resource.rst b/awscli/examples/synthetics/untag-resource.rst new file mode 100644 index 000000000000..bc747619ee3b --- /dev/null +++ b/awscli/examples/synthetics/untag-resource.rst @@ -0,0 +1,21 @@ +**Example 1: To remove a tag from the canary** + +The following ``untag-resource`` example removes a tag from the canary named ``demo_canary``. :: + + aws synthetics untag-resource \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:canary:demo_canary \ + --tag-keys blueprint + +This command produces no output. + +**Example 2: To remove a tag from the group** + +The following ``untag-resource`` example assigns a removes a tag from the group named ``demo_group``. :: + + aws synthetics untag-resource \ + --resource-arn arn:aws:synthetics:us-east-1:123456789012:group:example123 \ + --tag-keys team + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/synthetics/update-canary.rst b/awscli/examples/synthetics/update-canary.rst new file mode 100644 index 000000000000..2949c35ce0de --- /dev/null +++ b/awscli/examples/synthetics/update-canary.rst @@ -0,0 +1,11 @@ +**To update a canary** + +The following ``update-canary`` example updates the configuration of a canary named ``demo_canary``. :: + + aws synthetics update-canary \ + --name demo_canary \ + --schedule Expression="rate(15 minutes)" + +This command produces no output. + +For more information, see `Synthetic monitoring (canaries) `__ in the *Amazon CloudWatch User Guide*. \ No newline at end of file diff --git a/awscli/examples/transcribe/create-language-model.rst b/awscli/examples/transcribe/create-language-model.rst index a9aadfb8476b..aeaab9088779 100644 --- a/awscli/examples/transcribe/create-language-model.rst +++ b/awscli/examples/transcribe/create-language-model.rst @@ -6,7 +6,7 @@ The following ``create-language-model`` example creates a custom language model. --language-code language-code \ --base-model-name base-model-name \ --model-name cli-clm-example \ - --input-data-config S3Uri="s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix-for-training-data",TuningDataS3Uri="s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix-for-tuning-data",DataAccessRoleArn="arn:aws:iam::AWS-account-number:role/IAM-role-with-permissions-to-create-a-custom-language-model" + --input-data-config S3Uri="s3://amzn-s3-demo-bucket/Amazon-S3-Prefix-for-training-data",TuningDataS3Uri="s3://amzn-s3-demo-bucket/Amazon-S3-Prefix-for-tuning-data",DataAccessRoleArn="arn:aws:iam::AWS-account-number:role/IAM-role-with-permissions-to-create-a-custom-language-model" Output:: @@ -15,8 +15,8 @@ Output:: "BaseModelName": "base-model-name", "ModelName": "cli-clm-example", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix/", - "TuningDataS3Uri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix/", + "S3Uri": "s3://amzn-s3-demo-bucket/Amazon-S3-Prefix/", + "TuningDataS3Uri": "s3://amzn-s3-demo-bucket/Amazon-S3-Prefix/", "DataAccessRoleArn": "arn:aws:iam::AWS-account-number:role/IAM-role-with-permissions-create-a-custom-language-model" }, "ModelStatus": "IN_PROGRESS" @@ -32,7 +32,7 @@ The following ``create-language-model`` example transcribes your audio file. You --language-code en-US \ --base-model-name base-model-name \ --model-name cli-clm-example \ - --input-data-config S3Uri="s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix-For-Training-Data",DataAccessRoleArn="arn:aws:iam::AWS-account-number:role/IAM-role-with-permissions-to-create-a-custom-language-model" + --input-data-config S3Uri="s3://amzn-s3-demo-bucket/Amazon-S3-Prefix-For-Training-Data",DataAccessRoleArn="arn:aws:iam::AWS-account-number:role/IAM-role-with-permissions-to-create-a-custom-language-model" Output:: @@ -41,7 +41,7 @@ Output:: "BaseModelName": "base-model-name", "ModelName": "cli-clm-example", "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix-For-Training-Data/", + "S3Uri": "s3://amzn-s3-demo-bucket/Amazon-S3-Prefix-For-Training-Data/", "DataAccessRoleArn": "arn:aws:iam::your-AWS-account-number:role/IAM-role-with-permissions-to-create-a-custom-language-model" }, "ModelStatus": "IN_PROGRESS" diff --git a/awscli/examples/transcribe/create-medical-vocabulary.rst b/awscli/examples/transcribe/create-medical-vocabulary.rst index c28f177872f0..038511a4124d 100644 --- a/awscli/examples/transcribe/create-medical-vocabulary.rst +++ b/awscli/examples/transcribe/create-medical-vocabulary.rst @@ -5,7 +5,7 @@ The following ``create-medical-vocabulary`` example creates a custom vocabulary. aws transcribe create-medical-vocabulary \ --vocabulary-name cli-medical-vocab-example \ --language-code language-code \ - --vocabulary-file-uri https://DOC-EXAMPLE-BUCKET.AWS-Region.amazonaws.com/the-text-file-for-the-medical-custom-vocabulary.txt + --vocabulary-file-uri https://amzn-s3-demo-bucket.AWS-Region.amazonaws.com/the-text-file-for-the-medical-custom-vocabulary.txt Output:: diff --git a/awscli/examples/transcribe/create-vocabulary-filter.rst b/awscli/examples/transcribe/create-vocabulary-filter.rst index 50ab423ce191..011a8a1677c5 100644 --- a/awscli/examples/transcribe/create-vocabulary-filter.rst +++ b/awscli/examples/transcribe/create-vocabulary-filter.rst @@ -4,7 +4,7 @@ The following ``create-vocabulary-filter`` example creates a vocabulary filter t aws transcribe create-vocabulary-filter \ --language-code language-code \ - --vocabulary-filter-file-uri s3://DOC-EXAMPLE-BUCKET/vocabulary-filter.txt \ + --vocabulary-filter-file-uri s3://amzn-s3-demo-bucket/vocabulary-filter.txt \ --vocabulary-filter-name cli-vocabulary-filter-example Output:: diff --git a/awscli/examples/transcribe/create-vocabulary.rst b/awscli/examples/transcribe/create-vocabulary.rst index de3d2f8efe29..cd0417f00185 100644 --- a/awscli/examples/transcribe/create-vocabulary.rst +++ b/awscli/examples/transcribe/create-vocabulary.rst @@ -5,7 +5,7 @@ The following ``create-vocabulary`` example creates a custom vocabulary. To crea aws transcribe create-vocabulary \ --language-code language-code \ --vocabulary-name cli-vocab-example \ - --vocabulary-file-uri s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/the-text-file-for-the-custom-vocabulary.txt + --vocabulary-file-uri s3://amzn-s3-demo-bucket/Amazon-S3-prefix/the-text-file-for-the-custom-vocabulary.txt Output:: diff --git a/awscli/examples/transcribe/describe-language-model.rst b/awscli/examples/transcribe/describe-language-model.rst index 17c5a2cfbf2a..2044355c40f3 100644 --- a/awscli/examples/transcribe/describe-language-model.rst +++ b/awscli/examples/transcribe/describe-language-model.rst @@ -17,8 +17,8 @@ Output:: "ModelStatus": "IN_PROGRESS", "UpgradeAvailability": false, "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix/", - "TuningDataS3Uri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix/", + "S3Uri": "s3://amzn-s3-demo-bucket/Amazon-S3-Prefix/", + "TuningDataS3Uri": "s3://amzn-s3-demo-bucket/Amazon-S3-Prefix/", "DataAccessRoleArn": "arn:aws:iam::AWS-account-number:role/IAM-role-with-permissions-to-create-a-custom-language-model" } } diff --git a/awscli/examples/transcribe/get-transcription-job.rst b/awscli/examples/transcribe/get-transcription-job.rst index f28aff10c2ac..19f3fa42accb 100644 --- a/awscli/examples/transcribe/get-transcription-job.rst +++ b/awscli/examples/transcribe/get-transcription-job.rst @@ -15,7 +15,7 @@ Output:: "MediaSampleRateHertz": 48000, "MediaFormat": "mp4", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.file-extension" }, "Transcript": { "TranscriptFileUri": "https://Amazon-S3-file-location-of-transcription-output" diff --git a/awscli/examples/transcribe/list-language-models.rst b/awscli/examples/transcribe/list-language-models.rst index 421a4b8c1e66..915f00008f4e 100644 --- a/awscli/examples/transcribe/list-language-models.rst +++ b/awscli/examples/transcribe/list-language-models.rst @@ -17,8 +17,8 @@ Output:: "ModelStatus": "IN_PROGRESS", "UpgradeAvailability": false, "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/clm-training-data/", - "TuningDataS3Uri": "s3://DOC-EXAMPLE-BUCKET/clm-tuning-data/", + "S3Uri": "s3://amzn-s3-demo-bucket/clm-training-data/", + "TuningDataS3Uri": "s3://amzn-s3-demo-bucket/clm-tuning-data/", "DataAccessRoleArn": "arn:aws:iam::AWS-account-number:role/IAM-role-used-to-create-the-custom-language-model" } }, @@ -31,7 +31,7 @@ Output:: "ModelStatus": "IN_PROGRESS", "UpgradeAvailability": false, "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/clm-training-data/", + "S3Uri": "s3://amzn-s3-demo-bucket/clm-training-data/", "DataAccessRoleArn": "arn:aws:iam::AWS-account-number:role/IAM-role-used-to-create-the-custom-language-model" } }, @@ -44,7 +44,7 @@ Output:: "ModelStatus": "COMPLETED", "UpgradeAvailability": false, "InputDataConfig": { - "S3Uri": "s3://DOC-EXAMPLE-BUCKET/clm-training-data/", + "S3Uri": "s3://amzn-s3-demo-bucket/clm-training-data/", "DataAccessRoleArn": "arn:aws:iam::AWS-account-number:role/IAM-role-used-to-create-the-custom-language-model" } } diff --git a/awscli/examples/transcribe/start-medical-transcription-job.rst b/awscli/examples/transcribe/start-medical-transcription-job.rst index d387bcea33d0..3c339af797d4 100644 --- a/awscli/examples/transcribe/start-medical-transcription-job.rst +++ b/awscli/examples/transcribe/start-medical-transcription-job.rst @@ -12,9 +12,9 @@ Contents of ``myfile.json``:: "LanguageCode": "language-code", "Specialty": "PRIMARYCARE", "Type": "DICTATION", - "OutputBucketName":"DOC-EXAMPLE-BUCKET", + "OutputBucketName":"amzn-s3-demo-bucket", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" } } @@ -26,7 +26,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "StartTime": "2020-09-20T00:35:22.256000+00:00", "CreationTime": "2020-09-20T00:35:22.218000+00:00", @@ -51,9 +51,9 @@ Contents of ``mysecondfile.json``:: "LanguageCode": "language-code", "Specialty": "PRIMARYCARE", "Type": "CONVERSATION", - "OutputBucketName":"DOC-EXAMPLE-BUCKET", + "OutputBucketName":"amzn-s3-demo-bucket", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" } } @@ -65,7 +65,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "StartTime": "2020-09-20T23:19:49.965000+00:00", "CreationTime": "2020-09-20T23:19:49.941000+00:00", @@ -90,9 +90,9 @@ Contents of ``mythirdfile.json``:: "LanguageCode": "language-code", "Specialty": "PRIMARYCARE", "Type": "CONVERSATION", - "OutputBucketName":"DOC-EXAMPLE-BUCKET", + "OutputBucketName":"amzn-s3-demo-bucket", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "Settings":{ "ChannelIdentification": true @@ -107,7 +107,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "StartTime": "2020-09-20T23:46:44.081000+00:00", "CreationTime": "2020-09-20T23:46:44.053000+00:00", @@ -135,9 +135,9 @@ Contents of ``myfourthfile.json``:: "LanguageCode": "language-code", "Specialty": "PRIMARYCARE", "Type": "CONVERSATION", - "OutputBucketName":"DOC-EXAMPLE-BUCKET", + "OutputBucketName":"amzn-s3-demo-bucket", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "Settings":{ "ShowSpeakerLabels": true, @@ -153,7 +153,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "StartTime": "2020-09-21T18:43:37.265000+00:00", "CreationTime": "2020-09-21T18:43:37.157000+00:00", @@ -182,9 +182,9 @@ Contents of ``myfifthfile.json``:: "LanguageCode": "language-code", "Specialty": "PRIMARYCARE", "Type": "CONVERSATION", - "OutputBucketName":"DOC-EXAMPLE-BUCKET", + "OutputBucketName":"amzn-s3-demo-bucket", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "Settings":{ "ShowAlternatives": true, @@ -200,7 +200,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "StartTime": "2020-09-21T19:09:18.199000+00:00", "CreationTime": "2020-09-21T19:09:18.171000+00:00", @@ -229,9 +229,9 @@ Contents of ``mysixthfile.json``:: "LanguageCode": "language-code", "Specialty": "PRIMARYCARE", "Type": "DICTATION", - "OutputBucketName":"DOC-EXAMPLE-BUCKET", + "OutputBucketName":"amzn-s3-demo-bucket", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "Settings":{ "ShowAlternatives": true, @@ -247,7 +247,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "StartTime": "2020-09-21T21:01:14.592000+00:00", "CreationTime": "2020-09-21T21:01:14.569000+00:00", @@ -276,9 +276,9 @@ Contents of ``mysixthfile.json``:: "LanguageCode": "language-code", "Specialty": "PRIMARYCARE", "Type": "DICTATION", - "OutputBucketName":"DOC-EXAMPLE-BUCKET", + "OutputBucketName":"amzn-s3-demo-bucket", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "Settings":{ "VocabularyName": "cli-medical-vocab-1" @@ -293,7 +293,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.extension" }, "StartTime": "2020-09-21T21:17:27.045000+00:00", "CreationTime": "2020-09-21T21:17:27.016000+00:00", diff --git a/awscli/examples/transcribe/start-transcription-job.rst b/awscli/examples/transcribe/start-transcription-job.rst index 605b9a1156ca..f141863d1d69 100644 --- a/awscli/examples/transcribe/start-transcription-job.rst +++ b/awscli/examples/transcribe/start-transcription-job.rst @@ -11,7 +11,7 @@ Contents of ``myfile.json``:: "TranscriptionJobName": "cli-simple-transcription-job", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" } } @@ -30,7 +30,7 @@ Contents of ``mysecondfile.json``:: "TranscriptionJobName": "cli-channelid-job", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "Settings":{ "ChannelIdentification":true @@ -45,7 +45,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "StartTime": "2020-09-17T16:07:56.817000+00:00", "CreationTime": "2020-09-17T16:07:56.784000+00:00", @@ -70,7 +70,7 @@ Contents of ``mythirdfile.json``:: "TranscriptionJobName": "cli-speakerid-job", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "Settings":{ "ShowSpeakerLabels": true, @@ -86,7 +86,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "StartTime": "2020-09-17T16:22:59.696000+00:00", "CreationTime": "2020-09-17T16:22:59.676000+00:00", @@ -112,7 +112,7 @@ Contents of ``myfourthfile.json``:: "TranscriptionJobName": "cli-filter-mask-job", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "Settings":{ "VocabularyFilterName": "your-vocabulary-filter", @@ -154,7 +154,7 @@ Contents of ``myfifthfile.json``:: "TranscriptionJobName": "cli-filter-remove-job", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "Settings":{ "VocabularyFilterName": "your-vocabulary-filter", @@ -170,7 +170,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "StartTime": "2020-09-18T16:36:18.568000+00:00", "CreationTime": "2020-09-18T16:36:18.547000+00:00", @@ -196,7 +196,7 @@ Contents of ``mysixthfile.json``:: "TranscriptionJobName": "cli-vocab-job", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "Settings":{ "VocabularyName": "your-vocabulary" @@ -211,7 +211,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "the-language-of-your-transcription-job", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "StartTime": "2020-09-18T16:36:18.568000+00:00", "CreationTime": "2020-09-18T16:36:18.547000+00:00", @@ -236,7 +236,7 @@ Contents of ``myseventhfile.json``:: "TranscriptionJobName": "cli-identify-language-transcription-job", "IdentifyLanguage": true, "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" } } @@ -247,7 +247,7 @@ Output:: "TranscriptionJobName": "cli-identify-language-transcription-job", "TranscriptionJobStatus": "IN_PROGRESS", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/Amazon-S3-prefix/your-media-file-name.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/Amazon-S3-prefix/your-media-file-name.file-extension" }, "StartTime": "2020-09-18T22:27:23.970000+00:00", "CreationTime": "2020-09-18T22:27:23.948000+00:00", @@ -354,7 +354,7 @@ Contents of ``mytenthfile.json``:: "TranscriptionJobName": "cli-clm-2-job-1", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.file-extension" }, "ModelSettings": { "LanguageModelName":"cli-clm-2" @@ -369,7 +369,7 @@ Output:: "TranscriptionJobStatus": "IN_PROGRESS", "LanguageCode": "language-code", "Media": { - "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/your-audio-file.file-extension" + "MediaFileUri": "s3://amzn-s3-demo-bucket/your-audio-file.file-extension" }, "StartTime": "2020-09-28T17:56:01.835000+00:00", "CreationTime": "2020-09-28T17:56:01.801000+00:00", diff --git a/awscli/examples/transcribe/update-medical-vocabulary.rst b/awscli/examples/transcribe/update-medical-vocabulary.rst index 1082522032cb..990b3db75b5d 100644 --- a/awscli/examples/transcribe/update-medical-vocabulary.rst +++ b/awscli/examples/transcribe/update-medical-vocabulary.rst @@ -3,7 +3,7 @@ The following ``update-medical-vocabulary`` example replaces the terms used in a medical custom vocabulary with the new ones. Prerequisite: to replace the terms in a medical custom vocabulary, you need a file with new terms. :: aws transcribe update-medical-vocabulary \ - --vocabulary-file-uri s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix/medical-custom-vocabulary.txt \ + --vocabulary-file-uri s3://amzn-s3-demo-bucket/Amazon-S3-Prefix/medical-custom-vocabulary.txt \ --vocabulary-name medical-custom-vocabulary \ --language-code language diff --git a/awscli/examples/transcribe/update-vocabulary-filter.rst b/awscli/examples/transcribe/update-vocabulary-filter.rst index ae7492b99a6c..96d8d0b5311f 100644 --- a/awscli/examples/transcribe/update-vocabulary-filter.rst +++ b/awscli/examples/transcribe/update-vocabulary-filter.rst @@ -3,7 +3,7 @@ The following ``update-vocabulary-filter`` example replaces the words in a vocabulary filter with new ones. Prerequisite: To update a vocabulary filter with the new words, you must have those words saved as a text file. :: aws transcribe update-vocabulary-filter \ - --vocabulary-filter-file-uri s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix/your-text-file-to-update-your-vocabulary-filter.txt \ + --vocabulary-filter-file-uri s3://amzn-s3-demo-bucket/Amazon-S3-Prefix/your-text-file-to-update-your-vocabulary-filter.txt \ --vocabulary-filter-name vocabulary-filter-name Output:: diff --git a/awscli/examples/transcribe/update-vocabulary.rst b/awscli/examples/transcribe/update-vocabulary.rst index 69708bf8a50c..fef9560aadde 100644 --- a/awscli/examples/transcribe/update-vocabulary.rst +++ b/awscli/examples/transcribe/update-vocabulary.rst @@ -3,7 +3,7 @@ The following ``update-vocabulary`` example overwrites the terms used to create a custom vocabulary with the new ones that you provide. Prerequisite: to replace the terms in a custom vocabulary, you need a file with new terms. :: aws transcribe update-vocabulary \ - --vocabulary-file-uri s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix/custom-vocabulary.txt \ + --vocabulary-file-uri s3://amzn-s3-demo-bucket/Amazon-S3-Prefix/custom-vocabulary.txt \ --vocabulary-name custom-vocabulary \ --language-code language-code diff --git a/awscli/examples/verifiedpermissions/create-policy-template.rst b/awscli/examples/verifiedpermissions/create-policy-template.rst index c4b2edda76c2..f5a6584e59d5 100644 --- a/awscli/examples/verifiedpermissions/create-policy-template.rst +++ b/awscli/examples/verifiedpermissions/create-policy-template.rst @@ -1,12 +1,12 @@ -**Example 1: To create a policy template** +**To create a policy template** The following ``create-policy-template`` example creates a policy template with a statement that contains a placeholder for the principal. :: aws verifiedpermissions create-policy-template \ - --definition file://template1.txt \ + --statement file://template1.txt \ --policy-store-id PSEXAMPLEabcdefg111111 -Contents of file ``template1.txt``:: +Contents of ``template1.txt``:: permit( principal in ?principal, diff --git a/awscli/examples/verifiedpermissions/update-policy.rst b/awscli/examples/verifiedpermissions/update-policy.rst index 1f691c276485..121ea126af5c 100644 --- a/awscli/examples/verifiedpermissions/update-policy.rst +++ b/awscli/examples/verifiedpermissions/update-policy.rst @@ -1,21 +1,22 @@ -**Example 1: To create a static policy** +**To update a static policy** -The following ``create-policy`` example creates a static policy with a policy scope that specifies both a principal and a resource. :: +The following ``update-policy`` example modifies an existing static policy by updating its description and statement. :: - aws verifiedpermissions create-policy \ - --definition file://definition.txt \ + aws verifiedpermissions update-policy \ + --policy-id SPEXAMPLEabcdefg111111 \ + --definition file://updated-definition.txt \ --policy-store-id PSEXAMPLEabcdefg111111 The ``statement`` parameter takes a string representation of a JSON object. It contains embedded quotation marks (") within the outermost quotation mark pair. This requires you to convert the JSON to a string by preceding all embedded quotation marks with a backslash character ( \" ) and combining all lines into a single text line with no line breaks. -Example strings can be displayed wrapped across multiple lines here for readability, but the operation requires the parameters be submitted as single line strings. +You can display example strings wrapped across multiple lines for readability, but the operation requires the parameters to be submitted as single-line strings. -Contents of file ``definition.txt``:: +Contents of file ``updated-definition.txt``:: { "static": { - "description": "Grant everyone of janeFriends UserGroup access to the vacationFolder Album", - "statement": "permit(principal in UserGroup::\"janeFriends\", action, resource in Album::\"vacationFolder\" );" + "description": "Updated policy to grant janeFriends UserGroup access to the vacationFolder Album with view action only", + "statement": "permit(principal in UserGroup::\"janeFriends\", action == Action::\"view\", resource in Album::\"vacationFolder\" );" } } @@ -37,73 +38,4 @@ Output:: } } -**Example 2: To create a static policy that grants access to a resource to everyone** - -The following ``create-policy`` example creates a static policy with a policy scope that specifies only a resource. :: - - aws verifiedpermissions create-policy \ - --definition file://definition2.txt \ - --policy-store-id PSEXAMPLEabcdefg111111 - -Contents of file ``definition2.txt``:: - - { - "static": { - "description": "Grant everyone access to the publicFolder Album", - "statement": "permit(principal, action, resource in Album::\"publicFolder\");" - } - } - -Output:: - - { - "createdDate": "2023-06-12T20:39:44.975897+00:00", - "lastUpdatedDate": "2023-06-12T20:39:44.975897+00:00", - "policyId": "PbfR73F8oh5MMfr9uRtFDB", - "policyStoreId": "PSEXAMPLEabcdefg222222", - "policyType": "STATIC", - "resource": { - "entityId": "publicFolder", - "entityType": "Album" - } - } - -**Example 3: To create a template-linked policy that is associated with the specified template** - -The following ``create-policy`` example creates a template-linked policy using the specified policy template and associates the specified principal to use with the new template-linked policy. :: - - aws verifiedpermissions create-policy \ - --definition file://definition2.txt \ - --policy-store-id PSEXAMPLEabcdefg111111 - -Contents of definition3.txt:: - - { - "templateLinked": { - "policyTemplateId": "PTEXAMPLEabcdefg111111", - "principal": { - "entityType": "User", - "entityId": "alice" - } - } - } - -Output:: - - { - "createdDate": "2023-06-12T20:49:51.490211+00:00", - "lastUpdatedDate": "2023-06-12T20:49:51.490211+00:00", - "policyId": "TPEXAMPLEabcdefg111111", - "policyStoreId": "PSEXAMPLEabcdefg111111", - "policyType": "TEMPLATE_LINKED", - "principal": { - "entityId": "alice", - "entityType": "User" - }, - "resource": { - "entityId": "VacationPhoto94.jpg", - "entityType": "Photo" - } - } - -For more information about policies, see `Amazon Verified Permissions policies `__ in the *Amazon Verified Permissions User Guide*. \ No newline at end of file +For more information about policies, see `Amazon Verified Permissions policies `__ in the *Amazon Verified Permissions User Guide*. diff --git a/awscli/examples/vpc-lattice/create-resource-configuration.rst b/awscli/examples/vpc-lattice/create-resource-configuration.rst new file mode 100644 index 000000000000..91d4ed581372 --- /dev/null +++ b/awscli/examples/vpc-lattice/create-resource-configuration.rst @@ -0,0 +1,32 @@ +**To create a resource configuration** + +The following ``create-resource-configuration`` example creates a resource configuration that specifies a single IPv4 address. :: + + aws vpc-lattice create-resource-configuration \ + --name my-resource-config \ + --type SINGLE \ + --resource-gateway-identifier rgw-0bba03f3d56060135 \ + --resource-configuration-definition 'ipResource={ipAddress=10.0.14.85}' + +Output:: + + { + "allowAssociationToShareableServiceNetwork": true, + "arn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-07129f3acded87625", + "id": "rcfg-07129f3acded87625", + "name": "my-resource-config", + "portRanges": [ + "1-65535" + ], + "protocol": "TCP", + "resourceConfigurationDefinition": { + "ipResource": { + "ipAddress": "10.0.14.85" + } + }, + "resourceGatewayId": "rgw-0bba03f3d56060135", + "status": "ACTIVE", + "type": "SINGLE" + } + +For more information, see `Resource configurations for VPC resources `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/create-resource-gateway.rst b/awscli/examples/vpc-lattice/create-resource-gateway.rst new file mode 100644 index 000000000000..0b34009bdeea --- /dev/null +++ b/awscli/examples/vpc-lattice/create-resource-gateway.rst @@ -0,0 +1,27 @@ +**To create a resource gateway** + +The following ``create-resource-gateway`` example creates a resource gateway for the specified subnet. :: + + aws vpc-lattice create-resource-gateway \ + --name my-resource-gateway \ + --vpc-identifier vpc-0bf4c2739bc05a69 \ + --subnet-ids subnet-08e8943905b63a683 + +Output:: + + { + "arn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourcegateway/rgw-0bba03f3d56060135", + "id": "rgw-0bba03f3d56060135", + "ipAddressType": "IPV4", + "name": "my-resource-gateway", + "securityGroupIds": [ + "sg-087ffd596c5fe962c" + ], + "status": "ACTIVE", + "subnetIds": [ + "subnet-08e8943905b63a683" + ], + "vpcIdentifier": "vpc-0bf4c2739bc05a694" + } + +For more information, see `Resource gateways in VPC Lattice `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/delete-resource-configuration.rst b/awscli/examples/vpc-lattice/delete-resource-configuration.rst new file mode 100644 index 000000000000..15c185f4ccce --- /dev/null +++ b/awscli/examples/vpc-lattice/delete-resource-configuration.rst @@ -0,0 +1,10 @@ +**To delete a resource configuration** + +The following ``delete-resource-configuration`` example deletes the specified resource configuration. :: + + aws vpc-lattice delete-resource-configuration \ + --resource-configuration-identifier rcfg-07129f3acded87625 + +This command produces no output. + +For more information, see `Resource gateways in VPC Lattice `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/delete-resource-gateway.rst b/awscli/examples/vpc-lattice/delete-resource-gateway.rst new file mode 100644 index 000000000000..d571497ed99c --- /dev/null +++ b/awscli/examples/vpc-lattice/delete-resource-gateway.rst @@ -0,0 +1,17 @@ +**To delete a resource gateway** + +The following ``delete-resource-gateway`` example deletes the specified resource gateway. :: + + aws vpc-lattice delete-resource-gateway \ + --resource-gateway-identifier rgw-0bba03f3d56060135 + +Output:: + + { + "arn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourcegateway/rgw-0bba03f3d56060135", + "id": "rgw-0bba03f3d56060135", + "name": "my-resource-gateway", + "status": "DELETE_IN_PROGRESS" + } + +For more information, see `Resource gateways in VPC Lattice `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/get-resource-configuration.rst b/awscli/examples/vpc-lattice/get-resource-configuration.rst new file mode 100644 index 000000000000..419c92735682 --- /dev/null +++ b/awscli/examples/vpc-lattice/get-resource-configuration.rst @@ -0,0 +1,32 @@ +**To get information about a resource configuration** + +The following ``get-resource-configuration`` example gets information about the specified resource configuration. :: + + aws vpc-lattice get-resource-configuration \ + --resource-configuration-identifier rcfg-07129f3acded87625 + +Output:: + + { + "allowAssociationToShareableServiceNetwork": true, + "amazonManaged": false, + "arn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-07129f3acded87625", + "createdAt": "2025-02-01T00:57:35.871000+00:00", + "id": "rcfg-07129f3acded87625", + "lastUpdatedAt": "2025-02-01T00:57:46.874000+00:00", + "name": "my-resource-config", + "portRanges": [ + "1-65535" + ], + "protocol": "TCP", + "resourceConfigurationDefinition": { + "ipResource": { + "ipAddress": "10.0.14.85" + } + }, + "resourceGatewayId": "rgw-0bba03f3d56060135", + "status": "ACTIVE", + "type": "SINGLE" + } + +For more information, see `Resource gateways in VPC Lattice `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/get-resource-gateway.rst b/awscli/examples/vpc-lattice/get-resource-gateway.rst new file mode 100644 index 000000000000..2bf7adc24766 --- /dev/null +++ b/awscli/examples/vpc-lattice/get-resource-gateway.rst @@ -0,0 +1,27 @@ +**To get information about a resource gateway** + +The following ``get-resource-gateway`` example gets information about the specified resource gateway. :: + + aws vpc-lattice get-resource-gateway \ + --resource-gateway-identifier rgw-0bba03f3d56060135 + +Output:: + + { + "arn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourcegateway/rgw-0bba03f3d56060135", + "createdAt": "2025-02-01T00:57:33.241000+00:00", + "id": "rgw-0bba03f3d56060135", + "ipAddressType": "IPV4", + "lastUpdatedAt": "2025-02-01T00:57:44.351000+00:00", + "name": "my-resource-gateway", + "securityGroupIds": [ + "sg-087ffd596c5fe962c" + ], + "status": "ACTIVE", + "subnetIds": [ + "subnet-08e8943905b63a683" + ], + "vpcId": "vpc-0bf4c2739bc05a694" + } + +For more information, see `Resource gateways in VPC Lattice `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/list-resource-configurations.rst b/awscli/examples/vpc-lattice/list-resource-configurations.rst new file mode 100644 index 000000000000..3f0c816befee --- /dev/null +++ b/awscli/examples/vpc-lattice/list-resource-configurations.rst @@ -0,0 +1,25 @@ +**To list your resource configurations** + +The following ``list-resource-configurations`` example lists your resource configurations. :: + + aws vpc-lattice list-resource-configurations + +Output:: + + { + "items": [ + { + "amazonManaged": false, + "arn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-07129f3acded87625", + "createdAt": "2025-02-01T00:57:35.871000+00:00", + "id": "rcfg-07129f3acded87625", + "lastUpdatedAt": "2025-02-01T00:57:46.874000+00:00", + "name": "my-resource-config", + "resourceGatewayId": "rgw-0bba03f3d56060135", + "status": "ACTIVE", + "type": "SINGLE" + } + ] + } + +For more information, see `Resource configurations `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/list-resource-endpoint-associations.rst b/awscli/examples/vpc-lattice/list-resource-endpoint-associations.rst new file mode 100644 index 000000000000..2984fd582d80 --- /dev/null +++ b/awscli/examples/vpc-lattice/list-resource-endpoint-associations.rst @@ -0,0 +1,24 @@ +**To list the VPC endpoint associations** + +The following ``list-resource-endpoint-associations`` example lists the VPC endpoints associated with the specified resource configuration. :: + + aws vpc-lattice list-resource-endpoint-associations \ + --resource-configuration-identifier rcfg-07129f3acded87625 + +Output:: + + { + "items": [ + { + "arn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceendpointassociation/rea-0956a7435baf89326", + "createdAt": "2025-02-01T00:57:38.998000+00:00", + "id": "rea-0956a7435baf89326", + "resourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-07129f3acded87625", + "resourceConfigurationId": "rcfg-07129f3acded87625", + "vpcEndpointId": "vpce-019b90d6f16d4f958", + "vpcEndpointOwner": "123456789012" + } + ] + } + +For more information, see `Manage associations for a VPC Lattice resource configuration `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/list-resource-gateways.rst b/awscli/examples/vpc-lattice/list-resource-gateways.rst new file mode 100644 index 000000000000..75566a51c2d1 --- /dev/null +++ b/awscli/examples/vpc-lattice/list-resource-gateways.rst @@ -0,0 +1,30 @@ +**To list your resource gateways** + +The following ``list-resource-gateways`` example lists your resource gateways. :: + + aws vpc-lattice list-resource-gateways + +Output:: + + { + "items": [ + { + "arn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourcegateway/rgw-0bba03f3d56060135", + "createdAt": "2025-02-01T00:57:33.241000+00:00", + "id": "rgw-0bba03f3d56060135", + "ipAddressType": "IPV4", + "lastUpdatedAt": "2025-02-01T00:57:44.351000+00:00", + "name": "my-resource-gateway", + "seurityGroupIds": [ + "sg-087ffd596c5fe962c" + ], + "status": "ACTIVE", + "subnetIds": [ + "subnet-08e8943905b63a683" + ], + "vpcIdentifier": "vpc-0bf4c2739bc05a694" + } + ] + } + +For more information, see `Resource gateways in VPC Lattice `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/list-service-network-vpc-endpoint-associations.rst b/awscli/examples/vpc-lattice/list-service-network-vpc-endpoint-associations.rst new file mode 100644 index 000000000000..272eb6265b9f --- /dev/null +++ b/awscli/examples/vpc-lattice/list-service-network-vpc-endpoint-associations.rst @@ -0,0 +1,22 @@ +**To list the VPC endpoint associations** + +The following ``list-service-network-vpc-endpoint-associations`` example lists the VPC endpoints associated with the specific service network. :: + + aws vpc-lattice list-service-network-vpc-endpoint-associations \ + --service-network-identifier sn-0808d1748faee0c1e + +Output:: + + { + "items": [ + { + "createdAt": "2025-02-01T01:21:36.667000+00:00", + "serviceNetworkArn": "arn:aws:vpc-lattice:us-east-1:123456789012:servicenetwork/sn-0808d1748faee0c1e", + "state": "ACTIVE", + "vpcEndpointId": "vpce-0cc199f605eaeace7", + "vpcEndpointOwnerId": "123456789012" + } + ] + } + +For more information, see `Manage the associations for a VPC Lattice service network `__ in the *Amazon VPC Lattice User Guide*. diff --git a/awscli/examples/vpc-lattice/list-services.rst b/awscli/examples/vpc-lattice/list-services.rst index 0798196397c4..327516cf268a 100644 --- a/awscli/examples/vpc-lattice/list-services.rst +++ b/awscli/examples/vpc-lattice/list-services.rst @@ -1,6 +1,6 @@ **To list your services** -The following ``list-services`` example lists the servies owned or shared with the calling account. The ``--query`` option scopes the results to the Amazon Resource Names (ARN) of the services. :: +The following ``list-services`` example lists the services owned or shared with the calling account. The ``--query`` option scopes the results to the Amazon Resource Names (ARN) of the services. :: aws vpc-lattice list-services \ --query items[*].arn diff --git a/awscli/examples/workmail/list-organizations.rst b/awscli/examples/workmail/list-organizations.rst index b328f022da43..e880b9ef6bf9 100644 --- a/awscli/examples/workmail/list-organizations.rst +++ b/awscli/examples/workmail/list-organizations.rst @@ -1,6 +1,6 @@ **To retrieve a list of organizations** -The following ``list-organizations`` command retrieves summaries of non-deleted organizations. :: +The following ``list-organizations`` command retrieves summaries of the customer's organizations. :: aws workmail list-organizations diff --git a/awscli/examples/workspaces/describe-workspace-directories.rst b/awscli/examples/workspaces/describe-workspace-directories.rst index e307a9641899..f336bb4ef4c1 100644 --- a/awscli/examples/workspaces/describe-workspace-directories.rst +++ b/awscli/examples/workspaces/describe-workspace-directories.rst @@ -28,7 +28,6 @@ Output:: "WorkspaceSecurityGroupId": "sg-0d89e927e5645d7c5", "State": "REGISTERED", "WorkspaceCreationProperties": { - "EnableWorkDocs": false, "EnableInternetAccess": false, "UserEnabledAsLocalAdministrator": true, "EnableMaintenanceMode": true @@ -55,4 +54,4 @@ Output:: ] } -For more information, see `Manage directories for WorkSpaces `__ in the *Amazon WorkSpaces Administration Guide*. +For more information, see `Manage directories for WorkSpaces Personal `__ in the *Amazon WorkSpaces Administration Guide*. diff --git a/awscli/examples/workspaces/register-workspace-directory.rst b/awscli/examples/workspaces/register-workspace-directory.rst index d2f5ad00c379..ec352c34ae19 100644 --- a/awscli/examples/workspaces/register-workspace-directory.rst +++ b/awscli/examples/workspaces/register-workspace-directory.rst @@ -3,9 +3,8 @@ The following ``register-workspace-directory`` example registers the specified directory for use with Amazon WorkSpaces. :: aws workspaces register-workspace-directory \ - --directory-id d-926722edaf \ - --no-enable-work-docs + --directory-id d-926722edaf This command produces no output. -For more information, see `Register a directory with WorkSpaces `__ in the *Amazon WorkSpaces Administration Guide*. +For more information, see `Register an existing AWS Directory Service directory with WorkSpaces Personal `__ in the *Amazon WorkSpaces Administration Guide*. diff --git a/awscli/formatter.py b/awscli/formatter.py index ca529ed30d13..e13b6fd72c62 100644 --- a/awscli/formatter.py +++ b/awscli/formatter.py @@ -13,16 +13,13 @@ import logging from botocore.compat import json - -from botocore.utils import set_value_from_jmespath from botocore.paginate import PageIterator +from botocore.utils import set_value_from_jmespath -from awscli.table import MultiTable, Styler, ColorizedStyler -from awscli import text -from awscli import compat +from awscli import compat, text +from awscli.table import ColorizedStyler, MultiTable, Styler from awscli.utils import json_encoder - LOG = logging.getLogger(__name__) @@ -30,7 +27,7 @@ def is_response_paginated(response): return isinstance(response, PageIterator) -class Formatter(object): +class Formatter: def __init__(self, args): self._args = args @@ -47,7 +44,7 @@ def _get_default_stream(self): def _flush_stream(self, stream): try: stream.flush() - except IOError: + except OSError: pass @@ -69,7 +66,7 @@ def __call__(self, command_name, response, stream=None): response_data = self._args.query.search(response_data) try: self._format_response(command_name, response_data, stream) - except IOError as e: + except OSError: # If the reading end of our stdout stream has closed the file # we can just exit. pass @@ -80,15 +77,19 @@ def __call__(self, command_name, response, stream=None): class JSONFormatter(FullyBufferedFormatter): - def _format_response(self, command_name, response, stream): # For operations that have no response body (e.g. s3 put-object) # the response will be an empty string. We don't want to print # that out to the user but other "falsey" values like an empty # dictionary should be printed. if response != {}: - json.dump(response, stream, indent=4, default=json_encoder, - ensure_ascii=False) + json.dump( + response, + stream, + indent=4, + default=json_encoder, + ensure_ascii=False, + ) stream.write('\n') @@ -100,19 +101,23 @@ class TableFormatter(FullyBufferedFormatter): using the output definition from the model. """ + def __init__(self, args, table=None): super(TableFormatter, self).__init__(args) if args.color == 'auto': - self.table = MultiTable(initial_section=False, - column_separator='|') + self.table = MultiTable( + initial_section=False, column_separator='|' + ) elif args.color == 'off': styler = Styler() - self.table = MultiTable(initial_section=False, - column_separator='|', styler=styler) + self.table = MultiTable( + initial_section=False, column_separator='|', styler=styler + ) elif args.color == 'on': styler = ColorizedStyler() - self.table = MultiTable(initial_section=False, - column_separator='|', styler=styler) + self.table = MultiTable( + initial_section=False, column_separator='|', styler=styler + ) else: raise ValueError("Unknown color option: %s" % args.color) @@ -120,7 +125,7 @@ def _format_response(self, command_name, response, stream): if self._build_table(command_name, response): try: self.table.render(stream) - except IOError: + except OSError: # If they're piping stdout to another process which exits before # we're done writing all of our output, we'll get an error about a # closed pipe which we can safely ignore. @@ -161,8 +166,9 @@ def _build_sub_table_from_dict(self, current, indent_level): self.table.add_row_header(headers) self.table.add_row([current[k] for k in headers]) for remaining in more: - self._build_table(remaining, current[remaining], - indent_level=indent_level + 1) + self._build_table( + remaining, current[remaining], indent_level=indent_level + 1 + ) def _build_sub_table_from_list(self, current, indent_level, title): headers, more = self._group_scalar_keys_from_list(current) @@ -170,8 +176,7 @@ def _build_sub_table_from_list(self, current, indent_level, title): first = True for element in current: if not first and more: - self.table.new_section(title, - indent_level=indent_level) + self.table.new_section(title, indent_level=indent_level) self.table.add_row_header(headers) first = False # Use .get() to account for the fact that sometimes an element @@ -182,8 +187,11 @@ def _build_sub_table_from_list(self, current, indent_level, title): # be in every single element of the list, so we need to # check this condition before recursing. if remaining in element: - self._build_table(remaining, element[remaining], - indent_level=indent_level + 1) + self._build_table( + remaining, + element[remaining], + indent_level=indent_level + 1, + ) def _scalar_type(self, element): return not isinstance(element, (list, dict)) @@ -219,7 +227,6 @@ def _group_scalar_keys(self, current): class TextFormatter(Formatter): - def __call__(self, command_name, response, stream=None): if stream is None: stream = self._get_default_stream() @@ -235,9 +242,7 @@ def __call__(self, command_name, response, stream=None): for result_key in result_keys: data = result_key.search(page) set_value_from_jmespath( - current, - result_key.expression, - data + current, result_key.expression, data ) self._format_response(current, stream) if response.resume_token: @@ -245,7 +250,8 @@ def __call__(self, command_name, response, stream=None): # if they want. self._format_response( {'NextToken': {'NextToken': response.resume_token}}, - stream) + stream, + ) else: self._remove_request_id(response) self._format_response(response, stream) diff --git a/awscli/handlers.py b/awscli/handlers.py index 356ae45c7cc9..6f512c636703 100644 --- a/awscli/handlers.py +++ b/awscli/handlers.py @@ -16,86 +16,112 @@ registered with the event system. """ + from awscli.argprocess import ParamShorthandParser -from awscli.paramfile import register_uri_param_handler from awscli.customizations import datapipeline from awscli.customizations.addexamples import add_examples from awscli.customizations.argrename import register_arg_renames from awscli.customizations.assumerole import register_assume_role_provider from awscli.customizations.awslambda import register_lambda_create_function from awscli.customizations.cliinputjson import register_cli_input_json -from awscli.customizations.cloudformation import initialize as cloudformation_init +from awscli.customizations.cloudformation import ( + initialize as cloudformation_init, +) from awscli.customizations.cloudfront import register as register_cloudfront from awscli.customizations.cloudsearch import initialize as cloudsearch_init from awscli.customizations.cloudsearchdomain import register_cloudsearchdomain from awscli.customizations.cloudtrail import initialize as cloudtrail_init from awscli.customizations.codeartifact import register_codeartifact_commands from awscli.customizations.codecommit import initialize as codecommit_init -from awscli.customizations.codedeploy.codedeploy import initialize as \ - codedeploy_init +from awscli.customizations.codedeploy.codedeploy import ( + initialize as codedeploy_init, +) from awscli.customizations.configservice.getstatus import register_get_status -from awscli.customizations.configservice.putconfigurationrecorder import \ - register_modify_put_configuration_recorder -from awscli.customizations.configservice.rename_cmd import \ - register_rename_config +from awscli.customizations.configservice.putconfigurationrecorder import ( + register_modify_put_configuration_recorder, +) +from awscli.customizations.configservice.rename_cmd import ( + register_rename_config, +) from awscli.customizations.configservice.subscribe import register_subscribe from awscli.customizations.configure.configure import register_configure_cmd -from awscli.customizations.history import register_history_mode -from awscli.customizations.history import register_history_commands +from awscli.customizations.dlm.dlm import dlm_initialize +from awscli.customizations.dynamodb import register_dynamodb_paginator_fix from awscli.customizations.ec2.addcount import register_count_events from awscli.customizations.ec2.bundleinstance import register_bundleinstance from awscli.customizations.ec2.decryptpassword import ec2_add_priv_launch_key +from awscli.customizations.ec2.paginate import register_ec2_page_size_injector from awscli.customizations.ec2.protocolarg import register_protocol_args from awscli.customizations.ec2.runinstances import register_runinstances from awscli.customizations.ec2.secgroupsimplify import register_secgroup -from awscli.customizations.ec2.paginate import register_ec2_page_size_injector from awscli.customizations.ecr import register_ecr_commands from awscli.customizations.ecr_public import register_ecr_public_commands -from awscli.customizations.emr.emr import emr_initialize -from awscli.customizations.emrcontainers import \ - initialize as emrcontainers_initialize -from awscli.customizations.eks import initialize as eks_initialize from awscli.customizations.ecs import initialize as ecs_initialize +from awscli.customizations.eks import initialize as eks_initialize +from awscli.customizations.emr.emr import emr_initialize +from awscli.customizations.emrcontainers import ( + initialize as emrcontainers_initialize, +) from awscli.customizations.gamelift import register_gamelift_commands -from awscli.customizations.generatecliskeleton import \ - register_generate_cli_skeleton +from awscli.customizations.generatecliskeleton import ( + register_generate_cli_skeleton, +) from awscli.customizations.globalargs import register_parse_global_args +from awscli.customizations.history import ( + register_history_commands, + register_history_mode, +) from awscli.customizations.iamvirtmfa import IAMVMFAWrapper -from awscli.customizations.iot import register_create_keys_and_cert_arguments -from awscli.customizations.iot import register_create_keys_from_csr_arguments +from awscli.customizations.iot import ( + register_create_keys_and_cert_arguments, + register_create_keys_from_csr_arguments, +) from awscli.customizations.iot_data import register_custom_endpoint_note +from awscli.customizations.kinesis import ( + register_kinesis_list_streams_pagination_backcompat, +) from awscli.customizations.kms import register_fix_kms_create_grant_docs -from awscli.customizations.dlm.dlm import dlm_initialize -from awscli.customizations.opsworks import initialize as opsworks_init +from awscli.customizations.logs import register_logs_commands +from awscli.customizations.mturk import register_alias_mturk_command +from awscli.customizations.overridesslcommonname import ( + register_override_ssl_common_name, +) from awscli.customizations.paginate import register_pagination from awscli.customizations.preview import register_preview_commands from awscli.customizations.putmetricdata import register_put_metric_data -from awscli.customizations.rds import register_rds_modify_split -from awscli.customizations.rds import register_add_generate_db_auth_token -from awscli.customizations.rekognition import register_rekognition_detect_labels +from awscli.customizations.quicksight import ( + register_quicksight_asset_bundle_customizations, +) +from awscli.customizations.rds import ( + register_add_generate_db_auth_token, + register_rds_modify_split, +) +from awscli.customizations.rekognition import ( + register_rekognition_detect_labels, +) from awscli.customizations.removals import register_removals from awscli.customizations.route53 import register_create_hosted_zone_doc_fix from awscli.customizations.s3.s3 import s3_plugin_initialize from awscli.customizations.s3errormsg import register_s3_error_msg +from awscli.customizations.s3events import register_event_stream_arg, register_document_expires_string +from awscli.customizations.sagemaker import ( + register_alias_sagemaker_runtime_command, +) from awscli.customizations.scalarparse import register_scalar_parser +from awscli.customizations.servicecatalog import ( + register_servicecatalog_commands, +) from awscli.customizations.sessendemail import register_ses_send_email +from awscli.customizations.sessionmanager import register_ssm_session +from awscli.customizations.sms_voice import register_sms_voice_hide +from awscli.customizations.socialmessaging import register_alias_socialmessaging_command from awscli.customizations.streamingoutputarg import add_streaming_output_arg -from awscli.customizations.translate import register_translate_import_terminology from awscli.customizations.toplevelbool import register_bool_params +from awscli.customizations.translate import ( + register_translate_import_terminology, +) from awscli.customizations.waiters import register_add_waiters -from awscli.customizations.opsworkscm import register_alias_opsworks_cm -from awscli.customizations.mturk import register_alias_mturk_command -from awscli.customizations.sagemaker import register_alias_sagemaker_runtime_command -from awscli.customizations.servicecatalog import register_servicecatalog_commands -from awscli.customizations.s3events import register_event_stream_arg -from awscli.customizations.sessionmanager import register_ssm_session -from awscli.customizations.sms_voice import register_sms_voice_hide -from awscli.customizations.dynamodb import register_dynamodb_paginator_fix -from awscli.customizations.overridesslcommonname import register_override_ssl_common_name -from awscli.customizations.kinesis import \ - register_kinesis_list_streams_pagination_backcompat -from awscli.customizations.quicksight import \ - register_quicksight_asset_bundle_customizations +from awscli.paramfile import register_uri_param_handler def awscli_initialize(event_handlers): @@ -105,23 +131,25 @@ def awscli_initialize(event_handlers): # The s3 error message needs to registered before the # generic error handler. register_s3_error_msg(event_handlers) -# # The following will get fired for every option we are -# # documenting. It will attempt to add an example_fn on to -# # the parameter object if the parameter supports shorthand -# # syntax. The documentation event handlers will then use -# # the examplefn to generate the sample shorthand syntax -# # in the docs. Registering here should ensure that this -# # handler gets called first but it still feels a bit brittle. -# event_handlers.register('doc-option-example.*.*.*', -# param_shorthand.add_example_fn) - event_handlers.register('doc-examples.*.*', - add_examples) + # # The following will get fired for every option we are + # # documenting. It will attempt to add an example_fn on to + # # the parameter object if the parameter supports shorthand + # # syntax. The documentation event handlers will then use + # # the examplefn to generate the sample shorthand syntax + # # in the docs. Registering here should ensure that this + # # handler gets called first but it still feels a bit brittle. + # event_handlers.register('doc-option-example.*.*.*', + # param_shorthand.add_example_fn) + event_handlers.register('doc-examples.*.*', add_examples) register_cli_input_json(event_handlers) - event_handlers.register('building-argument-table.*', - add_streaming_output_arg) + event_handlers.register( + 'building-argument-table.*', add_streaming_output_arg + ) register_count_events(event_handlers) - event_handlers.register('building-argument-table.ec2.get-password-data', - ec2_add_priv_launch_key) + event_handlers.register( + 'building-argument-table.ec2.get-password-data', + ec2_add_priv_launch_key, + ) register_parse_global_args(event_handlers) register_pagination(event_handlers) register_secgroup(event_handlers) @@ -158,7 +186,6 @@ def awscli_initialize(event_handlers): register_get_status(event_handlers) register_rename_config(event_handlers) register_scalar_parser(event_handlers) - opsworks_init(event_handlers) register_lambda_create_function(event_handlers) register_fix_kms_create_grant_docs(event_handlers) register_create_hosted_zone_doc_fix(event_handlers) @@ -168,22 +195,25 @@ def awscli_initialize(event_handlers): register_custom_endpoint_note(event_handlers) event_handlers.register( 'building-argument-table.iot.create-keys-and-certificate', - register_create_keys_and_cert_arguments) + register_create_keys_and_cert_arguments, + ) event_handlers.register( 'building-argument-table.iot.create-certificate-from-csr', - register_create_keys_from_csr_arguments) + register_create_keys_from_csr_arguments, + ) register_cloudfront(event_handlers) register_gamelift_commands(event_handlers) register_ec2_page_size_injector(event_handlers) cloudformation_init(event_handlers) - register_alias_opsworks_cm(event_handlers) register_alias_mturk_command(event_handlers) register_alias_sagemaker_runtime_command(event_handlers) + register_alias_socialmessaging_command(event_handlers) register_servicecatalog_commands(event_handlers) register_translate_import_terminology(event_handlers) register_history_mode(event_handlers) register_history_commands(event_handlers) register_event_stream_arg(event_handlers) + register_document_expires_string(event_handlers) dlm_initialize(event_handlers) register_ssm_session(event_handlers) register_sms_voice_hide(event_handlers) @@ -191,3 +221,4 @@ def awscli_initialize(event_handlers): register_override_ssl_common_name(event_handlers) register_kinesis_list_streams_pagination_backcompat(event_handlers) register_quicksight_asset_bundle_customizations(event_handlers) + register_logs_commands(event_handlers) diff --git a/awscli/help.py b/awscli/help.py index 568d1fcade0f..14b91c7ed3d7 100644 --- a/awscli/help.py +++ b/awscli/help.py @@ -12,35 +12,37 @@ # language governing permissions and limitations under the License. import logging import os -import sys import platform import shlex -from subprocess import Popen, PIPE +import sys +from subprocess import PIPE, Popen from docutils.core import publish_string from docutils.writers import manpage -from awscli.clidocs import ProviderDocumentEventHandler -from awscli.clidocs import ServiceDocumentEventHandler -from awscli.clidocs import OperationDocumentEventHandler -from awscli.clidocs import TopicListerDocumentEventHandler -from awscli.clidocs import TopicDocumentEventHandler +from awscli.argparser import ArgTableArgParser +from awscli.argprocess import ParamShorthandParser from awscli.bcdoc import docevents from awscli.bcdoc.restdoc import ReSTDocument from awscli.bcdoc.textwriter import TextWriter -from awscli.argprocess import ParamShorthandParser -from awscli.argparser import ArgTableArgParser +from awscli.clidocs import ( + OperationDocumentEventHandler, + ProviderDocumentEventHandler, + ServiceDocumentEventHandler, + TopicDocumentEventHandler, + TopicListerDocumentEventHandler, +) from awscli.topictags import TopicTagDB from awscli.utils import ignore_ctrl_c - LOG = logging.getLogger('awscli.help') class ExecutableNotFoundError(Exception): def __init__(self, executable_name): - super(ExecutableNotFoundError, self).__init__( - 'Could not find executable named "%s"' % executable_name) + super().__init__( + f'Could not find executable named "{executable_name}"' + ) def get_renderer(): @@ -54,7 +56,7 @@ def get_renderer(): return PosixHelpRenderer() -class PagingHelpRenderer(object): +class PagingHelpRenderer: """ Interface for a help renderer. @@ -62,6 +64,7 @@ class PagingHelpRenderer(object): a particular platform. """ + def __init__(self, output_stream=sys.stdout): self.output_stream = output_stream @@ -116,7 +119,8 @@ class PosixHelpRenderer(PagingHelpRenderer): def _convert_doc_content(self, contents): man_contents = publish_string( - contents, writer=manpage.Writer(), + contents, + writer=manpage.Writer(), settings_overrides=self._DEFAULT_DOCUTILS_SETTINGS_OVERRIDES, ) if self._exists_on_path('groff'): @@ -133,8 +137,9 @@ def _convert_doc_content(self, contents): def _send_output_to_pager(self, output): cmdline = self.get_pager_cmdline() if not self._exists_on_path(cmdline[0]): - LOG.debug("Pager '%s' not found in PATH, printing raw help." % - cmdline[0]) + LOG.debug( + "Pager '%s' not found in PATH, printing raw help.", cmdline[0] + ) self.output_stream.write(output.decode('utf-8') + "\n") self.output_stream.flush() return @@ -157,8 +162,12 @@ def _send_output_to_pager(self, output): def _exists_on_path(self, name): # Since we're only dealing with POSIX systems, we can # ignore things like PATHEXT. - return any([os.path.exists(os.path.join(p, name)) - for p in os.environ.get('PATH', '').split(os.pathsep)]) + return any( + [ + os.path.exists(os.path.join(p, name)) + for p in os.environ.get('PATH', '').split(os.pathsep) + ] + ) class WindowsHelpRenderer(PagingHelpRenderer): @@ -168,7 +177,8 @@ class WindowsHelpRenderer(PagingHelpRenderer): def _convert_doc_content(self, contents): text_output = publish_string( - contents, writer=TextWriter(), + contents, + writer=TextWriter(), settings_overrides=self._DEFAULT_DOCUTILS_SETTINGS_OVERRIDES, ) return text_output @@ -180,7 +190,7 @@ def _popen(self, *args, **kwargs): return Popen(*args, **kwargs) -class HelpCommand(object): +class HelpCommand: """ HelpCommand Interface --------------------- @@ -278,8 +288,9 @@ def __call__(self, args, parsed_globals): subcommand_parser = ArgTableArgParser({}, self.subcommand_table) parsed, remaining = subcommand_parser.parse_known_args(args) if getattr(parsed, 'subcommand', None) is not None: - return self.subcommand_table[parsed.subcommand](remaining, - parsed_globals) + return self.subcommand_table[parsed.subcommand]( + remaining, parsed_globals + ) # Create an event handler for a Provider Document instance = self.EventHandlerClass(self) @@ -297,12 +308,13 @@ class ProviderHelpCommand(HelpCommand): This is what is called when ``aws help`` is run. """ + EventHandlerClass = ProviderDocumentEventHandler - def __init__(self, session, command_table, arg_table, - description, synopsis, usage): - HelpCommand.__init__(self, session, None, - command_table, arg_table) + def __init__( + self, session, command_table, arg_table, description, synopsis, usage + ): + HelpCommand.__init__(self, session, None, command_table, arg_table) self.description = description self.synopsis = synopsis self.help_usage = usage @@ -351,10 +363,12 @@ class ServiceHelpCommand(HelpCommand): EventHandlerClass = ServiceDocumentEventHandler - def __init__(self, session, obj, command_table, arg_table, name, - event_class): - super(ServiceHelpCommand, self).__init__(session, obj, command_table, - arg_table) + def __init__( + self, session, obj, command_table, arg_table, name, event_class + ): + super().__init__( + session, obj, command_table, arg_table + ) self._name = name self._event_class = event_class @@ -374,10 +388,10 @@ class OperationHelpCommand(HelpCommand): e.g. ``aws ec2 describe-instances help``. """ + EventHandlerClass = OperationDocumentEventHandler - def __init__(self, session, operation_model, arg_table, name, - event_class): + def __init__(self, session, operation_model, arg_table, name, event_class): HelpCommand.__init__(self, session, operation_model, None, arg_table) self.param_shorthand = ParamShorthandParser() self._name = name @@ -396,7 +410,7 @@ class TopicListerCommand(HelpCommand): EventHandlerClass = TopicListerDocumentEventHandler def __init__(self, session): - super(TopicListerCommand, self).__init__(session, None, {}, {}) + super().__init__(session, None, {}, {}) @property def event_class(self): @@ -411,7 +425,7 @@ class TopicHelpCommand(HelpCommand): EventHandlerClass = TopicDocumentEventHandler def __init__(self, session, topic_name): - super(TopicHelpCommand, self).__init__(session, None, {}, {}) + super().__init__(session, None, {}, {}) self._topic_name = topic_name @property diff --git a/awscli/paramfile.py b/awscli/paramfile.py index 4e71b4311983..c1105e7d40ed 100644 --- a/awscli/paramfile.py +++ b/awscli/paramfile.py @@ -10,18 +10,19 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import sys + +import copy import logging import os -import copy from botocore.awsrequest import AWSRequest -from botocore.httpsession import URLLib3Session from botocore.exceptions import ProfileNotFound -from awscli.compat import six +from botocore.httpsession import URLLib3Session +from awscli import argprocess from awscli.compat import compat_open -from awscli.argprocess import ParamError - +from awscli.utils import resolve_v2_debug_mode logger = logging.getLogger(__name__) @@ -29,123 +30,108 @@ # special param file processing. This is typically because it # refers to an actual URI of some sort and we don't want to actually # download the content (i.e TemplateURL in cloudformation). -PARAMFILE_DISABLED = set([ - 'api-gateway.put-integration.uri', - 'api-gateway.create-integration.integration-uri', - 'api-gateway.update-integration.integration-uri', - 'api-gateway.create-api.target', - 'api-gateway.update-api.target', - 'appstream.create-stack.redirect-url', - 'appstream.create-stack.feedback-url', - 'appstream.update-stack.redirect-url', - 'appstream.update-stack.feedback-url', - 'cloudformation.create-stack.template-url', - 'cloudformation.update-stack.template-url', - 'cloudformation.create-stack-set.template-url', - 'cloudformation.update-stack-set.template-url', - 'cloudformation.create-change-set.template-url', - 'cloudformation.validate-template.template-url', - 'cloudformation.estimate-template-cost.template-url', - 'cloudformation.get-template-summary.template-url', - - 'cloudformation.create-stack.stack-policy-url', - 'cloudformation.update-stack.stack-policy-url', - 'cloudformation.set-stack-policy.stack-policy-url', - # aws cloudformation package --template-file - 'custom.package.template-file', - # aws cloudformation deploy --template-file - 'custom.deploy.template-file', - - 'cloudformation.update-stack.stack-policy-during-update-url', - 'cloudformation.register-type.schema-handler-package', - # We will want to change the event name to ``s3`` as opposed to - # custom in the near future along with ``s3`` to ``s3api``. - 'custom.cp.website-redirect', - 'custom.mv.website-redirect', - 'custom.sync.website-redirect', - - 'guardduty.create-ip-set.location', - 'guardduty.update-ip-set.location', - 'guardduty.create-threat-intel-set.location', - 'guardduty.update-threat-intel-set.location', - 'comprehend.detect-dominant-language.text', - 'comprehend.batch-detect-dominant-language.text-list', - 'comprehend.detect-entities.text', - 'comprehend.batch-detect-entities.text-list', - 'comprehend.detect-key-phrases.text', - 'comprehend.batch-detect-key-phrases.text-list', - 'comprehend.detect-sentiment.text', - 'comprehend.batch-detect-sentiment.text-list', - - 'emr.create-studio.idp-auth-url', - - 'iam.create-open-id-connect-provider.url', - - 'machine-learning.predict.predict-endpoint', - - 'mediatailor.put-playback-configuration.ad-decision-server-url', - 'mediatailor.put-playback-configuration.slate-ad-url', - 'mediatailor.put-playback-configuration.video-content-source-url', - - 'rds.copy-db-cluster-snapshot.pre-signed-url', - 'rds.create-db-cluster.pre-signed-url', - 'rds.copy-db-snapshot.pre-signed-url', - 'rds.create-db-instance-read-replica.pre-signed-url', - - 'sagemaker.create-notebook-instance.default-code-repository', - 'sagemaker.create-notebook-instance.additional-code-repositories', - 'sagemaker.update-notebook-instance.default-code-repository', - 'sagemaker.update-notebook-instance.additional-code-repositories', - - 'serverlessapplicationrepository.create-application.home-page-url', - 'serverlessapplicationrepository.create-application.license-url', - 'serverlessapplicationrepository.create-application.readme-url', - 'serverlessapplicationrepository.create-application.source-code-url', - 'serverlessapplicationrepository.create-application.template-url', - 'serverlessapplicationrepository.create-application-version.source-code-url', - 'serverlessapplicationrepository.create-application-version.template-url', - 'serverlessapplicationrepository.update-application.home-page-url', - 'serverlessapplicationrepository.update-application.readme-url', - - 'service-catalog.create-product.support-url', - 'service-catalog.update-product.support-url', - - 'ses.create-custom-verification-email-template.failure-redirection-url', - 'ses.create-custom-verification-email-template.success-redirection-url', - 'ses.put-account-details.website-url', - 'ses.update-custom-verification-email-template.failure-redirection-url', - 'ses.update-custom-verification-email-template.success-redirection-url', - - 'sqs.add-permission.queue-url', - 'sqs.change-message-visibility.queue-url', - 'sqs.change-message-visibility-batch.queue-url', - 'sqs.delete-message.queue-url', - 'sqs.delete-message-batch.queue-url', - 'sqs.delete-queue.queue-url', - 'sqs.get-queue-attributes.queue-url', - 'sqs.list-dead-letter-source-queues.queue-url', - 'sqs.receive-message.queue-url', - 'sqs.remove-permission.queue-url', - 'sqs.send-message.queue-url', - 'sqs.send-message-batch.queue-url', - 'sqs.set-queue-attributes.queue-url', - 'sqs.purge-queue.queue-url', - 'sqs.list-queue-tags.queue-url', - 'sqs.tag-queue.queue-url', - 'sqs.untag-queue.queue-url', - - 's3.copy-object.website-redirect-location', - 's3.create-multipart-upload.website-redirect-location', - 's3.put-object.website-redirect-location', - - # Double check that this has been renamed! - 'sns.subscribe.notification-endpoint', - - 'iot.create-job.document-source', - 'translate.translate-text.text', - - 'workdocs.create-notification-subscription.notification-endpoint' -]) +PARAMFILE_DISABLED = set( + [ + 'api-gateway.put-integration.uri', + 'api-gateway.create-integration.integration-uri', + 'api-gateway.update-integration.integration-uri', + 'api-gateway.create-api.target', + 'api-gateway.update-api.target', + 'appstream.create-stack.redirect-url', + 'appstream.create-stack.feedback-url', + 'appstream.update-stack.redirect-url', + 'appstream.update-stack.feedback-url', + 'cloudformation.create-stack.template-url', + 'cloudformation.update-stack.template-url', + 'cloudformation.create-stack-set.template-url', + 'cloudformation.update-stack-set.template-url', + 'cloudformation.create-change-set.template-url', + 'cloudformation.validate-template.template-url', + 'cloudformation.estimate-template-cost.template-url', + 'cloudformation.get-template-summary.template-url', + 'cloudformation.create-stack.stack-policy-url', + 'cloudformation.update-stack.stack-policy-url', + 'cloudformation.set-stack-policy.stack-policy-url', + # aws cloudformation package --template-file + 'custom.package.template-file', + # aws cloudformation deploy --template-file + 'custom.deploy.template-file', + 'cloudformation.update-stack.stack-policy-during-update-url', + 'cloudformation.register-type.schema-handler-package', + # We will want to change the event name to ``s3`` as opposed to + # custom in the near future along with ``s3`` to ``s3api``. + 'custom.cp.website-redirect', + 'custom.mv.website-redirect', + 'custom.sync.website-redirect', + 'guardduty.create-ip-set.location', + 'guardduty.update-ip-set.location', + 'guardduty.create-threat-intel-set.location', + 'guardduty.update-threat-intel-set.location', + 'comprehend.detect-dominant-language.text', + 'comprehend.batch-detect-dominant-language.text-list', + 'comprehend.detect-entities.text', + 'comprehend.batch-detect-entities.text-list', + 'comprehend.detect-key-phrases.text', + 'comprehend.batch-detect-key-phrases.text-list', + 'comprehend.detect-sentiment.text', + 'comprehend.batch-detect-sentiment.text-list', + 'emr.create-studio.idp-auth-url', + 'iam.create-open-id-connect-provider.url', + 'machine-learning.predict.predict-endpoint', + 'mediatailor.put-playback-configuration.ad-decision-server-url', + 'mediatailor.put-playback-configuration.slate-ad-url', + 'mediatailor.put-playback-configuration.video-content-source-url', + 'rds.copy-db-cluster-snapshot.pre-signed-url', + 'rds.create-db-cluster.pre-signed-url', + 'rds.copy-db-snapshot.pre-signed-url', + 'rds.create-db-instance-read-replica.pre-signed-url', + 'sagemaker.create-notebook-instance.default-code-repository', + 'sagemaker.create-notebook-instance.additional-code-repositories', + 'sagemaker.update-notebook-instance.default-code-repository', + 'sagemaker.update-notebook-instance.additional-code-repositories', + 'serverlessapplicationrepository.create-application.home-page-url', + 'serverlessapplicationrepository.create-application.license-url', + 'serverlessapplicationrepository.create-application.readme-url', + 'serverlessapplicationrepository.create-application.source-code-url', + 'serverlessapplicationrepository.create-application.template-url', + 'serverlessapplicationrepository.create-application-version.source-code-url', + 'serverlessapplicationrepository.create-application-version.template-url', + 'serverlessapplicationrepository.update-application.home-page-url', + 'serverlessapplicationrepository.update-application.readme-url', + 'service-catalog.create-product.support-url', + 'service-catalog.update-product.support-url', + 'ses.create-custom-verification-email-template.failure-redirection-url', + 'ses.create-custom-verification-email-template.success-redirection-url', + 'ses.put-account-details.website-url', + 'ses.update-custom-verification-email-template.failure-redirection-url', + 'ses.update-custom-verification-email-template.success-redirection-url', + 'sqs.add-permission.queue-url', + 'sqs.change-message-visibility.queue-url', + 'sqs.change-message-visibility-batch.queue-url', + 'sqs.delete-message.queue-url', + 'sqs.delete-message-batch.queue-url', + 'sqs.delete-queue.queue-url', + 'sqs.get-queue-attributes.queue-url', + 'sqs.list-dead-letter-source-queues.queue-url', + 'sqs.receive-message.queue-url', + 'sqs.remove-permission.queue-url', + 'sqs.send-message.queue-url', + 'sqs.send-message-batch.queue-url', + 'sqs.set-queue-attributes.queue-url', + 'sqs.purge-queue.queue-url', + 'sqs.list-queue-tags.queue-url', + 'sqs.tag-queue.queue-url', + 'sqs.untag-queue.queue-url', + 's3.copy-object.website-redirect-location', + 's3.create-multipart-upload.website-redirect-location', + 's3.put-object.website-redirect-location', + # Double check that this has been renamed! + 'sns.subscribe.notification-endpoint', + 'iot.create-job.document-source', + 'translate.translate-text.text', + 'workdocs.create-notification-subscription.notification-endpoint', + ] +) class ResourceLoadingError(Exception): @@ -155,8 +141,10 @@ class ResourceLoadingError(Exception): def register_uri_param_handler(session, **kwargs): prefix_map = copy.deepcopy(LOCAL_PREFIX_MAP) try: - fetch_url = session.get_scoped_config().get( - 'cli_follow_urlparam', 'true') == 'true' + fetch_url = ( + session.get_scoped_config().get('cli_follow_urlparam', 'true') + == 'true' + ) except ProfileNotFound: # If a --profile is provided that does not exist, loading # a value from get_scoped_config will crash the CLI. @@ -174,30 +162,45 @@ def register_uri_param_handler(session, **kwargs): session.register('load-cli-arg', handler) -class URIArgumentHandler(object): +class URIArgumentHandler: def __init__(self, prefixes=None): if prefixes is None: prefixes = copy.deepcopy(LOCAL_PREFIX_MAP) prefixes.update(REMOTE_PREFIX_MAP) self._prefixes = prefixes - def __call__(self, event_name, param, value, **kwargs): + def __call__(self, event_name, param, value, parsed_globals=None, **kwargs): """Handler that supports param values from URIs.""" cli_argument = param qualified_param_name = '.'.join(event_name.split('.')[1:]) - if qualified_param_name in PARAMFILE_DISABLED or \ - getattr(cli_argument, 'no_paramfile', None): + if qualified_param_name in PARAMFILE_DISABLED or getattr( + cli_argument, 'no_paramfile', None + ): return else: - return self._check_for_uri_param(cli_argument, value) + return self._check_for_uri_param(cli_argument, value, parsed_globals) - def _check_for_uri_param(self, param, value): + def _check_for_uri_param(self, param, value, parsed_globals): if isinstance(value, list) and len(value) == 1: value = value[0] try: - return get_paramfile(value, self._prefixes) + param_file = get_paramfile(value, self._prefixes) + if param_file is not None and resolve_v2_debug_mode(parsed_globals): + print( + '\nAWS CLI v2 UPGRADE WARNING: For input parameters that ' + 'have a prefix of `http://` or `https://`, AWS CLI v2 ' + 'will not automatically request the content of the URL ' + 'for the parameter, and the `cli_follow_urlparam` option ' + 'has been removed. For guidance on how to adapt this ' + 'command to AWS CLI v2 usage, see ' + 'https://docs.aws.amazon.com/cli/latest/userguide/' + 'cliv2-migration-changes.html' + '#cliv2-migration-paramfile.\n', + file=sys.stderr, + ) + return param_file except ResourceLoadingError as e: - raise ParamError(param.cli_name, six.text_type(e)) + raise argprocess.ParamError(param.cli_name, str(e)) def get_paramfile(path, cases): @@ -224,7 +227,7 @@ def get_paramfile(path, cases): """ data = None - if isinstance(path, six.string_types): + if isinstance(path, str): for prefix, function_spec in cases.items(): if path.startswith(prefix): function, kwargs = function_spec @@ -233,7 +236,7 @@ def get_paramfile(path, cases): def get_file(prefix, path, mode): - file_path = os.path.expandvars(os.path.expanduser(path[len(prefix):])) + file_path = os.path.expandvars(os.path.expanduser(path[len(prefix) :])) try: with compat_open(file_path, mode) as f: return f.read() @@ -241,10 +244,12 @@ def get_file(prefix, path, mode): raise ResourceLoadingError( 'Unable to load paramfile (%s), text contents could ' 'not be decoded. If this is a binary file, please use the ' - 'fileb:// prefix instead of the file:// prefix.' % file_path) - except (OSError, IOError) as e: - raise ResourceLoadingError('Unable to load paramfile %s: %s' % ( - path, e)) + 'fileb:// prefix instead of the file:// prefix.' % file_path + ) + except OSError as e: + raise ResourceLoadingError( + f'Unable to load paramfile {path}: {e}' + ) def get_uri(prefix, uri): @@ -255,8 +260,8 @@ def get_uri(prefix, uri): return r.text else: raise ResourceLoadingError( - "received non 200 status code of %s" % ( - r.status_code)) + f"received non 200 status code of {r.status_code}" + ) except Exception as e: raise ResourceLoadingError('Unable to retrieve %s: %s' % (uri, e)) diff --git a/awscli/schema.py b/awscli/schema.py index 17ec6ba416cd..3aa8f7c5528d 100644 --- a/awscli/schema.py +++ b/awscli/schema.py @@ -17,7 +17,7 @@ class ParameterRequiredError(ValueError): pass -class SchemaTransformer(object): +class SchemaTransformer: """ Transforms a custom argument parameter schema into an internal model representation so that it can be treated like a normal @@ -63,6 +63,7 @@ class SchemaTransformer(object): $ aws foo bar --baz arg1=Value1,arg2=5 arg1=Value2 """ + JSON_SCHEMA_TO_AWS_TYPES = { 'object': 'structure', 'array': 'list', @@ -116,7 +117,8 @@ def _transform_structure(self, schema, shapes): for key, value in schema['properties'].items(): current_type_name = self._json_schema_to_aws_type(value) current_shape_name = self._shape_namer.new_shape_name( - current_type_name) + current_type_name + ) members[key] = {'shape': current_shape_name} if value.get('required', False): required_members.append(key) @@ -161,7 +163,7 @@ def _json_schema_to_aws_type(self, schema): return self.JSON_SCHEMA_TO_AWS_TYPES.get(type_name, type_name) -class ShapeNameGenerator(object): +class ShapeNameGenerator: def __init__(self): self._name_cache = defaultdict(int) diff --git a/awscli/shorthand.py b/awscli/shorthand.py index b8e782c5bb33..18ec091f717a 100644 --- a/awscli/shorthand.py +++ b/awscli/shorthand.py @@ -38,16 +38,17 @@ ``BackCompatVisitor`` class. """ + import re import string +from awscli.paramfile import LOCAL_PREFIX_MAP, get_paramfile from awscli.utils import is_document_type - _EOF = object() -class _NamedRegex(object): +class _NamedRegex: def __init__(self, name, regex_str): self.name = name self.regex = re.compile(regex_str, re.UNICODE) @@ -57,25 +58,24 @@ def match(self, value): class ShorthandParseError(Exception): - def _error_location(self): consumed, remaining, num_spaces = self.value, '', self.index - if '\n' in self.value[:self.index]: + if '\n' in self.value[: self.index]: # If there's newlines in the consumed expression, we want # to make sure we're only counting the spaces # from the last newline: # foo=bar,\n # bar==baz # ^ - last_newline = self.value[:self.index].rindex('\n') + last_newline = self.value[: self.index].rindex('\n') num_spaces = self.index - last_newline - 1 - if '\n' in self.value[self.index:]: + if '\n' in self.value[self.index :]: # If there's newline in the remaining, divide value # into consumed and remaining # foo==bar,\n # ^ # bar=baz - next_newline = self.index + self.value[self.index:].index('\n') + next_newline = self.index + self.value[self.index :].index('\n') consumed = self.value[:next_newline] remaining = self.value[next_newline:] return '%s\n%s%s' % (consumed, (' ' * num_spaces) + '^', remaining) @@ -88,14 +88,13 @@ def __init__(self, value, expected, actual, index): self.actual = actual self.index = index msg = self._construct_msg() - super(ShorthandParseSyntaxError, self).__init__(msg) + super().__init__(msg) def _construct_msg(self): - msg = ( - "Expected: '%s', received: '%s' for input:\n" - "%s" - ) % (self.expected, self.actual, self._error_location()) - return msg + return ( + f"Expected: '{self.expected}', received: '{self.actual}' " + f"for input:\n" "{self._error_location()}" + ) class DuplicateKeyInObjectError(ShorthandParseError): @@ -104,22 +103,21 @@ def __init__(self, key, value, index): self.value = value self.index = index msg = self._construct_msg() - super(DuplicateKeyInObjectError, self).__init__(msg) + super().__init__(msg) def _construct_msg(self): - msg = ( - "Second instance of key \"%s\" encountered for input:\n%s\n" - "This is often because there is a preceding \",\" instead of a " - "space." - ) % (self.key, self._error_location()) - return msg + return ( + f"Second instance of key \"{self.key}\" encountered for input:\n" + f"{self._error_location()}\nThis is often because there is a " + "preceding \",\" instead of a space." + ) class DocumentTypesNotSupportedError(Exception): pass -class ShorthandParser(object): +class ShorthandParser: """Parses shorthand syntax in the CLI. Note that this parser does not rely on any JSON models to control @@ -127,28 +125,22 @@ class ShorthandParser(object): """ - _SINGLE_QUOTED = _NamedRegex('singled quoted', r'\'(?:\\\\|\\\'|[^\'])*\'') - _DOUBLE_QUOTED = _NamedRegex('double quoted', r'"(?:\\\\|\\"|[^"])*"') - _START_WORD = u'\!\#-&\(-\+\--\<\>-Z\\\\-z\u007c-\uffff' - _FIRST_FOLLOW_CHARS = u'\s\!\#-&\(-\+\--\\\\\^-\|~-\uffff' - _SECOND_FOLLOW_CHARS = u'\s\!\#-&\(-\+\--\<\>-\uffff' + _SINGLE_QUOTED = _NamedRegex('singled quoted', r'\'(?:\\\'|[^\'])*\'') + _DOUBLE_QUOTED = _NamedRegex('double quoted', r'"(?:\\"|[^"])*"') + _START_WORD = r'\!\#-&\(-\+\--\<\>-Z\\\\-z\u007c-\uffff' + _FIRST_FOLLOW_CHARS = r'\s\!\#-&\(-\+\--\\\\\^-\|~-\uffff' + _SECOND_FOLLOW_CHARS = r'\s\!\#-&\(-\+\--\<\>-\uffff' _ESCAPED_COMMA = '(\\\\,)' _FIRST_VALUE = _NamedRegex( 'first', - u'({escaped_comma}|[{start_word}])' - u'({escaped_comma}|[{follow_chars}])*'.format( - escaped_comma=_ESCAPED_COMMA, - start_word=_START_WORD, - follow_chars=_FIRST_FOLLOW_CHARS, - )) + f'({_ESCAPED_COMMA}|[{_START_WORD}])' + f'({_ESCAPED_COMMA}|[{_FIRST_FOLLOW_CHARS}])*', + ) _SECOND_VALUE = _NamedRegex( 'second', - u'({escaped_comma}|[{start_word}])' - u'({escaped_comma}|[{follow_chars}])*'.format( - escaped_comma=_ESCAPED_COMMA, - start_word=_START_WORD, - follow_chars=_SECOND_FOLLOW_CHARS, - )) + f'({_ESCAPED_COMMA}|[{_START_WORD}])' + f'({_ESCAPED_COMMA}|[{_SECOND_FOLLOW_CHARS}])*', + ) def __init__(self): self._tokens = [] @@ -169,6 +161,7 @@ def parse(self, value): """ self._input_value = value self._index = 0 + self._should_resolve_paramfiles = False return self._parameter() def _parameter(self): @@ -191,8 +184,15 @@ def _parameter(self): return params def _keyval(self): - # keyval = key "=" [values] + # keyval = key "=" [values] / key "@=" [file-optional-values] + # file-optional-values = file://value / fileb://value / value key = self._key() + self._should_resolve_paramfiles = False + try: + self._expect('@', consume_whitespace=True) + self._should_resolve_paramfiles = True + except ShorthandParseSyntaxError: + pass self._expect('=', consume_whitespace=True) values = self._values() return key, values @@ -205,7 +205,7 @@ def _key(self): if self._current() not in valid_chars: break self._index += 1 - return self._input_value[start:self._index] + return self._input_value[start : self._index] def _values(self): # values = csv-list / explicit-list / hash-literal @@ -267,10 +267,11 @@ def _csv_value(self): return csv_list def _value(self): - result = self._FIRST_VALUE.match(self._input_value[self._index:]) + result = self._FIRST_VALUE.match(self._input_value[self._index :]) if result is not None: consumed = self._consume_matched_regex(result) - return consumed.replace('\\,', ',').rstrip() + processed = consumed.replace('\\,', ',').rstrip() + return self._resolve_paramfiles(processed) if self._should_resolve_paramfiles else processed return '' def _explicit_list(self): @@ -301,6 +302,12 @@ def _hash_literal(self): keyvals = {} while self._current() != '}': key = self._key() + self._should_resolve_paramfiles = False + try: + self._expect('@', consume_whitespace=True) + self._should_resolve_paramfiles = True + except ShorthandParseSyntaxError: + pass self._expect('=', consume_whitespace=True) v = self._explicit_values() self._consume_whitespace() @@ -323,7 +330,8 @@ def _single_quoted_value(self): # single-quoted-value = %x27 *(val-escaped-single) %x27 # val-escaped-single = %x20-26 / %x28-7F / escaped-escape / # (escape single-quote) - return self._consume_quoted(self._SINGLE_QUOTED, escaped_char="'") + processed = self._consume_quoted(self._SINGLE_QUOTED, escaped_char="'") + return self._resolve_paramfiles(processed) if self._should_resolve_paramfiles else processed def _consume_quoted(self, regex, escaped_char=None): value = self._must_consume_regex(regex)[1:-1] @@ -333,7 +341,8 @@ def _consume_quoted(self, regex, escaped_char=None): return value def _double_quoted_value(self): - return self._consume_quoted(self._DOUBLE_QUOTED, escaped_char='"') + processed = self._consume_quoted(self._DOUBLE_QUOTED, escaped_char='"') + return self._resolve_paramfiles(processed) if self._should_resolve_paramfiles else processed def _second_value(self): if self._current() == "'": @@ -342,33 +351,42 @@ def _second_value(self): return self._double_quoted_value() else: consumed = self._must_consume_regex(self._SECOND_VALUE) - return consumed.replace('\\,', ',').rstrip() + processed = consumed.replace('\\,', ',').rstrip() + return self._resolve_paramfiles(processed) if self._should_resolve_paramfiles else processed + + def _resolve_paramfiles(self, val): + if (paramfile := get_paramfile(val, LOCAL_PREFIX_MAP)) is not None: + return paramfile + return val def _expect(self, char, consume_whitespace=False): if consume_whitespace: self._consume_whitespace() if self._index >= len(self._input_value): - raise ShorthandParseSyntaxError(self._input_value, char, - 'EOF', self._index) + raise ShorthandParseSyntaxError( + self._input_value, char, 'EOF', self._index + ) actual = self._input_value[self._index] if actual != char: - raise ShorthandParseSyntaxError(self._input_value, char, - actual, self._index) + raise ShorthandParseSyntaxError( + self._input_value, char, actual, self._index + ) self._index += 1 if consume_whitespace: self._consume_whitespace() def _must_consume_regex(self, regex): - result = regex.match(self._input_value[self._index:]) + result = regex.match(self._input_value[self._index :]) if result is not None: return self._consume_matched_regex(result) - raise ShorthandParseSyntaxError(self._input_value, '<%s>' % regex.name, - '', self._index) + raise ShorthandParseSyntaxError( + self._input_value, f'<{regex.name}>', '', self._index + ) def _consume_matched_regex(self, result): start, end = result.span() - v = self._input_value[self._index+start:self._index+end] - self._index += (end - start) + v = self._input_value[self._index + start : self._index + end] + self._index += end - start return v def _current(self): @@ -390,21 +408,23 @@ def _consume_whitespace(self): self._index += 1 -class ModelVisitor(object): +class ModelVisitor: def visit(self, params, model): self._visit({}, model, '', params) def _visit(self, parent, shape, name, value): - method = getattr(self, '_visit_%s' % shape.type_name, - self._visit_scalar) + method = getattr( + self, f'_visit_{shape.type_name}', self._visit_scalar + ) method(parent, shape, name, value) def _visit_structure(self, parent, shape, name, value): if not isinstance(value, dict): return for member_name, member_shape in shape.members.items(): - self._visit(value, member_shape, member_name, - value.get(member_name)) + self._visit( + value, member_shape, member_name, value.get(member_name) + ) def _visit_list(self, parent, shape, name, value): if not isinstance(value, list): @@ -430,8 +450,9 @@ def _visit_structure(self, parent, shape, name, value): return for member_name, member_shape in shape.members.items(): try: - self._visit(value, member_shape, member_name, - value.get(member_name)) + self._visit( + value, member_shape, member_name, value.get(member_name) + ) except DocumentTypesNotSupportedError: # Catch and propagate the document type error to a better # error message as when the original error is thrown there is @@ -440,7 +461,7 @@ def _visit_structure(self, parent, shape, name, value): raise ShorthandParseError( 'Shorthand syntax does not support document types. Use ' 'JSON input for top-level argument to specify nested ' - 'parameter: %s' % member_name + f'parameter: {member_name}' ) def _visit_list(self, parent, shape, name, value): @@ -450,8 +471,9 @@ def _visit_list(self, parent, shape, name, value): if value is not None: parent[name] = [value] else: - return super(BackCompatVisitor, self)._visit_list( - parent, shape, name, value) + return super()._visit_list( + parent, shape, name, value + ) def _visit_scalar(self, parent, shape, name, value): if value is None: diff --git a/awscli/table.py b/awscli/table.py index df96392fc9fe..3920144fdee3 100644 --- a/awscli/table.py +++ b/awscli/table.py @@ -1,24 +1,23 @@ # Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. - +# # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of # the License is located at - +# # http://aws.amazon.com/apache2.0/ - +# # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import sys + import struct +import sys import unicodedata import colorama from awscli.utils import is_a_tty -from awscli.compat import six - # `autoreset` allows us to not have to sent reset sequences for every # string. `strip` lets us preserve color when redirecting. @@ -35,29 +34,33 @@ def get_text_length(text): # * A(Ambiguous) # * F(Fullwidth) # * W(Wide) - text = six.text_type(text) - return sum(2 if unicodedata.east_asian_width(char) in 'WFA' else 1 - for char in text) + text = str(text) + return sum( + 2 if unicodedata.east_asian_width(char) in 'WFA' else 1 + for char in text + ) def determine_terminal_width(default_width=80): # If we can't detect the terminal width, the default_width is returned. try: - from termios import TIOCGWINSZ from fcntl import ioctl + from termios import TIOCGWINSZ except ImportError: return default_width try: - height, width = struct.unpack('hhhh', ioctl(sys.stdout, - TIOCGWINSZ, '\000' * 8))[0:2] + height, width = struct.unpack( + 'hhhh', ioctl(sys.stdout, TIOCGWINSZ, '\000' * 8) + )[0:2] except Exception: return default_width else: return width -def center_text(text, length=80, left_edge='|', right_edge='|', - text_length=None): +def center_text( + text, length=80, left_edge='|', right_edge='|', text_length=None +): """Center text with specified edge chars. You can pass in the length of the text as an arg, otherwise it is computed @@ -78,15 +81,24 @@ def center_text(text, length=80, left_edge='|', right_edge='|', return final -def align_left(text, length, left_edge='|', right_edge='|', text_length=None, - left_padding=2): +def align_left( + text, + length, + left_edge='|', + right_edge='|', + text_length=None, + left_padding=2, +): """Left align text.""" # postcondition: get_text_length(returned_text) == length if text_length is None: text_length = get_text_length(text) computed_length = ( - text_length + left_padding + \ - get_text_length(left_edge) + get_text_length(right_edge)) + text_length + + left_padding + + get_text_length(left_edge) + + get_text_length(right_edge) + ) if length - computed_length >= 0: padding = left_padding else: @@ -126,9 +138,10 @@ def convert_to_vertical_table(sections): sections[i] = new_section -class IndentedStream(object): - def __init__(self, stream, indent_level, left_indent_char='|', - right_indent_char='|'): +class IndentedStream: + def __init__( + self, stream, indent_level, left_indent_char='|', right_indent_char='|' + ): self._stream = stream self._indent_level = indent_level self._left_indent_char = left_indent_char @@ -147,7 +160,7 @@ def __getattr__(self, attr): return getattr(self._stream, attr) -class Styler(object): +class Styler: def style_title(self, text): return text @@ -168,25 +181,38 @@ def __init__(self): def style_title(self, text): # Originally bold + underline return text - #return colorama.Style.BOLD + text + colorama.Style.RESET_ALL def style_header_column(self, text): # Originally underline return text def style_row_element(self, text): - return (colorama.Style.BRIGHT + colorama.Fore.BLUE + - text + colorama.Style.RESET_ALL) + return ( + colorama.Style.BRIGHT + + colorama.Fore.BLUE + + text + + colorama.Style.RESET_ALL + ) def style_indentation_char(self, text): - return (colorama.Style.DIM + colorama.Fore.YELLOW + - text + colorama.Style.RESET_ALL) - - -class MultiTable(object): - def __init__(self, terminal_width=None, initial_section=True, - column_separator='|', terminal=None, - styler=None, auto_reformat=True): + return ( + colorama.Style.DIM + + colorama.Fore.YELLOW + + text + + colorama.Style.RESET_ALL + ) + + +class MultiTable: + def __init__( + self, + terminal_width=None, + initial_section=True, + column_separator='|', + terminal=None, + styler=None, + auto_reformat=True, + ): self._auto_reformat = auto_reformat if initial_section: self._current_section = Section() @@ -239,16 +265,22 @@ def _determine_conversion_needed(self, max_width): return self._auto_reformat def _calculate_max_width(self): - max_width = max(s.total_width(padding=4, with_border=True, - outer_padding=s.indent_level) - for s in self._sections) + max_width = max( + s.total_width( + padding=4, with_border=True, outer_padding=s.indent_level + ) + for s in self._sections + ) return max_width def _render_section(self, section, max_width, stream): - stream = IndentedStream(stream, section.indent_level, - self._styler.style_indentation_char('|'), - self._styler.style_indentation_char('|')) - max_width -= (section.indent_level * 2) + stream = IndentedStream( + stream, + section.indent_level, + self._styler.style_indentation_char('|'), + self._styler.style_indentation_char('|'), + ) + max_width -= section.indent_level * 2 self._render_title(section, max_width, stream) self._render_column_titles(section, max_width, stream) self._render_rows(section, max_width, stream) @@ -259,8 +291,12 @@ def _render_title(self, section, max_width, stream): # bottom_border: ---------------------------- if section.title: title = self._styler.style_title(section.title) - stream.write(center_text(title, max_width, '|', '|', - get_text_length(section.title)) + '\n') + stream.write( + center_text( + title, max_width, '|', '|', get_text_length(section.title) + ) + + '\n' + ) if not section.headers and not section.rows: stream.write('+%s+' % ('-' * (max_width - 2)) + '\n') @@ -269,8 +305,9 @@ def _render_column_titles(self, section, max_width, stream): return # In order to render the column titles we need to know # the width of each of the columns. - widths = section.calculate_column_widths(padding=4, - max_width=max_width) + widths = section.calculate_column_widths( + padding=4, max_width=max_width + ) # TODO: Built a list instead of +=, it's more efficient. current = '' length_so_far = 0 @@ -284,9 +321,13 @@ def _render_column_titles(self, section, max_width, stream): first = False else: left_edge = '' - current += center_text(text=stylized_header, length=width, - left_edge=left_edge, right_edge='|', - text_length=get_text_length(header)) + current += center_text( + text=stylized_header, + length=width, + left_edge=left_edge, + right_edge='|', + text_length=get_text_length(header), + ) length_so_far += width self._write_line_break(stream, widths) stream.write(current + '\n') @@ -308,8 +349,9 @@ def _write_line_break(self, stream, widths): def _render_rows(self, section, max_width, stream): if not section.rows: return - widths = section.calculate_column_widths(padding=4, - max_width=max_width) + widths = section.calculate_column_widths( + padding=4, max_width=max_width + ) if not widths: return self._write_line_break(stream, widths) @@ -326,16 +368,19 @@ def _render_rows(self, section, max_width, stream): else: left_edge = '' stylized = self._styler.style_row_element(element) - current += align_left(text=stylized, length=width, - left_edge=left_edge, - right_edge=self._column_separator, - text_length=get_text_length(element)) + current += align_left( + text=stylized, + length=width, + left_edge=left_edge, + right_edge=self._column_separator, + text_length=get_text_length(element), + ) length_so_far += width stream.write(current + '\n') self._write_line_break(stream, widths) -class Section(object): +class Section: def __init__(self): self.title = '' self.headers = [] @@ -345,8 +390,10 @@ def __init__(self): self._max_widths = [] def __repr__(self): - return ("Section(title=%s, headers=%s, indent_level=%s, num_rows=%s)" % - (self.title, self.headers, self.indent_level, len(self.rows))) + return ( + f"Section(title={self.title}, headers={self.headers}, " + f"indent_level={self.indent_level}, num_rows={len(self.rows)})" + ) def calculate_column_widths(self, padding=0, max_width=None): # postcondition: sum(widths) == max_width @@ -386,8 +433,13 @@ def total_width(self, padding=0, with_border=False, outer_padding=0): if with_border: total += border_padding total += outer_padding + outer_padding - return max(get_text_length(self.title) + border_padding + outer_padding + - outer_padding, total) + return max( + get_text_length(self.title) + + border_padding + + outer_padding + + outer_padding, + total, + ) def add_title(self, title): self.title = title @@ -405,18 +457,22 @@ def add_row(self, row): if self._num_cols is None: self._num_cols = len(row) if len(row) != self._num_cols: - raise ValueError("Row should have %s elements, instead " - "it has %s" % (self._num_cols, len(row))) + raise ValueError( + f"Row should have {self._num_cols} elements, instead " + f"it has {len(row)}" + ) row = self._format_row(row) self.rows.append(row) self._update_max_widths(row) def _format_row(self, row): - return [six.text_type(r) for r in row] + return [str(r) for r in row] def _update_max_widths(self, row): if not self._max_widths: self._max_widths = [get_text_length(el) for el in row] else: for i, el in enumerate(row): - self._max_widths[i] = max(get_text_length(el), self._max_widths[i]) + self._max_widths[i] = max( + get_text_length(el), self._max_widths[i] + ) diff --git a/awscli/testutils.py b/awscli/testutils.py index 807db01915dd..46d8d4143133 100644 --- a/awscli/testutils.py +++ b/awscli/testutils.py @@ -19,53 +19,44 @@ advantage of all the testing utilities we provide. """ -import os -import sys + +import binascii +import contextlib import copy -import shutil -import time import json import logging -import tempfile +import os import platform -import contextlib +import random +import shutil import string -import binascii +import sys +import tempfile +import time +import unittest +import uuid from pprint import pformat -from subprocess import Popen, PIPE +from subprocess import PIPE, Popen from unittest import mock +from pathlib import Path -from awscli.compat import StringIO - - -from awscli.compat import six -from botocore.session import Session -from botocore.exceptions import ClientError -from botocore.exceptions import WaiterError import botocore.loaders from botocore.awsrequest import AWSResponse +from botocore.exceptions import ClientError, WaiterError import awscli.clidriver -from awscli.plugin import load_plugins -from awscli.clidriver import CLIDriver -from awscli import EnvironmentVariables - - -import unittest - - -# In python 3, order matters when calling assertEqual to -# compare lists and dictionaries with lists. Therefore, -# assertItemsEqual needs to be used but it is renamed to -# assertCountEqual in python 3. -if six.PY2: - unittest.TestCase.assertCountEqual = unittest.TestCase.assertItemsEqual - +from awscli.compat import BytesIO, StringIO +from awscli.utils import create_nested_client _LOADER = botocore.loaders.Loader() INTEG_LOG = logging.getLogger('awscli.tests.integration') AWS_CMD = None +with tempfile.TemporaryDirectory() as tmpdir: + with open(Path(tmpdir) / 'aws-cli-tmp-file', 'w') as f: + pass + CASE_INSENSITIVE = (Path(tmpdir) / 'AWS-CLI-TMP-FILE').exists() + def skip_if_windows(reason): """Decorator to skip tests that should not be run on windows. @@ -77,9 +68,21 @@ def test_some_non_windows_stuff(self): self.assertEqual(...) """ + def decorator(func): return unittest.skipIf( - platform.system() not in ['Darwin', 'Linux'], reason)(func) + platform.system() not in ['Darwin', 'Linux'], reason + )(func) + + return decorator + + +def skip_if_case_sensitive(): + def decorator(func): + return unittest.skipIf( + not CASE_INSENSITIVE, + "This test requires a case-insensitive filesystem." + )(func) return decorator @@ -97,6 +100,7 @@ def create_clidriver(): def get_aws_cmd(): global AWS_CMD import awscli + if AWS_CMD is None: # Try /bin/aws repo_root = os.path.dirname(os.path.abspath(awscli.__file__)) @@ -104,10 +108,12 @@ def get_aws_cmd(): if not os.path.isfile(aws_cmd): aws_cmd = _search_path_for_cmd('aws') if aws_cmd is None: - raise ValueError('Could not find "aws" executable. Either ' - 'make sure it is on your PATH, or you can ' - 'explicitly set this value using ' - '"set_aws_cmd()"') + raise ValueError( + 'Could not find "aws" executable. Either ' + 'make sure it is on your PATH, or you can ' + 'explicitly set this value using ' + '"set_aws_cmd()"' + ) AWS_CMD = aws_cmd return AWS_CMD @@ -155,7 +161,7 @@ def create_bucket(session, name=None, region=None): """ if not region: region = 'us-west-2' - client = session.create_client('s3', region_name=region) + client = create_nested_client(session, 's3', region_name=region) if name: bucket_name = name else: @@ -176,6 +182,42 @@ def create_bucket(session, name=None, region=None): return bucket_name +def create_dir_bucket(session, name=None, location=None): + """ + Creates a S3 directory bucket + :returns: the name of the bucket created + """ + if not location: + location = ('us-west-2', 'usw2-az1') + region, az = location + client = create_nested_client(session, 's3', region_name=region) + if name: + bucket_name = name + else: + bucket_name = f"{random_bucket_name()}--{az}--x-s3" + params = { + 'Bucket': bucket_name, + 'CreateBucketConfiguration': { + 'Location': {'Type': 'AvailabilityZone', 'Name': az}, + 'Bucket': { + 'Type': 'Directory', + 'DataRedundancy': 'SingleAvailabilityZone', + }, + }, + } + try: + client.create_bucket(**params) + except ClientError as e: + if e.response['Error'].get('Code') == 'BucketAlreadyOwnedByYou': + # This can happen in the retried request, when the first one + # succeeded on S3 but somehow the response never comes back. + # We still got a bucket ready for test anyway. + pass + else: + raise + return bucket_name + + def random_chars(num_chars): """Returns random hex characters. @@ -185,7 +227,7 @@ def random_chars(num_chars): return binascii.hexlify(os.urandom(int(num_chars / 2))).decode('ascii') -def random_bucket_name(prefix='awscli-s3integ-', num_random=15): +def random_bucket_name(prefix='awscli-s3integ', num_random=15): """Generate a random S3 bucket name. :param prefix: A prefix to use in the bucket name. Useful @@ -196,7 +238,7 @@ def random_bucket_name(prefix='awscli-s3integ-', num_random=15): :returns: The name of a randomly generated bucket name as a string. """ - return prefix + random_chars(num_random) + return f"{prefix}-{random_chars(num_random)}-{int(time.time())}" class BaseCLIDriverTest(unittest.TestCase): @@ -205,6 +247,7 @@ class BaseCLIDriverTest(unittest.TestCase): This will load all the default plugins as well so it will simulate the behavior the user will see. """ + def setUp(self): self.environ = { 'AWS_DATA_PATH': os.environ['AWS_DATA_PATH'], @@ -224,35 +267,41 @@ def tearDown(self): class BaseAWSHelpOutputTest(BaseCLIDriverTest): def setUp(self): - super(BaseAWSHelpOutputTest, self).setUp() + super().setUp() self.renderer_patch = mock.patch('awscli.help.get_renderer') self.renderer_mock = self.renderer_patch.start() self.renderer = CapturedRenderer() self.renderer_mock.return_value = self.renderer def tearDown(self): - super(BaseAWSHelpOutputTest, self).tearDown() + super().tearDown() self.renderer_patch.stop() def assert_contains(self, contains): if contains not in self.renderer.rendered_contents: - self.fail("The expected contents:\n%s\nwere not in the " - "actual rendered contents:\n%s" % ( - contains, self.renderer.rendered_contents)) + self.fail( + "The expected contents:\n%s\nwere not in the " + "actual rendered contents:\n%s" + % (contains, self.renderer.rendered_contents) + ) def assert_contains_with_count(self, contains, count): r_count = self.renderer.rendered_contents.count(contains) if r_count != count: - self.fail("The expected contents:\n%s\n, with the " - "count:\n%d\nwere not in the actual rendered " - " contents:\n%s\nwith count:\n%d" % ( - contains, count, self.renderer.rendered_contents, r_count)) + self.fail( + "The expected contents:\n%s\n, with the " + "count:\n%d\nwere not in the actual rendered " + " contents:\n%s\nwith count:\n%d" + % (contains, count, self.renderer.rendered_contents, r_count) + ) def assert_not_contains(self, contents): if contents in self.renderer.rendered_contents: - self.fail("The contents:\n%s\nwere not suppose to be in the " - "actual rendered contents:\n%s" % ( - contents, self.renderer.rendered_contents)) + self.fail( + "The contents:\n%s\nwere not suppose to be in the " + "actual rendered contents:\n%s" + % (contents, self.renderer.rendered_contents) + ) def assert_text_order(self, *args, **kwargs): # First we need to find where the SYNOPSIS section starts. @@ -265,15 +314,19 @@ def assert_text_order(self, *args, **kwargs): previous = arg_indices[0] for i, index in enumerate(arg_indices[1:], 1): if index == -1: - self.fail('The string %r was not found in the contents: %s' - % (args[index], contents)) + self.fail( + 'The string %r was not found in the contents: %s' + % (args[index], contents) + ) if index < previous: - self.fail('The string %r came before %r, but was suppose to come ' - 'after it.\n%s' % (args[i], args[i - 1], contents)) + self.fail( + 'The string %r came before %r, but was suppose to come ' + 'after it.\n%s' % (args[i], args[i - 1], contents) + ) previous = index -class CapturedRenderer(object): +class CapturedRenderer: def __init__(self): self.rendered_contents = '' @@ -281,7 +334,7 @@ def render(self, contents): self.rendered_contents = contents.decode('utf-8') -class CapturedOutput(object): +class CapturedOutput: def __init__(self, stdout, stderr): self.stdout = stdout self.stderr = stderr @@ -289,8 +342,8 @@ def __init__(self, stdout, stderr): @contextlib.contextmanager def capture_output(): - stderr = six.StringIO() - stdout = six.StringIO() + stderr = StringIO() + stdout = StringIO() with mock.patch('sys.stderr', stderr): with mock.patch('sys.stdout', stdout): yield CapturedOutput(stdout, stderr) @@ -298,12 +351,9 @@ def capture_output(): @contextlib.contextmanager def capture_input(input_bytes=b''): - input_data = six.BytesIO(input_bytes) - if six.PY3: - mock_object = mock.Mock() - mock_object.buffer = input_data - else: - mock_object = input_data + input_data = BytesIO(input_bytes) + mock_object = mock.Mock() + mock_object.buffer = input_data with mock.patch('sys.stdin', mock_object): yield input_data @@ -334,7 +384,9 @@ def setUp(self): self.environ_patch.start() self.http_response = AWSResponse(None, 200, {}, None) self.parsed_response = {} - self.make_request_patch = mock.patch('botocore.endpoint.Endpoint.make_request') + self.make_request_patch = mock.patch( + 'botocore.endpoint.Endpoint.make_request' + ) self.make_request_is_patched = False self.operations_called = [] self.parsed_responses = None @@ -364,14 +416,25 @@ def patch_make_request(self): self.make_request_is_patched = False make_request_patch = self.make_request_patch.start() if self.parsed_responses is not None: - make_request_patch.side_effect = lambda *args, **kwargs: \ - (self.http_response, self.parsed_responses.pop(0)) + make_request_patch.side_effect = lambda *args, **kwargs: ( + self.http_response, + self.parsed_responses.pop(0), + ) else: - make_request_patch.return_value = (self.http_response, self.parsed_response) + make_request_patch.return_value = ( + self.http_response, + self.parsed_response, + ) self.make_request_is_patched = True - def assert_params_for_cmd(self, cmd, params=None, expected_rc=0, - stderr_contains=None, ignore_params=None): + def assert_params_for_cmd( + self, + cmd, + params=None, + expected_rc=0, + stderr_contains=None, + ignore_params=None, + ): stdout, stderr, rc = self.run_cmd(cmd, expected_rc) if stderr_contains is not None: self.assertIn(stderr_contains, stderr) @@ -385,11 +448,12 @@ def assert_params_for_cmd(self, cmd, params=None, expected_rc=0, except KeyError: pass if params != last_kwargs: - self.fail("Actual params did not match expected params.\n" - "Expected:\n\n" - "%s\n" - "Actual:\n\n%s\n" % ( - pformat(params), pformat(last_kwargs))) + self.fail( + "Actual params did not match expected params.\n" + "Expected:\n\n" + "%s\n" + "Actual:\n\n%s\n" % (pformat(params), pformat(last_kwargs)) + ) return stdout, stderr, rc def before_parameter_build(self, params, model, **kwargs): @@ -402,7 +466,8 @@ def run_cmd(self, cmd, expected_rc=0): event_emitter = self.driver.session.get_component('event_emitter') event_emitter.register('before-call', self.before_call) event_emitter.register_first( - 'before-parameter-build.*.*', self.before_parameter_build) + 'before-parameter-build.*.*', self.before_parameter_build + ) if not isinstance(cmd, list): cmdlist = cmd.split() else: @@ -420,23 +485,25 @@ def run_cmd(self, cmd, expected_rc=0): stderr = captured.stderr.getvalue() stdout = captured.stdout.getvalue() self.assertEqual( - rc, expected_rc, + rc, + expected_rc, "Unexpected rc (expected: %s, actual: %s) for command: %s\n" - "stdout:\n%sstderr:\n%s" % ( - expected_rc, rc, cmd, stdout, stderr)) + "stdout:\n%sstderr:\n%s" % (expected_rc, rc, cmd, stdout, stderr), + ) return stdout, stderr, rc class BaseAWSPreviewCommandParamsTest(BaseAWSCommandParamsTest): def setUp(self): self.preview_patch = mock.patch( - 'awscli.customizations.preview.mark_as_preview') + 'awscli.customizations.preview.mark_as_preview' + ) self.preview_patch.start() - super(BaseAWSPreviewCommandParamsTest, self).setUp() + super().setUp() def tearDown(self): self.preview_patch.stop() - super(BaseAWSPreviewCommandParamsTest, self).tearDown() + super().tearDown() class BaseCLIWireResponseTest(unittest.TestCase): @@ -446,7 +513,7 @@ def setUp(self): 'AWS_DEFAULT_REGION': 'us-east-1', 'AWS_ACCESS_KEY_ID': 'access_key', 'AWS_SECRET_ACCESS_KEY': 'secret_key', - 'AWS_CONFIG_FILE': '' + 'AWS_CONFIG_FILE': '', } self.environ_patch = mock.patch('os.environ', self.environ) self.environ_patch.start() @@ -466,9 +533,9 @@ def patch_send(self, status_code=200, headers={}, content=b''): self.send_patch.stop() self.send_is_patched = False send_patch = self.send_patch.start() - send_patch.return_value = mock.Mock(status_code=status_code, - headers=headers, - content=content) + send_patch.return_value = mock.Mock( + status_code=status_code, headers=headers, content=content + ) self.send_is_patched = True def run_cmd(self, cmd, expected_rc=0): @@ -484,15 +551,15 @@ def run_cmd(self, cmd, expected_rc=0): stderr = captured.stderr.getvalue() stdout = captured.stdout.getvalue() self.assertEqual( - rc, expected_rc, + rc, + expected_rc, "Unexpected rc (expected: %s, actual: %s) for command: %s\n" - "stdout:\n%sstderr:\n%s" % ( - expected_rc, rc, cmd, stdout, stderr)) + "stdout:\n%sstderr:\n%s" % (expected_rc, rc, cmd, stdout, stderr), + ) return stdout, stderr, rc - -class FileCreator(object): +class FileCreator: def __init__(self): self.rootdir = tempfile.mkdtemp() @@ -555,7 +622,7 @@ class ProcessTerminatedError(Exception): pass -class Result(object): +class Result: def __init__(self, rc, stdout, stderr, memory_usage=None): self.rc = rc self.stdout = stdout @@ -582,8 +649,14 @@ def _escape_quotes(command): return command -def aws(command, collect_memory=False, env_vars=None, - wait_for_finish=True, input_data=None, input_file=None): +def aws( + command, + collect_memory=False, + env_vars=None, + wait_for_finish=True, + input_data=None, + input_file=None, +): """Run an aws command. This help function abstracts the differences of running the "aws" @@ -623,8 +696,6 @@ def aws(command, collect_memory=False, env_vars=None, aws_command = 'python %s' % get_aws_cmd() full_command = '%s %s' % (aws_command, command) stdout_encoding = get_stdout_encoding() - if isinstance(full_command, six.text_type) and not six.PY3: - full_command = full_command.encode(stdout_encoding) INTEG_LOG.debug("Running command: %s", full_command) env = os.environ.copy() if 'AWS_DEFAULT_REGION' not in env: @@ -633,8 +704,14 @@ def aws(command, collect_memory=False, env_vars=None, env = env_vars if input_file is None: input_file = PIPE - process = Popen(full_command, stdout=PIPE, stderr=PIPE, stdin=input_file, - shell=True, env=env) + process = Popen( + full_command, + stdout=PIPE, + stderr=PIPE, + stdin=input_file, + shell=True, + env=env, + ) if not wait_for_finish: return process memory = None @@ -645,10 +722,12 @@ def aws(command, collect_memory=False, env_vars=None, stdout, stderr = process.communicate(**kwargs) else: stdout, stderr, memory = _wait_and_collect_mem(process) - return Result(process.returncode, - stdout.decode(stdout_encoding), - stderr.decode(stdout_encoding), - memory) + return Result( + process.returncode, + stdout.decode(stdout_encoding), + stderr.decode(stdout_encoding), + memory, + ) def get_stdout_encoding(): @@ -666,8 +745,8 @@ def _wait_and_collect_mem(process): get_memory = _get_memory_with_ps else: raise ValueError( - "Can't collect memory for process on platform %s." % - platform.system()) + f"Can't collect memory for process on platform {platform.system()}." + ) memory = [] while process.poll() is None: try: @@ -704,6 +783,7 @@ class BaseS3CLICommand(unittest.TestCase): and more streamlined. """ + _PUT_HEAD_SHARED_EXTRAS = [ 'SSECustomerAlgorithm', 'SSECustomerKey', @@ -716,7 +796,7 @@ def setUp(self): self.session = botocore.session.get_session() self.regions = {} self.region = 'us-west-2' - self.client = self.session.create_client('s3', region_name=self.region) + self.client = create_nested_client(self.session, 's3', region_name=self.region) self.extra_setup() def extra_setup(self): @@ -737,26 +817,26 @@ def override_parser(self, **kwargs): def create_client_for_bucket(self, bucket_name): region = self.regions.get(bucket_name, self.region) - client = self.session.create_client('s3', region_name=region) + client = create_nested_client(self.session, 's3', region_name=region) return client def assert_key_contents_equal(self, bucket, key, expected_contents): self.wait_until_key_exists(bucket, key) - if isinstance(expected_contents, six.BytesIO): + if isinstance(expected_contents, BytesIO): expected_contents = expected_contents.getvalue().decode('utf-8') actual_contents = self.get_key_contents(bucket, key) # The contents can be huge so we try to give helpful error messages # without necessarily printing the actual contents. self.assertEqual(len(actual_contents), len(expected_contents)) if actual_contents != expected_contents: - self.fail("Contents for %s/%s do not match (but they " - "have the same length)" % (bucket, key)) + self.fail( + f"Contents for {bucket}/{key} do not match (but they " + "have the same length)" + ) def delete_public_access_block(self, bucket_name): client = self.create_client_for_bucket(bucket_name) - client.delete_public_access_block( - Bucket=bucket_name - ) + client.delete_public_access_block(Bucket=bucket_name) def create_bucket(self, name=None, region=None): if not region: @@ -770,12 +850,22 @@ def create_bucket(self, name=None, region=None): self.delete_public_access_block(bucket_name) return bucket_name + def create_dir_bucket(self, name=None, location=None): + if location: + region, _ = location + else: + region = self.region + bucket_name = create_dir_bucket(self.session, name, location) + self.regions[bucket_name] = region + self.addCleanup(self.delete_bucket, bucket_name) + + # Wait for the bucket to exist before letting it be used. + self.wait_bucket_exists(bucket_name) + return bucket_name + def put_object(self, bucket_name, key_name, contents='', extra_args=None): client = self.create_client_for_bucket(bucket_name) - call_args = { - 'Bucket': bucket_name, - 'Key': key_name, 'Body': contents - } + call_args = {'Bucket': bucket_name, 'Key': key_name, 'Body': contents} if extra_args is not None: call_args.update(extra_args) response = client.put_object(**call_args) @@ -783,7 +873,8 @@ def put_object(self, bucket_name, key_name, contents='', extra_args=None): extra_head_params = {} if extra_args: extra_head_params = dict( - (k, v) for (k, v) in extra_args.items() + (k, v) + for (k, v) in extra_args.items() if k in self._PUT_HEAD_SHARED_EXTRAS ) self.wait_until_key_exists( @@ -818,7 +909,7 @@ def delete_bucket(self, bucket_name, attempts=5, delay=5): def remove_all_objects(self, bucket_name): client = self.create_client_for_bucket(bucket_name) - paginator = client.get_paginator('list_objects') + paginator = client.get_paginator('list_objects_v2') pages = paginator.paginate(Bucket=bucket_name) key_names = [] for page in pages: @@ -840,7 +931,8 @@ def wait_bucket_exists(self, bucket_name, min_successes=3): client = self.create_client_for_bucket(bucket_name) waiter = client.get_waiter('bucket_exists') consistency_waiter = ConsistencyWaiter( - min_successes=min_successes, delay_initial_poll=True) + min_successes=min_successes, delay_initial_poll=True + ) consistency_waiter.wait( lambda: waiter.wait(Bucket=bucket_name) is None ) @@ -858,7 +950,8 @@ def bucket_not_exists(self, bucket_name): def key_exists(self, bucket_name, key_name, min_successes=3): try: self.wait_until_key_exists( - bucket_name, key_name, min_successes=min_successes) + bucket_name, key_name, min_successes=min_successes + ) return True except (ClientError, WaiterError): return False @@ -866,7 +959,8 @@ def key_exists(self, bucket_name, key_name, min_successes=3): def key_not_exists(self, bucket_name, key_name, min_successes=3): try: self.wait_until_key_not_exists( - bucket_name, key_name, min_successes=min_successes) + bucket_name, key_name, min_successes=min_successes + ) return True except (ClientError, WaiterError): return False @@ -884,18 +978,28 @@ def head_object(self, bucket_name, key_name): response = client.head_object(Bucket=bucket_name, Key=key_name) return response - def wait_until_key_exists(self, bucket_name, key_name, extra_params=None, - min_successes=3): - self._wait_for_key(bucket_name, key_name, extra_params, - min_successes, exists=True) + def wait_until_key_exists( + self, bucket_name, key_name, extra_params=None, min_successes=3 + ): + self._wait_for_key( + bucket_name, key_name, extra_params, min_successes, exists=True + ) - def wait_until_key_not_exists(self, bucket_name, key_name, extra_params=None, - min_successes=3): - self._wait_for_key(bucket_name, key_name, extra_params, - min_successes, exists=False) + def wait_until_key_not_exists( + self, bucket_name, key_name, extra_params=None, min_successes=3 + ): + self._wait_for_key( + bucket_name, key_name, extra_params, min_successes, exists=False + ) - def _wait_for_key(self, bucket_name, key_name, extra_params=None, - min_successes=3, exists=True): + def _wait_for_key( + self, + bucket_name, + key_name, + extra_params=None, + min_successes=3, + exists=True, + ): client = self.create_client_for_bucket(bucket_name) if exists: waiter = client.get_waiter('object_exists') @@ -909,8 +1013,10 @@ def _wait_for_key(self, bucket_name, key_name, extra_params=None, def assert_no_errors(self, p): self.assertEqual( - p.rc, 0, - "Non zero rc (%s) received: %s" % (p.rc, p.stdout + p.stderr)) + p.rc, + 0, + "Non zero rc (%s) received: %s" % (p.rc, p.stdout + p.stderr), + ) self.assertNotIn("Error:", p.stderr) self.assertNotIn("failed:", p.stderr) self.assertNotIn("client error", p.stderr) @@ -922,7 +1028,7 @@ def fileno(self): return 0 -class TestEventHandler(object): +class TestEventHandler: def __init__(self, handler=None): self._handler = handler self._called = False @@ -942,7 +1048,7 @@ class ConsistencyWaiterException(Exception): pass -class ConsistencyWaiter(object): +class ConsistencyWaiter: """ A waiter class for some check to reach a consistent state. @@ -958,8 +1064,14 @@ class ConsistencyWaiter(object): :param delay: The number of seconds to delay the next API call after a failed check call. Default of 5 seconds. """ - def __init__(self, min_successes=1, max_attempts=20, delay=5, - delay_initial_poll=False): + + def __init__( + self, + min_successes=1, + max_attempts=20, + delay=5, + delay_initial_poll=False, + ): self.min_successes = min_successes self.max_attempts = max_attempts self.delay = delay diff --git a/awscli/text.py b/awscli/text.py index 9bc505042fee..6b915b0f8f2b 100644 --- a/awscli/text.py +++ b/awscli/text.py @@ -10,7 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -from awscli.compat import six def format_text(data, stream): @@ -25,7 +24,7 @@ def _format_text(item, stream, identifier=None, scalar_keys=None): else: # If it's not a list or a dict, we just write the scalar # value out directly. - stream.write(six.text_type(item)) + stream.write(str(item)) stream.write('\n') @@ -35,15 +34,18 @@ def _format_list(item, identifier, stream): if any(isinstance(el, dict) for el in item): all_keys = _all_scalar_keys(item) for element in item: - _format_text(element, stream=stream, identifier=identifier, - scalar_keys=all_keys) + _format_text( + element, + stream=stream, + identifier=identifier, + scalar_keys=all_keys, + ) elif any(isinstance(el, list) for el in item): scalar_elements, non_scalars = _partition_list(item) if scalar_elements: _format_scalar_list(scalar_elements, identifier, stream) for non_scalar in non_scalars: - _format_text(non_scalar, stream=stream, - identifier=identifier) + _format_text(non_scalar, stream=stream, identifier=identifier) else: _format_scalar_list(item, identifier, stream) @@ -62,11 +64,10 @@ def _partition_list(item): def _format_scalar_list(elements, identifier, stream): if identifier is not None: for item in elements: - stream.write('%s\t%s\n' % (identifier.upper(), - item)) + stream.write(f'{identifier.upper()}\t{item}\n') else: # For a bare list, just print the contents. - stream.write('\t'.join([six.text_type(item) for item in elements])) + stream.write('\t'.join([str(item) for item in elements])) stream.write('\n') @@ -78,8 +79,7 @@ def _format_dict(scalar_keys, item, identifier, stream): stream.write('\t'.join(scalars)) stream.write('\n') for new_identifier, non_scalar in non_scalars: - _format_text(item=non_scalar, stream=stream, - identifier=new_identifier) + _format_text(item=non_scalar, stream=stream, identifier=new_identifier) def _all_scalar_keys(list_of_dicts): @@ -107,10 +107,10 @@ def _partition_dict(item_dict, scalar_keys): if isinstance(value, (dict, list)): non_scalar.append((key, value)) else: - scalar.append(six.text_type(value)) + scalar.append(str(value)) else: for key in scalar_keys: - scalar.append(six.text_type(item_dict.get(key, ''))) + scalar.append(str(item_dict.get(key, ''))) remaining_keys = sorted(set(item_dict.keys()) - set(scalar_keys)) for remaining_key in remaining_keys: non_scalar.append((remaining_key, item_dict[remaining_key])) diff --git a/awscli/topics/config-vars.rst b/awscli/topics/config-vars.rst index 304d627afbb5..1cda1c508fb2 100644 --- a/awscli/topics/config-vars.rst +++ b/awscli/topics/config-vars.rst @@ -98,7 +98,7 @@ The valid values of the ``output`` configuration variable are: ``cli_timestamp_format`` controls the format of timestamps displayed by the AWS CLI. The valid values of the ``cli_timestamp_format`` configuration variable are: -* none - Display the timestamp exactly as received from the HTTP response. +* wire - Display the timestamp exactly as received from the HTTP response. * iso8601 - Reformat timestamp using iso8601 in the UTC timezone. ``cli_follow_urlparam`` controls whether or not the CLI will attempt to follow diff --git a/awscli/topics/s3-case-insensitivity.rst b/awscli/topics/s3-case-insensitivity.rst new file mode 100644 index 000000000000..8437ac416263 --- /dev/null +++ b/awscli/topics/s3-case-insensitivity.rst @@ -0,0 +1,105 @@ +:title: AWS CLI S3 Case-Insensitivity +:description: Using 'aws s3' commands on case-insensitive filesystems +:category: S3 +:related command: s3 cp, s3 sync, s3 mv + + +This page explains how to detect and handle potential case conflicts when +downloading multiple objects from S3 to a local case-insensitive filesystem +using a single AWS CLI command. + +Case conflicts +============== +S3 object keys are case-sensitive meaning that a bucket can have a set of +key names that differ only by case, for example, ``a.txt`` and ``A.txt``. + +The AWS CLI offers high-level S3 commands that manage transfers of +multiple S3 objects using a single command: + +* ``aws s3 sync`` +* ``aws s3 cp --recursive`` +* ``aws s3 mv --recursive`` + +Case conflicts can occur on case-insensitive filesystems when an S3 bucket +has multiple objects whose keys differ only by case and a single AWS CLI +command is called to download multiple S3 objects **OR** a local file +already exists whose name differs only by case. + +For example, consider an S3 bucket with the following stored objects: + +* ``a.txt`` +* ``A.txt`` + +When the following AWS CLI command is called, the AWS CLI will submit +requests to download ``a.txt`` and ``A.txt``. Since only +one can exist on a case-insensitive filesystem, the last download to finish +will be the file that's locally available. + +.. code-block:: + + aws s3 sync s3://examplebucket ./mylocaldir + +Detecting and handling case conflicts +===================================== +To detect and handle case conflicts, you can specify the ``--case-conflict`` +parameter. The following values are valid options: + +* ``error`` - When a case conflict is detected, the command will immediately + fail and abort in-progress downloads. +* ``warn`` - When a case conflict is detected, the AWS CLI will + display a warning. +* ``skip`` - When a case conflict is detected, the command will skip + downloading the object and continue and display a warning. +* ``ignore`` - (Default) Case conflicts will not be detected or handled. + + +Continuing the prior example, the following describes what happens when +appending the ``--case-conflict`` parameter with possible values: + +``--case-conflict error`` + +1. Submit a download request for ``A.txt``. +2. Detect that ``a.txt`` conflicts with an object that's been submitted for download. +3. Throw an error. If ``A.txt`` finished downloading, it will be locally available. Otherwise, the download request for ``A.txt`` will be aborted. + +``--case-conflict warn`` + +1. Submit a download request for ``A.txt``. +2. Detect that ``a.txt`` conflicts with an object that's been submitted for download. +3. Display a warning. +4. Submit a download request for ``a.txt``, downloading ``A.txt`` and ``a.txt`` in parallel. + +``--case-conflict skip`` + +1. Submit a download request for ``A.txt``. +2. Detect that ``a.txt`` conflicts with an object that's been submitted for download. +3. Skip downloading ``a.txt`` and continue. + +``--case-conflict ignore`` + +1. Submit a download request for ``A.txt``. +2. Submit a download request for ``a.txt``, downloading ``A.txt`` and ``a.txt`` in parallel. + +If your local filesystem is case-sensitive, there's no need to detect and +handle case conflicts. We recommend setting ``--case-conflict ignore`` +in this case. + +S3 Express directory buckets +============================ +Detecting case conflicts is **NOT** supported when the source is an S3 Express +directory bucket. When operating on directory buckets, valid values for the +``--case-conflict`` parameter are: + +* ``warn`` +* ``ignore`` + +The following values are invalid when operating on directory buckets: + +* ``error`` +* ``skip`` + +For example, calling the following command will fail: + +.. code-block:: + + aws s3 cp s3://mydirbucket--usw2-az1--x-s3 ./mylocaldir --recursive --case-conflict error \ No newline at end of file diff --git a/awscli/topics/s3-config.rst b/awscli/topics/s3-config.rst index 0b5da90b2d96..9ca408919ecb 100644 --- a/awscli/topics/s3-config.rst +++ b/awscli/topics/s3-config.rst @@ -40,7 +40,7 @@ and ``aws s3api``: on your bucket before attempting to use the endpoint. This is mutually exclusive with the ``use_dualstack_endpoint`` option. * ``use_dualstack_endpoint`` - Use the Amazon S3 dual IPv4 / IPv6 endpoint for - all ``s3 `` and ``s3api`` commands. This is mutually exclusive with the + all ``s3`` and ``s3api`` commands. This is mutually exclusive with the ``use_accelerate_endpoint`` option. * ``addressing_style`` - Specifies which addressing style to use. This controls if the bucket name is in the hostname or part of the URL. Value values are: @@ -171,7 +171,9 @@ file is divided into chunks. This configuration option specifies what the chunk size (also referred to as the part size) should be. This value can specified using the same semantics as ``multipart_threshold``, that is either as the number of bytes as an integer, or using a size -suffix. +suffix. If the specified chunk size does not fit within the established +limits for S3 multipart uploads, the chunk size will be automatically +adjusted to a valid value. max_bandwidth diff --git a/awscli/topics/s3-faq.rst b/awscli/topics/s3-faq.rst index 2e8babe13a41..04ad97b8f16d 100644 --- a/awscli/topics/s3-faq.rst +++ b/awscli/topics/s3-faq.rst @@ -13,32 +13,55 @@ Below are common questions regarding the use of Amazon S3 in the AWS CLI. Q: Does the AWS CLI validate checksums? --------------------------------------- -The AWS CLI will perform checksum validation for uploading files in -specific scenarios. +The AWS CLI will attempt to perform checksum validation for uploading and +downloading files, as described below. Upload ~~~~~~ -The AWS CLI will calculate and auto-populate the ``Content-MD5`` header for -both standard and multipart uploads. If the checksum that S3 calculates does -not match the ``Content-MD5`` provided, S3 will not store the object and -instead will return an error message back the AWS CLI. The AWS CLI will retry -this error up to 5 times before giving up. On the case that any files fail to -transfer successfully to S3, the AWS CLI will exit with a non zero RC. -See ``aws help return-codes`` for more information. - -If the upload request is signed with Signature Version 4, then the AWS CLI uses the -``x-amz-content-sha256`` header as a checksum instead of ``Content-MD5``. -The AWS CLI will use Signature Version 4 for S3 in several cases: - -* You're using an AWS region that only supports Signature Version 4. This - includes ``eu-central-1`` and ``ap-northeast-2``. -* You explicitly opt in and set ``signature_version = s3v4`` in your - ``~/.aws/config`` file. - -Note that the AWS CLI will add a ``Content-MD5`` header for both -the high level ``aws s3`` commands that perform uploads -(``aws s3 cp``, ``aws s3 sync``) as well as the low level ``s3api`` -commands including ``aws s3api put-object`` and ``aws s3api upload-part``. - -If you want to verify the integrity of an object during upload, see `How can I check the integrity of an object uploaded to Amazon S3? `_ in the *AWS Knowledge Center*. +The AWS CLI v1 will calculate and auto-populate a ``x-amz-checksum-`` HTTP header by +default for each upload, where ```` is the algorithm used to calculate the checksum. +By default, the Cyclic Redundancy Check 32 (CRC32) algorithm +is used to calculate checksums, but an alternative algorithm can be specified by using the +``--checksum-algorithm`` argument on high-level ``aws s3`` commands. The checksum algorithms +supported by the AWS CLI v1 are: + +- CRC64NVME (Recommended) +- CRC32 +- CRC32C +- SHA1 +- SHA256 + +Amazon S3 will use the algorithm specified in the header to calculate the checksum of the object. If it +does not match the checksum provided, the object will not be stored and an error message +will be returned. Otherwise, the checksum is stored in object metadata that you can use +later to verify data integrity of download operations (see Download section). + +.. note:: + Note that the AWS CLI will perform the above checksum calculations for commands that perform uploads. This + includes high-level commands like ``aws s3 cp``, ``aws s3 sync``, and ``aws s3 mv``, and low-level commands + like ``aws s3api put-object`` and ``aws s3api upload-part``." + + For high-level command invocations that result in uploading multiple files (e.g. ``aws s3 sync``), + the same checksum algorithm will be used for all file uploads included in the command execution. + +For more information about verifying data integrity in Amazon S3, see +`Checking object integrity in Amazon S3 +`_ in the Amazon S3 User Guide. + +Download +~~~~~~ + +The AWS CLI will attempt to verify the checksum of downloads when possible. If a non-MD5 checksum is returned +with a downloaded object, the CLI will use the same algorithm to recalculate the checksum and verify +it matches the one stored in Amazon S3. If checksum validation fails, an error is raised and the request will NOT be +retried. + +.. note:: + Note that the AWS CLI will perform the above checksum calculations for commands that perform uploads. This + includes high-level commands like ``aws s3 cp``, ``aws s3 sync``, and ``aws s3 mv``, and low-level commands + like ``aws s3api get-object``" + +For more information about verifying data integrity in Amazon S3, see +`Checking object integrity in Amazon S3 +`_ in the Amazon S3 User Guide. diff --git a/awscli/topics/topic-tags.json b/awscli/topics/topic-tags.json index 9d3a684bb06b..765424a8a6f1 100644 --- a/awscli/topics/topic-tags.json +++ b/awscli/topics/topic-tags.json @@ -69,5 +69,21 @@ "title": [ "AWS CLI S3 FAQ" ] + }, + "s3-case-insensitivity": { + "category": [ + "S3" + ], + "description": [ + "Using 'aws s3' commands on case-insensitive filesystems" + ], + "related command": [ + "s3 cp", + "s3 sync", + "s3 mv" + ], + "title": [ + "AWS CLI S3 Case-Insensitivity" + ] } } \ No newline at end of file diff --git a/awscli/topictags.py b/awscli/topictags.py index d635a9d20e3a..ec681035b7db 100644 --- a/awscli/topictags.py +++ b/awscli/topictags.py @@ -19,12 +19,13 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. # -import os import json +import os + import docutils.core -class TopicTagDB(object): +class TopicTagDB: """This class acts like a database for the tags of all available topics. A tag is an element in a topic reStructured text file that contains @@ -67,19 +68,25 @@ class TopicTagDB(object): that all tag values for a specific tag of a specific topic are unique. """ - VALID_TAGS = ['category', 'description', 'title', 'related topic', - 'related command'] + VALID_TAGS = [ + 'category', + 'description', + 'title', + 'related topic', + 'related command', + ] # The default directory to look for topics. TOPIC_DIR = os.path.join( - os.path.dirname( - os.path.abspath(__file__)), 'topics') + os.path.dirname(os.path.abspath(__file__)), 'topics' + ) # The default JSON index to load. JSON_INDEX = os.path.join(TOPIC_DIR, 'topic-tags.json') - def __init__(self, tag_dictionary=None, index_file=JSON_INDEX, - topic_dir=TOPIC_DIR): + def __init__( + self, tag_dictionary=None, index_file=JSON_INDEX, topic_dir=TOPIC_DIR + ): """ :param index_file: The path to a specific JSON index to load. If nothing is specified it will default to the default JSON @@ -121,7 +128,7 @@ def valid_tags(self): def load_json_index(self): """Loads a JSON file into the tag dictionary.""" - with open(self.index_file, 'r') as f: + with open(self.index_file) as f: self._tag_dictionary = json.load(f) def save_to_json_index(self): @@ -156,7 +163,7 @@ def scan(self, topic_files): :param topic_files: A list of paths to topics to scan into memory. """ for topic_file in topic_files: - with open(topic_file, 'r') as f: + with open(topic_file) as f: # Parse out the name of the topic topic_name = self._find_topic_name(topic_file) # Add the topic to the dictionary if it does not exist @@ -164,7 +171,8 @@ def scan(self, topic_files): topic_content = f.read() # Record the tags and the values self._add_tag_and_values_from_content( - topic_name, topic_content) + topic_name, topic_content + ) def _find_topic_name(self, topic_src_file): # Get the name of each of these files @@ -259,9 +267,9 @@ def query(self, tag, values=None): # no value constraints are provided or if the tag value # falls in the allowed tag values. if values is None or tag_value in values: - self._add_key_values(query_dict, - key=tag_value, - values=[topic_name]) + self._add_key_values( + query_dict, key=tag_value, values=[topic_name] + ) return query_dict def get_tag_value(self, topic_name, tag, default_value=None): diff --git a/awscli/utils.py b/awscli/utils.py index 7ed20575a24f..6b06b9fd2b40 100644 --- a/awscli/utils.py +++ b/awscli/utils.py @@ -10,17 +10,20 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import base64 +import contextlib import csv -import signal import datetime -import contextlib import os -import sys +import signal import subprocess +import sys -from awscli.compat import six -from awscli.compat import get_binary_stdout -from awscli.compat import get_popen_kwargs_for_pager_cmd +from awscli.compat import ( + StringIO, + get_binary_stdout, + get_popen_kwargs_for_pager_cmd, +) def split_on_commas(value): @@ -29,7 +32,7 @@ def split_on_commas(value): return value.split(',') elif not any(char in value for char in ['"', "'", '[', ']']): # Simple escaping, let the csv module handle it. - return list(csv.reader(six.StringIO(value), escapechar='\\'))[0] + return list(csv.reader(StringIO(value), escapechar='\\'))[0] else: # If there's quotes for the values, we have to handle this # ourselves. @@ -38,7 +41,7 @@ def split_on_commas(value): def _split_with_quotes(value): try: - parts = list(csv.reader(six.StringIO(value), escapechar='\\'))[0] + parts = list(csv.reader(StringIO(value), escapechar='\\'))[0] except csv.Error: raise ValueError("Bad csv value: %s" % value) iter_parts = iter(parts) @@ -50,16 +53,19 @@ def _split_with_quotes(value): # Find an opening list bracket list_start = part.find('=[') - if list_start >= 0 and value.find(']') != -1 and \ - (quote_char is None or part.find(quote_char) > list_start): + if ( + list_start >= 0 + and value.find(']') != -1 + and (quote_char is None or part.find(quote_char) > list_start) + ): # This is a list, eat all the items until the end if ']' in part: # Short circuit for only one item new_chunk = part else: new_chunk = _eat_items(value, iter_parts, part, ']') - list_items = _split_with_quotes(new_chunk[list_start + 2:-1]) - new_chunk = new_chunk[:list_start + 1] + ','.join(list_items) + list_items = _split_with_quotes(new_chunk[list_start + 2 : -1]) + new_chunk = new_chunk[: list_start + 1] + ','.join(list_items) new_parts.append(new_chunk) continue elif quote_char is None: @@ -88,7 +94,7 @@ def _eat_items(value, iter_parts, part, end_char, replace_char=''): chunks = [current.replace(replace_char, '')] while True: try: - current = six.advance_iterator(iter_parts) + current = next(iter_parts) except StopIteration: raise ValueError(value) chunks.append(current.replace(replace_char, '')) @@ -128,6 +134,18 @@ def find_service_and_method_in_event_name(event_name): return service_name, operation_name +def resolve_v2_debug_mode(args): + # Resolve whether v2-debug mode is enabled, + # following the correct precedence order. + if args is None: + return False + if getattr(args, 'v2_debug', False): + return True + if os.environ.get('AWS_CLI_UPGRADE_DEBUG_MODE', '').lower() == 'true': + return True + return False + + def is_document_type(shape): """Check if shape is a document type""" return getattr(shape, 'is_document_type', False) @@ -155,8 +173,11 @@ def is_document_type_container(shape): def is_streaming_blob_type(shape): """Check if the shape is a streaming blob type.""" - return (shape and shape.type_name == 'blob' and - shape.serialization.get('streaming', False)) + return ( + shape + and shape.type_name == 'blob' + and shape.serialization.get('streaming', False) + ) def is_tagged_union_type(shape): @@ -177,11 +198,14 @@ def operation_uses_document_types(operation_model): def json_encoder(obj): - """JSON encoder that formats datetimes as ISO8601 format.""" + """JSON encoder that formats datetimes as ISO8601 format + and encodes bytes to UTF-8 Base64 string.""" if isinstance(obj, datetime.datetime): return obj.isoformat() + elif isinstance(obj, bytes): + return base64.b64encode(obj).decode("utf-8") else: - return obj + raise TypeError('Encountered unrecognized type in JSON encoder.') @contextlib.contextmanager @@ -193,19 +217,23 @@ def ignore_ctrl_c(): signal.signal(signal.SIGINT, original) -def emit_top_level_args_parsed_event(session, args): +def emit_top_level_args_parsed_event(session, args, remaining=None): session.emit( - 'top-level-args-parsed', parsed_args=args, session=session) + 'top-level-args-parsed', + parsed_args=args, + session=session, + remaining_args=remaining, + ) def is_a_tty(): try: return os.isatty(sys.stdout.fileno()) - except Exception as e: + except Exception: return False -class OutputStreamFactory(object): +class OutputStreamFactory: def __init__(self, popen=None): self._popen = popen if popen is None: @@ -217,7 +245,7 @@ def get_pager_stream(self, preferred_pager=None): try: process = self._popen(**popen_kwargs) yield process.stdin - except IOError: + except OSError: # Ignore IOError since this can commonly be raised when a pager # is closed abruptly and causes a broken pipe. pass @@ -236,11 +264,11 @@ def _get_process_pager_kwargs(self, pager_cmd): def write_exception(ex, outfile): outfile.write("\n") - outfile.write(six.text_type(ex)) + outfile.write(str(ex)) outfile.write("\n") -class ShapeWalker(object): +class ShapeWalker: def walk(self, shape, visitor): """Walk through and visit shapes for introspection @@ -285,16 +313,32 @@ def _do_shape_visit(self, shape, visitor): visitor.visit_shape(shape) -class BaseShapeVisitor(object): +class BaseShapeVisitor: """Visit shape encountered by ShapeWalker""" + def visit_shape(self, shape): pass class ShapeRecordingVisitor(BaseShapeVisitor): """Record shapes visited by ShapeWalker""" + def __init__(self): self.visited = [] def visit_shape(self, shape): self.visited.append(shape) + +# NOTE: The following interfaces are considered private and are subject +# to abrupt breaking changes. Please do not use them directly. + +try: + from botocore.utils import create_nested_client as create_client +except ImportError: + + def create_client(session, service_name, **kwargs): + return session.create_client(service_name, **kwargs) + + +def create_nested_client(session, service_name, **kwargs): + return create_client(session, service_name, **kwargs) diff --git a/doc/README.rst b/doc/README.rst index 57cda6de96b8..efacdaf7da04 100644 --- a/doc/README.rst +++ b/doc/README.rst @@ -2,10 +2,9 @@ Building The Documentation ========================== -Before building the documentation, make sure you have Python 3.7, -the awscli, and all the necessary dependencies installed. You can -install dependencies by using the requirements-docs.txt file at the -root of this repo:: +Before building the documentation, ensure you have the AWS CLI and +necessary dependencies installed. You can install dependencies by +using the requirements-docs.txt file at the root of this repo:: pip install -r requirements-docs.txt diff --git a/doc/source/conf.py b/doc/source/conf.py index 6bcdab10732d..ab4586f3e084 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -50,9 +50,9 @@ # built documents. # # The short X.Y version. -version = '1.32.1' +version = '1.44.' # The full version, including alpha/beta/rc tags. -release = '1.32.101' +release = '1.44.48' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -269,8 +269,6 @@ 'Amazon ElastiCache', '', 1), ('reference/elasticbeanstalk/index', 'aws-elasticbeanstalk', 'AWS Elastic Beanstalk', '', 1), - ('reference/elastictranscoder/index', 'aws-elastictranscoder', - 'Amazon Elastic Transcoder', '', 1), ('reference/elb/index', 'aws-elb', 'Elastic Load Balancing', '', 1), ('reference/emr/index', 'aws-emr', @@ -279,8 +277,6 @@ 'AWS Identity and Access Management', '', 1), ('reference/importexport/index', 'aws-importexport', 'AWS Import/Export', '', 1), - ('reference/opsworks/index', 'aws-opsworks', - 'AWS OpsWorks', '', 1), ('reference/rds/index', 'aws-rds', 'Amazon Relational Database Service', '', 1), ('reference/redshift/index', 'aws-redshift', diff --git a/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/layout.html b/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/layout.html index 7f923af3cf36..fd02ad7ad406 100644 --- a/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/layout.html +++ b/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/layout.html @@ -10,7 +10,6 @@ {%- block htmltitle %} {{ super() }} - {%- endblock %} @@ -95,20 +94,21 @@

    Note:

    You are viewing the documentation for an older major version of the AWS CLI (version 1). -

    -

    - AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. - {% if pagename in deprecated_commands %} + {% if pagename in deprecated_commands %} {% if deprecated_commands[pagename] %} This command is deprecated in AWS CLI version 2, use - {{ deprecated_commands[pagename][1] }} instead. + {{ deprecated_commands[pagename][1] }} instead. {% else %} This command is deprecated and no longer available in AWS CLI version 2. {% endif %} {% else %} To view this page for the AWS CLI version 2, click - here. + here. {% endif %} +

    +

    + We announced the upcoming end-of-support for the AWS CLI v1. + For dates, additional details, and information on how to migrate, please refer to the linked announcement. For more information see the AWS CLI version 2 installation instructions and diff --git a/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/searchbox.html b/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/searchbox.html index ceec39a7fd54..ac1200203251 100644 --- a/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/searchbox.html +++ b/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/searchbox.html @@ -9,5 +9,5 @@

    {{ _('Quick search') }}

    - + {%- endif %} diff --git a/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/static/jquery-1.9.1.min.js b/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/static/jquery-1.9.1.min.js deleted file mode 100644 index c6a59aebb3fb..000000000000 --- a/doc/source/guzzle_sphinx_theme/guzzle_sphinx_theme/static/jquery-1.9.1.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license - //@ sourceMappingURL=jquery.min.map - */(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
    a",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="
    t
    ",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
    ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; - return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="
    ",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:b.support.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) -}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("