:doc:`Lightsail <../../lightsail>` / Client / update_bucket_bundle

********************
update_bucket_bundle
********************



.. py:method:: Lightsail.Client.update_bucket_bundle(**kwargs)

  

  Updates the bundle, or storage plan, of an existing Amazon Lightsail bucket.

   

  A bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket. You can update a bucket's bundle only one time within a monthly Amazon Web Services billing cycle. To determine if you can update a bucket's bundle, use the `GetBuckets <https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetBuckets.html>`__ action. The ``ableToUpdateBundle`` parameter in the response will indicate whether you can currently update a bucket's bundle.

   

  Update a bucket's bundle if it's consistently going over its storage space or data transfer quota, or if a bucket's usage is consistently in the lower range of its storage space or data transfer quota. Due to the unpredictable usage fluctuations that a bucket might experience, we strongly recommend that you update a bucket's bundle only as a long-term strategy, instead of as a short-term, monthly cost-cutting measure. Choose a bucket bundle that will provide the bucket with ample storage space and data transfer for a long time to come.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateBucketBundle>`_  


  **Request Syntax**
  ::

    response = client.update_bucket_bundle(
        bucketName='string',
        bundleId='string'
    )
    
  :type bucketName: string
  :param bucketName: **[REQUIRED]** 

    The name of the bucket for which to update the bundle.

    

  
  :type bundleId: string
  :param bundleId: **[REQUIRED]** 

    The ID of the new bundle to apply to the bucket.

     

    Use the `GetBucketBundles <https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetBucketBundles.html>`__ action to get a list of bundle IDs that you can specify.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          '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'|'ap-southeast-3'
                  },
                  '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) --* 
      

      - **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**
  
  *   :py:class:`Lightsail.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`Lightsail.Client.exceptions.InvalidInputException`

  
  *   :py:class:`Lightsail.Client.exceptions.NotFoundException`

  
  *   :py:class:`Lightsail.Client.exceptions.ServiceException`

  
  *   :py:class:`Lightsail.Client.exceptions.UnauthenticatedException`

  
  *   :py:class:`Lightsail.Client.exceptions.RegionSetupInProgressException`

  