From ba591a142ed3bb482ccfd1e913cdeb329c3efab0 Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Wed, 7 Oct 2020 18:08:49 +0000 Subject: [PATCH] Update to latest models --- .../next-release/api-change-ce-83219.json | 5 + .../api-change-computeoptimizer-62721.json | 5 + .../api-change-elasticache-98491.json | 5 + .../api-change-mediapackage-27185.json | 5 + botocore/data/ce/2017-10-25/service-2.json | 44 +- .../2019-11-01/service-2.json | 36 +- .../elasticache/2015-02-02/paginators-1.json | 12 + .../elasticache/2015-02-02/service-2.json | 827 +++++++++++++++++- .../mediapackage/2017-10-12/service-2.json | 179 ++++ 9 files changed, 1091 insertions(+), 27 deletions(-) create mode 100644 .changes/next-release/api-change-ce-83219.json create mode 100644 .changes/next-release/api-change-computeoptimizer-62721.json create mode 100644 .changes/next-release/api-change-elasticache-98491.json create mode 100644 .changes/next-release/api-change-mediapackage-27185.json diff --git a/.changes/next-release/api-change-ce-83219.json b/.changes/next-release/api-change-ce-83219.json new file mode 100644 index 0000000000..564a856e79 --- /dev/null +++ b/.changes/next-release/api-change-ce-83219.json @@ -0,0 +1,5 @@ +{ + "category": "``ce``", + "type": "api-change", + "description": "Update ce client to latest version" +} diff --git a/.changes/next-release/api-change-computeoptimizer-62721.json b/.changes/next-release/api-change-computeoptimizer-62721.json new file mode 100644 index 0000000000..3c214a801e --- /dev/null +++ b/.changes/next-release/api-change-computeoptimizer-62721.json @@ -0,0 +1,5 @@ +{ + "category": "``compute-optimizer``", + "type": "api-change", + "description": "Update compute-optimizer client to latest version" +} diff --git a/.changes/next-release/api-change-elasticache-98491.json b/.changes/next-release/api-change-elasticache-98491.json new file mode 100644 index 0000000000..54225ca06f --- /dev/null +++ b/.changes/next-release/api-change-elasticache-98491.json @@ -0,0 +1,5 @@ +{ + "category": "``elasticache``", + "type": "api-change", + "description": "Update elasticache client to latest version" +} diff --git a/.changes/next-release/api-change-mediapackage-27185.json b/.changes/next-release/api-change-mediapackage-27185.json new file mode 100644 index 0000000000..fbf45da4d3 --- /dev/null +++ b/.changes/next-release/api-change-mediapackage-27185.json @@ -0,0 +1,5 @@ +{ + "category": "``mediapackage``", + "type": "api-change", + "description": "Update mediapackage client to latest version" +} diff --git a/botocore/data/ce/2017-10-25/service-2.json b/botocore/data/ce/2017-10-25/service-2.json index 2ef62651fc..5ec279a1be 100644 --- a/botocore/data/ce/2017-10-25/service-2.json +++ b/botocore/data/ce/2017-10-25/service-2.json @@ -170,7 +170,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"RequestChangedException"} ], - "documentation":"

Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts.

" + "documentation":"

Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master account in an organization in AWS Organizations have access to all member accounts.

" }, "GetCostAndUsageWithResources":{ "name":"GetCostAndUsageWithResources", @@ -187,7 +187,7 @@ {"shape":"InvalidNextTokenException"}, {"shape":"RequestChangedException"} ], - "documentation":"

Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

" + "documentation":"

Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master account in an organization in AWS Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

" }, "GetCostForecast":{ "name":"GetCostForecast", @@ -263,7 +263,7 @@ {"shape":"DataUnavailableException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Retrieves the reservation utilization for your account. Master accounts in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID.

" + "documentation":"

Retrieves the reservation utilization for your account. Master account in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID.

" }, "GetRightsizingRecommendation":{ "name":"GetRightsizingRecommendation", @@ -320,7 +320,7 @@ {"shape":"LimitExceededException"}, {"shape":"DataUnavailableException"} ], - "documentation":"

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

You cannot group by any dimension values for GetSavingsPlansUtilization.

" + "documentation":"

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

You cannot group by any dimension values for GetSavingsPlansUtilization.

" }, "GetSavingsPlansUtilizationDetails":{ "name":"GetSavingsPlansUtilizationDetails", @@ -1170,6 +1170,28 @@ "type":"list", "member":{"shape":"DimensionValuesWithAttributes"} }, + "EBSResourceUtilization":{ + "type":"structure", + "members":{ + "EbsReadOpsPerSecond":{ + "shape":"GenericString", + "documentation":"

The maximum number of read operations per second.

" + }, + "EbsWriteOpsPerSecond":{ + "shape":"GenericString", + "documentation":"

The maximum number of write operations per second.

" + }, + "EbsReadBytesPerSecond":{ + "shape":"GenericString", + "documentation":"

The maximum size of read operations per second

" + }, + "EbsWriteBytesPerSecond":{ + "shape":"GenericString", + "documentation":"

The maximum size of write operations per second.

" + } + }, + "documentation":"

The EBS field that contains a list of EBS metrics associated with the current instance.

" + }, "EC2InstanceDetails":{ "type":"structure", "members":{ @@ -1264,6 +1286,10 @@ "MaxStorageUtilizationPercentage":{ "shape":"GenericString", "documentation":"

Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

" + }, + "EBSResourceUtilization":{ + "shape":"EBSResourceUtilization", + "documentation":"

The EBS field that contains a list of EBS metrics associated with the current instance.

" } }, "documentation":"

Utilization metrics of the instance.

" @@ -1365,7 +1391,7 @@ "documentation":"

The filter based on CostCategory values.

" } }, - "documentation":"

Use Expression to filter by cost or by usage. There are two patterns:

For GetRightsizingRecommendation action, a combination of OR and NOT is not supported. OR is not supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.

" + "documentation":"

