> ## Documentation Index
> Fetch the complete documentation index at: https://cloudanix.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Subscribe Throughput Capacity Should Be Between 4 and 32

### More Info:

Ensure subscribe throughput capacity is between 4 and 32

### Risk Level

Low

### Address

Operational Maturity, Reliability

### Compliance Standards

CBP

### Triage and Remediation

<Tabs>
  <Tab title="Remediation">
    ### Remediation

    <AccordionGroup>
      <Accordion title="Using Console" defaultOpen="true">
        To remediate the misconfiguration "Subscribe Throughput Capacity Should Be Between 4 and 32" in GCP using GCP console, follow the below steps:

        1. Open the GCP console and navigate to the Pub/Sub section.

        2. Select the subscription that is misconfigured.

        3. Click on the "Edit" button to edit the subscription.

        4. In the "Subscription Configuration" section, locate the "Throughput capacity" field.

        5. Enter a value between 4 and 32 in the "Throughput capacity" field.

        6. Click on the "Save" button to save the changes.

        7. Verify that the subscription now has a throughput capacity between 4 and 32.

        By following these steps, you can remediate the misconfiguration "Subscribe Throughput Capacity Should Be Between 4 and 32" in GCP using GCP console.

        #
      </Accordion>

      <Accordion title="Using CLI">
        To remediate the "Subscribe Throughput Capacity Should Be Between 4 and 32" misconfiguration on GCP using GCP CLI, you can follow these steps:

        1. Open the Cloud Shell in your GCP Console.
        2. Run the following command to list all the Pub/Sub subscriptions in your project:

        ```
        gcloud pubsub subscriptions list
        ```

        3. Identify the subscription that has a throughput capacity outside the range of 4 to 32.
        4. Run the following command to update the throughput capacity of the subscription:

        ```
        gcloud pubsub subscriptions update [SUBSCRIPTION_NAME] --update-labels=google.pubsub.subscription.capacity=4
        ```

        Replace `[SUBSCRIPTION_NAME]` with the name of the subscription you want to update, and set the capacity value to 4 (or any value between 4 and 32).
        5\. Verify that the subscription capacity has been updated by running the following command:

        ```
        gcloud pubsub subscriptions describe [SUBSCRIPTION_NAME]
        ```

        This will display the details of the subscription, including the updated capacity value.

        By following these steps, you can remediate the "Subscribe Throughput Capacity Should Be Between 4 and 32" misconfiguration for GCP using GCP CLI.
      </Accordion>

      <Accordion title="Using Python">
        To remediate the issue of Subscribe Throughput Capacity Should Be Between 4 and 32 in GCP using Python, follow these steps:

        1. First, you need to authenticate with GCP using Python. You can do this by installing the Google Cloud SDK and then running the following command in your terminal:

           ```
           gcloud auth login
           ```

        2. Next, you need to install the `google-cloud-pubsub` library using pip. You can do this by running the following command in your terminal:

           ```
           pip install google-cloud-pubsub
           ```

        3. Once you have authenticated and installed the necessary libraries, you can use the following Python code to remediate the issue:

           ```python theme={null}
           from google.cloud import pubsub_v1

           # Set the project ID and subscription name
           project_id = "your-project-id"
           subscription_name = "your-subscription-name"

           # Create a subscriber client
           subscriber = pubsub_v1.SubscriberClient()

           # Get the subscription object
           subscription_path = subscriber.subscription_path(project_id, subscription_name)
           subscription = subscriber.get_subscription(subscription_path)

           # Check the current throughput capacity
           current_capacity = subscription.flow_control.max_messages

           # If the current capacity is outside the range of 4 to 32, update it to 4
           if current_capacity < 4 or current_capacity > 32:
               subscription.flow_control.max_messages = 4
               subscriber.update_subscription(subscription, {"updateMask": "flow_control"})

           # Close the subscriber client
           subscriber.close()
           ```

        4. In the code above, replace `your-project-id` and `your-subscription-name` with the actual project ID and subscription name that you want to remediate.

        5. Run the Python code in your terminal using the following command:

           ```
           python remediate_subscribe_throughput.py
           ```

           This will update the subscription's throughput capacity to 4 if it is currently outside the range of 4 to 32.
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>
