% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/lightsail_operations.R
\name{lightsail_put_instance_public_ports}
\alias{lightsail_put_instance_public_ports}
\title{Opens ports for a specific Amazon Lightsail instance, and specifies the
IP addresses allowed to connect to the instance through the ports, and
the protocol}
\usage{
lightsail_put_instance_public_ports(portInfos, instanceName)
}
\arguments{
\item{portInfos}{[required] An array of objects to describe the ports to open for the specified
instance.}

\item{instanceName}{[required] The name of the instance for which to open ports.}
}
\value{
A list with the following syntax:\preformatted{list(
  operation = list(
    id = "string",
    resourceName = "string",
    resourceType = "ContainerService"|"Instance"|"StaticIp"|"KeyPair"|"InstanceSnapshot"|"Domain"|"PeeredVpc"|"LoadBalancer"|"LoadBalancerTlsCertificate"|"Disk"|"DiskSnapshot"|"RelationalDatabase"|"RelationalDatabaseSnapshot"|"ExportSnapshotRecord"|"CloudFormationStackRecord"|"Alarm"|"ContactMethod"|"Distribution"|"Certificate",
    createdAt = as.POSIXct(
      "2015-01-01"
    ),
    location = list(
      availabilityZone = "string",
      regionName = "us-east-1"|"us-east-2"|"us-west-1"|"us-west-2"|"eu-west-1"|"eu-west-2"|"eu-west-3"|"eu-central-1"|"ca-central-1"|"ap-south-1"|"ap-southeast-1"|"ap-southeast-2"|"ap-northeast-1"|"ap-northeast-2"
    ),
    isTerminal = TRUE|FALSE,
    operationDetails = "string",
    operationType = "DeleteKnownHostKeys"|"DeleteInstance"|"CreateInstance"|"StopInstance"|"StartInstance"|"RebootInstance"|"OpenInstancePublicPorts"|"PutInstancePublicPorts"|"CloseInstancePublicPorts"|"AllocateStaticIp"|"ReleaseStaticIp"|"AttachStaticIp"|"DetachStaticIp"|"UpdateDomainEntry"|"DeleteDomainEntry"|"CreateDomain"|"DeleteDomain"|"CreateInstanceSnapshot"|"DeleteInstanceSnapshot"|"CreateInstancesFromSnapshot"|"CreateLoadBalancer"|"DeleteLoadBalancer"|"AttachInstancesToLoadBalancer"|"DetachInstancesFromLoadBalancer"|"UpdateLoadBalancerAttribute"|"CreateLoadBalancerTlsCertificate"|"DeleteLoadBalancerTlsCertificate"|"AttachLoadBalancerTlsCertificate"|"CreateDisk"|"DeleteDisk"|"AttachDisk"|"DetachDisk"|"CreateDiskSnapshot"|"DeleteDiskSnapshot"|"CreateDiskFromSnapshot"|"CreateRelationalDatabase"|"UpdateRelationalDatabase"|"DeleteRelationalDatabase"|"CreateRelationalDatabaseFromSnapshot"|"CreateRelationalDatabaseSnapshot"|"DeleteRelationalDatabaseSnapshot"|"UpdateRelationalDatabaseParameters"|"StartRelationalDatabase"|"RebootRelationalDatabase"|"StopRelationalDatabase"|"EnableAddOn"|"DisableAddOn"|"PutAlarm"|"GetAlarms"|"DeleteAlarm"|"TestAlarm"|"CreateContactMethod"|"GetContactMethods"|"SendContactMethodVerification"|"DeleteContactMethod"|"CreateDistribution"|"UpdateDistribution"|"DeleteDistribution"|"ResetDistributionCache"|"AttachCertificateToDistribution"|"DetachCertificateFromDistribution"|"UpdateDistributionBundle"|"CreateCertificate"|"DeleteCertificate"|"CreateContainerService"|"UpdateContainerService"|"DeleteContainerService"|"CreateContainerServiceDeployment"|"CreateContainerServiceRegistryLogin"|"RegisterContainerImage"|"DeleteContainerImage",
    status = "NotStarted"|"Started"|"Failed"|"Completed"|"Succeeded",
    statusChangedAt = as.POSIXct(
      "2015-01-01"
    ),
    errorCode = "string",
    errorDetails = "string"
  )
)
}
}
\description{
Opens ports for a specific Amazon Lightsail instance, and specifies the
IP addresses allowed to connect to the instance through the ports, and
the protocol. This action also closes all currently open ports that are
not included in the request. Include all of the ports and the protocols
you want to open in your
\code{\link[=lightsail_put_instance_public_ports]{put_instance_public_ports}}request.
Or use the
\code{\link[=lightsail_open_instance_public_ports]{open_instance_public_ports}}
action to open ports without closing currently open ports.

The \code{\link[=lightsail_put_instance_public_ports]{put_instance_public_ports}}
action supports tag-based access control via resource tags applied to
the resource identified by \code{instanceName}. For more information, see the
Lightsail Dev Guide.
}
\section{Request syntax}{
\preformatted{svc$put_instance_public_ports(
  portInfos = list(
    list(
      fromPort = 123,
      toPort = 123,
      protocol = "tcp"|"all"|"udp"|"icmp",
      cidrs = list(
        "string"
      ),
      cidrListAliases = list(
        "string"
      )
    )
  ),
  instanceName = "string"
)
}
}

\keyword{internal}