Use Expression to filter by cost or by usage. There are two patterns:

For GetRightsizingRecommendation action, a combination of OR and NOT is not supported. OR is not supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.

" }, "Expressions":{ "type":"list", @@ -1776,7 +1802,7 @@ }, "AccountScope":{ "shape":"AccountScope", - "documentation":"

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

" + "documentation":"

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

" }, "LookbackPeriodInDays":{ "shape":"LookbackPeriodInDays", @@ -1985,7 +2011,7 @@ }, "AccountScope":{ "shape":"AccountScope", - "documentation":"

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

" + "documentation":"

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

" }, "NextPageToken":{ "shape":"NextPageToken", @@ -3122,7 +3148,7 @@ "members":{ "AccountScope":{ "shape":"AccountScope", - "documentation":"

The account scope that you want your recommendations for. AWS calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

" + "documentation":"

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the master account and member accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual member accounts only.

" }, "SavingsPlansType":{ "shape":"SupportedSavingsPlansType", @@ -3391,7 +3417,7 @@ "documentation":"

The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

" } }, - "documentation":"

A single daily or monthly Savings Plans utilization rate, and details for your account. Master accounts in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

" + "documentation":"

A single daily or monthly Savings Plans utilization rate, and details for your account. A master account in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

" }, "SavingsPlansUtilizationDetails":{ "type":"list", diff --git a/botocore/data/compute-optimizer/2019-11-01/service-2.json b/botocore/data/compute-optimizer/2019-11-01/service-2.json index 9b447ed998..8d1054b531 100644 --- a/botocore/data/compute-optimizer/2019-11-01/service-2.json +++ b/botocore/data/compute-optimizer/2019-11-01/service-2.json @@ -91,7 +91,7 @@ {"shape":"MissingAuthenticationToken"}, {"shape":"ThrottlingException"} ], - "documentation":"

Returns Auto Scaling group recommendations.

AWS Compute Optimizer currently generates recommendations for Auto Scaling groups that are configured to run instances of the M, C, R, T, and X instance families. The service does not generate recommendations for Auto Scaling groups that have a scaling policy attached to them, or that do not have the same values for desired, minimum, and maximum capacity. In order for Compute Optimizer to analyze your Auto Scaling groups, they must be of a fixed size. For more information, see the AWS Compute Optimizer User Guide.

" + "documentation":"

Returns Auto Scaling group recommendations.

AWS Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups that meet a specific set of requirements. For more information, see the Supported resources and requirements in the AWS Compute Optimizer User Guide.

" }, "GetEC2InstanceRecommendations":{ "name":"GetEC2InstanceRecommendations", @@ -111,7 +111,7 @@ {"shape":"MissingAuthenticationToken"}, {"shape":"ThrottlingException"} ], - "documentation":"

Returns Amazon EC2 instance recommendations.

AWS Compute Optimizer currently generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) and Amazon EC2 Auto Scaling. It generates recommendations for M, C, R, T, and X instance families. For more information, see the AWS Compute Optimizer User Guide.

" + "documentation":"

Returns Amazon EC2 instance recommendations.

AWS Compute Optimizer generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) instances that meet a specific set of requirements. For more information, see the Supported resources and requirements in the AWS Compute Optimizer User Guide.

" }, "GetEC2RecommendationProjectedMetrics":{ "name":"GetEC2RecommendationProjectedMetrics", @@ -131,7 +131,7 @@ {"shape":"MissingAuthenticationToken"}, {"shape":"ThrottlingException"} ], - "documentation":"

Returns the projected utilization metrics of Amazon EC2 instance recommendations.

" + "documentation":"

Returns the projected utilization metrics of Amazon EC2 instance recommendations.

The Cpu and Memory metrics are the only projected utilization metrics returned when you run this action. Additionally, the Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" }, "GetEnrollmentStatus":{ "name":"GetEnrollmentStatus", @@ -283,7 +283,7 @@ }, "projectedUtilizationMetrics":{ "shape":"ProjectedUtilizationMetrics", - "documentation":"

An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.

" + "documentation":"

An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.

The Cpu and Memory metrics are the only projected utilization metrics returned. Additionally, the Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" }, "performanceRisk":{ "shape":"PerformanceRisk", @@ -360,7 +360,7 @@ }, "fieldsToExport":{ "shape":"ExportableAutoScalingGroupFields", - "documentation":"

The recommendations data to include in the export file.

" + "documentation":"

The recommendations data to include in the export file. For more information about the fields that can be exported, see Exported files in the Compute Optimizer User Guide.

" }, "s3DestinationConfig":{ "shape":"S3DestinationConfig", @@ -413,7 +413,7 @@ }, "fieldsToExport":{ "shape":"ExportableInstanceFields", - "documentation":"

The recommendations data to include in the export file.

" + "documentation":"

The recommendations data to include in the export file. For more information about the fields that can be exported, see Exported files in the Compute Optimizer User Guide.

" }, "s3DestinationConfig":{ "shape":"S3DestinationConfig", @@ -451,6 +451,10 @@ "Finding", "UtilizationMetricsCpuMaximum", "UtilizationMetricsMemoryMaximum", + "UtilizationMetricsEbsReadOpsPerSecondMaximum", + "UtilizationMetricsEbsWriteOpsPerSecondMaximum", + "UtilizationMetricsEbsReadBytesPerSecondMaximum", + "UtilizationMetricsEbsWriteBytesPerSecondMaximum", "LookbackPeriodInDays", "CurrentConfigurationInstanceType", "CurrentConfigurationDesiredCapacity", @@ -495,6 +499,10 @@ "CurrentInstanceType", "UtilizationMetricsCpuMaximum", "UtilizationMetricsMemoryMaximum", + "UtilizationMetricsEbsReadOpsPerSecondMaximum", + "UtilizationMetricsEbsWriteOpsPerSecondMaximum", + "UtilizationMetricsEbsReadBytesPerSecondMaximum", + "UtilizationMetricsEbsWriteBytesPerSecondMaximum", "CurrentOnDemandPrice", "CurrentStandardOneYearNoUpfrontReservedPrice", "CurrentStandardThreeYearNoUpfrontReservedPrice", @@ -828,7 +836,7 @@ }, "projectedUtilizationMetrics":{ "shape":"ProjectedUtilizationMetrics", - "documentation":"

