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

# Gestión de Aplicaciones

> En esta sección aprenderás a gestionar tu aplicación usando la biblioteca disponible. Puedes interactuar con tu aplicación de varias formas, como obtener información sobre el estado de la aplicación, acceder a los logs, iniciar, detener y reiniciar la aplicación, así como gestionar los archivos asociados a ella.

[Client]: client

[Application]: client#application

Todas las operaciones a continuación pueden realizarse tanto con la clase [Client], la
clase [Application] como con la CLI. A continuación se muestran ejemplos de cómo realizar cada una de
estas tareas usando ambas clases:

## Obteniendo el estado de tu aplicación

`client.app_status` y `app.status` devuelven un objeto `StatusData`.

<Tabs>
  <Tab title="Usando Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        status = await client.app_status('application_id')  # StatusData(...)

        print(status.ram)      # '70MB'
        print(status.cpu)      # '5%'
        print(status.network)  # {'total': '0 KB ↑ 0 KB ↓', 'now': '0 KB ↑ 0 KB ↓'}
        print(status.running)  # True | False
        print(status.storage)  # '0B'
    ```
  </Tab>

  <Tab title="Usando Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')  # StatusData(...)
        status = await app.status()

        print(status.ram)  # '70MB'
        print(status.cpu)  # '5%'
        print(status.network)  # {'total': '0 KB ↑ 0 KB ↓', 'now': '0 KB ↑ 0 KB ↓'}
        print(status.running)  # True | False
        print(status.storage)  # '0B'
    ```
  </Tab>
</Tabs>

## Obteniendo los logs

`client.get_logs` y `app.logs` devuelven un objeto `LogsData`.

<Tabs>
  <Tab title="Usando Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        logs = await client.get_logs('application_id')

        print(logs)  # LogsData(logs='Hello World!')
        print(logs.logs)  # 'Hello World'
    ```
  </Tab>

  <Tab title="Usando Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        logs = await app.logs()

        print(logs)  # LogsData(logs='Hello World!')
        print(logs.logs)  # 'Hello World'
    ```
  </Tab>
</Tabs>

## Iniciando la aplicación

`client.start_app` y `app.start` devuelven un objeto `Response`.

<Tabs>
  <Tab title="Usando Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.start_app('application_id')
    ```
  </Tab>

  <Tab title="Usando Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.start()
    ```
  </Tab>
</Tabs>

## Deteniendo la aplicación

`client.stop_app` y `app.stop` devuelven un objeto `Response`.

<Tabs>
  <Tab title="Usando Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.stop_app('application_id')
    ```
  </Tab>

  <Tab title="Usando Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.stop()
    ```
  </Tab>
</Tabs>

## Reiniciando la aplicación

`client.restart_app` y `app.restart` devuelven un objeto `Response`.

<Tabs>
  <Tab title="Usando Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.restart_app('application_id')
    ```
  </Tab>

  <Tab title="Usando Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.restart()
    ```
  </Tab>
</Tabs>

## Eliminando una aplicación

`client.delete_app` y `app.delete` devuelven un objeto `Response`.

<Warning>
  Esto eliminará tu aplicación de forma **PERMANENTE**, lo que significa que, a menos que tengas una copia de seguridad de tu aplicación, no podrá recuperarse.
</Warning>

<Tabs>
  <Tab title="Usando Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        await client.delete_app('application_id')
    ```
  </Tab>

  <Tab title="Usando Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(api_key='API KEY')

    async def example():
        app = await client.app('application_id')
        await app.delete()
    ```
  </Tab>
</Tabs>
