google.api.ResourceDescriptor */ class ResourceDescriptor extends \Google\Protobuf\Internal\Message { /** * The resource type. It must be in the format of * {service_name}/{resource_type_kind}. The `resource_type_kind` must be * singular and must not include version numbers. * Example: `storage.googleapis.com/Bucket` * The value of the resource_type_kind must follow the regular expression * /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and * should use PascalCase (UpperCamelCase). The maximum number of * characters allowed for the `resource_type_kind` is 100. * * Generated from protobuf field string type = 1; */ protected $type = ''; /** * Optional. The relative resource name pattern associated with this resource * type. The DNS prefix of the full resource name shouldn't be specified here. * The path pattern must follow the syntax, which aligns with HTTP binding * syntax: * Template = Segment { "/" Segment } ; * Segment = LITERAL | Variable ; * Variable = "{" LITERAL "}" ; * Examples: * - "projects/{project}/topics/{topic}" * - "projects/{project}/knowledgeBases/{knowledge_base}" * The components in braces correspond to the IDs for each resource in the * hierarchy. It is expected that, if multiple patterns are provided, * the same component name (e.g. "project") refers to IDs of the same * type of resource. * * Generated from protobuf field repeated string pattern = 2; */ private $pattern; /** * Optional. The field on the resource that designates the resource name * field. If omitted, this is assumed to be "name". * * Generated from protobuf field string name_field = 3; */ protected $name_field = ''; /** * Optional. The historical or future-looking state of the resource pattern. * Example: * // The InspectTemplate message originally only supported resource * // names with organization, and project was added later. * message InspectTemplate { * option (google.api.resource) = { * type: "dlp.googleapis.com/InspectTemplate" * pattern: * "organizations/{organization}/inspectTemplates/{inspect_template}" * pattern: "projects/{project}/inspectTemplates/{inspect_template}" * history: ORIGINALLY_SINGLE_PATTERN * }; * } * * Generated from protobuf field .google.api.ResourceDescriptor.History history = 4; */ protected $history = 0; /** * The plural name used in the resource name and permission names, such as * 'projects' for the resource name of 'projects/{project}' and the permission * name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception * to this is for Nested Collections that have stuttering names, as defined * in [AIP-122](https://google.aip.dev/122#nested-collections), where the * collection ID in the resource name pattern does not necessarily directly * match the `plural` value. * It is the same concept of the `plural` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Note: The plural form is required even for singleton resources. See * https://aip.dev/156 * * Generated from protobuf field string plural = 5; */ protected $plural = ''; /** * The same concept of the `singular` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Such as "project" for the `resourcemanager.googleapis.com/Project` type. * * Generated from protobuf field string singular = 6; */ protected $singular = ''; /** * Style flag(s) for this resource. * These indicate that a resource is expected to conform to a given * style. See the specific style flags for additional information. * * Generated from protobuf field repeated .google.api.ResourceDescriptor.Style style = 10; */ private $style; /** * Constructor. * * @param array $data { * Optional. Data for populating the Message object. * * @type string $type * The resource type. It must be in the format of * {service_name}/{resource_type_kind}. The `resource_type_kind` must be * singular and must not include version numbers. * Example: `storage.googleapis.com/Bucket` * The value of the resource_type_kind must follow the regular expression * /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and * should use PascalCase (UpperCamelCase). The maximum number of * characters allowed for the `resource_type_kind` is 100. * @type array|\Google\Protobuf\Internal\RepeatedField $pattern * Optional. The relative resource name pattern associated with this resource * type. The DNS prefix of the full resource name shouldn't be specified here. * The path pattern must follow the syntax, which aligns with HTTP binding * syntax: * Template = Segment { "/" Segment } ; * Segment = LITERAL | Variable ; * Variable = "{" LITERAL "}" ; * Examples: * - "projects/{project}/topics/{topic}" * - "projects/{project}/knowledgeBases/{knowledge_base}" * The components in braces correspond to the IDs for each resource in the * hierarchy. It is expected that, if multiple patterns are provided, * the same component name (e.g. "project") refers to IDs of the same * type of resource. * @type string $name_field * Optional. The field on the resource that designates the resource name * field. If omitted, this is assumed to be "name". * @type int $history * Optional. The historical or future-looking state of the resource pattern. * Example: * // The InspectTemplate message originally only supported resource * // names with organization, and project was added later. * message InspectTemplate { * option (google.api.resource) = { * type: "dlp.googleapis.com/InspectTemplate" * pattern: * "organizations/{organization}/inspectTemplates/{inspect_template}" * pattern: "projects/{project}/inspectTemplates/{inspect_template}" * history: ORIGINALLY_SINGLE_PATTERN * }; * } * @type string $plural * The plural name used in the resource name and permission names, such as * 'projects' for the resource name of 'projects/{project}' and the permission * name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception * to this is for Nested Collections that have stuttering names, as defined * in [AIP-122](https://google.aip.dev/122#nested-collections), where the * collection ID in the resource name pattern does not necessarily directly * match the `plural` value. * It is the same concept of the `plural` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Note: The plural form is required even for singleton resources. See * https://aip.dev/156 * @type string $singular * The same concept of the `singular` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Such as "project" for the `resourcemanager.googleapis.com/Project` type. * @type array|\Google\Protobuf\Internal\RepeatedField $style * Style flag(s) for this resource. * These indicate that a resource is expected to conform to a given * style. See the specific style flags for additional information. * } */ public function __construct($data = NULL) { \GPBMetadata\Google\Api\Resource::initOnce(); parent::__construct($data); } /** * The resource type. It must be in the format of * {service_name}/{resource_type_kind}. The `resource_type_kind` must be * singular and must not include version numbers. * Example: `storage.googleapis.com/Bucket` * The value of the resource_type_kind must follow the regular expression * /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and * should use PascalCase (UpperCamelCase). The maximum number of * characters allowed for the `resource_type_kind` is 100. * * Generated from protobuf field string type = 1; * @return string */ public function getType() { return $this->type; } /** * The resource type. It must be in the format of * {service_name}/{resource_type_kind}. The `resource_type_kind` must be * singular and must not include version numbers. * Example: `storage.googleapis.com/Bucket` * The value of the resource_type_kind must follow the regular expression * /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and * should use PascalCase (UpperCamelCase). The maximum number of * characters allowed for the `resource_type_kind` is 100. * * Generated from protobuf field string type = 1; * @param string $var * @return $this */ public function setType($var) { GPBUtil::checkString($var, True); $this->type = $var; return $this; } /** * Optional. The relative resource name pattern associated with this resource * type. The DNS prefix of the full resource name shouldn't be specified here. * The path pattern must follow the syntax, which aligns with HTTP binding * syntax: * Template = Segment { "/" Segment } ; * Segment = LITERAL | Variable ; * Variable = "{" LITERAL "}" ; * Examples: * - "projects/{project}/topics/{topic}" * - "projects/{project}/knowledgeBases/{knowledge_base}" * The components in braces correspond to the IDs for each resource in the * hierarchy. It is expected that, if multiple patterns are provided, * the same component name (e.g. "project") refers to IDs of the same * type of resource. * * Generated from protobuf field repeated string pattern = 2; * @return \Google\Protobuf\Internal\RepeatedField */ public function getPattern() { return $this->pattern; } /** * Optional. The relative resource name pattern associated with this resource * type. The DNS prefix of the full resource name shouldn't be specified here. * The path pattern must follow the syntax, which aligns with HTTP binding * syntax: * Template = Segment { "/" Segment } ; * Segment = LITERAL | Variable ; * Variable = "{" LITERAL "}" ; * Examples: * - "projects/{project}/topics/{topic}" * - "projects/{project}/knowledgeBases/{knowledge_base}" * The components in braces correspond to the IDs for each resource in the * hierarchy. It is expected that, if multiple patterns are provided, * the same component name (e.g. "project") refers to IDs of the same * type of resource. * * Generated from protobuf field repeated string pattern = 2; * @param array|\Google\Protobuf\Internal\RepeatedField $var * @return $this */ public function setPattern($var) { $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); $this->pattern = $arr; return $this; } /** * Optional. The field on the resource that designates the resource name * field. If omitted, this is assumed to be "name". * * Generated from protobuf field string name_field = 3; * @return string */ public function getNameField() { return $this->name_field; } /** * Optional. The field on the resource that designates the resource name * field. If omitted, this is assumed to be "name". * * Generated from protobuf field string name_field = 3; * @param string $var * @return $this */ public function setNameField($var) { GPBUtil::checkString($var, True); $this->name_field = $var; return $this; } /** * Optional. The historical or future-looking state of the resource pattern. * Example: * // The InspectTemplate message originally only supported resource * // names with organization, and project was added later. * message InspectTemplate { * option (google.api.resource) = { * type: "dlp.googleapis.com/InspectTemplate" * pattern: * "organizations/{organization}/inspectTemplates/{inspect_template}" * pattern: "projects/{project}/inspectTemplates/{inspect_template}" * history: ORIGINALLY_SINGLE_PATTERN * }; * } * * Generated from protobuf field .google.api.ResourceDescriptor.History history = 4; * @return int */ public function getHistory() { return $this->history; } /** * Optional. The historical or future-looking state of the resource pattern. * Example: * // The InspectTemplate message originally only supported resource * // names with organization, and project was added later. * message InspectTemplate { * option (google.api.resource) = { * type: "dlp.googleapis.com/InspectTemplate" * pattern: * "organizations/{organization}/inspectTemplates/{inspect_template}" * pattern: "projects/{project}/inspectTemplates/{inspect_template}" * history: ORIGINALLY_SINGLE_PATTERN * }; * } * * Generated from protobuf field .google.api.ResourceDescriptor.History history = 4; * @param int $var * @return $this */ public function setHistory($var) { GPBUtil::checkEnum($var, \Google\Api\ResourceDescriptor\History::class); $this->history = $var; return $this; } /** * The plural name used in the resource name and permission names, such as * 'projects' for the resource name of 'projects/{project}' and the permission * name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception * to this is for Nested Collections that have stuttering names, as defined * in [AIP-122](https://google.aip.dev/122#nested-collections), where the * collection ID in the resource name pattern does not necessarily directly * match the `plural` value. * It is the same concept of the `plural` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Note: The plural form is required even for singleton resources. See * https://aip.dev/156 * * Generated from protobuf field string plural = 5; * @return string */ public function getPlural() { return $this->plural; } /** * The plural name used in the resource name and permission names, such as * 'projects' for the resource name of 'projects/{project}' and the permission * name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception * to this is for Nested Collections that have stuttering names, as defined * in [AIP-122](https://google.aip.dev/122#nested-collections), where the * collection ID in the resource name pattern does not necessarily directly * match the `plural` value. * It is the same concept of the `plural` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Note: The plural form is required even for singleton resources. See * https://aip.dev/156 * * Generated from protobuf field string plural = 5; * @param string $var * @return $this */ public function setPlural($var) { GPBUtil::checkString($var, True); $this->plural = $var; return $this; } /** * The same concept of the `singular` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Such as "project" for the `resourcemanager.googleapis.com/Project` type. * * Generated from protobuf field string singular = 6; * @return string */ public function getSingular() { return $this->singular; } /** * The same concept of the `singular` field in k8s CRD spec * https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/ * Such as "project" for the `resourcemanager.googleapis.com/Project` type. * * Generated from protobuf field string singular = 6; * @param string $var * @return $this */ public function setSingular($var) { GPBUtil::checkString($var, True); $this->singular = $var; return $this; } /** * Style flag(s) for this resource. * These indicate that a resource is expected to conform to a given * style. See the specific style flags for additional information. * * Generated from protobuf field repeated .google.api.ResourceDescriptor.Style style = 10; * @return \Google\Protobuf\Internal\RepeatedField */ public function getStyle() { return $this->style; } /** * Style flag(s) for this resource. * These indicate that a resource is expected to conform to a given * style. See the specific style flags for additional information. * * Generated from protobuf field repeated .google.api.ResourceDescriptor.Style style = 10; * @param array|\Google\Protobuf\Internal\RepeatedField $var * @return $this */ public function setStyle($var) { $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Api\ResourceDescriptor\Style::class); $this->style = $arr; return $this; } }