An array of objects that describe the projected utilization metrics of the instance recommendation option.

" + "documentation":"

An array of objects that describe the projected utilization metrics of the instance recommendation option.

The Cpu and Memory metrics are the only projected utilization metrics returned. Additionally, the Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" }, "performanceRisk":{ "shape":"PerformanceRisk", @@ -927,7 +935,11 @@ "type":"string", "enum":[ "Cpu", - "Memory" + "Memory", + "EBS_READ_OPS_PER_SECOND", + "EBS_WRITE_OPS_PER_SECOND", + "EBS_READ_BYTES_PER_SECOND", + "EBS_WRITE_BYTES_PER_SECOND" ] }, "MetricStatistic":{ @@ -973,7 +985,7 @@ "members":{ "name":{ "shape":"MetricName", - "documentation":"

The name of the projected utilization metric.

Memory metrics are only returned for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" + "documentation":"

The name of the projected utilization metric.

" }, "timestamps":{ "shape":"Timestamps", @@ -984,7 +996,7 @@ "documentation":"

The values of the projected utilization metrics.

" } }, - "documentation":"

Describes a projected utilization metric of a recommendation option, such as an Amazon EC2 instance.

" + "documentation":"

Describes a projected utilization metric of a recommendation option, such as an Amazon EC2 instance.

The Cpu and Memory metrics are the only projected utilization metrics returned when you run the GetEC2RecommendationProjectedMetrics action. Additionally, the Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" }, "ProjectedMetrics":{ "type":"list", @@ -1102,7 +1114,7 @@ "documentation":"

An array of objects that describe a projected utilization metric.

" } }, - "documentation":"

Describes a projected utilization metric of a recommendation option.

" + "documentation":"

Describes a projected utilization metric of a recommendation option.

The Cpu and Memory metrics are the only projected utilization metrics returned when you run the GetEC2RecommendationProjectedMetrics action. Additionally, the Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" }, "RecommendedOptionProjectedMetrics":{ "type":"list", @@ -1241,7 +1253,7 @@ "members":{ "name":{ "shape":"MetricName", - "documentation":"

The name of the utilization metric.

Memory metrics are only returned for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" + "documentation":"

The name of the utilization metric.

The Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" }, "statistic":{ "shape":"MetricStatistic", diff --git a/botocore/data/elasticache/2015-02-02/paginators-1.json b/botocore/data/elasticache/2015-02-02/paginators-1.json index e0beae5a90..efb6fc5cdb 100644 --- a/botocore/data/elasticache/2015-02-02/paginators-1.json +++ b/botocore/data/elasticache/2015-02-02/paginators-1.json @@ -89,6 +89,18 @@ "limit_key": "MaxRecords", "output_token": "Marker", "result_key": "GlobalReplicationGroups" + }, + "DescribeUserGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "UserGroups" + }, + "DescribeUsers": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Users" } } } diff --git a/botocore/data/elasticache/2015-02-02/service-2.json b/botocore/data/elasticache/2015-02-02/service-2.json index 9f59d846d4..cc9118328a 100644 --- a/botocore/data/elasticache/2015-02-02/service-2.json +++ b/botocore/data/elasticache/2015-02-02/service-2.json @@ -206,7 +206,8 @@ {"shape":"CacheSubnetGroupAlreadyExistsFault"}, {"shape":"CacheSubnetGroupQuotaExceededFault"}, {"shape":"CacheSubnetQuotaExceededFault"}, - {"shape":"InvalidSubnet"} + {"shape":"InvalidSubnet"}, + {"shape":"SubnetNotAllowedFault"} ], "documentation":"

Creates a new cache subnet group.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

" }, @@ -245,6 +246,8 @@ {"shape":"CacheClusterNotFoundFault"}, {"shape":"InvalidCacheClusterStateFault"}, {"shape":"ReplicationGroupAlreadyExistsFault"}, + {"shape":"InvalidUserGroupStateFault"}, + {"shape":"UserGroupNotFoundFault"}, {"shape":"InsufficientCacheClusterCapacityFault"}, {"shape":"CacheSecurityGroupNotFoundFault"}, {"shape":"CacheSubnetGroupNotFoundFault"}, @@ -286,6 +289,47 @@ ], "documentation":"

Creates a copy of an entire cluster or replication group at a specific moment in time.

This operation is valid for Redis only.

