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

NAME

Paws::EC2::CreateVpcEndpoint - Arguments for method CreateVpcEndpoint on Paws::EC2

DESCRIPTION

This class represents the parameters used for calling the method CreateVpcEndpoint on the Amazon Elastic Compute Cloud service. Use the attributes of this class as arguments to method CreateVpcEndpoint.

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

SYNOPSIS

    my $ec2 = Paws->service('EC2');
    my $CreateVpcEndpointResult = $ec2->CreateVpcEndpoint(
      ServiceName       => 'MyString',
      VpcId             => 'MyVpcId',
      ClientToken       => 'MyString',                      # OPTIONAL
      DryRun            => 1,                               # OPTIONAL
      PolicyDocument    => 'MyString',                      # OPTIONAL
      PrivateDnsEnabled => 1,                               # OPTIONAL
      RouteTableIds     => [ 'MyRouteTableId', ... ],       # OPTIONAL
      SecurityGroupIds  => [ 'MySecurityGroupId', ... ],    # OPTIONAL
      SubnetIds         => [ 'MySubnetId', ... ],           # OPTIONAL
      TagSpecifications => [
        {
          ResourceType => 'client-vpn-endpoint'
          , # values: client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, key-pair, launch-template, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway; OPTIONAL
          Tags => [
            {
              Key   => 'MyString',
              Value => 'MyString',
            },
            ...
          ],    # OPTIONAL
        },
        ...
      ],        # OPTIONAL
      VpcEndpointType => 'Interface',    # OPTIONAL
    );

    # Results:
    my $ClientToken = $CreateVpcEndpointResult->ClientToken;
    my $VpcEndpoint = $CreateVpcEndpointResult->VpcEndpoint;

    # Returns a L<Paws::EC2::CreateVpcEndpointResult> 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/ec2/CreateVpcEndpoint

ATTRIBUTES

ClientToken => Str

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).

DryRun => Bool

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

PolicyDocument => Str

A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

PrivateDnsEnabled => Bool

(Interface endpoint) Indicates whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.

To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes.

Default: true

RouteTableIds => ArrayRef[Str|Undef]

(Gateway endpoint) One or more route table IDs.

SecurityGroupIds => ArrayRef[Str|Undef]

(Interface endpoint) The ID of one or more security groups to associate with the endpoint network interface.

REQUIRED ServiceName => Str

The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service provider.

SubnetIds => ArrayRef[Str|Undef]

(Interface endpoint) The ID of one or more subnets in which to create an endpoint network interface.

TagSpecifications => ArrayRef[Paws::EC2::TagSpecification]

The tags to associate with the endpoint.

VpcEndpointType => Str

The type of endpoint.

Default: Gateway

Valid values are: "Interface", "Gateway"

REQUIRED VpcId => Str

The ID of the VPC in which the endpoint will be used.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateVpcEndpoint in Paws::EC2

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