diff --git a/CHANGELOG.md b/CHANGELOG.md index da22c795c9..290122d7e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +Release v1.30.2 (2020-04-01) +=== + +### Service Client Updates +* `service/iot`: Updates service API and documentation + * This release introduces Dimensions for AWS IoT Device Defender. Dimensions can be used in Security Profiles to collect and monitor fine-grained metrics. +* `service/mediaconnect`: Updates service API and documentation + Release v1.30.1 (2020-03-31) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index f82b97dbf3..32e6d3a417 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -6240,7 +6240,19 @@ var awsusgovPartition = partition{ Endpoints: endpoints{ "us-gov-east-1": endpoint{}, + "us-gov-east-1-fips": endpoint{ + Hostname: "codebuild-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoint{}, + "us-gov-west-1-fips": endpoint{ + Hostname: "codebuild-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "codecommit": service{ diff --git a/aws/version.go b/aws/version.go index 971b6da477..23fecb1099 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.30.1" +const SDKVersion = "1.30.2" diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index e8ff00b58b..9e40dce2e0 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -303,6 +303,22 @@ {"shape":"InternalFailureException"} ] }, + "CreateDimension":{ + "name":"CreateDimension", + "http":{ + "method":"POST", + "requestUri":"/dimensions/{name}" + }, + "input":{"shape":"CreateDimensionRequest"}, + "output":{"shape":"CreateDimensionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"} + ] + }, "CreateDomainConfiguration":{ "name":"CreateDomainConfiguration", "http":{ @@ -731,6 +747,20 @@ {"shape":"ResourceNotFoundException"} ] }, + "DeleteDimension":{ + "name":"DeleteDimension", + "http":{ + "method":"DELETE", + "requestUri":"/dimensions/{name}" + }, + "input":{"shape":"DeleteDimensionRequest"}, + "output":{"shape":"DeleteDimensionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"} + ] + }, "DeleteDomainConfiguration":{ "name":"DeleteDomainConfiguration", "http":{ @@ -1228,6 +1258,21 @@ {"shape":"InternalFailureException"} ] }, + "DescribeDimension":{ + "name":"DescribeDimension", + "http":{ + "method":"GET", + "requestUri":"/dimensions/{name}" + }, + "input":{"shape":"DescribeDimensionRequest"}, + "output":{"shape":"DescribeDimensionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, "DescribeDomainConfiguration":{ "name":"DescribeDomainConfiguration", "http":{ @@ -1992,6 +2037,20 @@ {"shape":"InternalFailureException"} ] }, + "ListDimensions":{ + "name":"ListDimensions", + "http":{ + "method":"GET", + "requestUri":"/dimensions" + }, + "input":{"shape":"ListDimensionsRequest"}, + "output":{"shape":"ListDimensionsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"} + ] + }, "ListDomainConfigurations":{ "name":"ListDomainConfigurations", "http":{ @@ -2273,7 +2332,8 @@ "errors":[ {"shape":"InvalidRequestException"}, {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ] }, "ListSecurityProfilesForTarget":{ @@ -2992,6 +3052,21 @@ {"shape":"InternalFailureException"} ] }, + "UpdateDimension":{ + "name":"UpdateDimension", + "http":{ + "method":"PATCH", + "requestUri":"/dimensions/{name}" + }, + "input":{"shape":"UpdateDimensionRequest"}, + "output":{"shape":"UpdateDimensionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, "UpdateDomainConfiguration":{ "name":"UpdateDomainConfiguration", "http":{ @@ -3401,6 +3476,10 @@ "type":"list", "member":{"shape":"BehaviorMetric"} }, + "AdditionalMetricsToRetainV2List":{ + "type":"list", + "member":{"shape":"MetricToRetain"} + }, "AdditionalParameterMap":{ "type":"map", "key":{"shape":"AttributeKey"}, @@ -3956,6 +4035,7 @@ "members":{ "name":{"shape":"BehaviorName"}, "metric":{"shape":"BehaviorMetric"}, + "metricDimension":{"shape":"MetricDimension"}, "criteria":{"shape":"BehaviorCriteria"} } }, @@ -4490,6 +4570,36 @@ "certificatePem":{"shape":"CertificatePem"} } }, + "CreateDimensionRequest":{ + "type":"structure", + "required":[ + "name", + "type", + "stringValues", + "clientRequestToken" + ], + "members":{ + "name":{ + "shape":"DimensionName", + "location":"uri", + "locationName":"name" + }, + "type":{"shape":"DimensionType"}, + "stringValues":{"shape":"DimensionStringValues"}, + "tags":{"shape":"TagList"}, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateDimensionResponse":{ + "type":"structure", + "members":{ + "name":{"shape":"DimensionName"}, + "arn":{"shape":"DimensionArn"} + } + }, "CreateDomainConfigurationRequest":{ "type":"structure", "required":["domainConfigurationName"], @@ -4842,7 +4952,12 @@ "securityProfileDescription":{"shape":"SecurityProfileDescription"}, "behaviors":{"shape":"Behaviors"}, "alertTargets":{"shape":"AlertTargets"}, - "additionalMetricsToRetain":{"shape":"AdditionalMetricsToRetainList"}, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "deprecated":true, + "deprecatedMessage":"Use additionalMetricsToRetainV2." + }, + "additionalMetricsToRetainV2":{"shape":"AdditionalMetricsToRetainV2List"}, "tags":{"shape":"TagList"} } }, @@ -5112,6 +5227,22 @@ "error":{"httpStatusCode":409}, "exception":true }, + "DeleteDimensionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"DimensionName", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteDimensionResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteDomainConfigurationRequest":{ "type":"structure", "required":["domainConfigurationName"], @@ -5678,6 +5809,28 @@ "authorizerDescription":{"shape":"AuthorizerDescription"} } }, + "DescribeDimensionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"DimensionName", + "location":"uri", + "locationName":"name" + } + } + }, + "DescribeDimensionResponse":{ + "type":"structure", + "members":{ + "name":{"shape":"DimensionName"}, + "arn":{"shape":"DimensionArn"}, + "type":{"shape":"DimensionType"}, + "stringValues":{"shape":"DimensionStringValues"}, + "creationDate":{"shape":"Timestamp"}, + "lastModifiedDate":{"shape":"Timestamp"} + } + }, "DescribeDomainConfigurationRequest":{ "type":"structure", "required":["domainConfigurationName"], @@ -5933,7 +6086,12 @@ "securityProfileDescription":{"shape":"SecurityProfileDescription"}, "behaviors":{"shape":"Behaviors"}, "alertTargets":{"shape":"AlertTargets"}, - "additionalMetricsToRetain":{"shape":"AdditionalMetricsToRetainList"}, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "deprecated":true, + "deprecatedMessage":"Use additionalMetricsToRetainV2." + }, + "additionalMetricsToRetainV2":{"shape":"AdditionalMetricsToRetainV2List"}, "version":{"shape":"Version"}, "creationDate":{"shape":"Timestamp"}, "lastModifiedDate":{"shape":"Timestamp"} @@ -6170,6 +6328,39 @@ "max":128, "min":1 }, + "DimensionArn":{"type":"string"}, + "DimensionName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "DimensionNames":{ + "type":"list", + "member":{"shape":"DimensionName"} + }, + "DimensionStringValue":{ + "type":"string", + "max":256, + "min":1 + }, + "DimensionStringValues":{ + "type":"list", + "member":{"shape":"DimensionStringValue"}, + "max":100, + "min":1 + }, + "DimensionType":{ + "type":"string", + "enum":["TOPIC_FILTER"] + }, + "DimensionValueOperator":{ + "type":"string", + "enum":[ + "IN", + "NOT_IN" + ] + }, "DisableAllLogs":{"type":"boolean"}, "DisableTopicRuleRequest":{ "type":"structure", @@ -7534,6 +7725,28 @@ "nextMarker":{"shape":"Marker"} } }, + "ListDimensionsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDimensionsResponse":{ + "type":"structure", + "members":{ + "dimensionNames":{"shape":"DimensionNames"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListDomainConfigurationsRequest":{ "type":"structure", "members":{ @@ -8054,6 +8267,11 @@ "shape":"MaxResults", "location":"querystring", "locationName":"maxResults" + }, + "dimensionName":{ + "shape":"DimensionName", + "location":"querystring", + "locationName":"dimensionName" } } }, @@ -8656,6 +8874,22 @@ "type":"string", "max":128 }, + "MetricDimension":{ + "type":"structure", + "required":["dimensionName"], + "members":{ + "dimensionName":{"shape":"DimensionName"}, + "operator":{"shape":"DimensionValueOperator"} + } + }, + "MetricToRetain":{ + "type":"structure", + "required":["metric"], + "members":{ + "metric":{"shape":"BehaviorMetric"}, + "metricDimension":{"shape":"MetricDimension"} + } + }, "MetricValue":{ "type":"structure", "members":{ @@ -10688,6 +10922,32 @@ "action":{"shape":"DeviceCertificateUpdateAction"} } }, + "UpdateDimensionRequest":{ + "type":"structure", + "required":[ + "name", + "stringValues" + ], + "members":{ + "name":{ + "shape":"DimensionName", + "location":"uri", + "locationName":"name" + }, + "stringValues":{"shape":"DimensionStringValues"} + } + }, + "UpdateDimensionResponse":{ + "type":"structure", + "members":{ + "name":{"shape":"DimensionName"}, + "arn":{"shape":"DimensionArn"}, + "type":{"shape":"DimensionType"}, + "stringValues":{"shape":"DimensionStringValues"}, + "creationDate":{"shape":"Timestamp"}, + "lastModifiedDate":{"shape":"Timestamp"} + } + }, "UpdateDomainConfigurationRequest":{ "type":"structure", "required":["domainConfigurationName"], @@ -10866,7 +11126,12 @@ "securityProfileDescription":{"shape":"SecurityProfileDescription"}, "behaviors":{"shape":"Behaviors"}, "alertTargets":{"shape":"AlertTargets"}, - "additionalMetricsToRetain":{"shape":"AdditionalMetricsToRetainList"}, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "deprecated":true, + "deprecatedMessage":"Use additionalMetricsToRetainV2." + }, + "additionalMetricsToRetainV2":{"shape":"AdditionalMetricsToRetainV2List"}, "deleteBehaviors":{"shape":"DeleteBehaviors"}, "deleteAlertTargets":{"shape":"DeleteAlertTargets"}, "deleteAdditionalMetricsToRetain":{"shape":"DeleteAdditionalMetricsToRetain"}, @@ -10885,7 +11150,12 @@ "securityProfileDescription":{"shape":"SecurityProfileDescription"}, "behaviors":{"shape":"Behaviors"}, "alertTargets":{"shape":"AlertTargets"}, - "additionalMetricsToRetain":{"shape":"AdditionalMetricsToRetainList"}, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "deprecated":true, + "deprecatedMessage":"Use additionalMetricsToRetainV2." + }, + "additionalMetricsToRetainV2":{"shape":"AdditionalMetricsToRetainV2List"}, "version":{"shape":"Version"}, "creationDate":{"shape":"Timestamp"}, "lastModifiedDate":{"shape":"Timestamp"} diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index a750bbf3aa..f114284839 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.

For more information about how AWS IoT works, see the Developer Guide.

For information about how to use the credentials provider for AWS IoT, see Authorizing Direct Calls to AWS Services.

", + "service": "AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.

The service endpoints that expose this API are listed in AWS IoT Core Endpoints and Quotas. You must use the endpoint for the region that has the resources you want to access.

The service name used by AWS Signature Version 4 to sign the request is: execute-api.

For more information about how AWS IoT works, see the Developer Guide.

For information about how to use the credentials provider for AWS IoT, see Authorizing Direct Calls to AWS Services.

", "operations": { "AcceptCertificateTransfer": "

Accepts a pending certificate transfer. The default state of the certificate is INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

", "AddThingToBillingGroup": "

Adds a thing to a billing group.

", @@ -20,6 +20,7 @@ "CreateAuthorizer": "

Creates an authorizer.

", "CreateBillingGroup": "

Creates a billing group.

", "CreateCertificateFromCsr": "

Creates an X.509 certificate using the specified certificate signing request.

Note: The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves.

Note: Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.

Assuming a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.

The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

", + "CreateDimension": "

Create a dimension that you can use to limit the scope of a metric used in a security profile for AWS IoT Device Defender. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

", "CreateDomainConfiguration": "

Creates a domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "CreateDynamicThingGroup": "

Creates a dynamic thing group.

", "CreateJob": "

Creates a job.

", @@ -45,6 +46,7 @@ "DeleteBillingGroup": "

Deletes the billing group.

", "DeleteCACertificate": "

Deletes a registered CA certificate.

", "DeleteCertificate": "

Deletes the specified certificate.

A certificate cannot be deleted if it has a policy or IoT thing attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status.

", + "DeleteDimension": "

Removes the specified dimension from your AWS account.

", "DeleteDomainConfiguration": "

Deletes the specified domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "DeleteDynamicThingGroup": "

Deletes a dynamic thing group.

", "DeleteJob": "

Deletes a job and its related job executions.

Deleting a job may take time, depending on the number of job executions created for the job and various other factors. While the job is being deleted, the status of the job will be shown as \"DELETION_IN_PROGRESS\". Attempting to delete or cancel a job whose status is already \"DELETION_IN_PROGRESS\" will result in an error.

Only 10 jobs may have status \"DELETION_IN_PROGRESS\" at the same time, or a LimitExceededException will occur.

", @@ -76,6 +78,7 @@ "DescribeCACertificate": "

Describes a registered CA certificate.

", "DescribeCertificate": "

Gets information about the specified certificate.

", "DescribeDefaultAuthorizer": "

Describes the default authorizer.

", + "DescribeDimension": "

Provides details about a dimension that is defined in your AWS account.

", "DescribeDomainConfiguration": "

Gets summary information about a domain configuration.

The domain configuration feature is in public preview and is subject to change.

", "DescribeEndpoint": "

Returns a unique endpoint specific to the AWS account making the call.

", "DescribeEventConfigurations": "

Describes event configurations.

", @@ -124,6 +127,7 @@ "ListCACertificates": "

Lists the CA certificates registered for your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

", "ListCertificates": "

Lists the certificates registered in your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

", "ListCertificatesByCA": "

List the device certificates signed by the specified CA certificate.

", + "ListDimensions": "

List the set of dimensions that are defined for your AWS account.

", "ListDomainConfigurations": "

Gets a list of domain configurations for the user. This list is sorted alphabetically by domain configuration name.

The domain configuration feature is in public preview and is subject to change.

", "ListIndices": "

Lists the search indices.

", "ListJobExecutionsForJob": "

Lists the job executions for a job.

", @@ -187,6 +191,7 @@ "UpdateBillingGroup": "

Updates information about the billing group.

", "UpdateCACertificate": "

Updates a registered CA certificate.

", "UpdateCertificate": "

Updates the status of the specified certificate. This operation is idempotent.

Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect.

The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.

", + "UpdateDimension": "

Updates the definition for a dimension. You cannot change the type of a dimension after it is created (you can delete it and re-create it).

", "UpdateDomainConfiguration": "

Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.

The domain configuration feature is in public preview and is subject to change.

", "UpdateDynamicThingGroup": "

Updates a dynamic thing group.

", "UpdateEventConfigurations": "

Updates the event configurations.

", @@ -312,10 +317,19 @@ "AdditionalMetricsToRetainList": { "base": null, "refs": { - "CreateSecurityProfileRequest$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", - "DescribeSecurityProfileResponse$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", - "UpdateSecurityProfileRequest$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", - "UpdateSecurityProfileResponse$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's behaviors, but it is also retained for any metric specified here.

" + "CreateSecurityProfileRequest$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

", + "DescribeSecurityProfileResponse$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.

", + "UpdateSecurityProfileRequest$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

", + "UpdateSecurityProfileResponse$additionalMetricsToRetain": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.

" + } + }, + "AdditionalMetricsToRetainV2List": { + "base": null, + "refs": { + "CreateSecurityProfileRequest$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "DescribeSecurityProfileResponse$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "UpdateSecurityProfileRequest$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

", + "UpdateSecurityProfileResponse$additionalMetricsToRetainV2": "

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

" } }, "AdditionalParameterMap": { @@ -1003,7 +1017,8 @@ "base": null, "refs": { "AdditionalMetricsToRetainList$member": null, - "Behavior$metric": "

What is measured by the behavior.

" + "Behavior$metric": "

What is measured by the behavior.

", + "MetricToRetain$metric": "

What is measured by the behavior.