" }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserMessage"}, + "output":{ + "shape":"User", + "resultWrapper":"CreateUserResult" + }, + "errors":[ + {"shape":"UserAlreadyExistsFault"}, + {"shape":"UserQuotaExceededFault"}, + {"shape":"DuplicateUserNameFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

For Redis engine version 6.04 onwards: Creates a Redis user. For more information, see Using Role Based Access Control (RBAC).

" + }, + "CreateUserGroup":{ + "name":"CreateUserGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserGroupMessage"}, + "output":{ + "shape":"UserGroup", + "resultWrapper":"CreateUserGroupResult" + }, + "errors":[ + {"shape":"UserNotFoundFault"}, + {"shape":"DuplicateUserNameFault"}, + {"shape":"UserGroupAlreadyExistsFault"}, + {"shape":"DefaultUserRequired"}, + {"shape":"UserGroupQuotaExceededFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

For Redis engine version 6.04 onwards: Creates a Redis user group. For more information, see Using Role Based Access Control (RBAC)

" + }, "DecreaseNodeGroupsInGlobalReplicationGroup":{ "name":"DecreaseNodeGroupsInGlobalReplicationGroup", "http":{ @@ -456,6 +500,43 @@ ], "documentation":"

Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this operation.

This operation is valid for Redis only.

" }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserMessage"}, + "output":{ + "shape":"User", + "resultWrapper":"DeleteUserResult" + }, + "errors":[ + {"shape":"InvalidUserStateFault"}, + {"shape":"UserNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"DefaultUserAssociatedToUserGroupFault"} + ], + "documentation":"

For Redis engine version 6.04 onwards: Deletes a user. The user will be removed from all user groups and in turn removed from all replication groups. For more information, see Using Role Based Access Control (RBAC).

" + }, + "DeleteUserGroup":{ + "name":"DeleteUserGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserGroupMessage"}, + "output":{ + "shape":"UserGroup", + "resultWrapper":"DeleteUserGroupResult" + }, + "errors":[ + {"shape":"UserGroupNotFoundFault"}, + {"shape":"InvalidUserGroupStateFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

For Redis engine version 6.04 onwards: Deletes a ser group. The user group must first be disassociated from the replcation group before it can be deleted. For more information, see Using Role Based Access Control (RBAC).

" + }, "DescribeCacheClusters":{ "name":"DescribeCacheClusters", "http":{ @@ -717,6 +798,40 @@ ], "documentation":"

Returns details of the update actions

" }, + "DescribeUserGroups":{ + "name":"DescribeUserGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserGroupsMessage"}, + "output":{ + "shape":"DescribeUserGroupsResult", + "resultWrapper":"DescribeUserGroupsResult" + }, + "errors":[ + {"shape":"UserGroupNotFoundFault"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns a list of user groups.

" + }, + "DescribeUsers":{ + "name":"DescribeUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUsersMessage"}, + "output":{ + "shape":"DescribeUsersResult", + "resultWrapper":"DescribeUsersResult" + }, + "errors":[ + {"shape":"UserNotFoundFault"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns a list of users.

" + }, "DisassociateGlobalReplicationGroup":{ "name":"DisassociateGlobalReplicationGroup", "http":{ @@ -898,7 +1013,8 @@ {"shape":"CacheSubnetGroupNotFoundFault"}, {"shape":"CacheSubnetQuotaExceededFault"}, {"shape":"SubnetInUse"}, - {"shape":"InvalidSubnet"} + {"shape":"InvalidSubnet"}, + {"shape":"SubnetNotAllowedFault"} ], "documentation":"

Modifies an existing cache subnet group.

" }, @@ -934,6 +1050,8 @@ "errors":[ {"shape":"ReplicationGroupNotFoundFault"}, {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"InvalidUserGroupStateFault"}, + {"shape":"UserGroupNotFoundFault"}, {"shape":"InvalidCacheClusterStateFault"}, {"shape":"InvalidCacheSecurityGroupStateFault"}, {"shape":"InsufficientCacheClusterCapacityFault"}, @@ -974,6 +1092,47 @@ ], "documentation":"

Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance the keyspaces among exisiting shards.

" }, + "ModifyUser":{ + "name":"ModifyUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyUserMessage"}, + "output":{ + "shape":"User", + "resultWrapper":"ModifyUserResult" + }, + "errors":[ + {"shape":"UserNotFoundFault"}, + {"shape":"InvalidUserStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Changes user password(s) and/or access string.

" + }, + "ModifyUserGroup":{ + "name":"ModifyUserGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyUserGroupMessage"}, + "output":{ + "shape":"UserGroup", + "resultWrapper":"ModifyUserGroupResult" + }, + "errors":[ + {"shape":"UserGroupNotFoundFault"}, + {"shape":"UserNotFoundFault"}, + {"shape":"DuplicateUserNameFault"}, + {"shape":"DefaultUserRequired"}, + {"shape":"InvalidUserGroupStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Changes the list of users that belong to the user group.

" + }, "PurchaseReservedCacheNodesOffering":{ "name":"PurchaseReservedCacheNodesOffering", "http":{ @@ -1152,6 +1311,10 @@ "cross-az" ] }, + "AccessString":{ + "type":"string", + "pattern":".*\\S.*" + }, "AddTagsToResourceMessage":{ "type":"structure", "required":[ @@ -1201,7 +1364,29 @@ "type":"string", "enum":[ "SET", - "ROTATE" + "ROTATE", + "DELETE" + ] + }, + "Authentication":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"AuthenticationType", + "documentation":"

Indicates whether the user requires a password to authenticate.

" + }, + "PasswordCount":{ + "shape":"IntegerOptional", + "documentation":"

The number of passwords belonging to the user. The maximum is two.

" + } + }, + "documentation":"

Indicates whether the user requires a password to authenticate.

" + }, + "AuthenticationType":{ + "type":"string", + "enum":[ + "password", + "no-password" ] }, "AuthorizationAlreadyExistsFault":{ @@ -1362,6 +1547,10 @@ "shape":"String", "documentation":"

The name of the Availability Zone in which the cluster is located or \"Multiple\" if the cache nodes are located in different Availability Zones.

" }, + "PreferredOutpostArn":{ + "shape":"String", + "documentation":"

The outpost ARN in which the cache cluster is created.

" + }, "CacheClusterCreateTime":{ "shape":"TStamp", "documentation":"

The date and time when the cluster was created.

" @@ -1562,6 +1751,10 @@ "CustomerAvailabilityZone":{ "shape":"String", "documentation":"

The Availability Zone where this node was created and now resides.

" + }, + "CustomerOutpostArn":{ + "shape":"String", + "documentation":"

The customer outpost ARN of the cache node.

" } }, "documentation":"

Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

Additional node type info

" @@ -1846,7 +2039,7 @@ }, "ARN":{ "shape":"String", - "documentation":"

The ARN (Amazon Resource Name) of the cache security group.

" + "documentation":"

The ARN of the cache security group,

" } }, "documentation":"

Represents the output of one of the following operations:

", @@ -2109,6 +2302,10 @@ "PreferredAvailabilityZones":{ "shape":"PreferredAvailabilityZoneList", "documentation":"

A list of PreferredAvailabilityZone strings that specify which availability zones the replication group's nodes are to be in. The nummber of PreferredAvailabilityZone values must equal the value of NewReplicaCount plus 1 to account for the primary node. If this member of ReplicaConfiguration is omitted, ElastiCache for Redis selects the availability zone for each of the replicas.

" + }, + "PreferredOutpostArns":{ + "shape":"PreferredOutpostArnList", + "documentation":"

The outpost ARNs in which the cache cluster is created.

" } }, "documentation":"

Node group (shard) configuration options when adding or removing replicas. Each node group (shard) configuration has the following members: NodeGroupId, NewReplicaCount, and PreferredAvailabilityZones.

" @@ -2240,6 +2437,18 @@ "AuthToken":{ "shape":"String", "documentation":"

Reserved parameter. The password used to access a password protected server.

Password constraints:

For more information, see AUTH password at http://redis.io/commands/AUTH.

" + }, + "OutpostMode":{ + "shape":"OutpostMode", + "documentation":"

Specifies whether the nodes in the cluster are created in a single outpost or across multiple outposts.

" + }, + "PreferredOutpostArn":{ + "shape":"String", + "documentation":"

The outpost ARN in which the cache cluster is created.

" + }, + "PreferredOutpostArns":{ + "shape":"PreferredOutpostArnList", + "documentation":"

The outpost ARNs in which the cache cluster is created.

" } }, "documentation":"

Represents the input of a CreateCacheCluster operation.

" @@ -2341,7 +2550,7 @@ "members":{ "GlobalReplicationGroupIdSuffix":{ "shape":"String", - "documentation":"

The suffix name of a Global Datastore. The suffix guarantees uniqueness of the Global Datastore name across multiple regions.

" + "documentation":"

The suffix name of a Global Datastore. Amazon ElastiCache automatically applies a prefix to the Global Datastore ID when it is created. Each AWS Region has its own prefix. For instance, a Global Datastore ID created in the US-West-1 region will begin with \"dsdfu\" along with the suffix name you provide. The suffix, combined with the auto-generated prefix, guarantees uniqueness of the Global Datastore name across multiple regions.

For a full list of AWS Regions and their respective Global Datastore iD prefixes, see Using the AWS CLI with Global Datastores .

" }, "GlobalReplicationGroupDescription":{ "shape":"String", @@ -2489,6 +2698,10 @@ "KmsKeyId":{ "shape":"String", "documentation":"

The ID of the KMS key used to encrypt the disk in the cluster.

" + }, + "UserGroupIds":{ + "shape":"UserGroupIdListInput", + "documentation":"

The list of user groups to associate with the replication group.

" } }, "documentation":"

Represents the input of a CreateReplicationGroup operation.

" @@ -2528,6 +2741,62 @@ "Snapshot":{"shape":"Snapshot"} } }, + "CreateUserGroupMessage":{ + "type":"structure", + "required":[ + "UserGroupId", + "Engine" + ], + "members":{ + "UserGroupId":{ + "shape":"String", + "documentation":"

The ID of the user group.

" + }, + "Engine":{ + "shape":"EngineType", + "documentation":"

Must be Redis.

" + }, + "UserIds":{ + "shape":"UserIdListInput", + "documentation":"

The list of user IDs that belong to the user group.

" + } + } + }, + "CreateUserMessage":{ + "type":"structure", + "required":[ + "UserId", + "UserName", + "Engine", + "AccessString" + ], + "members":{ + "UserId":{ + "shape":"UserId", + "documentation":"

The ID of the user.

" + }, + "UserName":{ + "shape":"UserName", + "documentation":"

The username of the user.

" + }, + "Engine":{ + "shape":"EngineType", + "documentation":"

Must be Redis.

" + }, + "Passwords":{ + "shape":"PasswordListInput", + "documentation":"

Passwords used for this user account. You can create up to two passwords for each user.

" + }, + "AccessString":{ + "shape":"AccessString", + "documentation":"

Access permissions string used for this user account.

" + }, + "NoPasswordRequired":{ + "shape":"BooleanOptional", + "documentation":"

Indicates a password is not required for this user account.

" + } + } + }, "CustomerNodeEndpoint":{ "type":"structure", "members":{ @@ -2617,6 +2886,30 @@ "ReplicationGroup":{"shape":"ReplicationGroup"} } }, + "DefaultUserAssociatedToUserGroupFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

", + "error":{ + "code":"DefaultUserAssociatedToUserGroup", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DefaultUserRequired":{ + "type":"structure", + "members":{ + }, + "documentation":"

You must add default user to a user group.

", + "error":{ + "code":"DefaultUserRequired", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "DeleteCacheClusterMessage":{ "type":"structure", "required":["CacheClusterId"], @@ -2736,6 +3029,26 @@ "Snapshot":{"shape":"Snapshot"} } }, + "DeleteUserGroupMessage":{ + "type":"structure", + "required":["UserGroupId"], + "members":{ + "UserGroupId":{ + "shape":"String", + "documentation":"

The ID of the user group.

" + } + } + }, + "DeleteUserMessage":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"UserId", + "documentation":"

The ID of the user.

" + } + } + }, "DescribeCacheClustersMessage":{ "type":"structure", "members":{ @@ -3166,6 +3479,74 @@ } } }, + "DescribeUserGroupsMessage":{ + "type":"structure", + "members":{ + "UserGroupId":{ + "shape":"String", + "documentation":"

The ID of the user group.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

" + } + } + }, + "DescribeUserGroupsResult":{ + "type":"structure", + "members":{ + "UserGroups":{ + "shape":"UserGroupList", + "documentation":"

Returns a list of user groups.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

" + } + } + }, + "DescribeUsersMessage":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"EngineType", + "documentation":"

The Redis engine.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The ID of the user.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filter to determine the list of User IDs to return.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

" + } + } + }, + "DescribeUsersResult":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"UserList", + "documentation":"

A list of users.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >

" + } + } + }, "DisassociateGlobalReplicationGroupMessage":{ "type":"structure", "required":[ @@ -3195,6 +3576,18 @@ } }, "Double":{"type":"double"}, + "DuplicateUserNameFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

A user with this username already exists.

", + "error":{ + "code":"DuplicateUserName", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "EC2SecurityGroup":{ "type":"structure", "members":{ @@ -3257,6 +3650,10 @@ "documentation":"

Represents the output of a DescribeEngineDefaultParameters operation.

", "wrapper":true }, + "EngineType":{ + "type":"string", + "pattern":"[a-zA-Z]*" + }, "Event":{ "type":"structure", "members":{ @@ -3328,6 +3725,41 @@ "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} } }, + "Filter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

The property being filtered. For example, UserId.

" + }, + "Values":{ + "shape":"FilterValueList", + "documentation":"

The property values to filter on. For example, \"user-123\".

" + } + }, + "documentation":"

Used to streamline results of a search based on the property being filtered.

" + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "FilterName":{ + "type":"string", + "pattern":".*\\S.*" + }, + "FilterValue":{ + "type":"string", + "pattern":".*\\S.*" + }, + "FilterValueList":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "min":1 + }, "GlobalNodeGroup":{ "type":"structure", "members":{ @@ -3713,6 +4145,30 @@ }, "exception":true }, + "InvalidUserGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The user group is not in an active state.

", + "error":{ + "code":"InvalidUserGroupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidUserStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The user is not in active state.

", + "error":{ + "code":"InvalidUserState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidVPCNetworkStateFault":{ "type":"structure", "members":{ @@ -4013,6 +4469,18 @@ "AuthTokenUpdateStrategy":{ "shape":"AuthTokenUpdateStrategyType", "documentation":"

Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. Possible values:

For more information, see Authenticating Users with Redis AUTH

" + }, + "UserGroupIdsToAdd":{ + "shape":"UserGroupIdList", + "documentation":"

A list of user group IDs.

" + }, + "UserGroupIdsToRemove":{ + "shape":"UserGroupIdList", + "documentation":"

A list of users groups to remove, meaning the users in the group no longer can access thereplication group.

" + }, + "RemoveUserGroups":{ + "shape":"BooleanOptional", + "documentation":"

Removes the user groups that can access this replication group.

" } }, "documentation":"

Represents the input of a ModifyReplicationGroups operation.

" @@ -4064,6 +4532,50 @@ "ReplicationGroup":{"shape":"ReplicationGroup"} } }, + "ModifyUserGroupMessage":{ + "type":"structure", + "required":["UserGroupId"], + "members":{ + "UserGroupId":{ + "shape":"String", + "documentation":"

The ID of the user group.

" + }, + "UserIdsToAdd":{ + "shape":"UserIdListInput", + "documentation":"

The list of user IDs to add to the user group.

" + }, + "UserIdsToRemove":{ + "shape":"UserIdListInput", + "documentation":"

The list of user IDs to remove from the user group.

" + } + } + }, + "ModifyUserMessage":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"UserId", + "documentation":"

The ID of the user.

" + }, + "AccessString":{ + "shape":"AccessString", + "documentation":"

Access permissions string used for this user account.

" + }, + "AppendAccessString":{ + "shape":"AccessString", + "documentation":"

Adds additional user permissions to the access string.

" + }, + "Passwords":{ + "shape":"PasswordListInput", + "documentation":"

The passwords belonging to the user account. You are allowed up to two.

" + }, + "NoPasswordRequired":{ + "shape":"BooleanOptional", + "documentation":"

Indicates no password is required for the user account.

" + } + } + }, "MultiAZStatus":{ "type":"string", "enum":[ @@ -4135,6 +4647,14 @@ "ReplicaAvailabilityZones":{ "shape":"AvailabilityZonesList", "documentation":"

A list of Availability Zones to be used for the read replicas. The number of Availability Zones in this list must match the value of ReplicaCount or ReplicasPerNodeGroup if not specified.

" + }, + "PrimaryOutpostArn":{ + "shape":"String", + "documentation":"

The output ARN of the primary node.

" + }, + "ReplicaOutpostArns":{ + "shape":"OutpostArnsList", + "documentation":"

The outpost ARN of the node replicas.

" } }, "documentation":"

Node group (shard) configuration options. Each node group (shard) configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.

" @@ -4172,6 +4692,10 @@ "shape":"String", "documentation":"

The name of the Availability Zone in which the node is located.

" }, + "PreferredOutpostArn":{ + "shape":"String", + "documentation":"

The outpost ARN of the node group member.

" + }, "CurrentRole":{ "shape":"String", "documentation":"

The role that is currently assigned to the node - primary or replica. This member is only applicable for Redis (cluster mode disabled) replication groups.

" @@ -4396,6 +4920,20 @@ }, "documentation":"

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

" }, + "OutpostArnsList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"OutpostArn" + } + }, + "OutpostMode":{ + "type":"string", + "enum":[ + "single-outpost", + "cross-outpost" + ] + }, "Parameter":{ "type":"structure", "members":{ @@ -4466,6 +5004,11 @@ "locationName":"Parameter" } }, + "PasswordListInput":{ + "type":"list", + "member":{"shape":"String"}, + "min":1 + }, "PendingAutomaticFailoverStatus":{ "type":"string", "enum":[ @@ -4506,6 +5049,13 @@ "locationName":"PreferredAvailabilityZone" } }, + "PreferredOutpostArnList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"PreferredOutpostArn" + } + }, "ProcessedUpdateAction":{ "type":"structure", "members":{ @@ -4767,6 +5317,10 @@ "shape":"BooleanOptional", "documentation":"

