create_bucket

Lightsail.Client.create_bucket(**kwargs)

Creates an Amazon Lightsail bucket.

A bucket is a cloud storage resource available in the Lightsail object storage service. Use buckets to store objects such as data and its descriptive metadata. For more information about buckets, see Buckets in Amazon Lightsail in the Amazon Lightsail Developer Guide .

See also: AWS API Documentation

Request Syntax

response = client.create_bucket(
    bucketName='string',
    bundleId='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    enableObjectVersioning=True|False
)
Parameters
  • bucketName (string) --

    [REQUIRED]

    The name for the bucket.

    For more information about bucket names, see Bucket naming rules in Amazon Lightsail in the Amazon Lightsail Developer Guide .

  • bundleId (string) --

    [REQUIRED]

    The ID of the bundle to use for the bucket.

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

    Use the GetBucketBundles action to get a list of bundle IDs that you can specify.

    Use the UpdateBucketBundle action to change the bundle after the bucket is created.

  • tags (list) --

    The tag keys and optional values to add to the bucket during creation.

    Use the TagResource action to tag the bucket after it's created.

    • (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: + - = . _ : / @

  • enableObjectVersioning (boolean) --

    A Boolean value that indicates whether to enable versioning of objects in the bucket.

    For more information about versioning, see Enabling and suspending object versioning in a bucket in Amazon Lightsail in the Amazon Lightsail Developer Guide .

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',
            '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 created.

      • resourceType (string) --

        The Lightsail resource type of the bucket (for example, 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 (e.g., 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 (e.g., 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 (e.g., 1479816991.349 ).

        • errorCode (string) --

          The error code.

        • errorDetails (string) --

          The error details.

Exceptions

  • Lightsail.Client.exceptions.AccessDeniedException
  • Lightsail.Client.exceptions.InvalidInputException
  • Lightsail.Client.exceptions.ServiceException
  • Lightsail.Client.exceptions.UnauthenticatedException