

# UpdateStreamingDistribution
<a name="API_UpdateStreamingDistribution"></a>

Update a streaming distribution.

## Request Syntax
<a name="API_UpdateStreamingDistribution_RequestSyntax"></a>

```
PUT /2020-05-31/streaming-distribution/Id/config HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistributionConfig xmlns="http://cloudfront.amazonaws.com/doc/2020-05-31/">
   <Aliases>
      <Items>
         <CNAME>string</CNAME>
      </Items>
      <Quantity>integer</Quantity>
   </Aliases>
   <CallerReference>string</CallerReference>
   <Comment>string</Comment>
   <Enabled>boolean</Enabled>
   <Logging>
      <Bucket>string</Bucket>
      <Enabled>boolean</Enabled>
      <Prefix>string</Prefix>
   </Logging>
   <PriceClass>string</PriceClass>
   <S3Origin>
      <DomainName>string</DomainName>
      <OriginAccessIdentity>string</OriginAccessIdentity>
   </S3Origin>
   <TrustedSigners>
      <Enabled>boolean</Enabled>
      <Items>
         <AwsAccountNumber>string</AwsAccountNumber>
      </Items>
      <Quantity>integer</Quantity>
   </TrustedSigners>
</StreamingDistributionConfig>
```

## URI Request Parameters
<a name="API_UpdateStreamingDistribution_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UpdateStreamingDistribution_RequestBody"></a>

The request accepts the following data in XML format.

 ** [StreamingDistributionConfig](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-StreamingDistributionConfig"></a>
Root level tag for the StreamingDistributionConfig parameters.  
Required: Yes

 ** [Aliases](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-Aliases"></a>
A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.  
Type: [Aliases](API_Aliases.md) object  
Required: No

 ** [CallerReference](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-CallerReference"></a>
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.  
If the value of `CallerReference` is new (regardless of the content of the `StreamingDistributionConfig` object), CloudFront creates a new distribution.  
If `CallerReference` is a value that you already sent in a previous request to create a distribution, CloudFront returns a `DistributionAlreadyExists` error.  
Type: String  
Required: Yes

 ** [Comment](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-Comment"></a>
Any comments you want to include about the streaming distribution.  
Type: String  
Required: Yes

 ** [Enabled](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-Enabled"></a>
Whether the streaming distribution is enabled to accept user requests for content.  
Type: Boolean  
Required: Yes

 ** [Logging](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-Logging"></a>
A complex type that controls whether access logs are written for the streaming distribution.  
Type: [StreamingLoggingConfig](API_StreamingLoggingConfig.md) object  
Required: No

 ** [PriceClass](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-PriceClass"></a>
A complex type that contains information about price class for this streaming distribution.  
Type: String  
Valid Values: `PriceClass_100 | PriceClass_200 | PriceClass_All | None`   
Required: No

 ** [S3Origin](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-S3Origin"></a>
A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.  
Type: [S3Origin](API_S3Origin.md) object  
Required: Yes

 ** [TrustedSigners](#API_UpdateStreamingDistribution_RequestSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-request-TrustedSigners"></a>
A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.  
Type: [TrustedSigners](API_TrustedSigners.md) object  
Required: Yes

## Response Syntax
<a name="API_UpdateStreamingDistribution_ResponseSyntax"></a>

```
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistribution>
   <ActiveTrustedSigners>
      <Enabled>boolean</Enabled>
      <Items>
         <Signer>
            <AwsAccountNumber>string</AwsAccountNumber>
            <KeyPairIds>
               <Items>
                  <KeyPairId>string</KeyPairId>
               </Items>
               <Quantity>integer</Quantity>
            </KeyPairIds>
         </Signer>
      </Items>
      <Quantity>integer</Quantity>
   </ActiveTrustedSigners>
   <ARN>string</ARN>
   <DomainName>string</DomainName>
   <Id>string</Id>
   <LastModifiedTime>timestamp</LastModifiedTime>
   <Status>string</Status>
   <StreamingDistributionConfig>
      <Aliases>
         <Items>
            <CNAME>string</CNAME>
         </Items>
         <Quantity>integer</Quantity>
      </Aliases>
      <CallerReference>string</CallerReference>
      <Comment>string</Comment>
      <Enabled>boolean</Enabled>
      <Logging>
         <Bucket>string</Bucket>
         <Enabled>boolean</Enabled>
         <Prefix>string</Prefix>
      </Logging>
      <PriceClass>string</PriceClass>
      <S3Origin>
         <DomainName>string</DomainName>
         <OriginAccessIdentity>string</OriginAccessIdentity>
      </S3Origin>
      <TrustedSigners>
         <Enabled>boolean</Enabled>
         <Items>
            <AwsAccountNumber>string</AwsAccountNumber>
         </Items>
         <Quantity>integer</Quantity>
      </TrustedSigners>
   </StreamingDistributionConfig>
</StreamingDistribution>
```

## Response Elements
<a name="API_UpdateStreamingDistribution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in XML format by the service.

 ** [StreamingDistribution](#API_UpdateStreamingDistribution_ResponseSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-response-StreamingDistribution"></a>
Root level tag for the StreamingDistribution parameters.  
Required: Yes

 ** [ActiveTrustedSigners](#API_UpdateStreamingDistribution_ResponseSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-response-ActiveTrustedSigners"></a>
A complex type that lists the AWS accounts, if any, that you included in the `TrustedSigners` complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.  
The `Signer` complex type lists the AWS account number of the trusted signer or `self` if the signer is the AWS account that created the distribution. The `Signer` element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no `KeyPairId` element appears for a `Signer`, that signer can't create signed URLs.  
For more information, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.  
Type: [ActiveTrustedSigners](API_ActiveTrustedSigners.md) object

 ** [ARN](#API_UpdateStreamingDistribution_ResponseSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-response-ARN"></a>
The ARN (Amazon Resource Name) for the distribution. For example: `arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5`, where `123456789012` is your AWS account ID.  
Type: String

 ** [DomainName](#API_UpdateStreamingDistribution_ResponseSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-response-DomainName"></a>
The domain name that corresponds to the streaming distribution, for example, `s5c39gqb8ow64r.cloudfront.net`.  
Type: String

 ** [Id](#API_UpdateStreamingDistribution_ResponseSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-response-Id"></a>
The identifier for the RTMP distribution. For example: `EGTXBD79EXAMPLE`.  
Type: String

 ** [LastModifiedTime](#API_UpdateStreamingDistribution_ResponseSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-response-LastModifiedTime"></a>
The date and time that the distribution was last modified.  
Type: Timestamp

 ** [Status](#API_UpdateStreamingDistribution_ResponseSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-response-Status"></a>
The current status of the RTMP distribution. When the status is `Deployed`, the distribution's information is propagated to all CloudFront edge locations.  
Type: String

 ** [StreamingDistributionConfig](#API_UpdateStreamingDistribution_ResponseSyntax) **   <a name="cloudfront-UpdateStreamingDistribution-response-StreamingDistributionConfig"></a>
The current configuration information for the RTMP distribution.  
Type: [StreamingDistributionConfig](API_StreamingDistributionConfig.md) object

## Errors
<a name="API_UpdateStreamingDistribution_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDenied **   
Access denied.  
HTTP Status Code: 403

 ** CNAMEAlreadyExists **   
The CNAME specified is already defined for CloudFront.  
HTTP Status Code: 409

 ** IllegalUpdate **   
The update contains modifications that are not allowed.  
HTTP Status Code: 400

 ** InconsistentQuantities **   
The value of `Quantity` and the size of `Items` don't match.  
HTTP Status Code: 400

 ** InvalidArgument **   
An argument is invalid.  
HTTP Status Code: 400

 ** InvalidIfMatchVersion **   
The `If-Match` version is missing or not valid.  
HTTP Status Code: 400

 ** InvalidOriginAccessControl **   
The origin access control is not valid.  
HTTP Status Code: 400

 ** InvalidOriginAccessIdentity **   
The origin access identity is not valid or doesn't exist.  
HTTP Status Code: 400

 ** MissingBody **   
This operation requires a body. Ensure that the body is present and the `Content-Type` header is set.  
HTTP Status Code: 400

 ** NoSuchStreamingDistribution **   
The specified streaming distribution does not exist.  
HTTP Status Code: 404

 ** PreconditionFailed **   
The precondition in one or more of the request fields evaluated to `false`.  
HTTP Status Code: 412

 ** TooManyStreamingDistributionCNAMEs **   
Your request contains more CNAMEs than are allowed per distribution.  
HTTP Status Code: 400

 ** TooManyTrustedSigners **   
Your request contains more trusted signers than are allowed per distribution.  
HTTP Status Code: 400

 ** TrustedSignerDoesNotExist **   
One or more of your trusted signers don't exist.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateStreamingDistribution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/cloudfront-2020-05-31/UpdateStreamingDistribution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/cloudfront-2020-05-31/UpdateStreamingDistribution) 