The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::CloudFront::CreateDistributionWithTags - Arguments for method CreateDistributionWithTags on Paws::CloudFront

DESCRIPTION

This class represents the parameters used for calling the method CreateDistributionWithTags2020_05_31 on the Amazon CloudFront service. Use the attributes of this class as arguments to method CreateDistributionWithTags2020_05_31.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateDistributionWithTags2020_05_31.

SYNOPSIS

    my $cloudfront = Paws->service('CloudFront');
    my $CreateDistributionWithTagsResult =
      $cloudfront->CreateDistributionWithTags(
      DistributionConfigWithTags => {
        DistributionConfig => {
          CallerReference      => 'Mystring',
          Comment              => 'MyCommentType',
          DefaultCacheBehavior => {
            TargetOriginId       => 'Mystring',
            ViewerProtocolPolicy =>
              'allow-all',    # values: allow-all, https-only, redirect-to-https
            AllowedMethods => {
              Items => [
                'GET',
                ...    # values: GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE
              ],
              Quantity      => 1,
              CachedMethods => {
                Items => [
                  'GET',
                  ...    # values: GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE
                ],
                Quantity => 1,

              },    # OPTIONAL
            },    # OPTIONAL
            CachePolicyId          => 'Mystring',
            Compress               => 1,            # OPTIONAL
            DefaultTTL             => 1,            # OPTIONAL
            FieldLevelEncryptionId => 'Mystring',
            ForwardedValues        => {
              Cookies => {
                Forward          => 'none',    # values: none, whitelist, all
                WhitelistedNames => {
                  Quantity => 1,
                  Items    => [ 'Mystring', ... ],    # OPTIONAL
                },    # OPTIONAL
              },
              QueryString => 1,    # OPTIONAL
              Headers     => {
                Quantity => 1,
                Items    => [ 'Mystring', ... ],    # OPTIONAL
              },    # OPTIONAL
              QueryStringCacheKeys => {
                Quantity => 1,
                Items    => [ 'Mystring', ... ],    # OPTIONAL
              },    # OPTIONAL
            },    # OPTIONAL
            FunctionAssociations => {
              Quantity => 1,
              Items    => [
                {
                  EventType => 'viewer-request'
                  , # values: viewer-request, viewer-response, origin-request, origin-response
                  FunctionARN => 'MyFunctionARN',    # max: 108

                },
                ...
              ],    # OPTIONAL
            },    # OPTIONAL
            LambdaFunctionAssociations => {
              Quantity => 1,
              Items    => [
                {
                  EventType => 'viewer-request'
                  , # values: viewer-request, viewer-response, origin-request, origin-response
                  LambdaFunctionARN => 'MyLambdaFunctionARN',
                  IncludeBody       => 1,                       # OPTIONAL
                },
                ...
              ],    # OPTIONAL
            },    # OPTIONAL
            MaxTTL                => 1,            # OPTIONAL
            MinTTL                => 1,            # OPTIONAL
            OriginRequestPolicyId => 'Mystring',
            RealtimeLogConfigArn  => 'Mystring',
            SmoothStreaming       => 1,            # OPTIONAL
            TrustedKeyGroups      => {
              Enabled  => 1,                       # OPTIONAL
              Quantity => 1,
              Items    => [ 'Mystring', ... ],     # OPTIONAL
            },    # OPTIONAL
            TrustedSigners => {
              Enabled  => 1,                      # OPTIONAL
              Quantity => 1,
              Items    => [ 'Mystring', ... ],    # OPTIONAL
            },    # OPTIONAL
          },
          Enabled => 1,    # OPTIONAL
          Origins => {
            Items => [
              {
                DomainName         => 'Mystring',
                Id                 => 'Mystring',
                ConnectionAttempts => 1,
                ConnectionTimeout  => 1,
                CustomHeaders      => {
                  Quantity => 1,
                  Items    => [
                    {
                      HeaderName  => 'Mystring',
                      HeaderValue => 'Mystring',

                    },
                    ...
                  ],    # OPTIONAL
                },    # OPTIONAL
                CustomOriginConfig => {
                  HTTPPort             => 1,
                  HTTPSPort            => 1,
                  OriginProtocolPolicy =>
                    'http-only',   # values: http-only, match-viewer, https-only
                  OriginKeepaliveTimeout => 1,
                  OriginReadTimeout      => 1,
                  OriginSslProtocols     => {
                    Items => [
                      'SSLv3', ...    # values: SSLv3, TLSv1, TLSv1.1, TLSv1.2
                    ],
                    Quantity => 1,

                  },    # OPTIONAL
                },    # OPTIONAL
                OriginPath   => 'Mystring',
                OriginShield => {
                  Enabled            => 1,     # OPTIONAL
                  OriginShieldRegion =>
                    'MyOriginShieldRegion',    # min: 1, max: 32; OPTIONAL
                },    # OPTIONAL
                S3OriginConfig => {
                  OriginAccessIdentity => 'Mystring',

                },    # OPTIONAL
              },
              ...
            ],    # min: 1
            Quantity => 1,

          },
          Aliases => {
            Quantity => 1,
            Items    => [ 'Mystring', ... ],    # OPTIONAL
          },    # OPTIONAL
          CacheBehaviors => {
            Quantity => 1,
            Items    => [
              {
                PathPattern          => 'Mystring',
                TargetOriginId       => 'Mystring',
                ViewerProtocolPolicy => 'allow-all'
                ,    # values: allow-all, https-only, redirect-to-https
                AllowedMethods => {
                  Items => [
                    'GET',
                    ...   # values: GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE
                  ],
                  Quantity      => 1,
                  CachedMethods => {
                    Items => [
                      'GET',
                      ... # values: GET, HEAD, POST, PUT, PATCH, OPTIONS, DELETE
                    ],
                    Quantity => 1,

                  },    # OPTIONAL
                },    # OPTIONAL
                CachePolicyId          => 'Mystring',
                Compress               => 1,            # OPTIONAL
                DefaultTTL             => 1,            # OPTIONAL
                FieldLevelEncryptionId => 'Mystring',
                ForwardedValues        => {
                  Cookies => {
                    Forward          => 'none',   # values: none, whitelist, all
                    WhitelistedNames => {
                      Quantity => 1,
                      Items    => [ 'Mystring', ... ],    # OPTIONAL
                    },    # OPTIONAL
                  },
                  QueryString => 1,    # OPTIONAL
                  Headers     => {
                    Quantity => 1,
                    Items    => [ 'Mystring', ... ],    # OPTIONAL
                  },    # OPTIONAL
                  QueryStringCacheKeys => {
                    Quantity => 1,
                    Items    => [ 'Mystring', ... ],    # OPTIONAL
                  },    # OPTIONAL
                },    # OPTIONAL
                FunctionAssociations => {
                  Quantity => 1,
                  Items    => [
                    {
                      EventType => 'viewer-request'
                      , # values: viewer-request, viewer-response, origin-request, origin-response
                      FunctionARN => 'MyFunctionARN',    # max: 108

                    },
                    ...
                  ],    # OPTIONAL
                },    # OPTIONAL
                LambdaFunctionAssociations => {
                  Quantity => 1,
                  Items    => [
                    {
                      EventType => 'viewer-request'
                      , # values: viewer-request, viewer-response, origin-request, origin-response
                      LambdaFunctionARN => 'MyLambdaFunctionARN',
                      IncludeBody       => 1,                       # OPTIONAL
                    },
                    ...
                  ],    # OPTIONAL
                },    # OPTIONAL
                MaxTTL                => 1,            # OPTIONAL
                MinTTL                => 1,            # OPTIONAL
                OriginRequestPolicyId => 'Mystring',
                RealtimeLogConfigArn  => 'Mystring',
                SmoothStreaming       => 1,            # OPTIONAL
                TrustedKeyGroups      => {
                  Enabled  => 1,                       # OPTIONAL
                  Quantity => 1,
                  Items    => [ 'Mystring', ... ],     # OPTIONAL
                },    # OPTIONAL
                TrustedSigners => {
                  Enabled  => 1,                      # OPTIONAL
                  Quantity => 1,
                  Items    => [ 'Mystring', ... ],    # OPTIONAL
                },    # OPTIONAL
              },
              ...
            ],    # OPTIONAL
          },    # OPTIONAL
          CustomErrorResponses => {
            Quantity => 1,
            Items    => [
              {
                ErrorCode          => 1,
                ErrorCachingMinTTL => 1,            # OPTIONAL
                ResponseCode       => 'Mystring',
                ResponsePagePath   => 'Mystring',
              },
              ...
            ],    # OPTIONAL
          },    # OPTIONAL
          DefaultRootObject => 'Mystring',
          HttpVersion       => 'http1.1',    # values: http1.1, http2; OPTIONAL
          IsIPV6Enabled     => 1,            # OPTIONAL
          Logging           => {
            Bucket         => 'Mystring',
            Enabled        => 1,             # OPTIONAL
            IncludeCookies => 1,             # OPTIONAL
            Prefix         => 'Mystring',

          },    # OPTIONAL
          OriginGroups => {
            Quantity => 1,
            Items    => [
              {
                FailoverCriteria => {
                  StatusCodes => {
                    Items    => [ 1, ... ],    # min: 1
                    Quantity => 1,

                  },

                },
                Id      => 'Mystring',
                Members => {
                  Items => [
                    {
                      OriginId => 'Mystring',

                    },
                    ...
                  ],    # min: 2, max: 2
                  Quantity => 1,

                },

              },
              ...
            ],    # OPTIONAL
          },    # OPTIONAL
          PriceClass => 'PriceClass_100'
          ,   # values: PriceClass_100, PriceClass_200, PriceClass_All; OPTIONAL
          Restrictions => {
            GeoRestriction => {
              Quantity        => 1,
              RestrictionType =>
                'blacklist',    # values: blacklist, whitelist, none
              Items => [ 'Mystring', ... ],    # OPTIONAL
            },

          },    # OPTIONAL
          ViewerCertificate => {
            ACMCertificateArn => 'Mystring',
            Certificate       => 'Mystring',
            CertificateSource =>
              'cloudfront',    # values: cloudfront, iam, acm; OPTIONAL
            CloudFrontDefaultCertificate => 1,            # OPTIONAL
            IAMCertificateId             => 'Mystring',
            MinimumProtocolVersion       => 'SSLv3'
            , # values: SSLv3, TLSv1, TLSv1_2016, TLSv1.1_2016, TLSv1.2_2018, TLSv1.2_2019, TLSv1.2_2021; OPTIONAL
            SSLSupportMethod =>
              'sni-only',    # values: sni-only, vip, static-ip; OPTIONAL
          },    # OPTIONAL
          WebACLId => 'Mystring',
        },
        Tags => {
          Items => [
            {
              Key   => 'MyTagKey',      # min: 1, max: 128
              Value => 'MyTagValue',    # max: 256; OPTIONAL
            },
            ...
          ],    # OPTIONAL
        },

      },

      );

    # Results:
    my $Distribution = $CreateDistributionWithTagsResult->Distribution;
    my $ETag         = $CreateDistributionWithTagsResult->ETag;
    my $Location     = $CreateDistributionWithTagsResult->Location;

    # Returns a L<Paws::CloudFront::CreateDistributionWithTagsResult> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/cloudfront/CreateDistributionWithTags

ATTRIBUTES

REQUIRED DistributionConfigWithTags => Paws::CloudFront::DistributionConfigWithTags

The distribution's configuration information.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateDistributionWithTags2020_05_31 in Paws::CloudFront

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues