API Reference

PREVIEW DOCUMENTATION - This is a preview of a new format for the AWS SDK for Go API Reference documentation. For the current AWS SDK for Go API Reference, see

We welcome your feedback on this new version of the documentation. Send your comments to


import ""

type PutPublicAccessBlockInput struct { AccountId *string `location:"header" locationName:"x-amz-account-id" type:"string" required:"true"` PublicAccessBlockConfiguration *PublicAccessBlockConfiguration `locationName:"PublicAccessBlockConfiguration" type:"structure" required:"true" xmlURI:""` }


Type: *string

The Account ID for the Amazon Web Services account whose Public Access Block configuration you want to set.

AccountId is a required field


The container element for all Public Access Block configuration options. You can enable the configuration options in any combination.

Amazon S3 considers a bucket policy public unless at least one of the following conditions is true:

The policy limits access to a set of CIDRs using aws:SourceIp. For more information on CIDR, see (

The policy grants permissions, not including any "bad actions," to one of the following:

A fixed AWS principal, user, role, or service principal

A fixed aws:SourceArn

A fixed aws:SourceVpc

A fixed aws:SourceVpce

A fixed aws:SourceOwner

A fixed aws:SourceAccount

A fixed value of s3:x-amz-server-side-encryption-aws-kms-key-id

A fixed value of aws:userid outside the pattern "AROLEID:*"

"Bad actions" are those that could expose the data inside a bucket to reads or writes by the public. These actions are s3:Get*, s3:List*, s3:AbortMultipartUpload, s3:Delete*, s3:Put*, and s3:RestoreObject.

The star notation for bad actions indicates that all matching operations are considered bad actions. For example, because s3:Get* is a bad action, s3:GetObject, s3:GetObjectVersion, and s3:GetObjectAcl are all bad actions.



func (s PutPublicAccessBlockInput) GoString() string

GoString returns the string representation


func (s *PutPublicAccessBlockInput) SetAccountId(v string) *PutPublicAccessBlockInput

SetAccountId sets the AccountId field's value.


func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicAccessBlockConfiguration) *PutPublicAccessBlockInput

SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.


func (s PutPublicAccessBlockInput) String() string

String returns the string representation


func (s *PutPublicAccessBlockInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

On this page: