proto_docs/google/api/resource.rb in google-cloud-billing-budgets-v1beta1-0.2.0 vs proto_docs/google/api/resource.rb in google-cloud-billing-budgets-v1beta1-0.3.0
- old
+ new
@@ -41,16 +41,16 @@
# };
# }
#
# The ResourceDescriptor Yaml config will look like:
#
- # resources:
- # - type: "pubsub.googleapis.com/Topic"
- # name_descriptor:
- # - pattern: "projects/\\{project}/topics/\\{topic}"
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
- # parent_name_extractor: "projects/\\{project}"
+ # resources:
+ # - type: "pubsub.googleapis.com/Topic"
+ # name_descriptor:
+ # - pattern: "projects/{project}/topics/{topic}"
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
+ # parent_name_extractor: "projects/{project}"
#
# Sometimes, resources have multiple patterns, typically because they can
# live under multiple parents.
#
# Example:
@@ -181,19 +181,28 @@
# history: ORIGINALLY_SINGLE_PATTERN
# };
# }
# @!attribute [rw] plural
# @return [::String]
- # The plural name used in the resource name, such as 'projects' for
- # the name of 'projects/\\{project}'. It is the same concept of the `plural`
- # field in k8s CRD spec
+ # 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
# @!attribute [rw] singular
# @return [::String]
# 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.
+ # @!attribute [rw] style
+ # @return [::Array<::Google::Api::ResourceDescriptor::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.
class ResourceDescriptor
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
# A description of the historical or future-looking state of the
@@ -209,10 +218,26 @@
# The resource has one pattern, but the API owner expects to add more
# later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
# that from being necessary once there are multiple patterns.)
FUTURE_MULTI_PATTERN = 2
end
+
+ # A flag representing a specific style that a resource claims to conform to.
+ module Style
+ # The unspecified value. Do not use.
+ STYLE_UNSPECIFIED = 0
+
+ # This resource is intended to be "declarative-friendly".
+ #
+ # Declarative-friendly resources must be more strictly consistent, and
+ # setting this to true communicates to tools that this resource should
+ # adhere to declarative-friendly expectations.
+ #
+ # Note: This is used by the API linter (linter.aip.dev) to enable
+ # additional checks.
+ DECLARATIVE_FRIENDLY = 1
+ end
end
# Defines a proto annotation that describes a string field that refers to
# an API resource.
# @!attribute [rw] type
@@ -224,22 +249,33 @@
# message Subscription {
# string topic = 2 [(google.api.resource_reference) = {
# type: "pubsub.googleapis.com/Topic"
# }];
# }
+ #
+ # Occasionally, a field may reference an arbitrary resource. In this case,
+ # APIs use the special value * in their resource reference.
+ #
+ # Example:
+ #
+ # message GetIamPolicyRequest {
+ # string resource = 2 [(google.api.resource_reference) = {
+ # type: "*"
+ # }];
+ # }
# @!attribute [rw] child_type
# @return [::String]
# The resource type of a child collection that the annotated field
# references. This is useful for annotating the `parent` field that
# doesn't have a fixed resource type.
#
# Example:
#
- # message ListLogEntriesRequest {
- # string parent = 1 [(google.api.resource_reference) = {
- # child_type: "logging.googleapis.com/LogEntry"
- # };
- # }
+ # message ListLogEntriesRequest {
+ # string parent = 1 [(google.api.resource_reference) = {
+ # child_type: "logging.googleapis.com/LogEntry"
+ # };
+ # }
class ResourceReference
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
end
end