" } }, "BehaviorName": { @@ -1370,6 +1385,7 @@ "ClientRequestToken": { "base": null, "refs": { + "CreateDimensionRequest$clientRequestToken": "

Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", "StartAuditMitigationActionsTaskRequest$clientRequestToken": "

Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.

" } }, @@ -1380,9 +1396,9 @@ } }, "CloudwatchLogsAction": { - "base": "

Describes an action that sends data to CloudWatch logs.

", + "base": "

Describes an action that sends data to CloudWatch Logs.

", "refs": { - "Action$cloudwatchLogs": "

Send data to CloudWatch logs.

" + "Action$cloudwatchLogs": "

Send data to CloudWatch Logs.

" } }, "CloudwatchMetricAction": { @@ -1527,6 +1543,16 @@ "refs": { } }, + "CreateDimensionRequest": { + "base": null, + "refs": { + } + }, + "CreateDimensionResponse": { + "base": null, + "refs": { + } + }, "CreateDomainConfigurationRequest": { "base": null, "refs": { @@ -1897,6 +1923,16 @@ "refs": { } }, + "DeleteDimensionRequest": { + "base": null, + "refs": { + } + }, + "DeleteDimensionResponse": { + "base": null, + "refs": { + } + }, "DeleteDomainConfigurationRequest": { "base": null, "refs": { @@ -2207,6 +2243,16 @@ "refs": { } }, + "DescribeDimensionRequest": { + "base": null, + "refs": { + } + }, + "DescribeDimensionResponse": { + "base": null, + "refs": { + } + }, "DescribeDomainConfigurationRequest": { "base": null, "refs": { @@ -2454,6 +2500,64 @@ "ViolationEvent$thingName": "

The name of the thing responsible for the violation event.

" } }, + "DimensionArn": { + "base": null, + "refs": { + "CreateDimensionResponse$arn": "

The ARN (Amazon resource name) of the created dimension.

", + "DescribeDimensionResponse$arn": "

The ARN (Amazon resource name) for the dimension.

", + "UpdateDimensionResponse$arn": "

The ARN (Amazon resource name) of the created dimension.

" + } + }, + "DimensionName": { + "base": null, + "refs": { + "CreateDimensionRequest$name": "

A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

", + "CreateDimensionResponse$name": "

A unique identifier for the dimension.

", + "DeleteDimensionRequest$name": "

The unique identifier for the dimension that you want to delete.

", + "DescribeDimensionRequest$name": "

The unique identifier for the dimension.

", + "DescribeDimensionResponse$name": "

The unique identifier for the dimension.

", + "DimensionNames$member": null, + "ListSecurityProfilesRequest$dimensionName": "

A filter to limit results to the security profiles that use the defined dimension.

", + "MetricDimension$dimensionName": "

A unique identifier for the dimension.

", + "UpdateDimensionRequest$name": "

A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

", + "UpdateDimensionResponse$name": "

A unique identifier for the dimension.

" + } + }, + "DimensionNames": { + "base": null, + "refs": { + "ListDimensionsResponse$dimensionNames": "

A list of the names of the defined dimensions. Use DescribeDimension to get details for a dimension.

" + } + }, + "DimensionStringValue": { + "base": null, + "refs": { + "DimensionStringValues$member": null + } + }, + "DimensionStringValues": { + "base": null, + "refs": { + "CreateDimensionRequest$stringValues": "

Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, \"admin/#\").

", + "DescribeDimensionResponse$stringValues": "

The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

", + "UpdateDimensionRequest$stringValues": "

Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, \"admin/#\").

", + "UpdateDimensionResponse$stringValues": "

The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

" + } + }, + "DimensionType": { + "base": null, + "refs": { + "CreateDimensionRequest$type": "

Specifies the type of dimension. Supported types: TOPIC_FILTER.

", + "DescribeDimensionResponse$type": "

The type of the dimension.

", + "UpdateDimensionResponse$type": "

The type of the dimension.

" + } + }, + "DimensionValueOperator": { + "base": null, + "refs": { + "MetricDimension$operator": "

Defines how the dimensionValues of a dimension are interpreted. For example, for DimensionType TOPIC_FILTER, with IN operator, a message will be counted only if its topic matches one of the topic filters. With NOT_IN Operator, a message will be counted only if it doesn't match any of the topic filters. The operator is optional: if it's not provided (is null), it will be interpreted as IN.

" + } + }, "DisableAllLogs": { "base": null, "refs": { @@ -3603,6 +3707,16 @@ "refs": { } }, + "ListDimensionsRequest": { + "base": null, + "refs": { + } + }, + "ListDimensionsResponse": { + "base": null, + "refs": { + } + }, "ListDomainConfigurationsRequest": { "base": null, "refs": { @@ -4069,6 +4183,7 @@ "ListAuditMitigationActionsExecutionsRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", "ListAuditMitigationActionsTasksRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", "ListAuditTasksRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", + "ListDimensionsRequest$maxResults": "

The maximum number of results to retrieve at one time.

", "ListMitigationActionsRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", "ListOTAUpdatesRequest$maxResults": "

The maximum number of results to return at one time.

", "ListProvisioningTemplateVersionsRequest$maxResults": "

The maximum number of results to return at one time.

", @@ -4115,6 +4230,19 @@ "IotEventsAction$messageId": "

[Optional] Use this to ensure that only one input (message) with a given messageId will be processed by an AWS IoT Events detector.

" } }, + "MetricDimension": { + "base": "

The dimension of a metric.

", + "refs": { + "Behavior$metricDimension": "

The dimension for a metric in your behavior. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

", + "MetricToRetain$metricDimension": "

The dimension of a metric.

" + } + }, + "MetricToRetain": { + "base": "

The metric you want to retain. Dimensions are optional.

", + "refs": { + "AdditionalMetricsToRetainV2List$member": null + } + }, "MetricValue": { "base": "

The value to be compared with the metric.

", "refs": { @@ -4265,6 +4393,8 @@ "ListAuditTasksResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListBillingGroupsRequest$nextToken": "

The token to retrieve the next set of results.

", "ListBillingGroupsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListDimensionsRequest$nextToken": "

The token for the next set of results.

", + "ListDimensionsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListIndicesRequest$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListIndicesResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListJobExecutionsForJobRequest$nextToken": "

The token to retrieve the next set of results.

", @@ -5932,6 +6062,7 @@ "base": null, "refs": { "CreateBillingGroupRequest$tags": "

Metadata which can be used to manage the billing group.

", + "CreateDimensionRequest$tags": "

Metadata that can be used to manage the dimension.

", "CreateDynamicThingGroupRequest$tags": "

Metadata which can be used to manage the dynamic thing group.

", "CreateJobRequest$tags": "

Metadata which can be used to manage the job.

", "CreateMitigationActionRequest$tags": "

Metadata that can be used to manage the mitigation action.

", @@ -6450,6 +6581,8 @@ "DescribeAuditMitigationActionsTaskResponse$startTime": "

The date and time when the task was started.

", "DescribeAuditMitigationActionsTaskResponse$endTime": "

The date and time when the task was completed or canceled.

", "DescribeAuditTaskResponse$taskStartTime": "

The time the audit started.

", + "DescribeDimensionResponse$creationDate": "

The date the dimension was created.

", + "DescribeDimensionResponse$lastModifiedDate": "

The date the dimension was last modified.

", "DescribeMitigationActionResponse$creationDate": "

The date and time when the mitigation action was added to your AWS account.

", "DescribeMitigationActionResponse$lastModifiedDate": "

The date and time when the mitigation action was last changed.

", "DescribeSecurityProfileResponse$creationDate": "

The time the security profile was created.

", @@ -6463,6 +6596,8 @@ "ListViolationEventsRequest$startTime": "

The start time for the alerts to be listed.

", "ListViolationEventsRequest$endTime": "

The end time for the alerts to be listed.

", "MitigationActionIdentifier$creationDate": "

The date when this mitigation action was created.

", + "UpdateDimensionResponse$creationDate": "

The date and time, in milliseconds since epoch, when the dimension was initially created.

", + "UpdateDimensionResponse$lastModifiedDate": "

The date and time, in milliseconds since epoch, when the dimension was most recently updated.

", "UpdateSecurityProfileResponse$creationDate": "

The time the security profile was created.

", "UpdateSecurityProfileResponse$lastModifiedDate": "

The time the security profile was last modified.

", "ViolationEvent$violationEventTime": "

The time the violation event occurred.

" @@ -6700,6 +6835,16 @@ "MitigationActionParams$updateDeviceCertificateParams": "

Parameters to define a mitigation action that changes the state of the device certificate to inactive.

" } }, + "UpdateDimensionRequest": { + "base": null, + "refs": { + } + }, + "UpdateDimensionResponse": { + "base": null, + "refs": { + } + }, "UpdateDomainConfigurationRequest": { "base": null, "refs": { @@ -6849,7 +6994,7 @@ "base": null, "refs": { "HttpAction$url": "

The endpoint URL. If substitution templates are used in the URL, you must also specify a confirmationUrl. If this is a new destination, a new TopicRuleDestination is created if possible.

", - "HttpAction$confirmationUrl": "

The URL to which AWS IoT sends a confirmation message. The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL AWS IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substituion template before traffic is allowed to your endpoint URL.

", + "HttpAction$confirmationUrl": "

The URL to which AWS IoT sends a confirmation message. The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL AWS IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substitution template before traffic is allowed to your endpoint URL.

", "HttpUrlDestinationConfiguration$confirmationUrl": "

The URL AWS IoT uses to confirm ownership of or access to the topic rule destination URL.

", "HttpUrlDestinationProperties$confirmationUrl": "

The URL used to confirm the HTTP topic rule destination URL.

", "HttpUrlDestinationSummary$confirmationUrl": "

The URL used to confirm ownership of or access to the HTTP topic rule destination URL.

" diff --git a/models/apis/mediaconnect/2018-11-14/api-2.json b/models/apis/mediaconnect/2018-11-14/api-2.json index 2ce6b3c3e7..09b3df3ff5 100644 --- a/models/apis/mediaconnect/2018-11-14/api-2.json +++ b/models/apis/mediaconnect/2018-11-14/api-2.json @@ -82,6 +82,40 @@ } ] }, + "AddFlowVpcInterfaces": { + "name": "AddFlowVpcInterfaces", + "http": { + "method": "POST", + "requestUri": "/v1/flows/{flowArn}/vpcInterfaces", + "responseCode": 201 + }, + "input": { + "shape": "AddFlowVpcInterfacesRequest" + }, + "output": { + "shape": "AddFlowVpcInterfacesResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "CreateFlow": { "name": "CreateFlow", "http": { @@ -370,6 +404,40 @@ } ] }, + "RemoveFlowVpcInterface": { + "name": "RemoveFlowVpcInterface", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}/vpcInterfaces/{vpcInterfaceName}", + "responseCode": 200 + }, + "input": { + "shape": "RemoveFlowVpcInterfaceRequest" + }, + "output": { + "shape": "RemoveFlowVpcInterfaceResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "RevokeFlowEntitlement": { "name": "RevokeFlowEntitlement", "http": { @@ -732,6 +800,37 @@ } } }, + "AddFlowVpcInterfacesRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn" + }, + "VpcInterfaces": { + "shape": "__listOfVpcInterfaceRequest", + "locationName": "vpcInterfaces" + } + }, + "required": [ + "FlowArn", + "VpcInterfaces" + ] + }, + "AddFlowVpcInterfacesResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn" + }, + "VpcInterfaces": { + "shape": "__listOfVpcInterface", + "locationName": "vpcInterfaces" + } + } + }, "AddOutputRequest": { "type": "structure", "members": { @@ -854,6 +953,10 @@ "Sources": { "shape": "__listOfSetSourceRequest", "locationName": "sources" + }, + "VpcInterfaces": { + "shape": "__listOfVpcInterfaceRequest", + "locationName": "vpcInterfaces" } }, "required": [ @@ -1059,6 +1162,10 @@ "Status": { "shape": "Status", "locationName": "status" + }, + "VpcInterfaces": { + "shape": "__listOfVpcInterface", + "locationName": "vpcInterfaces" } }, "required": [ @@ -1477,6 +1584,42 @@ } } }, + "RemoveFlowVpcInterfaceRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn" + }, + "VpcInterfaceName": { + "shape": "__string", + "location": "uri", + "locationName": "vpcInterfaceName" + } + }, + "required": [ + "FlowArn", + "VpcInterfaceName" + ] + }, + "RemoveFlowVpcInterfaceResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn" + }, + "NonDeletedNetworkInterfaceIds": { + "shape": "__listOf__string", + "locationName": "nonDeletedNetworkInterfaceIds" + }, + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName" + } + } + }, "ResponseError": { "type": "structure", "members": { @@ -1576,6 +1719,10 @@ "shape": "__string", "locationName": "streamId" }, + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName" + }, "WhitelistCidr": { "shape": "__string", "locationName": "whitelistCidr" @@ -1621,6 +1768,10 @@ "shape": "Transport", "locationName": "transport" }, + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName" + }, "WhitelistCidr": { "shape": "__string", "locationName": "whitelistCidr" @@ -2039,6 +2190,10 @@ "shape": "__string", "locationName": "streamId" }, + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName" + }, "WhitelistCidr": { "shape": "__string", "locationName": "whitelistCidr" @@ -2062,6 +2217,65 @@ } } }, + "VpcInterface": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name" + }, + "NetworkInterfaceIds": { + "shape": "__listOf__string", + "locationName": "networkInterfaceIds" + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn" + }, + "SecurityGroupIds": { + "shape": "__listOf__string", + "locationName": "securityGroupIds" + }, + "SubnetId": { + "shape": "__string", + "locationName": "subnetId" + } + }, + "required": [ + "NetworkInterfaceIds", + "SubnetId", + "SecurityGroupIds", + "RoleArn", + "Name" + ] + }, + "VpcInterfaceRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name" + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn" + }, + "SecurityGroupIds": { + "shape": "__listOf__string", + "locationName": "securityGroupIds" + }, + "SubnetId": { + "shape": "__string", + "locationName": "subnetId" + } + }, + "required": [ + "SubnetId", + "SecurityGroupIds", + "RoleArn", + "Name" + ] + }, "__boolean": { "type": "boolean" }, @@ -2119,6 +2333,18 @@ "shape": "Source" } }, + "__listOfVpcInterface": { + "type": "list", + "member": { + "shape": "VpcInterface" + } + }, + "__listOfVpcInterfaceRequest": { + "type": "list", + "member": { + "shape": "VpcInterfaceRequest" + } + }, "__listOf__integer": { "type": "list", "member": { @@ -2155,4 +2381,4 @@ "timestampFormat": "unixTimestamp" } } -} +} \ No newline at end of file diff --git a/models/apis/mediaconnect/2018-11-14/docs-2.json b/models/apis/mediaconnect/2018-11-14/docs-2.json index 267f62c850..b7b9c1ba4c 100644 --- a/models/apis/mediaconnect/2018-11-14/docs-2.json +++ b/models/apis/mediaconnect/2018-11-14/docs-2.json @@ -1,521 +1,577 @@ { - "version" : "2.0", - "service" : "API for AWS Elemental MediaConnect", - "operations" : { - "AddFlowOutputs" : "Adds outputs to an existing flow. You can create up to 50 outputs per flow.", - "AddFlowSources" : "Adds Sources to flow", - "CreateFlow" : "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50).", - "DeleteFlow" : "Deletes a flow. Before you can delete a flow, you must stop the flow.", - "DescribeFlow" : "Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements.", - "GrantFlowEntitlements" : "Grants entitlements to an existing flow.", - "ListEntitlements" : "Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page.", - "ListFlows" : "Displays a list of flows that are associated with this account. This request returns a paginated result.", - "ListTagsForResource" : "List all tags on an AWS Elemental MediaConnect resource", - "RemoveFlowOutput" : "Removes an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output.", - "RemoveFlowSource" : "Removes a source from an existing flow. This request can be made only if there is more than one source on the flow.", - "RevokeFlowEntitlement" : "Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed.", - "StartFlow" : "Starts a flow.", - "StopFlow" : "Stops a flow.", - "TagResource" : "Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.", - "UntagResource" : "Deletes specified tags from a resource.", - "UpdateFlow" : "Updates flow", - "UpdateFlowEntitlement" : "You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed.", - "UpdateFlowOutput" : "Updates an existing flow output.", - "UpdateFlowSource" : "Updates the source of a flow." + "version": "2.0", + "service": "API for AWS Elemental MediaConnect", + "operations": { + "AddFlowOutputs": "Adds outputs to an existing flow. You can create up to 50 outputs per flow.", + "AddFlowSources": "Adds Sources to flow", + "AddFlowVpcInterfaces": "Adds VPC interfaces to flow", + "CreateFlow": "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50).", + "DeleteFlow": "Deletes a flow. Before you can delete a flow, you must stop the flow.", + "DescribeFlow": "Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements.", + "GrantFlowEntitlements": "Grants entitlements to an existing flow.", + "ListEntitlements": "Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page.", + "ListFlows": "Displays a list of flows that are associated with this account. This request returns a paginated result.", + "ListTagsForResource": "List all tags on an AWS Elemental MediaConnect resource", + "RemoveFlowOutput": "Removes an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output.", + "RemoveFlowSource": "Removes a source from an existing flow. This request can be made only if there is more than one source on the flow.", + "RemoveFlowVpcInterface": "Removes a VPC Interface from an existing flow. This request can be made only on a VPC interface that does not have a Source or Output associated with it. If the VPC interface is referenced by a Source or Output, you must first delete or update the Source or Output to no longer reference the VPC interface.", + "RevokeFlowEntitlement": "Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed.", + "StartFlow": "Starts a flow.", + "StopFlow": "Stops a flow.", + "TagResource": "Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.", + "UntagResource": "Deletes specified tags from a resource.", + "UpdateFlow": "Updates flow", + "UpdateFlowEntitlement": "You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed.", + "UpdateFlowOutput": "Updates an existing flow output.", + "UpdateFlowSource": "Updates the source of a flow." }, - "shapes" : { - "AddFlowOutputs420Exception" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "shapes": { + "AddFlowOutputs420Exception": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "AddFlowOutputsRequest" : { - "base" : "Adds outputs to an existing flow. You can create up to 50 outputs per flow.", - "refs" : { } + "AddFlowOutputsRequest": { + "base": "Adds outputs to an existing flow. You can create up to 50 outputs per flow.", + "refs": {} }, - "AddFlowOutputsResponse" : { - "base" : "The result of a successful AddOutput request. The response includes the details of the newly added outputs.", - "refs" : { } + "AddFlowOutputsResponse": { + "base": "The result of a successful AddOutput request. The response includes the details of the newly added outputs.", + "refs": {} }, - "AddFlowSourcesRequest" : { - "base" : "Adds sources to an existing flow.", - "refs" : { } + "AddFlowSourcesRequest": { + "base": "Adds sources to an existing flow.", + "refs": {} }, - "AddFlowSourcesResponse" : { - "base" : "The result of a successful AddFlowSources request. The response includes the details of the newly added sources.", - "refs" : { } + "AddFlowSourcesResponse": { + "base": "The result of a successful AddFlowSources request. The response includes the details of the newly added sources.", + "refs": {} }, - "AddOutputRequest" : { - "base" : "The output that you want to add to this flow.", - "refs" : { - "__listOfAddOutputRequest$member" : null + "AddFlowVpcInterfacesRequest": { + "base": "Adds VPC interfaces to an existing flow.", + "refs": {} + }, + "AddFlowVpcInterfacesResponse": { + "base": "The result of a successful AddFlowVpcInterfaces request. The response includes the details of the newly added VPC interfaces.", + "refs": {} + }, + "AddOutputRequest": { + "base": "The output that you want to add to this flow.", + "refs": { + "__listOfAddOutputRequest$member": null } }, - "Algorithm" : { - "base" : null, - "refs" : { - "Encryption$Algorithm" : "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).", - "UpdateEncryption$Algorithm" : "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256)." + "Algorithm": { + "base": null, + "refs": { + "Encryption$Algorithm": "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).", + "UpdateEncryption$Algorithm": "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256)." } }, - "BadRequestException" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "BadRequestException": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "CreateFlow420Exception" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "CreateFlow420Exception": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "CreateFlowRequest" : { - "base" : "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and one entitlement.", - "refs" : { } + "CreateFlowRequest": { + "base": "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and one entitlement.", + "refs": {} }, - "CreateFlowResponse" : { - "base" : "The result of a successful CreateFlow request.", - "refs" : { } + "CreateFlowResponse": { + "base": "The result of a successful CreateFlow request.", + "refs": {} }, - "DeleteFlowResponse" : { - "base" : "The result of a successful DeleteFlow request.", - "refs" : { } + "DeleteFlowResponse": { + "base": "The result of a successful DeleteFlow request.", + "refs": {} }, - "DescribeFlowResponse" : { - "base" : "The result of a successful DescribeFlow request.", - "refs" : { } + "DescribeFlowResponse": { + "base": "The result of a successful DescribeFlow request.", + "refs": {} }, - "Encryption" : { - "base" : "Information about the encryption of the flow.", - "refs" : { - "AddOutputRequest$Encryption" : "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", - "Entitlement$Encryption" : "The type of encryption that will be used on the output that is associated with this entitlement.", - "GrantEntitlementRequest$Encryption" : "The type of encryption that will be used on the output that is associated with this entitlement.", - "Output$Encryption" : "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", - "SetSourceRequest$Decryption" : "The type of encryption that is used on the content ingested from this source.", - "Source$Decryption" : "The type of encryption that is used on the content ingested from this source." + "Encryption": { + "base": "Information about the encryption of the flow.", + "refs": { + "AddOutputRequest$Encryption": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", + "Entitlement$Encryption": "The type of encryption that will be used on the output that is associated with this entitlement.", + "GrantEntitlementRequest$Encryption": "The type of encryption that will be used on the output that is associated with this entitlement.", + "Output$Encryption": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", + "SetSourceRequest$Decryption": "The type of encryption that is used on the content ingested from this source.", + "Source$Decryption": "The type of encryption that is used on the content ingested from this source." } }, - "Entitlement" : { - "base" : "The settings for a flow entitlement.", - "refs" : { - "UpdateFlowEntitlementResponse$Entitlement" : null, - "__listOfEntitlement$member" : null + "Entitlement": { + "base": "The settings for a flow entitlement.", + "refs": { + "UpdateFlowEntitlementResponse$Entitlement": null, + "__listOfEntitlement$member": null } }, - "FailoverConfig" : { - "base" : "The settings for source failover", - "refs" : { - "CreateFlowRequest$SourceFailoverConfig" : null, - "Flow$SourceFailoverConfig" : null + "FailoverConfig": { + "base": "The settings for source failover", + "refs": { + "CreateFlowRequest$SourceFailoverConfig": null, + "Flow$SourceFailoverConfig": null } }, - "Flow" : { - "base" : "The settings for a flow, including its source, outputs, and entitlements.", - "refs" : { - "CreateFlowResponse$Flow" : null, - "DescribeFlowResponse$Flow" : null, - "UpdateFlowResponse$Flow" : null + "Flow": { + "base": "The settings for a flow, including its source, outputs, and entitlements.", + "refs": { + "CreateFlowResponse$Flow": null, + "DescribeFlowResponse$Flow": null, + "UpdateFlowResponse$Flow": null } }, - "ForbiddenException" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "ForbiddenException": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "GrantEntitlementRequest" : { - "base" : "The entitlements that you want to grant on a flow.", - "refs" : { - "__listOfGrantEntitlementRequest$member" : null + "GrantEntitlementRequest": { + "base": "The entitlements that you want to grant on a flow.", + "refs": { + "__listOfGrantEntitlementRequest$member": null } }, - "GrantFlowEntitlements420Exception" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "GrantFlowEntitlements420Exception": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "GrantFlowEntitlementsRequest" : { - "base" : "Grants an entitlement on a flow.", - "refs" : { } + "GrantFlowEntitlementsRequest": { + "base": "Grants an entitlement on a flow.", + "refs": {} }, - "GrantFlowEntitlementsResponse" : { - "base" : "The entitlements that were just granted.", - "refs" : { } + "GrantFlowEntitlementsResponse": { + "base": "The entitlements that were just granted.", + "refs": {} }, - "InternalServerErrorException" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "InternalServerErrorException": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "KeyType" : { - "base" : null, - "refs" : { - "Encryption$KeyType" : "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", - "UpdateEncryption$KeyType" : "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + "KeyType": { + "base": null, + "refs": { + "Encryption$KeyType": "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", + "UpdateEncryption$KeyType": "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." } }, - "ListEntitlementsResponse" : { - "base" : "The result of a successful ListEntitlements request. The response includes the ARN of each entitlement, the name of the associated flow, and the NextToken to use in a subsequent ListEntitlements request.", - "refs" : { } + "ListEntitlementsResponse": { + "base": "The result of a successful ListEntitlements request. The response includes the ARN of each entitlement, the name of the associated flow, and the NextToken to use in a subsequent ListEntitlements request.", + "refs": {} }, - "ListFlowsResponse" : { - "base" : "The result of a successful ListFlows request. The response includes flow summaries and the NextToken to use in a subsequent ListFlows request.", - "refs" : { } + "ListFlowsResponse": { + "base": "The result of a successful ListFlows request. The response includes flow summaries and the NextToken to use in a subsequent ListFlows request.", + "refs": {} }, - "ListTagsForResourceResponse" : { - "base" : "The tags for the resource.", - "refs" : { } + "ListTagsForResourceResponse": { + "base": "The tags for the resource.", + "refs": {} }, - "ListedEntitlement" : { - "base" : "An entitlement that has been granted to you from other AWS accounts.", - "refs" : { - "__listOfListedEntitlement$member" : null + "ListedEntitlement": { + "base": "An entitlement that has been granted to you from other AWS accounts.", + "refs": { + "__listOfListedEntitlement$member": null } }, - "ListedFlow" : { - "base" : "Provides a summary of a flow, including its ARN, Availability Zone, and source type.", - "refs" : { - "__listOfListedFlow$member" : null + "ListedFlow": { + "base": "Provides a summary of a flow, including its ARN, Availability Zone, and source type.", + "refs": { + "__listOfListedFlow$member": null } }, - "Messages" : { - "base" : "Messages that provide the state of the flow.", - "refs" : { - "DescribeFlowResponse$Messages" : null + "Messages": { + "base": "Messages that provide the state of the flow.", + "refs": { + "DescribeFlowResponse$Messages": null } }, - "NotFoundException" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "NotFoundException": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "Output" : { - "base" : "The settings for an output.", - "refs" : { - "UpdateFlowOutputResponse$Output" : null, - "__listOfOutput$member" : null + "Output": { + "base": "The settings for an output.", + "refs": { + "UpdateFlowOutputResponse$Output": null, + "__listOfOutput$member": null } }, - "Protocol" : { - "base" : null, - "refs" : { - "AddOutputRequest$Protocol" : "The protocol to use for the output.", - "SetSourceRequest$Protocol" : "The protocol that is used by the source.", - "Transport$Protocol" : "The protocol that is used by the source or output.", - "UpdateFlowOutputRequest$Protocol" : "The protocol to use for the output.", - "UpdateFlowSourceRequest$Protocol" : "The protocol that is used by the source." + "Protocol": { + "base": null, + "refs": { + "AddOutputRequest$Protocol": "The protocol to use for the output.", + "SetSourceRequest$Protocol": "The protocol that is used by the source.", + "Transport$Protocol": "The protocol that is used by the source or output.", + "UpdateFlowOutputRequest$Protocol": "The protocol to use for the output.", + "UpdateFlowSourceRequest$Protocol": "The protocol that is used by the source." } }, - "RemoveFlowOutputResponse" : { - "base" : "The result of a successful RemoveFlowOutput request including the flow ARN and the output ARN that was removed.", - "refs" : { } + "RemoveFlowOutputResponse": { + "base": "The result of a successful RemoveFlowOutput request including the flow ARN and the output ARN that was removed.", + "refs": {} + }, + "RemoveFlowSourceResponse": { + "base": "The result of a successful RemoveFlowSource request including the flow ARN and the source ARN that was removed.", + "refs": {} + }, + "RemoveFlowVpcInterfaceResponse": { + "base": "The result of a successful RemoveFlowVpcInterface request including the flow ARN and the VPC interface name that was removed.", + "refs": {} }, - "RemoveFlowSourceResponse" : { - "base" : "The result of a successful RemoveFlowSource request including the flow ARN and the source ARN that was removed.", - "refs" : { } + "ResponseError": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "ResponseError" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "RevokeFlowEntitlementResponse": { + "base": "The result of a successful RevokeFlowEntitlement request. The response includes the ARN of the flow that was updated and the ARN of the entitlement that was revoked.", + "refs": {} }, - "RevokeFlowEntitlementResponse" : { - "base" : "The result of a successful RevokeFlowEntitlement request. The response includes the ARN of the flow that was updated and the ARN of the entitlement that was revoked.", - "refs" : { } + "ServiceUnavailableException": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} }, - "ServiceUnavailableException" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } + "SetSourceRequest": { + "base": "The settings for the source of the flow.", + "refs": { + "CreateFlowRequest$Source": null, + "__listOfSetSourceRequest$member": null + } + }, + "Source": { + "base": "The settings for the source of the flow.", + "refs": { + "Flow$Source": null, + "UpdateFlowSourceResponse$Source": "The settings for the source of the flow.", + "__listOfSource$member": null + } }, - "SetSourceRequest" : { - "base" : "The settings for the source of the flow.", - "refs" : { - "CreateFlowRequest$Source" : null, - "__listOfSetSourceRequest$member" : null + "SourceType": { + "base": null, + "refs": { + "ListedFlow$SourceType": "The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account)." } }, - "Source" : { - "base" : "The settings for the source of the flow.", - "refs" : { - "Flow$Source" : null, - "UpdateFlowSourceResponse$Source" : "The settings for the source of the flow.", - "__listOfSource$member" : null + "StartFlowResponse": { + "base": "The result of a successful StartFlow request.", + "refs": {} + }, + "State": { + "base": null, + "refs": { + "FailoverConfig$State": null, + "UpdateFailoverConfig$State": null + } + }, + "Status": { + "base": null, + "refs": { + "DeleteFlowResponse$Status": "The status of the flow when the DeleteFlow process begins.", + "Flow$Status": "The current status of the flow.", + "ListedFlow$Status": "The current status of the flow.", + "StartFlowResponse$Status": "The status of the flow when the StartFlow process begins.", + "StopFlowResponse$Status": "The status of the flow when the StopFlow process begins." + } + }, + "StopFlowResponse": { + "base": "The result of a successful StopFlow request.", + "refs": {} + }, + "TagResourceRequest": { + "base": "The tags to add to the resource. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", + "refs": {} + }, + "TooManyRequestsException": { + "base": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "refs": {} + }, + "Transport": { + "base": "Attributes related to the transport stream that are used in a source or output.", + "refs": { + "Output$Transport": "Attributes related to the transport stream that are used in the output.", + "Source$Transport": "Attributes related to the transport stream that are used in the source." + } + }, + "UpdateEncryption": { + "base": "Information about the encryption of the flow.", + "refs": { + "UpdateFlowEntitlementRequest$Encryption": "The type of encryption that will be used on the output associated with this entitlement.", + "UpdateFlowOutputRequest$Encryption": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", + "UpdateFlowSourceRequest$Decryption": "The type of encryption used on the content ingested from this source." + } + }, + "UpdateFailoverConfig": { + "base": "The settings for source failover", + "refs": { + "UpdateFlowRequest$SourceFailoverConfig": null + } + }, + "UpdateFlowEntitlementRequest": { + "base": "The updates that you want to make to a specific entitlement.", + "refs": {} + }, + "UpdateFlowEntitlementResponse": { + "base": "The result of a successful UpdateFlowEntitlement request. The response includes the ARN of the flow that was updated and the updated entitlement configuration.", + "refs": {} + }, + "UpdateFlowOutputRequest": { + "base": "The updates that you want to make to an existing output of an existing flow.", + "refs": {} + }, + "UpdateFlowOutputResponse": { + "base": "The result of a successful UpdateFlowOutput request including the flow ARN and the updated output.", + "refs": {} + }, + "UpdateFlowRequest": { + "base": "Updates an existing flow.", + "refs": {} + }, + "UpdateFlowResponse": { + "base": "Updates an existing flow.", + "refs": {} + }, + "UpdateFlowSourceRequest": { + "base": "The settings for the updated source of the flow.", + "refs": {} + }, + "UpdateFlowSourceResponse": { + "base": "The result of a successful UpdateFlowSource request. The response includes the ARN of the flow that was updated and the updated source configuration.", + "refs": {} + }, + "VpcInterface": { + "base": "The settings for a VPC Source.", + "refs": { + "__listOfVpcInterface$member": null } }, - "SourceType" : { - "base" : null, - "refs" : { - "ListedFlow$SourceType" : "The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account)." + "VpcInterfaceRequest": { + "base": "Desired VPC Interface for a Flow", + "refs": { + "__listOfVpcInterfaceRequest$member": null } }, - "StartFlowResponse" : { - "base" : "The result of a successful StartFlow request.", - "refs" : { } - }, - "State" : { - "base" : null, - "refs" : { - "FailoverConfig$State" : null, - "UpdateFailoverConfig$State" : null - } - }, - "Status" : { - "base" : null, - "refs" : { - "DeleteFlowResponse$Status" : "The status of the flow when the DeleteFlow process begins.", - "Flow$Status" : "The current status of the flow.", - "ListedFlow$Status" : "The current status of the flow.", - "StartFlowResponse$Status" : "The status of the flow when the StartFlow process begins.", - "StopFlowResponse$Status" : "The status of the flow when the StopFlow process begins." - } - }, - "StopFlowResponse" : { - "base" : "The result of a successful StopFlow request.", - "refs" : { } - }, - "TagResourceRequest" : { - "base" : "The tags to add to the resource. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", - "refs" : { } - }, - "TooManyRequestsException" : { - "base" : "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", - "refs" : { } - }, - "Transport" : { - "base" : "Attributes related to the transport stream that are used in a source or output.", - "refs" : { - "Output$Transport" : "Attributes related to the transport stream that are used in the output.", - "Source$Transport" : "Attributes related to the transport stream that are used in the source." - } - }, - "UpdateEncryption" : { - "base" : "Information about the encryption of the flow.", - "refs" : { - "UpdateFlowEntitlementRequest$Encryption" : "The type of encryption that will be used on the output associated with this entitlement.", - "UpdateFlowOutputRequest$Encryption" : "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).", - "UpdateFlowSourceRequest$Decryption" : "The type of encryption used on the content ingested from this source." - } - }, - "UpdateFailoverConfig" : { - "base" : "The settings for source failover", - "refs" : { - "UpdateFlowRequest$SourceFailoverConfig" : null - } - }, - "UpdateFlowEntitlementRequest" : { - "base" : "The updates that you want to make to a specific entitlement.", - "refs" : { } - }, - "UpdateFlowEntitlementResponse" : { - "base" : "The result of a successful UpdateFlowEntitlement request. The response includes the ARN of the flow that was updated and the updated entitlement configuration.", - "refs" : { } - }, - "UpdateFlowOutputRequest" : { - "base" : "The updates that you want to make to an existing output of an existing flow.", - "refs" : { } - }, - "UpdateFlowOutputResponse" : { - "base" : "The result of a successful UpdateFlowOutput request including the flow ARN and the updated output.", - "refs" : { } - }, - "UpdateFlowRequest" : { - "base" : "Updates an existing flow.", - "refs" : { } - }, - "UpdateFlowResponse" : { - "base" : "Updates an existing flow.", - "refs" : { } - }, - "UpdateFlowSourceRequest" : { - "base" : "The settings for the updated source of the flow.", - "refs" : { } - }, - "UpdateFlowSourceResponse" : { - "base" : "The result of a successful UpdateFlowSource request. The response includes the ARN of the flow that was updated and the updated source configuration.", - "refs" : { } - }, - "__integer" : { - "base" : null, - "refs" : { - "AddOutputRequest$Port" : "The port to use when content is distributed to this output.", - "Entitlement$DataTransferSubscriberFeePercent" : "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", - "FailoverConfig$RecoveryWindow" : "Search window time to look for dash-7 packets", - "GrantEntitlementRequest$DataTransferSubscriberFeePercent" : "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", - "ListedEntitlement$DataTransferSubscriberFeePercent" : "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", - "Output$DataTransferSubscriberFeePercent" : "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", - "Output$Port" : "The port to use when content is distributed to this output.", - "SetSourceRequest$IngestPort" : "The port that the flow will be listening on for incoming content.", - "Source$DataTransferSubscriberFeePercent" : "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", - "Source$IngestPort" : "The port that the flow will be listening on for incoming content.", - "UpdateFailoverConfig$RecoveryWindow" : "Recovery window time to look for dash-7 packets", - "UpdateFlowOutputRequest$Port" : "The port to use when content is distributed to this output.", - "UpdateFlowSourceRequest$IngestPort" : "The port that the flow will be listening on for incoming content.", - "AddOutputRequest$MaxLatency" : "The maximum latency in milliseconds for Zixi-based streams.", - "AddOutputRequest$SmoothingLatency" : "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.", - "SetSourceRequest$MaxBitrate" : "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.", - "SetSourceRequest$MaxLatency" : "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.", - "Transport$MaxBitrate" : "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.", - "Transport$MaxLatency" : "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.", - "Transport$SmoothingLatency" : "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.", - "UpdateFlowOutputRequest$MaxLatency" : "The maximum latency in milliseconds for Zixi-based streams.", - "UpdateFlowOutputRequest$SmoothingLatency" : "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.", - "UpdateFlowSourceRequest$MaxBitrate" : "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.", - "UpdateFlowSourceRequest$MaxLatency" : "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams." - } - }, - "__listOfAddOutputRequest" : { - "base" : null, - "refs" : { - "AddFlowOutputsRequest$Outputs" : "A list of outputs that you want to add.", - "CreateFlowRequest$Outputs" : "The outputs that you want to add to this flow." - } - }, - "__listOfEntitlement" : { - "base" : null, - "refs" : { - "Flow$Entitlements" : "The entitlements in this flow.", - "GrantFlowEntitlementsResponse$Entitlements" : "The entitlements that were just granted." - } - }, - "__listOfGrantEntitlementRequest" : { - "base" : null, - "refs" : { - "CreateFlowRequest$Entitlements" : "The entitlements that you want to grant on a flow.", - "GrantFlowEntitlementsRequest$Entitlements" : "The list of entitlements that you want to grant." - } - }, - "__listOfListedEntitlement" : { - "base" : null, - "refs" : { - "ListEntitlementsResponse$Entitlements" : "A list of entitlements that have been granted to you from other AWS accounts." - } - }, - "__listOfListedFlow" : { - "base" : null, - "refs" : { - "ListFlowsResponse$Flows" : "A list of flow summaries." - } - }, - "__listOfOutput" : { - "base" : null, - "refs" : { - "AddFlowOutputsResponse$Outputs" : "The details of the newly added outputs.", - "Flow$Outputs" : "The outputs in this flow." - } - }, - "__listOfSetSourceRequest" : { - "base" : null, - "refs" : { - "AddFlowSourcesRequest$Sources" : "A list of sources that you want to add.", - "CreateFlowRequest$Sources" : null - } - }, - "__listOfSource" : { - "base" : null, - "refs" : { - "AddFlowSourcesResponse$Sources" : "The details of the newly added sources.", - "Flow$Sources" : null - } - }, - "__listOf__string" : { - "base" : null, - "refs" : { - "AddOutputRequest$CidrAllowList" : "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", - "Entitlement$Subscribers" : "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.", - "GrantEntitlementRequest$Subscribers" : "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source.", - "Messages$Errors" : "A list of errors that might have been generated from processes on this flow.", - "Transport$CidrAllowList" : "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", - "UpdateFlowEntitlementRequest$Subscribers" : "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.", - "UpdateFlowOutputRequest$CidrAllowList" : "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." - } - }, - "__mapOf__string" : { - "base" : null, - "refs" : { - "ListTagsForResourceResponse$Tags" : "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", - "TagResourceRequest$Tags" : "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." - } - }, - "__string" : { - "base" : null, - "refs" : { - "AddFlowOutputsResponse$FlowArn" : "The ARN of the flow that these outputs were added to.", - "AddFlowSourcesResponse$FlowArn" : "The ARN of the flow that these sources were added to.", - "AddOutputRequest$Description" : "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.", - "AddOutputRequest$Destination" : "The IP address from which video will be sent to output destinations.", - "AddOutputRequest$Name" : "The name of the output. This value must be unique within the current flow.", - "AddOutputRequest$RemoteId" : "The remote ID for the Zixi-pull output stream.", - "AddOutputRequest$StreamId" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", - "CreateFlowRequest$AvailabilityZone" : "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.", - "CreateFlowRequest$Name" : "The name of the flow.", - "DeleteFlowResponse$FlowArn" : "The ARN of the flow that was deleted.", - "Encryption$ConstantInitializationVector" : "A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.", - "Encryption$DeviceId" : "The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.", - "Encryption$Region" : "The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.", - "Encryption$ResourceId" : "An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.", - "Encryption$RoleArn" : "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).", - "Encryption$SecretArn" : "The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption.", - "Encryption$Url" : "The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.", - "Entitlement$Description" : "A description of the entitlement.", - "Entitlement$EntitlementArn" : "The ARN of the entitlement.", - "Entitlement$Name" : "The name of the entitlement.", - "Flow$AvailabilityZone" : "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS.", - "Flow$Description" : "A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", - "Flow$EgressIp" : "The IP address from which video will be sent to output destinations.", - "Flow$FlowArn" : "The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow.", - "Flow$Name" : "The name of the flow.", - "GrantEntitlementRequest$Description" : "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user.", - "GrantEntitlementRequest$Name" : "The name of the entitlement. This value must be unique within the current flow.", - "GrantFlowEntitlementsResponse$FlowArn" : "The ARN of the flow that these entitlements were granted to.", - "ListEntitlementsResponse$NextToken" : "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value.", - "ListFlowsResponse$NextToken" : "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value.", - "ListedEntitlement$EntitlementArn" : "The ARN of the entitlement.", - "ListedEntitlement$EntitlementName" : "The name of the entitlement.", - "ListedFlow$AvailabilityZone" : "The Availability Zone that the flow was created in.", - "ListedFlow$Description" : "A description of the flow.", - "ListedFlow$FlowArn" : "The ARN of the flow.", - "ListedFlow$Name" : "The name of the flow.", - "Output$Description" : "A description of the output.", - "Output$Destination" : "The address where you want to send the output.", - "Output$EntitlementArn" : "The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows.", - "Output$MediaLiveInputArn" : "The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input.", - "Output$Name" : "The name of the output. This value must be unique within the current flow.", - "Output$OutputArn" : "The ARN of the output.", - "RemoveFlowOutputResponse$FlowArn" : "The ARN of the flow that is associated with the output you removed.", - "RemoveFlowOutputResponse$OutputArn" : "The ARN of the output that was removed.", - "RemoveFlowSourceResponse$FlowArn" : "The ARN of the flow that is associated with the source you removed.", - "RemoveFlowSourceResponse$SourceArn" : "The ARN of the source that was removed.", - "ResponseError$Message" : "The error message returned by AWS Elemental MediaConnect.", - "RevokeFlowEntitlementResponse$EntitlementArn" : "The ARN of the entitlement that was revoked.", - "RevokeFlowEntitlementResponse$FlowArn" : "The ARN of the flow that the entitlement was revoked from.", - "SetSourceRequest$Description" : "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", - "SetSourceRequest$EntitlementArn" : "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.", - "SetSourceRequest$Name" : "The name of the source.", - "SetSourceRequest$StreamId" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", - "SetSourceRequest$WhitelistCidr" : "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", - "Source$Description" : "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", - "Source$EntitlementArn" : "The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow.", - "Source$IngestIp" : "The IP address that the flow will be listening on for incoming content.", - "Source$Name" : "The name of the source.", - "Source$SourceArn" : "The ARN of the source.", - "Source$WhitelistCidr" : "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", - "StartFlowResponse$FlowArn" : "The ARN of the flow that you started.", - "StopFlowResponse$FlowArn" : "The ARN of the flow that you stopped.", - "Transport$RemoteId" : "The remote ID for the Zixi-pull stream.", - "Transport$StreamId" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", - "UpdateEncryption$ConstantInitializationVector" : "A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.", - "UpdateEncryption$DeviceId" : "The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.", - "UpdateEncryption$Region" : "The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.", - "UpdateEncryption$ResourceId" : "An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.", - "UpdateEncryption$RoleArn" : "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).", - "UpdateEncryption$SecretArn" : "The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption.", - "UpdateEncryption$Url" : "The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.", - "UpdateFlowEntitlementRequest$Description" : "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user.", - "UpdateFlowEntitlementResponse$FlowArn" : "The ARN of the flow that this entitlement was granted on.", - "UpdateFlowOutputRequest$Description" : "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.", - "UpdateFlowOutputRequest$Destination" : "The IP address where you want to send the output.", - "UpdateFlowOutputRequest$RemoteId" : "The remote ID for the Zixi-pull stream.", - "UpdateFlowOutputRequest$StreamId" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", - "UpdateFlowOutputResponse$FlowArn" : "The ARN of the flow that is associated with the updated output.", - "UpdateFlowSourceRequest$Description" : "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", - "UpdateFlowSourceRequest$EntitlementArn" : "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.", - "UpdateFlowSourceRequest$StreamId" : "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", - "UpdateFlowSourceRequest$WhitelistCidr" : "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", - "UpdateFlowSourceResponse$FlowArn" : "The ARN of the flow that you want to update.", - "__listOf__string$member" : null, - "__mapOf__string$member" : null + "__integer": { + "base": null, + "refs": { + "AddOutputRequest$Port": "The port to use when content is distributed to this output.", + "Entitlement$DataTransferSubscriberFeePercent": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", + "FailoverConfig$RecoveryWindow": "Search window time to look for dash-7 packets", + "GrantEntitlementRequest$DataTransferSubscriberFeePercent": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", + "ListedEntitlement$DataTransferSubscriberFeePercent": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", + "Output$DataTransferSubscriberFeePercent": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", + "Output$Port": "The port to use when content is distributed to this output.", + "SetSourceRequest$IngestPort": "The port that the flow will be listening on for incoming content.", + "Source$DataTransferSubscriberFeePercent": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber.", + "Source$IngestPort": "The port that the flow will be listening on for incoming content.", + "UpdateFailoverConfig$RecoveryWindow": "Recovery window time to look for dash-7 packets", + "UpdateFlowOutputRequest$Port": "The port to use when content is distributed to this output.", + "UpdateFlowSourceRequest$IngestPort": "The port that the flow will be listening on for incoming content.", + "AddOutputRequest$MaxLatency": "The maximum latency in milliseconds for Zixi-based streams.", + "AddOutputRequest$SmoothingLatency": "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.", + "SetSourceRequest$MaxBitrate": "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.", + "SetSourceRequest$MaxLatency": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.", + "Transport$MaxBitrate": "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.", + "Transport$MaxLatency": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.", + "Transport$SmoothingLatency": "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.", + "UpdateFlowOutputRequest$MaxLatency": "The maximum latency in milliseconds for Zixi-based streams.", + "UpdateFlowOutputRequest$SmoothingLatency": "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.", + "UpdateFlowSourceRequest$MaxBitrate": "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.", + "UpdateFlowSourceRequest$MaxLatency": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams." + } + }, + "__listOfAddOutputRequest": { + "base": null, + "refs": { + "AddFlowOutputsRequest$Outputs": "A list of outputs that you want to add.", + "CreateFlowRequest$Outputs": "The outputs that you want to add to this flow." + } + }, + "__listOfEntitlement": { + "base": null, + "refs": { + "Flow$Entitlements": "The entitlements in this flow.", + "GrantFlowEntitlementsResponse$Entitlements": "The entitlements that were just granted." + } + }, + "__listOfGrantEntitlementRequest": { + "base": null, + "refs": { + "CreateFlowRequest$Entitlements": "The entitlements that you want to grant on a flow.", + "GrantFlowEntitlementsRequest$Entitlements": "The list of entitlements that you want to grant." + } + }, + "__listOfListedEntitlement": { + "base": null, + "refs": { + "ListEntitlementsResponse$Entitlements": "A list of entitlements that have been granted to you from other AWS accounts." + } + }, + "__listOfListedFlow": { + "base": null, + "refs": { + "ListFlowsResponse$Flows": "A list of flow summaries." + } + }, + "__listOfOutput": { + "base": null, + "refs": { + "AddFlowOutputsResponse$Outputs": "The details of the newly added outputs.", + "Flow$Outputs": "The outputs in this flow." + } + }, + "__listOfSetSourceRequest": { + "base": null, + "refs": { + "AddFlowSourcesRequest$Sources": "A list of sources that you want to add.", + "CreateFlowRequest$Sources": null + } + }, + "__listOfSource": { + "base": null, + "refs": { + "AddFlowSourcesResponse$Sources": "The details of the newly added sources.", + "Flow$Sources": null + } + }, + "__listOfVpcInterface": { + "base": null, + "refs": { + "AddFlowVpcInterfacesResponse$VpcInterfaces": "The details of the newly added VPC interfaces.", + "Flow$VpcInterfaces": "The VPC Interfaces for this flow." + } + }, + "__listOfVpcInterfaceRequest": { + "base": null, + "refs": { + "AddFlowVpcInterfacesRequest$VpcInterfaces": "A list of VPC interfaces that you want to add.", + "CreateFlowRequest$VpcInterfaces": "The VPC interfaces you want on the flow." + } + }, + "__listOf__string": { + "base": null, + "refs": { + "AddOutputRequest$CidrAllowList": "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", + "Entitlement$Subscribers": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.", + "GrantEntitlementRequest$Subscribers": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source.", + "Messages$Errors": "A list of errors that might have been generated from processes on this flow.", + "RemoveFlowVpcInterfaceResponse$NonDeletedNetworkInterfaceIds": "IDs of network interfaces associated with the removed VPC interface that Media Connect was unable to remove.", + "Transport$CidrAllowList": "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", + "UpdateFlowEntitlementRequest$Subscribers": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.", + "UpdateFlowOutputRequest$CidrAllowList": "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", + "VpcInterface$NetworkInterfaceIds": "IDs of the network interfaces created in customer's account by MediaConnect.", + "VpcInterface$SecurityGroupIds": "Security Group IDs to be used on ENI.", + "VpcInterfaceRequest$SecurityGroupIds": "Security Group IDs to be used on ENI." + } + }, + "__mapOf__string": { + "base": null, + "refs": { + "ListTagsForResourceResponse$Tags": "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", + "TagResourceRequest$Tags": "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." + } + }, + "__string": { + "base": null, + "refs": { + "AddFlowOutputsResponse$FlowArn": "The ARN of the flow that these outputs were added to.", + "AddFlowSourcesResponse$FlowArn": "The ARN of the flow that these sources were added to.", + "AddFlowVpcInterfacesResponse$FlowArn": "The ARN of the flow that these VPC interfaces were added to.", + "AddOutputRequest$Description": "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.", + "AddOutputRequest$Destination": "The IP address from which video will be sent to output destinations.", + "AddOutputRequest$Name": "The name of the output. This value must be unique within the current flow.", + "AddOutputRequest$RemoteId": "The remote ID for the Zixi-pull output stream.", + "AddOutputRequest$StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", + "CreateFlowRequest$AvailabilityZone": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.", + "CreateFlowRequest$Name": "The name of the flow.", + "DeleteFlowResponse$FlowArn": "The ARN of the flow that was deleted.", + "Encryption$ConstantInitializationVector": "A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.", + "Encryption$DeviceId": "The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.", + "Encryption$Region": "The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.", + "Encryption$ResourceId": "An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.", + "Encryption$RoleArn": "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).", + "Encryption$SecretArn": "The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption.", + "Encryption$Url": "The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.", + "Entitlement$Description": "A description of the entitlement.", + "Entitlement$EntitlementArn": "The ARN of the entitlement.", + "Entitlement$Name": "The name of the entitlement.", + "Flow$AvailabilityZone": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS.", + "Flow$Description": "A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", + "Flow$EgressIp": "The IP address from which video will be sent to output destinations.", + "Flow$FlowArn": "The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow.", + "Flow$Name": "The name of the flow.", + "GrantEntitlementRequest$Description": "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user.", + "GrantEntitlementRequest$Name": "The name of the entitlement. This value must be unique within the current flow.", + "GrantFlowEntitlementsResponse$FlowArn": "The ARN of the flow that these entitlements were granted to.", + "ListEntitlementsResponse$NextToken": "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value.", + "ListFlowsResponse$NextToken": "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value.", + "ListedEntitlement$EntitlementArn": "The ARN of the entitlement.", + "ListedEntitlement$EntitlementName": "The name of the entitlement.", + "ListedFlow$AvailabilityZone": "The Availability Zone that the flow was created in.", + "ListedFlow$Description": "A description of the flow.", + "ListedFlow$FlowArn": "The ARN of the flow.", + "ListedFlow$Name": "The name of the flow.", + "Output$Description": "A description of the output.", + "Output$Destination": "The address where you want to send the output.", + "Output$EntitlementArn": "The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows.", + "Output$MediaLiveInputArn": "The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input.", + "Output$Name": "The name of the output. This value must be unique within the current flow.", + "Output$OutputArn": "The ARN of the output.", + "RemoveFlowOutputResponse$FlowArn": "The ARN of the flow that is associated with the output you removed.", + "RemoveFlowOutputResponse$OutputArn": "The ARN of the output that was removed.", + "RemoveFlowSourceResponse$FlowArn": "The ARN of the flow that is associated with the source you removed.", + "RemoveFlowSourceResponse$SourceArn": "The ARN of the source that was removed.", + "RemoveFlowVpcInterfaceResponse$FlowArn": "The ARN of the flow that is associated with the VPC interface you removed.", + "RemoveFlowVpcInterfaceResponse$VpcInterfaceName": "The name of the VPC interface that was removed.", + "ResponseError$Message": "The error message returned by AWS Elemental MediaConnect.", + "RevokeFlowEntitlementResponse$EntitlementArn": "The ARN of the entitlement that was revoked.", + "RevokeFlowEntitlementResponse$FlowArn": "The ARN of the flow that the entitlement was revoked from.", + "SetSourceRequest$Description": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", + "SetSourceRequest$EntitlementArn": "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.", + "SetSourceRequest$Name": "The name of the source.", + "SetSourceRequest$StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", + "SetSourceRequest$VpcInterfaceName": "The name of the VPC interface to use for this source.", + "SetSourceRequest$WhitelistCidr": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", + "Source$Description": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", + "Source$EntitlementArn": "The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow.", + "Source$IngestIp": "The IP address that the flow will be listening on for incoming content.", + "Source$Name": "The name of the source.", + "Source$SourceArn": "The ARN of the source.", + "Source$VpcInterfaceName": "The name of the VPC Interface this Source is configured with.", + "Source$WhitelistCidr": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", + "StartFlowResponse$FlowArn": "The ARN of the flow that you started.", + "StopFlowResponse$FlowArn": "The ARN of the flow that you stopped.", + "Transport$RemoteId": "The remote ID for the Zixi-pull stream.", + "Transport$StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", + "UpdateEncryption$ConstantInitializationVector": "A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.", + "UpdateEncryption$DeviceId": "The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.", + "UpdateEncryption$Region": "The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.", + "UpdateEncryption$ResourceId": "An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.", + "UpdateEncryption$RoleArn": "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).", + "UpdateEncryption$SecretArn": "The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption.", + "UpdateEncryption$Url": "The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.", + "UpdateFlowEntitlementRequest$Description": "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user.", + "UpdateFlowEntitlementResponse$FlowArn": "The ARN of the flow that this entitlement was granted on.", + "UpdateFlowOutputRequest$Description": "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.", + "UpdateFlowOutputRequest$Destination": "The IP address where you want to send the output.", + "UpdateFlowOutputRequest$RemoteId": "The remote ID for the Zixi-pull stream.", + "UpdateFlowOutputRequest$StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", + "UpdateFlowOutputResponse$FlowArn": "The ARN of the flow that is associated with the updated output.", + "UpdateFlowSourceRequest$Description": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.", + "UpdateFlowSourceRequest$EntitlementArn": "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.", + "UpdateFlowSourceRequest$StreamId": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.", + "UpdateFlowSourceRequest$VpcInterfaceName": "The name of the VPC Interface to configure this Source with.", + "UpdateFlowSourceRequest$WhitelistCidr": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.", + "UpdateFlowSourceResponse$FlowArn": "The ARN of the flow that you want to update.", + "VpcInterface$Name": "Immutable and has to be a unique against other VpcInterfaces in this Flow", + "VpcInterface$RoleArn": "Role Arn MediaConnect can assumes to create ENIs in customer's account", + "VpcInterface$SubnetId": "Subnet must be in the AZ of the Flow", + "VpcInterfaceRequest$Name": "The name of the VPC Interface. This value must be unique within the current flow.", + "VpcInterfaceRequest$RoleArn": "Role Arn MediaConnect can assumes to create ENIs in customer's account", + "VpcInterfaceRequest$SubnetId": "Subnet must be in the AZ of the Flow", + "__listOf__string$member": null, + "__mapOf__string$member": null } } } -} +} \ No newline at end of file diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index eabcc66032..c05987f7da 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -5929,7 +5929,19 @@ "codebuild" : { "endpoints" : { "us-gov-east-1" : { }, - "us-gov-west-1" : { } + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "codebuild-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "codebuild-fips.us-gov-west-1.amazonaws.com" + } } }, "codecommit" : { diff --git a/service/iot/api.go b/service/iot/api.go index e238489542..21e86decc7 100644 --- a/service/iot/api.go +++ b/service/iot/api.go @@ -1725,6 +1725,97 @@ func (c *IoT) CreateCertificateFromCsrWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateDimension = "CreateDimension" + +// CreateDimensionRequest generates a "aws/request.Request" representing the +// client's request for the CreateDimension operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDimension for more information on using the CreateDimension +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDimensionRequest method. +// req, resp := client.CreateDimensionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateDimensionRequest(input *CreateDimensionInput) (req *request.Request, output *CreateDimensionOutput) { + op := &request.Operation{ + Name: opCreateDimension, + HTTPMethod: "POST", + HTTPPath: "/dimensions/{name}", + } + + if input == nil { + input = &CreateDimensionInput{} + } + + output = &CreateDimensionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDimension API operation for AWS IoT. +// +// Create a dimension that you can use to limit the scope of a metric used in +// a security profile for AWS IoT Device Defender. For example, using a TOPIC_FILTER +// dimension, you can narrow down the scope of the metric only to MQTT topics +// whose name match the pattern specified in the dimension. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation CreateDimension for usage and error information. +// +// Returned Error Types: +// * InternalFailureException +// An unexpected error has occurred. +// +// * InvalidRequestException +// The request is not valid. +// +// * LimitExceededException +// A limit has been exceeded. +// +// * ResourceAlreadyExistsException +// The resource already exists. +// +// * ThrottlingException +// The rate exceeds the limit. +// +func (c *IoT) CreateDimension(input *CreateDimensionInput) (*CreateDimensionOutput, error) { + req, out := c.CreateDimensionRequest(input) + return out, req.Send() +} + +// CreateDimensionWithContext is the same as CreateDimension with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDimension for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) CreateDimensionWithContext(ctx aws.Context, input *CreateDimensionInput, opts ...request.Option) (*CreateDimensionOutput, error) { + req, out := c.CreateDimensionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDomainConfiguration = "CreateDomainConfiguration" // CreateDomainConfigurationRequest generates a "aws/request.Request" representing the @@ -4065,6 +4156,89 @@ func (c *IoT) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertifi return out, req.Send() } +const opDeleteDimension = "DeleteDimension" + +// DeleteDimensionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDimension operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDimension for more information on using the DeleteDimension +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDimensionRequest method. +// req, resp := client.DeleteDimensionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteDimensionRequest(input *DeleteDimensionInput) (req *request.Request, output *DeleteDimensionOutput) { + op := &request.Operation{ + Name: opDeleteDimension, + HTTPMethod: "DELETE", + HTTPPath: "/dimensions/{name}", + } + + if input == nil { + input = &DeleteDimensionInput{} + } + + output = &DeleteDimensionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDimension API operation for AWS IoT. +// +// Removes the specified dimension from your AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DeleteDimension for usage and error information. +// +// Returned Error Types: +// * InternalFailureException +// An unexpected error has occurred. +// +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +func (c *IoT) DeleteDimension(input *DeleteDimensionInput) (*DeleteDimensionOutput, error) { + req, out := c.DeleteDimensionRequest(input) + return out, req.Send() +} + +// DeleteDimensionWithContext is the same as DeleteDimension with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDimension for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DeleteDimensionWithContext(ctx aws.Context, input *DeleteDimensionInput, opts ...request.Option) (*DeleteDimensionOutput, error) { + req, out := c.DeleteDimensionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDomainConfiguration = "DeleteDomainConfiguration" // DeleteDomainConfigurationRequest generates a "aws/request.Request" representing the @@ -6884,6 +7058,91 @@ func (c *IoT) DescribeDefaultAuthorizerWithContext(ctx aws.Context, input *Descr return out, req.Send() } +const opDescribeDimension = "DescribeDimension" + +// DescribeDimensionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDimension operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDimension for more information on using the DescribeDimension +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeDimensionRequest method. +// req, resp := client.DescribeDimensionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeDimensionRequest(input *DescribeDimensionInput) (req *request.Request, output *DescribeDimensionOutput) { + op := &request.Operation{ + Name: opDescribeDimension, + HTTPMethod: "GET", + HTTPPath: "/dimensions/{name}", + } + + if input == nil { + input = &DescribeDimensionInput{} + } + + output = &DescribeDimensionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDimension API operation for AWS IoT. +// +// Provides details about a dimension that is defined in your AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DescribeDimension for usage and error information. +// +// Returned Error Types: +// * InternalFailureException +// An unexpected error has occurred. +// +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ThrottlingException +// The rate exceeds the limit. +// +func (c *IoT) DescribeDimension(input *DescribeDimensionInput) (*DescribeDimensionOutput, error) { + req, out := c.DescribeDimensionRequest(input) + return out, req.Send() +} + +// DescribeDimensionWithContext is the same as DescribeDimension with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDimension for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DescribeDimensionWithContext(ctx aws.Context, input *DescribeDimensionInput, opts ...request.Option) (*DescribeDimensionOutput, error) { + req, out := c.DescribeDimensionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeDomainConfiguration = "DescribeDomainConfiguration" // DescribeDomainConfigurationRequest generates a "aws/request.Request" representing the @@ -11156,6 +11415,88 @@ func (c *IoT) ListCertificatesByCAWithContext(ctx aws.Context, input *ListCertif return out, req.Send() } +const opListDimensions = "ListDimensions" + +// ListDimensionsRequest generates a "aws/request.Request" representing the +// client's request for the ListDimensions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDimensions for more information on using the ListDimensions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDimensionsRequest method. +// req, resp := client.ListDimensionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListDimensionsRequest(input *ListDimensionsInput) (req *request.Request, output *ListDimensionsOutput) { + op := &request.Operation{ + Name: opListDimensions, + HTTPMethod: "GET", + HTTPPath: "/dimensions", + } + + if input == nil { + input = &ListDimensionsInput{} + } + + output = &ListDimensionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDimensions API operation for AWS IoT. +// +// List the set of dimensions that are defined for your AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation ListDimensions for usage and error information. +// +// Returned Error Types: +// * InternalFailureException +// An unexpected error has occurred. +// +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +func (c *IoT) ListDimensions(input *ListDimensionsInput) (*ListDimensionsOutput, error) { + req, out := c.ListDimensionsRequest(input) + return out, req.Send() +} + +// ListDimensionsWithContext is the same as ListDimensions with the addition of +// the ability to pass a context and additional request options. +// +// See ListDimensions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) ListDimensionsWithContext(ctx aws.Context, input *ListDimensionsInput, opts ...request.Option) (*ListDimensionsOutput, error) { + req, out := c.ListDimensionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListDomainConfigurations = "ListDomainConfigurations" // ListDomainConfigurationsRequest generates a "aws/request.Request" representing the @@ -12731,6 +13072,9 @@ func (c *IoT) ListSecurityProfilesRequest(input *ListSecurityProfilesInput) (req // * InternalFailureException // An unexpected error has occurred. // +// * ResourceNotFoundException +// The specified resource does not exist. +// func (c *IoT) ListSecurityProfiles(input *ListSecurityProfilesInput) (*ListSecurityProfilesOutput, error) { req, out := c.ListSecurityProfilesRequest(input) return out, req.Send() @@ -16806,6 +17150,92 @@ func (c *IoT) UpdateCertificateWithContext(ctx aws.Context, input *UpdateCertifi return out, req.Send() } +const opUpdateDimension = "UpdateDimension" + +// UpdateDimensionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDimension operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDimension for more information on using the UpdateDimension +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDimensionRequest method. +// req, resp := client.UpdateDimensionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) UpdateDimensionRequest(input *UpdateDimensionInput) (req *request.Request, output *UpdateDimensionOutput) { + op := &request.Operation{ + Name: opUpdateDimension, + HTTPMethod: "PATCH", + HTTPPath: "/dimensions/{name}", + } + + if input == nil { + input = &UpdateDimensionInput{} + } + + output = &UpdateDimensionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDimension API operation for AWS IoT. +// +// Updates the definition for a dimension. You cannot change the type of a dimension +// after it is created (you can delete it and re-create it). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation UpdateDimension for usage and error information. +// +// Returned Error Types: +// * InternalFailureException +// An unexpected error has occurred. +// +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ThrottlingException +// The rate exceeds the limit. +// +func (c *IoT) UpdateDimension(input *UpdateDimensionInput) (*UpdateDimensionOutput, error) { + req, out := c.UpdateDimensionRequest(input) + return out, req.Send() +} + +// UpdateDimensionWithContext is the same as UpdateDimension with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDimension for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) UpdateDimensionWithContext(ctx aws.Context, input *UpdateDimensionInput, opts ...request.Option) (*UpdateDimensionOutput, error) { + req, out := c.UpdateDimensionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateDomainConfiguration = "UpdateDomainConfiguration" // UpdateDomainConfigurationRequest generates a "aws/request.Request" representing the @@ -18442,7 +18872,7 @@ type Action struct { // Change the state of a CloudWatch alarm. CloudwatchAlarm *CloudwatchAlarmAction `locationName:"cloudwatchAlarm" type:"structure"` - // Send data to CloudWatch logs. + // Send data to CloudWatch Logs. CloudwatchLogs *CloudwatchLogsAction `locationName:"cloudwatchLogs" type:"structure"` // Capture a CloudWatch metric. @@ -20585,6 +21015,11 @@ type Behavior struct { // What is measured by the behavior. Metric *string `locationName:"metric" type:"string"` + // The dimension for a metric in your behavior. For example, using a TOPIC_FILTER + // dimension, you can narrow down the scope of the metric only to MQTT topics + // whose name match the pattern specified in the dimension. + MetricDimension *MetricDimension `locationName:"metricDimension" type:"structure"` + // The name you have given to the behavior. // // Name is a required field @@ -20615,6 +21050,11 @@ func (s *Behavior) Validate() error { invalidParams.AddNested("Criteria", err.(request.ErrInvalidParams)) } } + if s.MetricDimension != nil { + if err := s.MetricDimension.Validate(); err != nil { + invalidParams.AddNested("MetricDimension", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -20634,6 +21074,12 @@ func (s *Behavior) SetMetric(v string) *Behavior { return s } +// SetMetricDimension sets the MetricDimension field's value. +func (s *Behavior) SetMetricDimension(v *MetricDimension) *Behavior { + s.MetricDimension = v + return s +} + // SetName sets the Name field's value. func (s *Behavior) SetName(v string) *Behavior { s.Name = &v @@ -21851,7 +22297,7 @@ func (s *CloudwatchAlarmAction) SetStateValue(v string) *CloudwatchAlarmAction { return s } -// Describes an action that sends data to CloudWatch logs. +// Describes an action that sends data to CloudWatch Logs. type CloudwatchLogsAction struct { _ struct{} `type:"structure"` @@ -22586,6 +23032,137 @@ func (s *CreateCertificateFromCsrOutput) SetCertificatePem(v string) *CreateCert return s } +type CreateDimensionInput struct { + _ struct{} `type:"structure"` + + // Each dimension must have a unique client request token. If you try to create + // a new dimension with the same token as a dimension that already exists, an + // exception occurs. If you omit this value, AWS SDKs will automatically generate + // a unique client request. + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // A unique identifier for the dimension. Choose something that describes the + // type and value to make it easy to remember what it does. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` + + // Specifies the value or list of values for the dimension. For TOPIC_FILTER + // dimensions, this is a pattern used to match the MQTT topic (for example, + // "admin/#"). + // + // StringValues is a required field + StringValues []*string `locationName:"stringValues" min:"1" type:"list" required:"true"` + + // Metadata that can be used to manage the dimension. + Tags []*Tag `locationName:"tags" type:"list"` + + // Specifies the type of dimension. Supported types: TOPIC_FILTER. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"DimensionType"` +} + +// String returns the string representation +func (s CreateDimensionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDimensionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDimensionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDimensionInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.StringValues == nil { + invalidParams.Add(request.NewErrParamRequired("StringValues")) + } + if s.StringValues != nil && len(s.StringValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StringValues", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateDimensionInput) SetClientRequestToken(v string) *CreateDimensionInput { + s.ClientRequestToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDimensionInput) SetName(v string) *CreateDimensionInput { + s.Name = &v + return s +} + +// SetStringValues sets the StringValues field's value. +func (s *CreateDimensionInput) SetStringValues(v []*string) *CreateDimensionInput { + s.StringValues = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDimensionInput) SetTags(v []*Tag) *CreateDimensionInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateDimensionInput) SetType(v string) *CreateDimensionInput { + s.Type = &v + return s +} + +type CreateDimensionOutput struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon resource name) of the created dimension. + Arn *string `locationName:"arn" type:"string"` + + // A unique identifier for the dimension. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDimensionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDimensionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDimensionOutput) SetArn(v string) *CreateDimensionOutput { + s.Arn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDimensionOutput) SetName(v string) *CreateDimensionOutput { + s.Name = &v + return s +} + type CreateDomainConfigurationInput struct { _ struct{} `type:"structure"` @@ -24361,7 +24938,17 @@ type CreateSecurityProfileInput struct { // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for // any metric specified here. - AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" type:"list"` + // + // Note: This API field is deprecated. Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 + // instead. + // + // Deprecated: Use additionalMetricsToRetainV2. + AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` + + // A list of metrics whose data is retained (stored). By default, data is retained + // for any metric used in the profile's behaviors, but it is also retained for + // any metric specified here. + AdditionalMetricsToRetainV2 []*MetricToRetain `locationName:"additionalMetricsToRetainV2" type:"list"` // Specifies the destinations to which alerts are sent. (Alerts are always sent // to the console.) Alerts are generated when a device (thing) violates a behavior. @@ -24402,6 +24989,16 @@ func (s *CreateSecurityProfileInput) Validate() error { if s.SecurityProfileName != nil && len(*s.SecurityProfileName) < 1 { invalidParams.Add(request.NewErrParamMinLen("SecurityProfileName", 1)) } + if s.AdditionalMetricsToRetainV2 != nil { + for i, v := range s.AdditionalMetricsToRetainV2 { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalMetricsToRetainV2", i), err.(request.ErrInvalidParams)) + } + } + } if s.AlertTargets != nil { for i, v := range s.AlertTargets { if v == nil { @@ -24435,6 +25032,12 @@ func (s *CreateSecurityProfileInput) SetAdditionalMetricsToRetain(v []*string) * return s } +// SetAdditionalMetricsToRetainV2 sets the AdditionalMetricsToRetainV2 field's value. +func (s *CreateSecurityProfileInput) SetAdditionalMetricsToRetainV2(v []*MetricToRetain) *CreateSecurityProfileInput { + s.AdditionalMetricsToRetainV2 = v + return s +} + // SetAlertTargets sets the AlertTargets field's value. func (s *CreateSecurityProfileInput) SetAlertTargets(v map[string]*AlertTarget) *CreateSecurityProfileInput { s.AlertTargets = v @@ -25534,6 +26137,61 @@ func (s *DeleteConflictException) RequestID() string { return s.RespMetadata.RequestID } +type DeleteDimensionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the dimension that you want to delete. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDimensionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDimensionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDimensionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDimensionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteDimensionInput) SetName(v string) *DeleteDimensionInput { + s.Name = &v + return s +} + +type DeleteDimensionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDimensionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDimensionOutput) GoString() string { + return s.String() +} + type DeleteDomainConfigurationInput struct { _ struct{} `type:"structure"` @@ -27655,6 +28313,116 @@ func (s *DescribeDefaultAuthorizerOutput) SetAuthorizerDescription(v *Authorizer return s } +type DescribeDimensionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the dimension. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDimensionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDimensionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDimensionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDimensionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DescribeDimensionInput) SetName(v string) *DescribeDimensionInput { + s.Name = &v + return s +} + +type DescribeDimensionOutput struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon resource name) for the dimension. + Arn *string `locationName:"arn" type:"string"` + + // The date the dimension was created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The date the dimension was last modified. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The unique identifier for the dimension. + Name *string `locationName:"name" min:"1" type:"string"` + + // The value or list of values used to scope the dimension. For example, for + // topic filters, this is the pattern used to match the MQTT topic name. + StringValues []*string `locationName:"stringValues" min:"1" type:"list"` + + // The type of the dimension. + Type *string `locationName:"type" type:"string" enum:"DimensionType"` +} + +// String returns the string representation +func (s DescribeDimensionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDimensionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeDimensionOutput) SetArn(v string) *DescribeDimensionOutput { + s.Arn = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeDimensionOutput) SetCreationDate(v time.Time) *DescribeDimensionOutput { + s.CreationDate = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *DescribeDimensionOutput) SetLastModifiedDate(v time.Time) *DescribeDimensionOutput { + s.LastModifiedDate = &v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeDimensionOutput) SetName(v string) *DescribeDimensionOutput { + s.Name = &v + return s +} + +// SetStringValues sets the StringValues field's value. +func (s *DescribeDimensionOutput) SetStringValues(v []*string) *DescribeDimensionOutput { + s.StringValues = v + return s +} + +// SetType sets the Type field's value. +func (s *DescribeDimensionOutput) SetType(v string) *DescribeDimensionOutput { + s.Type = &v + return s +} + type DescribeDomainConfigurationInput struct { _ struct{} `type:"structure"` @@ -28754,7 +29522,17 @@ type DescribeSecurityProfileOutput struct { // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for // any metric specified here. - AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" type:"list"` + // + // Note: This API field is deprecated. Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 + // instead. + // + // Deprecated: Use additionalMetricsToRetainV2. + AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` + + // A list of metrics whose data is retained (stored). By default, data is retained + // for any metric used in the profile's behaviors, but it is also retained for + // any metric specified here. + AdditionalMetricsToRetainV2 []*MetricToRetain `locationName:"additionalMetricsToRetainV2" type:"list"` // Where the alerts are sent. (Alerts are always sent to the console.) AlertTargets map[string]*AlertTarget `locationName:"alertTargets" type:"map"` @@ -28800,6 +29578,12 @@ func (s *DescribeSecurityProfileOutput) SetAdditionalMetricsToRetain(v []*string return s } +// SetAdditionalMetricsToRetainV2 sets the AdditionalMetricsToRetainV2 field's value. +func (s *DescribeSecurityProfileOutput) SetAdditionalMetricsToRetainV2(v []*MetricToRetain) *DescribeSecurityProfileOutput { + s.AdditionalMetricsToRetainV2 = v + return s +} + // SetAlertTargets sets the AlertTargets field's value. func (s *DescribeSecurityProfileOutput) SetAlertTargets(v map[string]*AlertTarget) *DescribeSecurityProfileOutput { s.AlertTargets = v @@ -31794,7 +32578,7 @@ type HttpAction struct { // URL must be a prefix of the endpoint URL. If you do not specify a confirmation // URL AWS IoT uses the endpoint URL as the confirmation URL. If you use substitution // templates in the confirmationUrl, you must create and enable topic rule destinations - // that match each possible value of the substituion template before traffic + // that match each possible value of the substitution template before traffic // is allowed to your endpoint URL. ConfirmationUrl *string `locationName:"confirmationUrl" type:"string"` @@ -34860,6 +35644,85 @@ func (s *ListCertificatesOutput) SetNextMarker(v string) *ListCertificatesOutput return s } +type ListDimensionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to retrieve at one time. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDimensionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDimensionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDimensionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDimensionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDimensionsInput) SetMaxResults(v int64) *ListDimensionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDimensionsInput) SetNextToken(v string) *ListDimensionsInput { + s.NextToken = &v + return s +} + +type ListDimensionsOutput struct { + _ struct{} `type:"structure"` + + // A list of the names of the defined dimensions. Use DescribeDimension to get + // details for a dimension. + DimensionNames []*string `locationName:"dimensionNames" type:"list"` + + // A token that can be used to retrieve the next set of results, or null if + // there are no additional results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListDimensionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDimensionsOutput) GoString() string { + return s.String() +} + +// SetDimensionNames sets the DimensionNames field's value. +func (s *ListDimensionsOutput) SetDimensionNames(v []*string) *ListDimensionsOutput { + s.DimensionNames = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDimensionsOutput) SetNextToken(v string) *ListDimensionsOutput { + s.NextToken = &v + return s +} + type ListDomainConfigurationsInput struct { _ struct{} `type:"structure"` @@ -36524,6 +37387,9 @@ func (s *ListSecurityProfilesForTargetOutput) SetSecurityProfileTargetMappings(v type ListSecurityProfilesInput struct { _ struct{} `type:"structure"` + // A filter to limit results to the security profiles that use the defined dimension. + DimensionName *string `location:"querystring" locationName:"dimensionName" min:"1" type:"string"` + // The maximum number of results to return at one time. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -36544,6 +37410,9 @@ func (s ListSecurityProfilesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListSecurityProfilesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListSecurityProfilesInput"} + if s.DimensionName != nil && len(*s.DimensionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DimensionName", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -36554,6 +37423,12 @@ func (s *ListSecurityProfilesInput) Validate() error { return nil } +// SetDimensionName sets the DimensionName field's value. +func (s *ListSecurityProfilesInput) SetDimensionName(v string) *ListSecurityProfilesInput { + s.DimensionName = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListSecurityProfilesInput) SetMaxResults(v int64) *ListSecurityProfilesInput { s.MaxResults = &v @@ -38413,6 +39288,115 @@ func (s *MalformedPolicyException) RequestID() string { return s.RespMetadata.RequestID } +// The dimension of a metric. +type MetricDimension struct { + _ struct{} `type:"structure"` + + // A unique identifier for the dimension. + // + // DimensionName is a required field + DimensionName *string `locationName:"dimensionName" min:"1" type:"string" required:"true"` + + // Defines how the dimensionValues of a dimension are interpreted. For example, + // for DimensionType TOPIC_FILTER, with IN operator, a message will be counted + // only if its topic matches one of the topic filters. With NOT_IN Operator, + // a message will be counted only if it doesn't match any of the topic filters. + // The operator is optional: if it's not provided (is null), it will be interpreted + // as IN. + Operator *string `locationName:"operator" type:"string" enum:"DimensionValueOperator"` +} + +// String returns the string representation +func (s MetricDimension) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MetricDimension) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MetricDimension) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MetricDimension"} + if s.DimensionName == nil { + invalidParams.Add(request.NewErrParamRequired("DimensionName")) + } + if s.DimensionName != nil && len(*s.DimensionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DimensionName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDimensionName sets the DimensionName field's value. +func (s *MetricDimension) SetDimensionName(v string) *MetricDimension { + s.DimensionName = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *MetricDimension) SetOperator(v string) *MetricDimension { + s.Operator = &v + return s +} + +// The metric you want to retain. Dimensions are optional. +type MetricToRetain struct { + _ struct{} `type:"structure"` + + // What is measured by the behavior. + // + // Metric is a required field + Metric *string `locationName:"metric" type:"string" required:"true"` + + // The dimension of a metric. + MetricDimension *MetricDimension `locationName:"metricDimension" type:"structure"` +} + +// String returns the string representation +func (s MetricToRetain) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MetricToRetain) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MetricToRetain) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MetricToRetain"} + if s.Metric == nil { + invalidParams.Add(request.NewErrParamRequired("Metric")) + } + if s.MetricDimension != nil { + if err := s.MetricDimension.Validate(); err != nil { + invalidParams.AddNested("MetricDimension", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetric sets the Metric field's value. +func (s *MetricToRetain) SetMetric(v string) *MetricToRetain { + s.Metric = &v + return s +} + +// SetMetricDimension sets the MetricDimension field's value. +func (s *MetricToRetain) SetMetricDimension(v *MetricDimension) *MetricToRetain { + s.MetricDimension = v + return s +} + // The value to be compared with the metric. type MetricValue struct { _ struct{} `type:"structure"` @@ -45728,6 +46712,138 @@ func (s *UpdateDeviceCertificateParams) SetAction(v string) *UpdateDeviceCertifi return s } +type UpdateDimensionInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the dimension. Choose something that describes the + // type and value to make it easy to remember what it does. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` + + // Specifies the value or list of values for the dimension. For TOPIC_FILTER + // dimensions, this is a pattern used to match the MQTT topic (for example, + // "admin/#"). + // + // StringValues is a required field + StringValues []*string `locationName:"stringValues" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateDimensionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDimensionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDimensionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDimensionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.StringValues == nil { + invalidParams.Add(request.NewErrParamRequired("StringValues")) + } + if s.StringValues != nil && len(s.StringValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StringValues", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *UpdateDimensionInput) SetName(v string) *UpdateDimensionInput { + s.Name = &v + return s +} + +// SetStringValues sets the StringValues field's value. +func (s *UpdateDimensionInput) SetStringValues(v []*string) *UpdateDimensionInput { + s.StringValues = v + return s +} + +type UpdateDimensionOutput struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon resource name) of the created dimension. + Arn *string `locationName:"arn" type:"string"` + + // The date and time, in milliseconds since epoch, when the dimension was initially + // created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The date and time, in milliseconds since epoch, when the dimension was most + // recently updated. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // A unique identifier for the dimension. + Name *string `locationName:"name" min:"1" type:"string"` + + // The value or list of values used to scope the dimension. For example, for + // topic filters, this is the pattern used to match the MQTT topic name. + StringValues []*string `locationName:"stringValues" min:"1" type:"list"` + + // The type of the dimension. + Type *string `locationName:"type" type:"string" enum:"DimensionType"` +} + +// String returns the string representation +func (s UpdateDimensionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDimensionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UpdateDimensionOutput) SetArn(v string) *UpdateDimensionOutput { + s.Arn = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *UpdateDimensionOutput) SetCreationDate(v time.Time) *UpdateDimensionOutput { + s.CreationDate = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *UpdateDimensionOutput) SetLastModifiedDate(v time.Time) *UpdateDimensionOutput { + s.LastModifiedDate = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDimensionOutput) SetName(v string) *UpdateDimensionOutput { + s.Name = &v + return s +} + +// SetStringValues sets the StringValues field's value. +func (s *UpdateDimensionOutput) SetStringValues(v []*string) *UpdateDimensionOutput { + s.StringValues = v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateDimensionOutput) SetType(v string) *UpdateDimensionOutput { + s.Type = &v + return s +} + type UpdateDomainConfigurationInput struct { _ struct{} `type:"structure"` @@ -46588,7 +47704,17 @@ type UpdateSecurityProfileInput struct { // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the profile's behaviors, but it is also retained for // any metric specified here. - AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" type:"list"` + // + // Note: This API field is deprecated. Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 + // instead. + // + // Deprecated: Use additionalMetricsToRetainV2. + AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` + + // A list of metrics whose data is retained (stored). By default, data is retained + // for any metric used in the profile's behaviors, but it is also retained for + // any metric specified here. + AdditionalMetricsToRetainV2 []*MetricToRetain `locationName:"additionalMetricsToRetainV2" type:"list"` // Where the alerts are sent. (Alerts are always sent to the console.) AlertTargets map[string]*AlertTarget `locationName:"alertTargets" type:"map"` @@ -46643,6 +47769,16 @@ func (s *UpdateSecurityProfileInput) Validate() error { if s.SecurityProfileName != nil && len(*s.SecurityProfileName) < 1 { invalidParams.Add(request.NewErrParamMinLen("SecurityProfileName", 1)) } + if s.AdditionalMetricsToRetainV2 != nil { + for i, v := range s.AdditionalMetricsToRetainV2 { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AdditionalMetricsToRetainV2", i), err.(request.ErrInvalidParams)) + } + } + } if s.AlertTargets != nil { for i, v := range s.AlertTargets { if v == nil { @@ -46676,6 +47812,12 @@ func (s *UpdateSecurityProfileInput) SetAdditionalMetricsToRetain(v []*string) * return s } +// SetAdditionalMetricsToRetainV2 sets the AdditionalMetricsToRetainV2 field's value. +func (s *UpdateSecurityProfileInput) SetAdditionalMetricsToRetainV2(v []*MetricToRetain) *UpdateSecurityProfileInput { + s.AdditionalMetricsToRetainV2 = v + return s +} + // SetAlertTargets sets the AlertTargets field's value. func (s *UpdateSecurityProfileInput) SetAlertTargets(v map[string]*AlertTarget) *UpdateSecurityProfileInput { s.AlertTargets = v @@ -46730,7 +47872,17 @@ type UpdateSecurityProfileOutput struct { // A list of metrics whose data is retained (stored). By default, data is retained // for any metric used in the security profile's behaviors, but it is also retained // for any metric specified here. - AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" type:"list"` + // + // Note: This API field is deprecated. Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 + // instead. + // + // Deprecated: Use additionalMetricsToRetainV2. + AdditionalMetricsToRetain []*string `locationName:"additionalMetricsToRetain" deprecated:"true" type:"list"` + + // A list of metrics whose data is retained (stored). By default, data is retained + // for any metric used in the profile's behaviors, but it is also retained for + // any metric specified here. + AdditionalMetricsToRetainV2 []*MetricToRetain `locationName:"additionalMetricsToRetainV2" type:"list"` // Where the alerts are sent. (Alerts are always sent to the console.) AlertTargets map[string]*AlertTarget `locationName:"alertTargets" type:"map"` @@ -46774,6 +47926,12 @@ func (s *UpdateSecurityProfileOutput) SetAdditionalMetricsToRetain(v []*string) return s } +// SetAdditionalMetricsToRetainV2 sets the AdditionalMetricsToRetainV2 field's value. +func (s *UpdateSecurityProfileOutput) SetAdditionalMetricsToRetainV2(v []*MetricToRetain) *UpdateSecurityProfileOutput { + s.AdditionalMetricsToRetainV2 = v + return s +} + // SetAlertTargets sets the AlertTargets field's value. func (s *UpdateSecurityProfileOutput) SetAlertTargets(v map[string]*AlertTarget) *UpdateSecurityProfileOutput { s.AlertTargets = v @@ -47891,6 +49049,19 @@ const ( DeviceCertificateUpdateActionDeactivate = "DEACTIVATE" ) +const ( + // DimensionTypeTopicFilter is a DimensionType enum value + DimensionTypeTopicFilter = "TOPIC_FILTER" +) + +const ( + // DimensionValueOperatorIn is a DimensionValueOperator enum value + DimensionValueOperatorIn = "IN" + + // DimensionValueOperatorNotIn is a DimensionValueOperator enum value + DimensionValueOperatorNotIn = "NOT_IN" +) + const ( // DomainConfigurationStatusEnabled is a DomainConfigurationStatus enum value DomainConfigurationStatusEnabled = "ENABLED" diff --git a/service/iot/doc.go b/service/iot/doc.go index 7c5721e3fb..74e040ef68 100644 --- a/service/iot/doc.go +++ b/service/iot/doc.go @@ -10,6 +10,14 @@ // organize resources associated with each device (Registry), configure logging, // and create and manage policies and credentials to authenticate devices. // +// The service endpoints that expose this API are listed in AWS IoT Core Endpoints +// and Quotas (https://docs.aws.amazon.com/general/latest/gr/iot-core.html). +// You must use the endpoint for the region that has the resources you want +// to access. +// +// The service name used by AWS Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) +// to sign the request is: execute-api. +// // For more information about how AWS IoT works, see the Developer Guide (https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html). // // For information about how to use the credentials provider for AWS IoT, see diff --git a/service/iot/iotiface/interface.go b/service/iot/iotiface/interface.go index 226039d81d..7081cb89a7 100644 --- a/service/iot/iotiface/interface.go +++ b/service/iot/iotiface/interface.go @@ -132,6 +132,10 @@ type IoTAPI interface { CreateCertificateFromCsrWithContext(aws.Context, *iot.CreateCertificateFromCsrInput, ...request.Option) (*iot.CreateCertificateFromCsrOutput, error) CreateCertificateFromCsrRequest(*iot.CreateCertificateFromCsrInput) (*request.Request, *iot.CreateCertificateFromCsrOutput) + CreateDimension(*iot.CreateDimensionInput) (*iot.CreateDimensionOutput, error) + CreateDimensionWithContext(aws.Context, *iot.CreateDimensionInput, ...request.Option) (*iot.CreateDimensionOutput, error) + CreateDimensionRequest(*iot.CreateDimensionInput) (*request.Request, *iot.CreateDimensionOutput) + CreateDomainConfiguration(*iot.CreateDomainConfigurationInput) (*iot.CreateDomainConfigurationOutput, error) CreateDomainConfigurationWithContext(aws.Context, *iot.CreateDomainConfigurationInput, ...request.Option) (*iot.CreateDomainConfigurationOutput, error) CreateDomainConfigurationRequest(*iot.CreateDomainConfigurationInput) (*request.Request, *iot.CreateDomainConfigurationOutput) @@ -232,6 +236,10 @@ type IoTAPI interface { DeleteCertificateWithContext(aws.Context, *iot.DeleteCertificateInput, ...request.Option) (*iot.DeleteCertificateOutput, error) DeleteCertificateRequest(*iot.DeleteCertificateInput) (*request.Request, *iot.DeleteCertificateOutput) + DeleteDimension(*iot.DeleteDimensionInput) (*iot.DeleteDimensionOutput, error) + DeleteDimensionWithContext(aws.Context, *iot.DeleteDimensionInput, ...request.Option) (*iot.DeleteDimensionOutput, error) + DeleteDimensionRequest(*iot.DeleteDimensionInput) (*request.Request, *iot.DeleteDimensionOutput) + DeleteDomainConfiguration(*iot.DeleteDomainConfigurationInput) (*iot.DeleteDomainConfigurationOutput, error) DeleteDomainConfigurationWithContext(aws.Context, *iot.DeleteDomainConfigurationInput, ...request.Option) (*iot.DeleteDomainConfigurationOutput, error) DeleteDomainConfigurationRequest(*iot.DeleteDomainConfigurationInput) (*request.Request, *iot.DeleteDomainConfigurationOutput) @@ -356,6 +364,10 @@ type IoTAPI interface { DescribeDefaultAuthorizerWithContext(aws.Context, *iot.DescribeDefaultAuthorizerInput, ...request.Option) (*iot.DescribeDefaultAuthorizerOutput, error) DescribeDefaultAuthorizerRequest(*iot.DescribeDefaultAuthorizerInput) (*request.Request, *iot.DescribeDefaultAuthorizerOutput) + DescribeDimension(*iot.DescribeDimensionInput) (*iot.DescribeDimensionOutput, error) + DescribeDimensionWithContext(aws.Context, *iot.DescribeDimensionInput, ...request.Option) (*iot.DescribeDimensionOutput, error) + DescribeDimensionRequest(*iot.DescribeDimensionInput) (*request.Request, *iot.DescribeDimensionOutput) + DescribeDomainConfiguration(*iot.DescribeDomainConfigurationInput) (*iot.DescribeDomainConfigurationOutput, error) DescribeDomainConfigurationWithContext(aws.Context, *iot.DescribeDomainConfigurationInput, ...request.Option) (*iot.DescribeDomainConfigurationOutput, error) DescribeDomainConfigurationRequest(*iot.DescribeDomainConfigurationInput) (*request.Request, *iot.DescribeDomainConfigurationOutput) @@ -548,6 +560,10 @@ type IoTAPI interface { ListCertificatesByCAWithContext(aws.Context, *iot.ListCertificatesByCAInput, ...request.Option) (*iot.ListCertificatesByCAOutput, error) ListCertificatesByCARequest(*iot.ListCertificatesByCAInput) (*request.Request, *iot.ListCertificatesByCAOutput) + ListDimensions(*iot.ListDimensionsInput) (*iot.ListDimensionsOutput, error) + ListDimensionsWithContext(aws.Context, *iot.ListDimensionsInput, ...request.Option) (*iot.ListDimensionsOutput, error) + ListDimensionsRequest(*iot.ListDimensionsInput) (*request.Request, *iot.ListDimensionsOutput) + ListDomainConfigurations(*iot.ListDomainConfigurationsInput) (*iot.ListDomainConfigurationsOutput, error) ListDomainConfigurationsWithContext(aws.Context, *iot.ListDomainConfigurationsInput, ...request.Option) (*iot.ListDomainConfigurationsOutput, error) ListDomainConfigurationsRequest(*iot.ListDomainConfigurationsInput) (*request.Request, *iot.ListDomainConfigurationsOutput) @@ -800,6 +816,10 @@ type IoTAPI interface { UpdateCertificateWithContext(aws.Context, *iot.UpdateCertificateInput, ...request.Option) (*iot.UpdateCertificateOutput, error) UpdateCertificateRequest(*iot.UpdateCertificateInput) (*request.Request, *iot.UpdateCertificateOutput) + UpdateDimension(*iot.UpdateDimensionInput) (*iot.UpdateDimensionOutput, error) + UpdateDimensionWithContext(aws.Context, *iot.UpdateDimensionInput, ...request.Option) (*iot.UpdateDimensionOutput, error) + UpdateDimensionRequest(*iot.UpdateDimensionInput) (*request.Request, *iot.UpdateDimensionOutput) + UpdateDomainConfiguration(*iot.UpdateDomainConfigurationInput) (*iot.UpdateDomainConfigurationOutput, error) UpdateDomainConfigurationWithContext(aws.Context, *iot.UpdateDomainConfigurationInput, ...request.Option) (*iot.UpdateDomainConfigurationOutput, error) UpdateDomainConfigurationRequest(*iot.UpdateDomainConfigurationInput) (*request.Request, *iot.UpdateDomainConfigurationOutput) diff --git a/service/mediaconnect/api.go b/service/mediaconnect/api.go index ddb10caf2c..a0fd5093e1 100644 --- a/service/mediaconnect/api.go +++ b/service/mediaconnect/api.go @@ -229,6 +229,112 @@ func (c *MediaConnect) AddFlowSourcesWithContext(ctx aws.Context, input *AddFlow return out, req.Send() } +const opAddFlowVpcInterfaces = "AddFlowVpcInterfaces" + +// AddFlowVpcInterfacesRequest generates a "aws/request.Request" representing the +// client's request for the AddFlowVpcInterfaces operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AddFlowVpcInterfaces for more information on using the AddFlowVpcInterfaces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AddFlowVpcInterfacesRequest method. +// req, resp := client.AddFlowVpcInterfacesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowVpcInterfaces +func (c *MediaConnect) AddFlowVpcInterfacesRequest(input *AddFlowVpcInterfacesInput) (req *request.Request, output *AddFlowVpcInterfacesOutput) { + op := &request.Operation{ + Name: opAddFlowVpcInterfaces, + HTTPMethod: "POST", + HTTPPath: "/v1/flows/{flowArn}/vpcInterfaces", + } + + if input == nil { + input = &AddFlowVpcInterfacesInput{} + } + + output = &AddFlowVpcInterfacesOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddFlowVpcInterfaces API operation for AWS MediaConnect. +// +// Adds VPC interfaces to flow +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS MediaConnect's +// API operation AddFlowVpcInterfaces for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * InternalServerErrorException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ForbiddenException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * NotFoundException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ServiceUnavailableException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * TooManyRequestsException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowVpcInterfaces +func (c *MediaConnect) AddFlowVpcInterfaces(input *AddFlowVpcInterfacesInput) (*AddFlowVpcInterfacesOutput, error) { + req, out := c.AddFlowVpcInterfacesRequest(input) + return out, req.Send() +} + +// AddFlowVpcInterfacesWithContext is the same as AddFlowVpcInterfaces with the addition of +// the ability to pass a context and additional request options. +// +// See AddFlowVpcInterfaces for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaConnect) AddFlowVpcInterfacesWithContext(ctx aws.Context, input *AddFlowVpcInterfacesInput, opts ...request.Option) (*AddFlowVpcInterfacesOutput, error) { + req, out := c.AddFlowVpcInterfacesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateFlow = "CreateFlow" // CreateFlowRequest generates a "aws/request.Request" representing the @@ -1279,6 +1385,115 @@ func (c *MediaConnect) RemoveFlowSourceWithContext(ctx aws.Context, input *Remov return out, req.Send() } +const opRemoveFlowVpcInterface = "RemoveFlowVpcInterface" + +// RemoveFlowVpcInterfaceRequest generates a "aws/request.Request" representing the +// client's request for the RemoveFlowVpcInterface operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RemoveFlowVpcInterface for more information on using the RemoveFlowVpcInterface +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RemoveFlowVpcInterfaceRequest method. +// req, resp := client.RemoveFlowVpcInterfaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowVpcInterface +func (c *MediaConnect) RemoveFlowVpcInterfaceRequest(input *RemoveFlowVpcInterfaceInput) (req *request.Request, output *RemoveFlowVpcInterfaceOutput) { + op := &request.Operation{ + Name: opRemoveFlowVpcInterface, + HTTPMethod: "DELETE", + HTTPPath: "/v1/flows/{flowArn}/vpcInterfaces/{vpcInterfaceName}", + } + + if input == nil { + input = &RemoveFlowVpcInterfaceInput{} + } + + output = &RemoveFlowVpcInterfaceOutput{} + req = c.newRequest(op, input, output) + return +} + +// RemoveFlowVpcInterface API operation for AWS MediaConnect. +// +// Removes a VPC Interface from an existing flow. This request can be made only +// on a VPC interface that does not have a Source or Output associated with +// it. If the VPC interface is referenced by a Source or Output, you must first +// delete or update the Source or Output to no longer reference the VPC interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS MediaConnect's +// API operation RemoveFlowVpcInterface for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * InternalServerErrorException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ForbiddenException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * NotFoundException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * ServiceUnavailableException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// * TooManyRequestsException +// Exception raised by AWS Elemental MediaConnect. See the error message and +// documentation for the operation for more information on the cause of this +// exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowVpcInterface +func (c *MediaConnect) RemoveFlowVpcInterface(input *RemoveFlowVpcInterfaceInput) (*RemoveFlowVpcInterfaceOutput, error) { + req, out := c.RemoveFlowVpcInterfaceRequest(input) + return out, req.Send() +} + +// RemoveFlowVpcInterfaceWithContext is the same as RemoveFlowVpcInterface with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveFlowVpcInterface for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaConnect) RemoveFlowVpcInterfaceWithContext(ctx aws.Context, input *RemoveFlowVpcInterfaceInput, opts ...request.Option) (*RemoveFlowVpcInterfaceOutput, error) { + req, out := c.RemoveFlowVpcInterfaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRevokeFlowEntitlement = "RevokeFlowEntitlement" // RevokeFlowEntitlementRequest generates a "aws/request.Request" representing the @@ -2465,6 +2680,104 @@ func (s *AddFlowSourcesOutput) SetSources(v []*Source) *AddFlowSourcesOutput { return s } +// Adds VPC interfaces to an existing flow. +type AddFlowVpcInterfacesInput struct { + _ struct{} `type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` + + // A list of VPC interfaces that you want to add. + // + // VpcInterfaces is a required field + VpcInterfaces []*VpcInterfaceRequest `locationName:"vpcInterfaces" type:"list" required:"true"` +} + +// String returns the string representation +func (s AddFlowVpcInterfacesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddFlowVpcInterfacesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddFlowVpcInterfacesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddFlowVpcInterfacesInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + if s.VpcInterfaces == nil { + invalidParams.Add(request.NewErrParamRequired("VpcInterfaces")) + } + if s.VpcInterfaces != nil { + for i, v := range s.VpcInterfaces { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcInterfaces", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFlowArn sets the FlowArn field's value. +func (s *AddFlowVpcInterfacesInput) SetFlowArn(v string) *AddFlowVpcInterfacesInput { + s.FlowArn = &v + return s +} + +// SetVpcInterfaces sets the VpcInterfaces field's value. +func (s *AddFlowVpcInterfacesInput) SetVpcInterfaces(v []*VpcInterfaceRequest) *AddFlowVpcInterfacesInput { + s.VpcInterfaces = v + return s +} + +// The result of a successful AddFlowVpcInterfaces request. The response includes +// the details of the newly added VPC interfaces. +type AddFlowVpcInterfacesOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that these VPC interfaces were added to. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The details of the newly added VPC interfaces. + VpcInterfaces []*VpcInterface `locationName:"vpcInterfaces" type:"list"` +} + +// String returns the string representation +func (s AddFlowVpcInterfacesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddFlowVpcInterfacesOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *AddFlowVpcInterfacesOutput) SetFlowArn(v string) *AddFlowVpcInterfacesOutput { + s.FlowArn = &v + return s +} + +// SetVpcInterfaces sets the VpcInterfaces field's value. +func (s *AddFlowVpcInterfacesOutput) SetVpcInterfaces(v []*VpcInterface) *AddFlowVpcInterfacesOutput { + s.VpcInterfaces = v + return s +} + // The output that you want to add to this flow. type AddOutputRequest struct { _ struct{} `type:"structure"` @@ -2747,6 +3060,9 @@ type CreateFlowInput struct { SourceFailoverConfig *FailoverConfig `locationName:"sourceFailoverConfig" type:"structure"` Sources []*SetSourceRequest `locationName:"sources" type:"list"` + + // The VPC interfaces you want on the flow. + VpcInterfaces []*VpcInterfaceRequest `locationName:"vpcInterfaces" type:"list"` } // String returns the string representation @@ -2800,6 +3116,16 @@ func (s *CreateFlowInput) Validate() error { } } } + if s.VpcInterfaces != nil { + for i, v := range s.VpcInterfaces { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcInterfaces", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2849,6 +3175,12 @@ func (s *CreateFlowInput) SetSources(v []*SetSourceRequest) *CreateFlowInput { return s } +// SetVpcInterfaces sets the VpcInterfaces field's value. +func (s *CreateFlowInput) SetVpcInterfaces(v []*VpcInterfaceRequest) *CreateFlowInput { + s.VpcInterfaces = v + return s +} + // The result of a successful CreateFlow request. type CreateFlowOutput struct { _ struct{} `type:"structure"` @@ -3310,6 +3642,9 @@ type Flow struct { // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` + + // The VPC Interfaces for this flow. + VpcInterfaces []*VpcInterface `locationName:"vpcInterfaces" type:"list"` } // String returns the string representation @@ -3388,6 +3723,12 @@ func (s *Flow) SetStatus(v string) *Flow { return s } +// SetVpcInterfaces sets the VpcInterfaces field's value. +func (s *Flow) SetVpcInterfaces(v []*VpcInterface) *Flow { + s.VpcInterfaces = v + return s +} + // Exception raised by AWS Elemental MediaConnect. See the error message and // documentation for the operation for more information on the cause of this // exception. @@ -4475,6 +4816,104 @@ func (s *RemoveFlowSourceOutput) SetSourceArn(v string) *RemoveFlowSourceOutput return s } +type RemoveFlowVpcInterfaceInput struct { + _ struct{} `type:"structure"` + + // FlowArn is a required field + FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` + + // VpcInterfaceName is a required field + VpcInterfaceName *string `location:"uri" locationName:"vpcInterfaceName" type:"string" required:"true"` +} + +// String returns the string representation +func (s RemoveFlowVpcInterfaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveFlowVpcInterfaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveFlowVpcInterfaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveFlowVpcInterfaceInput"} + if s.FlowArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowArn")) + } + if s.FlowArn != nil && len(*s.FlowArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1)) + } + if s.VpcInterfaceName == nil { + invalidParams.Add(request.NewErrParamRequired("VpcInterfaceName")) + } + if s.VpcInterfaceName != nil && len(*s.VpcInterfaceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcInterfaceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFlowArn sets the FlowArn field's value. +func (s *RemoveFlowVpcInterfaceInput) SetFlowArn(v string) *RemoveFlowVpcInterfaceInput { + s.FlowArn = &v + return s +} + +// SetVpcInterfaceName sets the VpcInterfaceName field's value. +func (s *RemoveFlowVpcInterfaceInput) SetVpcInterfaceName(v string) *RemoveFlowVpcInterfaceInput { + s.VpcInterfaceName = &v + return s +} + +// The result of a successful RemoveFlowVpcInterface request including the flow +// ARN and the VPC interface name that was removed. +type RemoveFlowVpcInterfaceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the flow that is associated with the VPC interface you removed. + FlowArn *string `locationName:"flowArn" type:"string"` + + // IDs of network interfaces associated with the removed VPC interface that + // Media Connect was unable to remove. + NonDeletedNetworkInterfaceIds []*string `locationName:"nonDeletedNetworkInterfaceIds" type:"list"` + + // The name of the VPC interface that was removed. + VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"` +} + +// String returns the string representation +func (s RemoveFlowVpcInterfaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveFlowVpcInterfaceOutput) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *RemoveFlowVpcInterfaceOutput) SetFlowArn(v string) *RemoveFlowVpcInterfaceOutput { + s.FlowArn = &v + return s +} + +// SetNonDeletedNetworkInterfaceIds sets the NonDeletedNetworkInterfaceIds field's value. +func (s *RemoveFlowVpcInterfaceOutput) SetNonDeletedNetworkInterfaceIds(v []*string) *RemoveFlowVpcInterfaceOutput { + s.NonDeletedNetworkInterfaceIds = v + return s +} + +// SetVpcInterfaceName sets the VpcInterfaceName field's value. +func (s *RemoveFlowVpcInterfaceOutput) SetVpcInterfaceName(v string) *RemoveFlowVpcInterfaceOutput { + s.VpcInterfaceName = &v + return s +} + type RevokeFlowEntitlementInput struct { _ struct{} `type:"structure"` @@ -4658,6 +5097,9 @@ type SetSourceRequest struct { // only to Zixi-based streams. StreamId *string `locationName:"streamId" type:"string"` + // The name of the VPC interface to use for this source. + VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"` + // The range of IP addresses that should be allowed to contribute content to // your source. These IP addresses should be in the form of a Classless Inter-Domain // Routing (CIDR) block; for example, 10.0.0.0/16. @@ -4743,6 +5185,12 @@ func (s *SetSourceRequest) SetStreamId(v string) *SetSourceRequest { return s } +// SetVpcInterfaceName sets the VpcInterfaceName field's value. +func (s *SetSourceRequest) SetVpcInterfaceName(v string) *SetSourceRequest { + s.VpcInterfaceName = &v + return s +} + // SetWhitelistCidr sets the WhitelistCidr field's value. func (s *SetSourceRequest) SetWhitelistCidr(v string) *SetSourceRequest { s.WhitelistCidr = &v @@ -4787,6 +5235,9 @@ type Source struct { // Attributes related to the transport stream that are used in the source. Transport *Transport `locationName:"transport" type:"structure"` + // The name of the VPC Interface this Source is configured with. + VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"` + // The range of IP addresses that should be allowed to contribute content to // your source. These IP addresses should be in the form of a Classless Inter-Domain // Routing (CIDR) block; for example, 10.0.0.0/16. @@ -4857,6 +5308,12 @@ func (s *Source) SetTransport(v *Transport) *Source { return s } +// SetVpcInterfaceName sets the VpcInterfaceName field's value. +func (s *Source) SetVpcInterfaceName(v string) *Source { + s.VpcInterfaceName = &v + return s +} + // SetWhitelistCidr sets the WhitelistCidr field's value. func (s *Source) SetWhitelistCidr(v string) *Source { s.WhitelistCidr = &v @@ -5844,6 +6301,9 @@ type UpdateFlowSourceInput struct { // only to Zixi-based streams. StreamId *string `locationName:"streamId" type:"string"` + // The name of the VPC Interface to configure this Source with. + VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"` + // The range of IP addresses that should be allowed to contribute content to // your source. These IP addresses should be in the form of a Classless Inter-Domain // Routing (CIDR) block; for example, 10.0.0.0/16. @@ -5942,6 +6402,12 @@ func (s *UpdateFlowSourceInput) SetStreamId(v string) *UpdateFlowSourceInput { return s } +// SetVpcInterfaceName sets the VpcInterfaceName field's value. +func (s *UpdateFlowSourceInput) SetVpcInterfaceName(v string) *UpdateFlowSourceInput { + s.VpcInterfaceName = &v + return s +} + // SetWhitelistCidr sets the WhitelistCidr field's value. func (s *UpdateFlowSourceInput) SetWhitelistCidr(v string) *UpdateFlowSourceInput { s.WhitelistCidr = &v @@ -5982,6 +6448,158 @@ func (s *UpdateFlowSourceOutput) SetSource(v *Source) *UpdateFlowSourceOutput { return s } +// The settings for a VPC Source. +type VpcInterface struct { + _ struct{} `type:"structure"` + + // Immutable and has to be a unique against other VpcInterfaces in this Flow + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // IDs of the network interfaces created in customer's account by MediaConnect. + // + // NetworkInterfaceIds is a required field + NetworkInterfaceIds []*string `locationName:"networkInterfaceIds" type:"list" required:"true"` + + // Role Arn MediaConnect can assumes to create ENIs in customer's account + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // Security Group IDs to be used on ENI. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"` + + // Subnet must be in the AZ of the Flow + // + // SubnetId is a required field + SubnetId *string `locationName:"subnetId" type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcInterface) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcInterface) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *VpcInterface) SetName(v string) *VpcInterface { + s.Name = &v + return s +} + +// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value. +func (s *VpcInterface) SetNetworkInterfaceIds(v []*string) *VpcInterface { + s.NetworkInterfaceIds = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *VpcInterface) SetRoleArn(v string) *VpcInterface { + s.RoleArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcInterface) SetSecurityGroupIds(v []*string) *VpcInterface { + s.SecurityGroupIds = v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *VpcInterface) SetSubnetId(v string) *VpcInterface { + s.SubnetId = &v + return s +} + +// Desired VPC Interface for a Flow +type VpcInterfaceRequest struct { + _ struct{} `type:"structure"` + + // The name of the VPC Interface. This value must be unique within the current + // flow. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Role Arn MediaConnect can assumes to create ENIs in customer's account + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // Security Group IDs to be used on ENI. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"` + + // Subnet must be in the AZ of the Flow + // + // SubnetId is a required field + SubnetId *string `locationName:"subnetId" type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcInterfaceRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcInterfaceRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcInterfaceRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcInterfaceRequest"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *VpcInterfaceRequest) SetName(v string) *VpcInterfaceRequest { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *VpcInterfaceRequest) SetRoleArn(v string) *VpcInterfaceRequest { + s.RoleArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcInterfaceRequest) SetSecurityGroupIds(v []*string) *VpcInterfaceRequest { + s.SecurityGroupIds = v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *VpcInterfaceRequest) SetSubnetId(v string) *VpcInterfaceRequest { + s.SubnetId = &v + return s +} + const ( // AlgorithmAes128 is a Algorithm enum value AlgorithmAes128 = "aes128" diff --git a/service/mediaconnect/mediaconnectiface/interface.go b/service/mediaconnect/mediaconnectiface/interface.go index bc2a5c5854..64346bbf1e 100644 --- a/service/mediaconnect/mediaconnectiface/interface.go +++ b/service/mediaconnect/mediaconnectiface/interface.go @@ -68,6 +68,10 @@ type MediaConnectAPI interface { AddFlowSourcesWithContext(aws.Context, *mediaconnect.AddFlowSourcesInput, ...request.Option) (*mediaconnect.AddFlowSourcesOutput, error) AddFlowSourcesRequest(*mediaconnect.AddFlowSourcesInput) (*request.Request, *mediaconnect.AddFlowSourcesOutput) + AddFlowVpcInterfaces(*mediaconnect.AddFlowVpcInterfacesInput) (*mediaconnect.AddFlowVpcInterfacesOutput, error) + AddFlowVpcInterfacesWithContext(aws.Context, *mediaconnect.AddFlowVpcInterfacesInput, ...request.Option) (*mediaconnect.AddFlowVpcInterfacesOutput, error) + AddFlowVpcInterfacesRequest(*mediaconnect.AddFlowVpcInterfacesInput) (*request.Request, *mediaconnect.AddFlowVpcInterfacesOutput) + CreateFlow(*mediaconnect.CreateFlowInput) (*mediaconnect.CreateFlowOutput, error) CreateFlowWithContext(aws.Context, *mediaconnect.CreateFlowInput, ...request.Option) (*mediaconnect.CreateFlowOutput, error) CreateFlowRequest(*mediaconnect.CreateFlowInput) (*request.Request, *mediaconnect.CreateFlowOutput) @@ -110,6 +114,10 @@ type MediaConnectAPI interface { RemoveFlowSourceWithContext(aws.Context, *mediaconnect.RemoveFlowSourceInput, ...request.Option) (*mediaconnect.RemoveFlowSourceOutput, error) RemoveFlowSourceRequest(*mediaconnect.RemoveFlowSourceInput) (*request.Request, *mediaconnect.RemoveFlowSourceOutput) + RemoveFlowVpcInterface(*mediaconnect.RemoveFlowVpcInterfaceInput) (*mediaconnect.RemoveFlowVpcInterfaceOutput, error) + RemoveFlowVpcInterfaceWithContext(aws.Context, *mediaconnect.RemoveFlowVpcInterfaceInput, ...request.Option) (*mediaconnect.RemoveFlowVpcInterfaceOutput, error) + RemoveFlowVpcInterfaceRequest(*mediaconnect.RemoveFlowVpcInterfaceInput) (*request.Request, *mediaconnect.RemoveFlowVpcInterfaceOutput) + RevokeFlowEntitlement(*mediaconnect.RevokeFlowEntitlementInput) (*mediaconnect.RevokeFlowEntitlementOutput, error) RevokeFlowEntitlementWithContext(aws.Context, *mediaconnect.RevokeFlowEntitlementInput, ...request.Option) (*mediaconnect.RevokeFlowEntitlementOutput, error) RevokeFlowEntitlementRequest(*mediaconnect.RevokeFlowEntitlementInput) (*request.Request, *mediaconnect.RevokeFlowEntitlementOutput)