A flag that enables encryption at-rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

" }, + "MemberClustersOutpostArns":{ + "shape":"ReplicationGroupOutpostArnList", + "documentation":"

The outpost ARNs of the replication group's member clusters.

" + }, "KmsKeyId":{ "shape":"String", "documentation":"

The ID of the KMS key used to encrypt the disk in the cluster.

" @@ -4774,6 +5328,10 @@ "ARN":{ "shape":"String", "documentation":"

The ARN (Amazon Resource Name) of the replication group.

" + }, + "UserGroupIds":{ + "shape":"UserGroupIdList", + "documentation":"

The list of user group IDs that have access to the replication group.

" } }, "documentation":"

Contains all of the attributes of a specific Redis replication group.

", @@ -4853,6 +5411,13 @@ }, "exception":true }, + "ReplicationGroupOutpostArnList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ReplicationGroupOutpostArn" + } + }, "ReplicationGroupPendingModifiedValues":{ "type":"structure", "members":{ @@ -4871,6 +5436,10 @@ "AuthTokenStatus":{ "shape":"AuthTokenUpdateStatus", "documentation":"

The auth token status

" + }, + "UserGroups":{ + "shape":"UserGroupsUpdateStatus", + "documentation":"

The user groups being modified.

" } }, "documentation":"

