Como gerenciar e excluir recursos

Nesta página, explicamos como o Config Connector gerencia um recurso existente e lida com exclusão de recursos.

Quando você define um recurso usando o Config Connector, uma das seguintes ações ocorre:

  • Se o recurso não existir, o Config Connector vai criá-lo. Para ver um exemplo de como criar um recurso, consulte Introdução.
  • Se já existir um recurso com o mesmo nome, o Config Connector vai adquirir esse recurso e começar a gerenciá-lo. O Config Connector verifica o nome na organização, no projeto ou na pasta. Esta página explica em detalhes como o Config Connector adquire, gerencia e lida com a exclusão de recursos.

Também é possível gerenciar os recursos usando o campo resourceID. Alguns recursos só podem ser adquiridos usando o campo resourceID. Alguns recursos só podem ser criados como novos e não adquiridos. Para saber mais, consulte Como gerenciar recursos com o campo resourceID.

Como adquirir um recurso existente

Nesta seção, descrevemos como adquirir um recurso existente com o Config Connector, usando um recurso do BigQuery como exemplo.

Antes de começar

  1. Ativar a API BigQuery.
  2. Confirme se você tem acesso à ferramenta de linha de comando bq. Se você não tiver bq, use o Cloud Shell ou instale-o com a gcloud CLI.

Como adquirir um conjunto de dados do BigQuery

O Config Connector adquire ou assume o controle de recursos quando os valores no manifesto e o nome do recurso correspondem. Se um recurso não tiver um nome (por exemplo, um código do projeto), o código do recurso será usado.

Ao criar um conjunto de dados vazio do BigQuery e adquirir o conjunto com o Config Connector, você aprende como o Config Connector lida com recursos atuais.

  1. Crie um conjunto de dados do BigQuery chamado bigquerydatasetsample com bq.

    bq --location=US mk \
    --dataset \
    --default_table_expiration 3600 \
    --description description \
    PROJECT_ID:bigquerydatasetsample
  2. Copie o conteúdo a seguir em um arquivo chamado bq-sample.yaml.

      apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
      kind: BigQueryDataset
      metadata:
        name: bigquerydatasetsample
      spec:
        defaultTableExpirationMs: 3600000
        description: "BigQuery Dataset Sample"
        friendlyName: bigquerydataset-sample
        location: US
    
  3. Aplique o YAML ao cluster.

    kubectl apply --namespace CC_NAMESPACE -f bq-sample.yaml

    Substitua CC_NAMESPACE pelo namespace em que o Config Connector gerencia recursos.

  4. Use kubectl describe para ver detalhes sobre o conjunto de dados.

    kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydatasetsample

    Substitua CC_NAMESPACE pelo namespace em que o Config Connector gerencia recursos.

    O resultado de kubectl describe inclui metadados sobre o status e a propriedade do recurso.

Como excluir o conjunto de dados

Por padrão, após o Config Connector adquirir e gerenciar um recurso, a exclusão do objeto do seu cluster excluirá o recurso. Se você preferir manter o conjunto de dados, defina o deletion-policy do recurso.

Por exemplo, a exclusão do manifesto que adquiriu bigquerydataset-sample excluirá o conjunto de dados do BigQuery.

  1. Exclua o conjunto de dados bigquerydataset-sample com kubectl delete.

    kubectl delete --namespace CC_NAMESPACE -f bq-sample.yaml

    Substitua CC_NAMESPACE pelo namespace em que o Config Connector gerencia recursos.

    O resultado de kubectl confirma a exclusão:

    bigquerydataset.bigquery.cnrm.cloud.google.com "bigquerydatasetsample" deleted
    
  2. Use bq para confirmar que o conjunto de dados não existe mais.

    bq show PROJECT_ID:bigquerydatasetsample

    O resultado do comando inclui Not Found.

Como manter recursos após a exclusão

...
metadata:
  annotations:
    cnrm.cloud.google.com/deletion-policy: abandon
...

Por exemplo, o YAML para o conjunto de dados do BigQuery descrito anteriormente, incluindo a política de exclusão abandon, está abaixo:

apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
kind: BigQueryDataset
metadata:
  name: bigquerydatasetsample
  annotations:
    cnrm.cloud.google.com/deletion-policy: abandon
spec:
  defaultTableExpirationMs: 3600000
  description: "BigQuery Dataset Sample"
  friendlyName: bigquerydataset-sample
  location: US

Recursos com restrições de aquisição

Alguns recursos não podem ser adquiridos seguindo as instruções da seção anterior. Esta seção detalha as limitações de aquisição para alguns recursos.

Recursos com um ID de recurso gerado pelo serviço

Só é possível adquirir recursos Google Cloud que tenham um ID de recurso gerado pelo serviço usando o campo resourceID.

Os seguintes recursos do Config Connector correspondem aos recursos do Google Cloud que têm um ID de recurso gerado pelo serviço:

  • AccessContextManagerAccessPolicy
  • ApigeeOrganization
  • BillingBudgetsBudget
  • CloudIdentityGroup
  • CloudIdentityMembership
  • ComputeFirewallPolicy
  • DLPDeidentifyTemplate
  • DLPInspectTemplate
  • DLPJobTrigger
  • DLPStoredInfoType
  • Folder
  • IAPBrand
  • IAPIdentityAwareProxyClient
  • IdentityPlatformTenant
  • MonitoringAlertPolicy
  • MonitoringGroup
  • MonitoringNotificationChannel
  • MonitoringUptimeCheckConfig
  • RecaptchaEnterpriseKey
  • ResourceManagerLien
  • SQLSSLCert
  • SecretManagerSecretVersion
  • StorageNotification
  • StorageTransferJob
  • VertexAIDataset
  • VertexAIIndex

Para saber como usar o campo resourceID, consulte Como gerenciar recursos com o campo resourceID.

Recursos que não podem ser adquiridos

Os seguintes recursos do Config Connector não têm suporte à aquisição de recursos Google Cloud existentes:

  • DataflowFlexTemplateJob
  • FirestoreIndex
  • IAMServiceAccountKey

A seguir