Class ResourceDescriptor (2.25.0)

public final class ResourceDescriptor extends GeneratedMessageV3 implements ResourceDescriptorOrBuilder

A simple descriptor of a resource type.

ResourceDescriptor annotates a resource message (either by means of a protobuf annotation or use in the service config), and associates the resource's schema, the resource type, and the pattern of the resource name.

Example:

 message Topic {
   // Indicates this message defines a resource schema.
   // Declares the resource type in the format of {service}/{kind}.
   // For Kubernetes resources, the format is {api group}/{kind}.
   option (google.api.resource) = {
     type: "pubsub.googleapis.com/Topic"
     pattern: "projects/{project}/topics/{topic}"
   };
 }

The ResourceDescriptor Yaml config will look like:

 resources:
 - type: "pubsub.googleapis.com/Topic"
   pattern: "projects/{project}/topics/{topic}"

Sometimes, resources have multiple patterns, typically because they can live under multiple parents.

Example:

 message LogEntry {
   option (google.api.resource) = {
     type: "logging.googleapis.com/LogEntry"
     pattern: "projects/{project}/logs/{log}"
     pattern: "folders/{folder}/logs/{log}"
     pattern: "organizations/{organization}/logs/{log}"
     pattern: "billingAccounts/{billing_account}/logs/{log}"
   };
 }

The ResourceDescriptor Yaml config will look like:

 resources:
 - type: 'logging.googleapis.com/LogEntry'
   pattern: "projects/{project}/logs/{log}"
   pattern: "folders/{folder}/logs/{log}"
   pattern: "organizations/{organization}/logs/{log}"
   pattern: "billingAccounts/{billing_account}/logs/{log}"

Protobuf type google.api.ResourceDescriptor

Static Fields

HISTORY_FIELD_NUMBER

public static final int HISTORY_FIELD_NUMBER
Field Value
TypeDescription
int

NAME_FIELD_FIELD_NUMBER

public static final int NAME_FIELD_FIELD_NUMBER
Field Value
TypeDescription
int

PATTERN_FIELD_NUMBER

public static final int PATTERN_FIELD_NUMBER
Field Value
TypeDescription
int

PLURAL_FIELD_NUMBER

public static final int PLURAL_FIELD_NUMBER
Field Value
TypeDescription
int

SINGULAR_FIELD_NUMBER

public static final int SINGULAR_FIELD_NUMBER
Field Value
TypeDescription
int

STYLE_FIELD_NUMBER

public static final int STYLE_FIELD_NUMBER
Field Value
TypeDescription
int

TYPE_FIELD_NUMBER

public static final int TYPE_FIELD_NUMBER
Field Value
TypeDescription
int

Static Methods

getDefaultInstance()

public static ResourceDescriptor getDefaultInstance()
Returns
TypeDescription
ResourceDescriptor

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
TypeDescription
Descriptor

newBuilder()

public static ResourceDescriptor.Builder newBuilder()
Returns
TypeDescription
ResourceDescriptor.Builder

newBuilder(ResourceDescriptor prototype)

public static ResourceDescriptor.Builder newBuilder(ResourceDescriptor prototype)
Parameter
NameDescription
prototypeResourceDescriptor
Returns
TypeDescription
ResourceDescriptor.Builder

parseDelimitedFrom(InputStream input)

public static ResourceDescriptor parseDelimitedFrom(InputStream input)
Parameter
NameDescription
inputInputStream
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
IOException

parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)

public static ResourceDescriptor parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
IOException

parseFrom(byte[] data)

public static ResourceDescriptor parseFrom(byte[] data)
Parameter
NameDescription
databyte[]
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)

public static ResourceDescriptor parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
databyte[]
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(ByteString data)

public static ResourceDescriptor parseFrom(ByteString data)
Parameter
NameDescription
dataByteString
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)

public static ResourceDescriptor parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
dataByteString
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(CodedInputStream input)

public static ResourceDescriptor parseFrom(CodedInputStream input)
Parameter
NameDescription
inputCodedInputStream
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
IOException

parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

public static ResourceDescriptor parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputCodedInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
IOException

parseFrom(InputStream input)

public static ResourceDescriptor parseFrom(InputStream input)
Parameter
NameDescription
inputInputStream
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
IOException

parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)

public static ResourceDescriptor parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
IOException

parseFrom(ByteBuffer data)

public static ResourceDescriptor parseFrom(ByteBuffer data)
Parameter
NameDescription
dataByteBuffer
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)

public static ResourceDescriptor parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
dataByteBuffer
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
ResourceDescriptor
Exceptions
TypeDescription
InvalidProtocolBufferException

parser()

public static Parser<ResourceDescriptor> parser()
Returns
TypeDescription
Parser<ResourceDescriptor>

Methods

equals(Object obj)

public boolean equals(Object obj)
Parameter
NameDescription
objObject
Returns
TypeDescription
boolean
Overrides

getDefaultInstanceForType()

