Lightsail / Client / update_bucket

update_bucket#

Lightsail.Client.update_bucket(**kwargs)#

Updates an existing Amazon Lightsail bucket.

Use this action to update the configuration of an existing bucket, such as versioning, public accessibility, and the Amazon Web Services accounts that can access the bucket.

See also: AWS API Documentation

Request Syntax

response = client.update_bucket(
    bucketName='string',
    accessRules={
        'getObject': 'public'|'private',
        'allowPublicOverrides': True|False
    },
    versioning='string',
    readonlyAccessAccounts=[
        'string',
    ],
    accessLogConfig={
        'enabled': True|False,
        'destination': 'string',
        'prefix': 'string'
    }
)
Parameters:
  • bucketName (string) –

    [REQUIRED]

    The name of the bucket to update.

  • accessRules (dict) –

    An object that sets the public accessibility of objects in the specified bucket.

    • getObject (string) –

      Specifies the anonymous access to all objects in a bucket.

      The following options can be specified:

      • public - Sets all objects in the bucket to public (read-only), making them readable by anyone in the world. If the getObject value is set to public, then all objects in the bucket default to public regardless of the allowPublicOverrides value.

      • private - Sets all objects in the bucket to private, making them readable only by you or anyone you give access to. If the getObject value is set to private, and the allowPublicOverrides value is set to true, then all objects in the bucket default to private unless they are configured with a public-read ACL. Individual objects with a public-read ACL are readable by anyone in the world.

    • allowPublicOverrides (boolean) –

      A Boolean value that indicates whether the access control list (ACL) permissions that are applied to individual objects override the getObject option that is currently specified.

      When this is true, you can use the PutObjectAcl Amazon S3 API action to set individual objects to public (read-only) using the public-read ACL, or to private using the private ACL.

  • versioning (string) –

    Specifies whether to enable or suspend versioning of objects in the bucket.

    The following options can be specified:

    • Enabled - Enables versioning of objects in the specified bucket.

    • Suspended - Suspends versioning of objects in the specified bucket. Existing object versions are retained.

  • readonlyAccessAccounts (list) –

    An array of strings to specify the Amazon Web Services account IDs that can access the bucket.

    You can give a maximum of 10 Amazon Web Services accounts access to a bucket.

    • (string) –

  • accessLogConfig (dict) –

    An object that describes the access log configuration for the bucket.

    • enabled (boolean) – [REQUIRED]

      A Boolean value that indicates whether bucket access logging is enabled for the bucket.

    • destination (string) –

      The name of the bucket where the access logs are saved. The destination can be a Lightsail bucket in the same account, and in the same Amazon Web Services Region as the source bucket.

      Note

      This parameter is required when enabling the access log for a bucket, and should be omitted when disabling the access log.

    • prefix (string) –

      The optional object prefix for the bucket access log.

      The prefix is an optional addition to the object key that organizes your access log files in the destination bucket. For example, if you specify a logs/ prefix, then each log object will begin with the logs/ prefix in its key (for example, logs/2021-11-01-21-32-16-E568B2907131C0C0).

      Note

      This parameter can be optionally specified when enabling the access log for a bucket, and should be omitted when disabling the access log.

Return type:

dict

Returns:

Response Syntax