The settings to be applied to the Redis replication group, either immediately or during the next maintenance window.

" @@ -5356,6 +5925,10 @@ "shape":"String", "documentation":"

The name of the Availability Zone in which the source cluster is located.

" }, + "PreferredOutpostArn":{ + "shape":"String", + "documentation":"

The ARN (Amazon Resource Name) of the preferred outpost.

" + }, "CacheClusterCreateTime":{ "shape":"TStamp", "documentation":"

The date and time when the source cluster was created.

" @@ -5489,7 +6062,9 @@ "cache-parameter-group", "cache-security-group", "cache-subnet-group", - "replication-group" + "replication-group", + "user", + "user-group" ] }, "StartMigrationMessage":{ @@ -5526,6 +6101,10 @@ "SubnetAvailabilityZone":{ "shape":"AvailabilityZone", "documentation":"

The Availability Zone associated with the subnet.

" + }, + "SubnetOutpost":{ + "shape":"SubnetOutpost", + "documentation":"

The outpost ARN of the subnet.

" } }, "documentation":"

Represents the subnet associated with a cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with ElastiCache.

" @@ -5556,6 +6135,28 @@ "locationName":"Subnet" } }, + "SubnetNotAllowedFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

At least one subnet ID does not match the other subnet IDs. This mismatch typically occurs when a user sets one subnet ID to a regional Availability Zone and a different one to an outpost. Or when a user sets the subnet ID to an Outpost when not subscribed on this service.

", + "error":{ + "code":"SubnetNotAllowedFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SubnetOutpost":{ + "type":"structure", + "members":{ + "SubnetOutpostArn":{ + "shape":"String", + "documentation":"

The outpost ARN of the subnet.

" + } + }, + "documentation":"

The ID of the outpost subnet.

" + }, "TStamp":{"type":"timestamp"}, "Tag":{ "type":"structure", @@ -5661,6 +6262,10 @@ }, "documentation":"

Filters update actions from the service updates that are in available status during the time range.

" }, + "UGReplicationGroupIdList":{ + "type":"list", + "member":{"shape":"String"} + }, "UnprocessedUpdateAction":{ "type":"structure", "members":{ @@ -5819,6 +6424,216 @@ "documentation":"

Returns a list of update actions

" } } + }, + "User":{ + "type":"structure", + "members":{ + "UserId":{ + "shape":"String", + "documentation":"

The ID of the user.

" + }, + "UserName":{ + "shape":"String", + "documentation":"

The username of the user.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Indicates the user status. Can be \"active\", \"modifying\" or \"deleting\".

" + }, + "Engine":{ + "shape":"EngineType", + "documentation":"

Must be Redis.

" + }, + "AccessString":{ + "shape":"String", + "documentation":"

Access permissions string used for this user account.

" + }, + "UserGroupIds":{ + "shape":"UserGroupIdList", + "documentation":"

Returns a list of the user group IDs the user belongs to.

" + }, + "Authentication":{ + "shape":"Authentication", + "documentation":"

Denotes whether the user requires a password to authenticate.

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the user account.

" + } + } + }, + "UserAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

A user with this ID already exists.

", + "error":{ + "code":"UserAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "UserGroup":{ + "type":"structure", + "members":{ + "UserGroupId":{ + "shape":"String", + "documentation":"

The ID of the user group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Indicates user group status. Can be \"creating\", \"active\", \"modifying\", \"deleting\".

" + }, + "Engine":{ + "shape":"EngineType", + "documentation":"

Must be Redis.

" + }, + "UserIds":{ + "shape":"UserIdList", + "documentation":"

The list of user IDs that belong to the user group.

" + }, + "PendingChanges":{ + "shape":"UserGroupPendingChanges", + "documentation":"

A list of updates being applied to the user groups.

" + }, + "ReplicationGroups":{ + "shape":"UGReplicationGroupIdList", + "documentation":"

A list of replication groups that the user group can access.

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the user group.

" + } + } + }, + "UserGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The user group with this ID already exists.

", + "error":{ + "code":"UserGroupAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "UserGroupId":{ + "type":"string", + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9\\-]*" + }, + "UserGroupIdList":{ + "type":"list", + "member":{"shape":"UserGroupId"} + }, + "UserGroupIdListInput":{ + "type":"list", + "member":{"shape":"UserGroupId"}, + "min":1 + }, + "UserGroupList":{ + "type":"list", + "member":{"shape":"UserGroup"} + }, + "UserGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The user group was not found or does not exist

", + "error":{ + "code":"UserGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "UserGroupPendingChanges":{ + "type":"structure", + "members":{ + "UserIdsToRemove":{ + "shape":"UserIdList", + "documentation":"

The list of user group IDs ro remove.

" + }, + "UserIdsToAdd":{ + "shape":"UserIdList", + "documentation":"

The list of user IDs to add.

" + } + }, + "documentation":"

Returns the updates being applied to the user group.

" + }, + "UserGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of users exceeds the user group limit.

", + "error":{ + "code":"UserGroupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "UserGroupsUpdateStatus":{ + "type":"structure", + "members":{ + "UserGroupIdsToAdd":{ + "shape":"UserGroupIdList", + "documentation":"

The list of user group IDs to add.

" + }, + "UserGroupIdsToRemove":{ + "shape":"UserGroupIdList", + "documentation":"

The list of user group IDs to remove.

" + } + }, + "documentation":"

The status of the user group update.

" + }, + "UserId":{ + "type":"string", + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9\\-]*" + }, + "UserIdList":{ + "type":"list", + "member":{"shape":"UserId"} + }, + "UserIdListInput":{ + "type":"list", + "member":{"shape":"UserId"}, + "min":1 + }, + "UserList":{ + "type":"list", + "member":{"shape":"User"} + }, + "UserName":{ + "type":"string", + "min":1 + }, + "UserNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The user does not exist or could not be found.

", + "error":{ + "code":"UserNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "UserQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The quota of users has been exceeded.

", + "error":{ + "code":"UserQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true } }, "documentation":"Amazon ElastiCache

Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud.

With ElastiCache, customers get all of the benefits of a high-performance, in-memory cache with less of the administrative burden involved in launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment.

In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot.

" diff --git a/botocore/data/mediapackage/2017-10-12/service-2.json b/botocore/data/mediapackage/2017-10-12/service-2.json index 45ac8f85e9..eaa3ff6ee2 100644 --- a/botocore/data/mediapackage/2017-10-12/service-2.json +++ b/botocore/data/mediapackage/2017-10-12/service-2.json @@ -13,6 +13,42 @@ "uid": "mediapackage-2017-10-12" }, "operations": { + "ConfigureLogs": { + "documentation": "Changes the Channel's properities to configure log subscription", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "PUT", + "requestUri": "/channels/{id}/configure_logs", + "responseCode": 200 + }, + "input": { + "shape": "ConfigureLogsRequest" + }, + "name": "ConfigureLogs", + "output": { + "documentation": "The updated log configuration record.", + "shape": "ConfigureLogsResponse" + } + }, "CreateChannel": { "documentation": "Creates a new Channel.", "errors": [ @@ -656,6 +692,10 @@ "locationName": "description", "shape": "__string" }, + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, "HlsIngest": { "locationName": "hlsIngest", "shape": "HlsIngest" @@ -665,6 +705,10 @@ "locationName": "id", "shape": "__string" }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + }, "Tags": { "locationName": "tags", "shape": "Tags" @@ -798,6 +842,79 @@ }, "type": "structure" }, + "ConfigureLogsParameters": { + "documentation": "The configuration parameters for ingress and egress access logging.", + "members": { + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + } + }, + "type": "structure" + }, + "ConfigureLogsRequest": { + "documentation": "the option to configure log subscription.", + "members": { + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, + "Id": { + "documentation": "The ID of the channel to log subscription.", + "location": "uri", + "locationName": "id", + "shape": "__string" + }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "ConfigureLogsResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", + "locationName": "arn", + "shape": "__string" + }, + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, + "HlsIngest": { + "locationName": "hlsIngest", + "shape": "HlsIngest" + }, + "Id": { + "documentation": "The ID of the Channel.", + "locationName": "id", + "shape": "__string" + }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, "CreateChannelRequest": { "documentation": "A new Channel configuration.", "members": { @@ -833,6 +950,10 @@ "locationName": "description", "shape": "__string" }, + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, "HlsIngest": { "locationName": "hlsIngest", "shape": "HlsIngest" @@ -842,6 +963,10 @@ "locationName": "id", "shape": "__string" }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + }, "Tags": { "locationName": "tags", "shape": "Tags" @@ -1245,6 +1370,10 @@ "locationName": "description", "shape": "__string" }, + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, "HlsIngest": { "locationName": "hlsIngest", "shape": "HlsIngest" @@ -1254,6 +1383,10 @@ "locationName": "id", "shape": "__string" }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + }, "Tags": { "locationName": "tags", "shape": "Tags" @@ -1417,6 +1550,17 @@ }, "type": "structure" }, + "EgressAccessLogs": { + "documentation": "Configure egress access logging.", + "members": { + "LogGroupName": { + "documentation": "Customize the log group name.", + "locationName": "logGroupName", + "shape": "__string" + } + }, + "type": "structure" + }, "EncryptionMethod": { "enum": [ "AES_128", @@ -1769,6 +1913,17 @@ }, "type": "structure" }, + "IngressAccessLogs": { + "documentation": "Configure ingress access logging.", + "members": { + "LogGroupName": { + "documentation": "Customize the log group name.", + "locationName": "logGroupName", + "shape": "__string" + } + }, + "type": "structure" + }, "InternalServerErrorException": { "documentation": "An unexpected error occurred.", "error": { @@ -2258,6 +2413,10 @@ "locationName": "description", "shape": "__string" }, + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, "HlsIngest": { "locationName": "hlsIngest", "shape": "HlsIngest" @@ -2267,6 +2426,10 @@ "locationName": "id", "shape": "__string" }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + }, "Tags": { "locationName": "tags", "shape": "Tags" @@ -2307,6 +2470,10 @@ "locationName": "description", "shape": "__string" }, + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, "HlsIngest": { "locationName": "hlsIngest", "shape": "HlsIngest" @@ -2316,6 +2483,10 @@ "locationName": "id", "shape": "__string" }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + }, "Tags": { "locationName": "tags", "shape": "Tags" @@ -2565,6 +2736,10 @@ "locationName": "description", "shape": "__string" }, + "EgressAccessLogs": { + "locationName": "egressAccessLogs", + "shape": "EgressAccessLogs" + }, "HlsIngest": { "locationName": "hlsIngest", "shape": "HlsIngest" @@ -2574,6 +2749,10 @@ "locationName": "id", "shape": "__string" }, + "IngressAccessLogs": { + "locationName": "ingressAccessLogs", + "shape": "IngressAccessLogs" + }, "Tags": { "locationName": "tags", "shape": "Tags"