> ## 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.

# Gerenciando Aplicações

> Nesta seção, você aprenderá como gerenciar sua aplicação utilizando a biblioteca disponível. Você pode interagir com sua aplicação de diversas formas, como obter informações sobre o status, acessar logs, iniciar, parar e reiniciar a aplicação, além de gerenciar arquivos associados a ela.

[Client]: client

[Application]: client#aplication

Todas as operações abaixo podem ser realizadas tanto pela classe [Client],
pela classe [Application] ou pela CLI. A seguir, exemplos de como executar cada uma dessas tarefas usando ambas as classes:

## Obtendo o status da sua aplicação

`client.app_status` and `app.status` return a `StatusData` object.

<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>

## Obtendo logs

`client.get_logs` and `app.logs` return a `LogsData` object.

<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 a aplicação

`client.start_app` and `app.start` return a `Response` object.

<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>

## Parando a aplicação

`client.stop_app` and `app.stop` return a `Response` object.

<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 a aplicação

`client.restart_app` and `app.restart` return a `Response` object.

<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>

## Excluindo uma aplicação

`client.delete_app` and `app.delete` return a `Response` object.

<Warning>
  Isso irá excluir sua aplicação **PERMANENTEMENTE**, ou seja, a menos que você tenha um backup, ela não poderá ser recuperada.
</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>
