ResourceManagerLien


A Lien represents an encumbrance on the actions that can be performed on a resource.

Property Value
Google Cloud Service Name Cloud Resource Manager
Google Cloud Service Documentation /resource-manager/docs/
Google Cloud REST Resource Name v1.liens
Google Cloud REST Resource Documentation /resource-manager/reference/rest/v1/liens
Config Connector Resource Short Names gcpresourcemanagerlien
gcpresourcemanagerliens
resourcemanagerlien
Config Connector Service Name cloudresourcemanager.googleapis.com
Config Connector Resource Fully Qualified Name resourcemanagerliens.resourcemanager.cnrm.cloud.google.com
Can Be Referenced by IAMPolicy/IAMPolicyMember No
Config Connector Default Average Reconcile Interval In Seconds 600

Custom Resource Definition Properties

Annotations

Fields
cnrm.cloud.google.com/state-into-spec

Spec

Schema

origin: string
parent:
  projectRef:
    external: string
    name: string
    namespace: string
reason: string
resourceID: string
restrictions:
- string
Fields

origin

Required

string

Immutable. A stable, user-visible/meaningful string identifying the origin of the Lien, intended to be inspected programmatically. Maximum length of 200 characters.

parent

Required

object

parent.projectRef

Optional

object

parent.projectRef.external

Optional

string

Allowed value: string of the format `projects/{{value}}`, where {{value}} is the `number` field of a `Project` resource.

parent.projectRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

parent.projectRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

reason

Required

string

Immutable. Concise user-visible strings indicating why an action cannot be performed on a resource. Maximum length of 200 characters.

resourceID

Optional

string

Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.

restrictions

Required

list (string)

Immutable. The types of operations which should be blocked as a result of this Lien. Each value should correspond to an IAM permission. The server will validate the permissions against those for which Liens are supported. An empty list is meaningless and will be rejected. e.g. ['resourcemanager.projects.delete'].

restrictions[]

Required

string

Status

Schema

conditions:
- lastTransitionTime: string
  message: string
  reason: string
  status: string
  type: string
createTime: string
name: string
observedGeneration: integer
Fields
conditions

list (object)

Conditions represent the latest available observation of the resource's current state.

conditions[]

object

conditions[].lastTransitionTime

string

Last time the condition transitioned from one status to another.

conditions[].message

string

Human-readable message indicating details about last transition.

conditions[].reason

string

Unique, one-word, CamelCase reason for the condition's last transition.

conditions[].status

string

Status is the status of the condition. Can be True, False, Unknown.

conditions[].type

string

Type is the type of the condition.

createTime

string

Time of creation.

name

string

A system-generated unique identifier for this Lien.

observedGeneration

integer

ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.

Sample YAML(s)

Typical Use Case

# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
kind: ResourceManagerLien
metadata:
  name: resourcemanagerlien-sample
spec:
  origin: project-deletion-prohibited
  reason: This project is protected from deletion, for reasons which can be explained in this field.
  parent:
    projectRef:
      name: resourcemanagerlien-dep
  restrictions:
    - resourcemanager.projects.delete
---
apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
kind: Project
metadata:
  annotations:
    # Replace "${ORG_ID?}" with the numeric ID for your organization
    cnrm.cloud.google.com/organization-id: "${ORG_ID?}"
    cnrm.cloud.google.com/auto-create-network: "false"
  name: resourcemanagerlien-dep
spec:
  name: ResourceManagerLien dependency