public ResourceDescriptor getDefaultInstanceForType()
Returns
TypeDescription
ResourceDescriptor

getHistory()

public ResourceDescriptor.History getHistory()

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

.google.api.ResourceDescriptor.History history = 4;

Returns
TypeDescription
ResourceDescriptor.History

The history.

getHistoryValue()

public int getHistoryValue()

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

.google.api.ResourceDescriptor.History history = 4;

Returns
TypeDescription
int

The enum numeric value on the wire for history.

getNameField()

public String getNameField()

Optional. The field on the resource that designates the resource name field. If omitted, this is assumed to be "name".

string name_field = 3;

Returns
TypeDescription
String

The nameField.

getNameFieldBytes()

public ByteString getNameFieldBytes()

Optional. The field on the resource that designates the resource name field. If omitted, this is assumed to be "name".

string name_field = 3;

Returns
TypeDescription
ByteString

The bytes for nameField.

getParserForType()

public Parser<ResourceDescriptor> getParserForType()
Returns
TypeDescription
Parser<ResourceDescriptor>
Overrides

getPattern(int index)

public String getPattern(int index)

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.

repeated string pattern = 2;

Parameter
NameDescription
indexint

The index of the element to return.

Returns
TypeDescription
String

The pattern at the given index.

getPatternBytes(int index)

public ByteString getPatternBytes(int index)

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.

repeated string pattern = 2;

Parameter
NameDescription
indexint

The index of the value to return.

Returns
TypeDescription
ByteString

The bytes of the pattern at the given index.

getPatternCount()

public int getPatternCount()

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.

repeated string pattern = 2;

Returns
TypeDescription
int

The count of pattern.

getPatternList()

public ProtocolStringList getPatternList()

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.

repeated string pattern = 2;

Returns
TypeDescription
ProtocolStringList

A list containing the pattern.

getPlural()

public String getPlural()

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

string plural = 5;

Returns
TypeDescription
String

The plural.

getPluralBytes()

public ByteString getPluralBytes()

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

string plural = 5;

Returns
TypeDescription
ByteString

The bytes for plural.

getSerializedSize()

public int getSerializedSize()
Returns
TypeDescription
int
Overrides

getSingular()

public String getSingular()

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.

string singular = 6;

Returns
TypeDescription
String

The singular.

getSingularBytes()

public ByteString getSingularBytes()

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.

string singular = 6;

Returns
TypeDescription
ByteString

The bytes for singular.

getStyle(int index)

public ResourceDescriptor.Style getStyle(int index)

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.

repeated .google.api.ResourceDescriptor.Style style = 10;

Parameter
NameDescription
indexint

The index of the element to return.

Returns
TypeDescription
ResourceDescriptor.Style

The style at the given index.

getStyleCount()

public int getStyleCount()

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.

repeated .google.api.ResourceDescriptor.Style style = 10;

Returns
TypeDescription
int

The count of style.

getStyleList()

public List<ResourceDescriptor.Style> getStyleList()

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.

repeated .google.api.ResourceDescriptor.Style style = 10;

Returns
TypeDescription
List<Style>

A list containing the style.

getStyleValue(int index)

public int getStyleValue(int index)

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.

repeated .google.api.ResourceDescriptor.Style style = 10;

Parameter
NameDescription
indexint

The index of the value to return.

Returns
TypeDescription
int

The enum numeric value on the wire of style at the given index.

getStyleValueList()

public List<Integer> getStyleValueList()

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.

repeated .google.api.ResourceDescriptor.Style style = 10;

Returns
TypeDescription
List<Integer>

A list containing the enum numeric values on the wire for style.

getType()

public String getType()

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+/. 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.

string type = 1;

Returns
TypeDescription
String

The type.

getTypeBytes()

public ByteString getTypeBytes()

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+/. 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.

string type = 1;

Returns
TypeDescription
ByteString

The bytes for type.

hashCode()

public int hashCode()
Returns
TypeDescription
int
Overrides

internalGetFieldAccessorTable()

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
TypeDescription
FieldAccessorTable
Overrides

isInitialized()

public final boolean isInitialized()
Returns
TypeDescription
boolean
Overrides

newBuilderForType()

public ResourceDescriptor.Builder newBuilderForType()
Returns
TypeDescription
ResourceDescriptor.Builder

newBuilderForType(GeneratedMessageV3.BuilderParent parent)

protected ResourceDescriptor.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Parameter
NameDescription
parentBuilderParent
Returns
TypeDescription
ResourceDescriptor.Builder
Overrides

newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)

protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Parameter
NameDescription
unusedUnusedPrivateParameter
Returns
TypeDescription
Object
Overrides

toBuilder()

public ResourceDescriptor.Builder toBuilder()
Returns
TypeDescription
ResourceDescriptor.Builder

writeTo(CodedOutputStream output)

public void writeTo(CodedOutputStream output)
Parameter
NameDescription
outputCodedOutputStream
Overrides
Exceptions
TypeDescription
IOException