{
    'bucket': {
        'resourceType': 'string',
        'accessRules': {
            'getObject': 'public'|'private',
            'allowPublicOverrides': True|False
        },
        'arn': 'string',
        'bundleId': 'string',
        'createdAt': datetime(2015, 1, 1),
        'url': 'string',
        'location': {
            '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'|'eu-north-1'
        },
        'name': 'string',
        'supportCode': 'string',
        'tags': [
            {
                'key': 'string',
                'value': 'string'
            },
        ],
        'objectVersioning': 'string',
        'ableToUpdateBundle': True|False,
        'readonlyAccessAccounts': [
            'string',
        ],
        'resourcesReceivingAccess': [
            {
                'name': 'string',
                'resourceType': 'string'
            },
        ],
        'state': {
            'code': 'string',
            'message': 'string'
        },
        'accessLogConfig': {
            'enabled': True|False,
            'destination': 'string',
            'prefix': 'string'
        }
    },
    'operations': [
        {
            'id': 'string',
            'resourceName': 'string',
            'resourceType': 'ContainerService'|'Instance'|'StaticIp'|'KeyPair'|'InstanceSnapshot'|'Domain'|'PeeredVpc'|'LoadBalancer'|'LoadBalancerTlsCertificate'|'Disk'|'DiskSnapshot'|'RelationalDatabase'|'RelationalDatabaseSnapshot'|'ExportSnapshotRecord'|'CloudFormationStackRecord'|'Alarm'|'ContactMethod'|'Distribution'|'Certificate'|'Bucket',
            'createdAt': datetime(2015, 1, 1),
            'location': {
                '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'|'eu-north-1'
            },
            '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'|'SetIpAddressType'|'CreateCertificate'|'DeleteCertificate'|'CreateContainerService'|'UpdateContainerService'|'DeleteContainerService'|'CreateContainerServiceDeployment'|'CreateContainerServiceRegistryLogin'|'RegisterContainerImage'|'DeleteContainerImage'|'CreateBucket'|'DeleteBucket'|'CreateBucketAccessKey'|'DeleteBucketAccessKey'|'UpdateBucketBundle'|'UpdateBucket'|'SetResourceAccessForBucket'|'UpdateInstanceMetadataOptions'|'StartGUISession'|'StopGUISession'|'SetupInstanceHttps',
            'status': 'NotStarted'|'Started'|'Failed'|'Completed'|'Succeeded',
            'statusChangedAt': datetime(2015, 1, 1),
            'errorCode': 'string',
            'errorDetails': 'string'
        },
    ]
}

Response Structure

  • (dict) –

    • bucket (dict) –

      An object that describes the bucket that is updated.

      • resourceType (string) –

        The Lightsail resource type of the bucket.

      • accessRules (dict) –

        An object that describes the access rules of the bucket.

        • getObject (string) –

          Specifies the anonymous access to all objects in a bucket.

          The following options can be specified:

          • public - Sets all objects in the bucket to public (read-only), making them readable by anyone in the world. If the getObject value is set to public, then all objects in the bucket default to public regardless of the allowPublicOverrides value.

          • private - Sets all objects in the bucket to private, making them readable only by you or anyone you give access to. If the getObject value is set to private, and the allowPublicOverrides value is set to true, then all objects in the bucket default to private unless they are configured with a public-read ACL. Individual objects with a public-read ACL are readable by anyone in the world.

        • allowPublicOverrides (boolean) –

          A Boolean value that indicates whether the access control list (ACL) permissions that are applied to individual objects override the getObject option that is currently specified.

          When this is true, you can use the PutObjectAcl Amazon S3 API action to set individual objects to public (read-only) using the public-read ACL, or to private using the private ACL.

      • arn (string) –

        The Amazon Resource Name (ARN) of the bucket.

      • bundleId (string) –

        The ID of the bundle currently applied to the bucket.

        A bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket.

        Use the UpdateBucketBundle action to change the bundle of a bucket.

      • createdAt (datetime) –

        The timestamp when the distribution was created.

      • url (string) –

        The URL of the bucket.

      • location (dict) –

        An object that describes the location of the bucket, such as the Amazon Web Services Region and Availability Zone.

        • availabilityZone (string) –

          The Availability Zone. Follows the format us-east-2a (case-sensitive).

        • regionName (string) –

          The Amazon Web Services Region name.

      • name (string) –

        The name of the bucket.

      • supportCode (string) –

        The support code for a bucket. Include this code in your email to support when you have questions about a Lightsail bucket. This code enables our support team to look up your Lightsail information more easily.

      • tags (list) –

        The tag keys and optional values for the bucket. For more information, see Tags in Amazon Lightsail in the Amazon Lightsail Developer Guide.

        • (dict) –

          Describes a tag key and optional value assigned to an Amazon Lightsail resource.

          For more information about tags in Lightsail, see the Amazon Lightsail Developer Guide.

          • key (string) –

            The key of the tag.

            Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in UTF-8, or the following characters: + - = . _ : / @

          • value (string) –

            The value of the tag.

            Constraints: Tag values accept a maximum of 256 letters, numbers, spaces in UTF-8, or the following characters: + - = . _ : / @

      • objectVersioning (string) –

        Indicates whether object versioning is enabled for the bucket.

        The following options can be configured:

        • Enabled - Object versioning is enabled.

        • Suspended - Object versioning was previously enabled but is currently suspended. Existing object versions are retained.

        • NeverEnabled - Object versioning has never been enabled.

      • ableToUpdateBundle (boolean) –

        Indicates whether the bundle that is currently applied to a bucket can be changed to another bundle.

        You can update a bucket’s bundle only one time within a monthly Amazon Web Services billing cycle.

        Use the UpdateBucketBundle action to change a bucket’s bundle.

      • readonlyAccessAccounts (list) –

        An array of strings that specify the Amazon Web Services account IDs that have read-only access to the bucket.

        • (string) –

      • resourcesReceivingAccess (list) –

        An array of objects that describe Lightsail instances that have access to the bucket.

        Use the SetResourceAccessForBucket action to update the instances that have access to a bucket.

        • (dict) –

          Describes an Amazon Lightsail instance that has access to a Lightsail bucket.

          • name (string) –

            The name of the Lightsail instance.

          • resourceType (string) –

            The Lightsail resource type (for example, Instance).

      • state (dict) –

        An object that describes the state of the bucket.

        • code (string) –

          The state code of the bucket.

          The following codes are possible:

          • OK - The bucket is in a running state.

          • Unknown - Creation of the bucket might have timed-out. You might want to delete the bucket and create a new one.

        • message (string) –

          A message that describes the state of the bucket.

      • accessLogConfig (dict) –

        An object that describes the access log configuration for the bucket.

        • enabled (boolean) –

          A Boolean value that indicates whether bucket access logging is enabled for the bucket.

        • destination (string) –

          The name of the bucket where the access logs are saved. The destination can be a Lightsail bucket in the same account, and in the same Amazon Web Services Region as the source bucket.

          Note

          This parameter is required when enabling the access log for a bucket, and should be omitted when disabling the access log.

        • prefix (string) –

          The optional object prefix for the bucket access log.

          The prefix is an optional addition to the object key that organizes your access log files in the destination bucket. For example, if you specify a logs/ prefix, then each log object will begin with the logs/ prefix in its key (for example, logs/2021-11-01-21-32-16-E568B2907131C0C0).

          Note

          This parameter can be optionally specified when enabling the access log for a bucket, and should be omitted when disabling the access log.

    • operations (list) –

      An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

      • (dict) –

        Describes the API operation.

        • id (string) –

          The ID of the operation.

        • resourceName (string) –

          The resource name.

        • resourceType (string) –

          The resource type.

        • createdAt (datetime) –

          The timestamp when the operation was initialized ( 1479816991.349).

        • location (dict) –

          The Amazon Web Services Region and Availability Zone.

          • availabilityZone (string) –

            The Availability Zone. Follows the format us-east-2a (case-sensitive).

          • regionName (string) –

            The Amazon Web Services Region name.

        • isTerminal (boolean) –

          A Boolean value indicating whether the operation is terminal.

        • operationDetails (string) –

          Details about the operation ( Debian-1GB-Ohio-1).

        • operationType (string) –

          The type of operation.

        • status (string) –

          The status of the operation.

        • statusChangedAt (datetime) –

          The timestamp when the status was changed ( 1479816991.349).

        • errorCode (string) –

          The error code.

        • errorDetails (string) –

          The error details.

Exceptions