Class Product

  • All Implemented Interfaces:
    ProductOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class Product
    extends com.google.protobuf.GeneratedMessageV3
    implements ProductOrBuilder
     The readonly representation of a product computed with a given resource
     context.
     
    Protobuf type google.cloud.privatecatalog.v1beta1.Product
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public String getName()
         Output only. The resource name of the target product, in the format of
         `products/[a-z][-a-z0-9]*[a-z0-9]'.
        
         A unique identifier for the product under a catalog.
         
        string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getName in interface ProductOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Output only. The resource name of the target product, in the format of
         `products/[a-z][-a-z0-9]*[a-z0-9]'.
        
         A unique identifier for the product under a catalog.
         
        string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getNameBytes in interface ProductOrBuilder
        Returns:
        The bytes for name.
      • getAssetType

        public String getAssetType()
         Output only. The type of the product asset. It can be one of the following values:
        
         * `google.deploymentmanager.Template`
         * `google.cloudprivatecatalog.ListingOnly`
         * `google.cloudprivatecatalog.Terraform`
         
        string asset_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getAssetType in interface ProductOrBuilder
        Returns:
        The assetType.
      • getAssetTypeBytes

        public com.google.protobuf.ByteString getAssetTypeBytes()
         Output only. The type of the product asset. It can be one of the following values:
        
         * `google.deploymentmanager.Template`
         * `google.cloudprivatecatalog.ListingOnly`
         * `google.cloudprivatecatalog.Terraform`
         
        string asset_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getAssetTypeBytes in interface ProductOrBuilder
        Returns:
        The bytes for assetType.
      • hasDisplayMetadata

        public boolean hasDisplayMetadata()
         Required. Output only. The display metadata to describe the product. The JSON schema of the
         metadata differs by [Product.asset_type][google.cloud.privatecatalog.v1beta1.Product.asset_type].
         When the type is `google.deploymentmanager.Template`, the schema is as
         follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
         required:
         - name
         - description
         additionalProperties: false
        
         ```
        
         When the asset type is `google.cloudprivatecatalog.ListingOnly`, the schema
         is as follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
           signup_url:
             type: string
             pattern:
             "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
         required:
         - name
         - description
         - signup_url
         additionalProperties: false
        
         ```
        
         When the asset type is `google.cloudprivatecatalog.Terraform`, the schema
         is as follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
         required:
         - name
         - description
         additionalProperties: true
         
        .google.protobuf.Struct display_metadata = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        hasDisplayMetadata in interface ProductOrBuilder
        Returns:
        Whether the displayMetadata field is set.
      • getDisplayMetadata

        public com.google.protobuf.Struct getDisplayMetadata()
         Required. Output only. The display metadata to describe the product. The JSON schema of the
         metadata differs by [Product.asset_type][google.cloud.privatecatalog.v1beta1.Product.asset_type].
         When the type is `google.deploymentmanager.Template`, the schema is as
         follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
         required:
         - name
         - description
         additionalProperties: false
        
         ```
        
         When the asset type is `google.cloudprivatecatalog.ListingOnly`, the schema
         is as follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
           signup_url:
             type: string
             pattern:
             "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
         required:
         - name
         - description
         - signup_url
         additionalProperties: false
        
         ```
        
         When the asset type is `google.cloudprivatecatalog.Terraform`, the schema
         is as follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
         required:
         - name
         - description
         additionalProperties: true
         
        .google.protobuf.Struct display_metadata = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getDisplayMetadata in interface ProductOrBuilder
        Returns:
        The displayMetadata.
      • getDisplayMetadataOrBuilder

        public com.google.protobuf.StructOrBuilder getDisplayMetadataOrBuilder()
         Required. Output only. The display metadata to describe the product. The JSON schema of the
         metadata differs by [Product.asset_type][google.cloud.privatecatalog.v1beta1.Product.asset_type].
         When the type is `google.deploymentmanager.Template`, the schema is as
         follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
         required:
         - name
         - description
         additionalProperties: false
        
         ```
        
         When the asset type is `google.cloudprivatecatalog.ListingOnly`, the schema
         is as follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
           signup_url:
             type: string
             pattern:
             "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
         required:
         - name
         - description
         - signup_url
         additionalProperties: false
        
         ```
        
         When the asset type is `google.cloudprivatecatalog.Terraform`, the schema
         is as follows:
        
         ```
         "$schema": http://json-schema.org/draft-04/schema#
         type: object
         properties:
           name:
             type: string
             minLength: 1
             maxLength: 64
           description:
             type: string
             minLength: 1
             maxLength: 2048
           tagline:
             type: string
             minLength: 1
             maxLength: 100
           support_info:
             type: string
             minLength: 1
             maxLength: 2048
           creator:
             type: string
             minLength: 1
             maxLength: 100
           documentations:
             type: array
             items:
               type: object
               properties:
                 url:
                   type: string
                   pattern:
                   "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
                 title:
                   type: string
                   minLength: 1
                   maxLength: 64
                 description:
                   type: string
                   minLength: 1
                   maxLength: 2048
         required:
         - name
         - description
         additionalProperties: true
         
        .google.protobuf.Struct display_metadata = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getDisplayMetadataOrBuilder in interface ProductOrBuilder
      • getIconUri

        public String getIconUri()
         Output only. The icon URI of the product.
         
        string icon_uri = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getIconUri in interface ProductOrBuilder
        Returns:
        The iconUri.
      • getIconUriBytes

        public com.google.protobuf.ByteString getIconUriBytes()
         Output only. The icon URI of the product.
         
        string icon_uri = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getIconUriBytes in interface ProductOrBuilder
        Returns:
        The bytes for iconUri.
      • getAssetReferencesList

        public List<AssetReference> getAssetReferencesList()
         Output only. A collection of assets referred by a product.
         This field is set for Terraform Products only.
         
        repeated .google.cloud.privatecatalog.v1beta1.AssetReference asset_references = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getAssetReferencesList in interface ProductOrBuilder
      • getAssetReferencesOrBuilderList

        public List<? extends AssetReferenceOrBuilder> getAssetReferencesOrBuilderList()
         Output only. A collection of assets referred by a product.
         This field is set for Terraform Products only.
         
        repeated .google.cloud.privatecatalog.v1beta1.AssetReference asset_references = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getAssetReferencesOrBuilderList in interface ProductOrBuilder
      • getAssetReferencesCount

        public int getAssetReferencesCount()
         Output only. A collection of assets referred by a product.
         This field is set for Terraform Products only.
         
        repeated .google.cloud.privatecatalog.v1beta1.AssetReference asset_references = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getAssetReferencesCount in interface ProductOrBuilder
      • getAssetReferences

        public AssetReference getAssetReferences​(int index)
         Output only. A collection of assets referred by a product.
         This field is set for Terraform Products only.
         
        repeated .google.cloud.privatecatalog.v1beta1.AssetReference asset_references = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getAssetReferences in interface ProductOrBuilder
      • getAssetReferencesOrBuilder

        public AssetReferenceOrBuilder getAssetReferencesOrBuilder​(int index)
         Output only. A collection of assets referred by a product.
         This field is set for Terraform Products only.
         
        repeated .google.cloud.privatecatalog.v1beta1.AssetReference asset_references = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getAssetReferencesOrBuilder in interface ProductOrBuilder
      • hasCreateTime

        public boolean hasCreateTime()
         Output only. The time when the product was created.
         
        .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        hasCreateTime in interface ProductOrBuilder
        Returns:
        Whether the createTime field is set.
      • getCreateTime

        public com.google.protobuf.Timestamp getCreateTime()
         Output only. The time when the product was created.
         
        .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getCreateTime in interface ProductOrBuilder
        Returns:
        The createTime.
      • getCreateTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder()
         Output only. The time when the product was created.
         
        .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getCreateTimeOrBuilder in interface ProductOrBuilder
      • hasUpdateTime

        public boolean hasUpdateTime()
         Output only. The time when the product was last updated.
         
        .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        hasUpdateTime in interface ProductOrBuilder
        Returns:
        Whether the updateTime field is set.
      • getUpdateTime

        public com.google.protobuf.Timestamp getUpdateTime()
         Output only. The time when the product was last updated.
         
        .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getUpdateTime in interface ProductOrBuilder
        Returns:
        The updateTime.
      • getUpdateTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder()
         Output only. The time when the product was last updated.
         
        .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getUpdateTimeOrBuilder in interface ProductOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Product parseFrom​(ByteBuffer data)
                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Product parseFrom​(ByteBuffer data,
                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Product parseFrom​(com.google.protobuf.ByteString data)
                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Product parseFrom​(com.google.protobuf.ByteString data,
                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Product parseFrom​(byte[] data)
                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Product parseFrom​(byte[] data,
                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                 throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Product parseFrom​(com.google.protobuf.CodedInputStream input,
                                        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                 throws IOException
        Throws:
        IOException
      • newBuilderForType

        public Product.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Product.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Product.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static Product getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<Product> parser()
      • getParserForType

        public com.google.protobuf.Parser<Product> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public Product getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder