createCloudFrontOriginAccessIdentity2018_06_18 method

Future<CreateCloudFrontOriginAccessIdentityResult> createCloudFrontOriginAccessIdentity2018_06_18(
  1. {@required CloudFrontOriginAccessIdentityConfig cloudFrontOriginAccessIdentityConfig}
)

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

May throw CloudFrontOriginAccessIdentityAlreadyExists. May throw MissingBody. May throw TooManyCloudFrontOriginAccessIdentities. May throw InvalidArgument. May throw InconsistentQuantities.

Parameter cloudFrontOriginAccessIdentityConfig : The current configuration information for the identity.

Implementation

Future<CreateCloudFrontOriginAccessIdentityResult>
    createCloudFrontOriginAccessIdentity2018_06_18({
  @_s.required
      CloudFrontOriginAccessIdentityConfig
          cloudFrontOriginAccessIdentityConfig,
}) async {
  ArgumentError.checkNotNull(cloudFrontOriginAccessIdentityConfig,
      'cloudFrontOriginAccessIdentityConfig');
  final $result = await _protocol.sendRaw(
    method: 'POST',
    requestUri: '/2018-06-18/origin-access-identity/cloudfront',
    payload: cloudFrontOriginAccessIdentityConfig
        .toXml('CloudFrontOriginAccessIdentityConfig'),
    exceptionFnMap: _exceptionFns,
  );
  final $elem = await _s.xmlFromResponse($result);
  return CreateCloudFrontOriginAccessIdentityResult(
    cloudFrontOriginAccessIdentity:
        CloudFrontOriginAccessIdentity.fromXml($elem),
    eTag: _s.extractHeaderStringValue($result.headers, 'ETag'),
    location: _s.extractHeaderStringValue($result.headers, 'Location'),
  );
}