{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Network.Google.CloudPrivateCatalogProducer.Types.Product -- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.Google.CloudPrivateCatalogProducer.Types.Product where import Network.Google.CloudPrivateCatalogProducer.Types.Sum import Network.Google.Prelude -- | The \`Status\` type defines a logical error model that is suitable for -- different programming environments, including REST APIs and RPC APIs. It -- is used by [gRPC](https:\/\/github.com\/grpc). The error model is -- designed to be: - Simple to use and understand for most users - Flexible -- enough to meet unexpected needs # Overview The \`Status\` message -- contains three pieces of data: error code, error message, and error -- details. The error code should be an enum value of google.rpc.Code, but -- it may accept additional error codes if needed. The error message should -- be a developer-facing English message that helps developers *understand* -- and *resolve* the error. If a localized user-facing error message is -- needed, put the localized message in the error details or localize it in -- the client. The optional error details may contain arbitrary information -- about the error. There is a predefined set of error detail types in the -- package \`google.rpc\` that can be used for common error conditions. # -- Language mapping The \`Status\` message is the logical representation of -- the error model, but it is not necessarily the actual wire format. When -- the \`Status\` message is exposed in different client libraries and -- different wire protocols, it can be mapped differently. For example, it -- will likely be mapped to some exceptions in Java, but more likely mapped -- to some error codes in C. # Other uses The error model and the -- \`Status\` message can be used in a variety of environments, either with -- or without APIs, to provide a consistent developer experience across -- different environments. Example uses of this error model include: - -- Partial errors. If a service needs to return partial errors to the -- client, it may embed the \`Status\` in the normal response to indicate -- the partial errors. - Workflow errors. A typical workflow has multiple -- steps. Each step may have a \`Status\` message for error reporting. - -- Batch operations. If a client uses batch request and batch response, the -- \`Status\` message should be used directly inside batch response, one -- for each error sub-response. - Asynchronous operations. If an API call -- embeds asynchronous operation results in its response, the status of -- those operations should be represented directly using the \`Status\` -- message. - Logging. If some API errors are stored in logs, the message -- \`Status\` could be used directly after any stripping needed for -- security\/privacy reasons. -- -- /See:/ 'googleRpcStatus' smart constructor. data GoogleRpcStatus = GoogleRpcStatus' { _grsDetails :: !(Maybe [GoogleRpcStatusDetailsItem]) , _grsCode :: !(Maybe (Textual Int32)) , _grsMessage :: !(Maybe Text) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleRpcStatus' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'grsDetails' -- -- * 'grsCode' -- -- * 'grsMessage' googleRpcStatus :: GoogleRpcStatus googleRpcStatus = GoogleRpcStatus' {_grsDetails = Nothing, _grsCode = Nothing, _grsMessage = Nothing} -- | A list of messages that carry the error details. There is a common set -- of message types for APIs to use. grsDetails :: Lens' GoogleRpcStatus [GoogleRpcStatusDetailsItem] grsDetails = lens _grsDetails (\ s a -> s{_grsDetails = a}) . _Default . _Coerce -- | The status code, which should be an enum value of google.rpc.Code. grsCode :: Lens' GoogleRpcStatus (Maybe Int32) grsCode = lens _grsCode (\ s a -> s{_grsCode = a}) . mapping _Coerce -- | A developer-facing error message, which should be in English. Any -- user-facing error message should be localized and sent in the -- google.rpc.Status.details field, or localized by the client. grsMessage :: Lens' GoogleRpcStatus (Maybe Text) grsMessage = lens _grsMessage (\ s a -> s{_grsMessage = a}) instance FromJSON GoogleRpcStatus where parseJSON = withObject "GoogleRpcStatus" (\ o -> GoogleRpcStatus' <$> (o .:? "details" .!= mempty) <*> (o .:? "code") <*> (o .:? "message")) instance ToJSON GoogleRpcStatus where toJSON GoogleRpcStatus'{..} = object (catMaybes [("details" .=) <$> _grsDetails, ("code" .=) <$> _grsCode, ("message" .=) <$> _grsMessage]) -- | Service-specific metadata associated with the operation. It typically -- contains progress information and common metadata such as create time. -- Some services might not provide such metadata. Any method that returns a -- long-running operation should document the metadata type, if any. -- -- /See:/ 'googleLongrunningOperationMetadata' smart constructor. newtype GoogleLongrunningOperationMetadata = GoogleLongrunningOperationMetadata' { _glomAddtional :: HashMap Text JSONValue } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleLongrunningOperationMetadata' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'glomAddtional' googleLongrunningOperationMetadata :: HashMap Text JSONValue -- ^ 'glomAddtional' -> GoogleLongrunningOperationMetadata googleLongrunningOperationMetadata pGlomAddtional_ = GoogleLongrunningOperationMetadata' {_glomAddtional = _Coerce # pGlomAddtional_} -- | Properties of the object. Contains field \'type with type URL. glomAddtional :: Lens' GoogleLongrunningOperationMetadata (HashMap Text JSONValue) glomAddtional = lens _glomAddtional (\ s a -> s{_glomAddtional = a}) . _Coerce instance FromJSON GoogleLongrunningOperationMetadata where parseJSON = withObject "GoogleLongrunningOperationMetadata" (\ o -> GoogleLongrunningOperationMetadata' <$> (parseJSONObject o)) instance ToJSON GoogleLongrunningOperationMetadata where toJSON = toJSON . _glomAddtional -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' { _gcpvlvrNextPageToken :: !(Maybe Text) , _gcpvlvrVersions :: !(Maybe [GoogleCloudPrivatecatalogproducerV1beta1Version]) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvlvrNextPageToken' -- -- * 'gcpvlvrVersions' googleCloudPrivatecatalogproducerV1beta1ListVersionsResponse :: GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse googleCloudPrivatecatalogproducerV1beta1ListVersionsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' {_gcpvlvrNextPageToken = Nothing, _gcpvlvrVersions = Nothing} -- | A pagination token returned from a previous call to ListProducts that -- indicates where the listing should continue from. This field is -- optional. gcpvlvrNextPageToken :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse (Maybe Text) gcpvlvrNextPageToken = lens _gcpvlvrNextPageToken (\ s a -> s{_gcpvlvrNextPageToken = a}) -- | The \`VersiVersionon\` returned from the list call. gcpvlvrVersions :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse [GoogleCloudPrivatecatalogproducerV1beta1Version] gcpvlvrVersions = lens _gcpvlvrVersions (\ s a -> s{_gcpvlvrVersions = a}) . _Default . _Coerce instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse' <$> (o .:? "nextPageToken") <*> (o .:? "versions" .!= mempty)) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse where toJSON GoogleCloudPrivatecatalogproducerV1beta1ListVersionsResponse'{..} = object (catMaybes [("nextPageToken" .=) <$> _gcpvlvrNextPageToken, ("versions" .=) <$> _gcpvlvrVersions]) -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest = GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest' deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest' with the minimum fields required to make a request. -- googleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest :: GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest googleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest = GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest' instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest" (\ o -> pure GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest') instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1UndeleteCatalogRequest where toJSON = const emptyObject -- | Associates \`members\` with a \`role\`. -- -- /See:/ 'googleIAMV1Binding' smart constructor. data GoogleIAMV1Binding = GoogleIAMV1Binding' { _givbMembers :: !(Maybe [Text]) , _givbRole :: !(Maybe Text) , _givbCondition :: !(Maybe GoogleTypeExpr) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleIAMV1Binding' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'givbMembers' -- -- * 'givbRole' -- -- * 'givbCondition' googleIAMV1Binding :: GoogleIAMV1Binding googleIAMV1Binding = GoogleIAMV1Binding' {_givbMembers = Nothing, _givbRole = Nothing, _givbCondition = Nothing} -- | Specifies the identities requesting access for a Cloud Platform -- resource. \`members\` can have the following values: * \`allUsers\`: A -- special identifier that represents anyone who is on the internet; with -- or without a Google account. * \`allAuthenticatedUsers\`: A special -- identifier that represents anyone who is authenticated with a Google -- account or a service account. * \`user:{emailid}\`: An email address -- that represents a specific Google account. For example, -- \`alice\'gmail.com\` . * \`serviceAccount:{emailid}\`: An email address -- that represents a service account. For example, -- \`my-other-app\'appspot.gserviceaccount.com\`. * \`group:{emailid}\`: An -- email address that represents a Google group. For example, -- \`admins\'example.com\`. * \`domain:{domain}\`: The G Suite domain -- (primary) that represents all the users of that domain. For example, -- \`google.com\` or \`example.com\`. givbMembers :: Lens' GoogleIAMV1Binding [Text] givbMembers = lens _givbMembers (\ s a -> s{_givbMembers = a}) . _Default . _Coerce -- | Role that is assigned to \`members\`. For example, \`roles\/viewer\`, -- \`roles\/editor\`, or \`roles\/owner\`. givbRole :: Lens' GoogleIAMV1Binding (Maybe Text) givbRole = lens _givbRole (\ s a -> s{_givbRole = a}) -- | The condition that is associated with this binding. NOTE: An unsatisfied -- condition will not allow user access via current binding. Different -- bindings, including their conditions, are examined independently. givbCondition :: Lens' GoogleIAMV1Binding (Maybe GoogleTypeExpr) givbCondition = lens _givbCondition (\ s a -> s{_givbCondition = a}) instance FromJSON GoogleIAMV1Binding where parseJSON = withObject "GoogleIAMV1Binding" (\ o -> GoogleIAMV1Binding' <$> (o .:? "members" .!= mempty) <*> (o .:? "role") <*> (o .:? "condition")) instance ToJSON GoogleIAMV1Binding where toJSON GoogleIAMV1Binding'{..} = object (catMaybes [("members" .=) <$> _givbMembers, ("role" .=) <$> _givbRole, ("condition" .=) <$> _givbCondition]) -- | Request message for \`SetIamPolicy\` method. -- -- /See:/ 'googleIAMV1SetIAMPolicyRequest' smart constructor. data GoogleIAMV1SetIAMPolicyRequest = GoogleIAMV1SetIAMPolicyRequest' { _givsiprUpdateMask :: !(Maybe GFieldMask) , _givsiprPolicy :: !(Maybe GoogleIAMV1Policy) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleIAMV1SetIAMPolicyRequest' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'givsiprUpdateMask' -- -- * 'givsiprPolicy' googleIAMV1SetIAMPolicyRequest :: GoogleIAMV1SetIAMPolicyRequest googleIAMV1SetIAMPolicyRequest = GoogleIAMV1SetIAMPolicyRequest' {_givsiprUpdateMask = Nothing, _givsiprPolicy = Nothing} -- | OPTIONAL: A FieldMask specifying which fields of the policy to modify. -- Only the fields in the mask will be modified. If no mask is provided, -- the following default mask is used: paths: \"bindings, etag\" This field -- is only used by Cloud IAM. givsiprUpdateMask :: Lens' GoogleIAMV1SetIAMPolicyRequest (Maybe GFieldMask) givsiprUpdateMask = lens _givsiprUpdateMask (\ s a -> s{_givsiprUpdateMask = a}) -- | REQUIRED: The complete policy to be applied to the \`resource\`. The -- size of the policy is limited to a few 10s of KB. An empty policy is a -- valid policy but certain Cloud Platform services (such as Projects) -- might reject them. givsiprPolicy :: Lens' GoogleIAMV1SetIAMPolicyRequest (Maybe GoogleIAMV1Policy) givsiprPolicy = lens _givsiprPolicy (\ s a -> s{_givsiprPolicy = a}) instance FromJSON GoogleIAMV1SetIAMPolicyRequest where parseJSON = withObject "GoogleIAMV1SetIAMPolicyRequest" (\ o -> GoogleIAMV1SetIAMPolicyRequest' <$> (o .:? "updateMask") <*> (o .:? "policy")) instance ToJSON GoogleIAMV1SetIAMPolicyRequest where toJSON GoogleIAMV1SetIAMPolicyRequest'{..} = object (catMaybes [("updateMask" .=) <$> _givsiprUpdateMask, ("policy" .=) <$> _givsiprPolicy]) -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' { _gcpvlcrNextPageToken :: !(Maybe Text) , _gcpvlcrCatalogs :: !(Maybe [GoogleCloudPrivatecatalogproducerV1beta1Catalog]) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvlcrNextPageToken' -- -- * 'gcpvlcrCatalogs' googleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse :: GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse googleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' {_gcpvlcrNextPageToken = Nothing, _gcpvlcrCatalogs = Nothing} -- | A pagination token returned from a previous call to ListCatalogs that -- indicates where the listing should continue from. This field is -- optional. gcpvlcrNextPageToken :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse (Maybe Text) gcpvlcrNextPageToken = lens _gcpvlcrNextPageToken (\ s a -> s{_gcpvlcrNextPageToken = a}) -- | The \`Catalogs\` returned from the list call. gcpvlcrCatalogs :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse [GoogleCloudPrivatecatalogproducerV1beta1Catalog] gcpvlcrCatalogs = lens _gcpvlcrCatalogs (\ s a -> s{_gcpvlcrCatalogs = a}) . _Default . _Coerce instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse' <$> (o .:? "nextPageToken") <*> (o .:? "catalogs" .!= mempty)) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse where toJSON GoogleCloudPrivatecatalogproducerV1beta1ListCatalogsResponse'{..} = object (catMaybes [("nextPageToken" .=) <$> _gcpvlcrNextPageToken, ("catalogs" .=) <$> _gcpvlcrCatalogs]) -- | A generic empty message that you can re-use to avoid defining duplicated -- empty messages in your APIs. A typical example is to use it as the -- request or the response type of an API method. For instance: service Foo -- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The -- JSON representation for \`Empty\` is empty JSON object \`{}\`. -- -- /See:/ 'googleProtobufEmpty' smart constructor. data GoogleProtobufEmpty = GoogleProtobufEmpty' deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleProtobufEmpty' with the minimum fields required to make a request. -- googleProtobufEmpty :: GoogleProtobufEmpty googleProtobufEmpty = GoogleProtobufEmpty' instance FromJSON GoogleProtobufEmpty where parseJSON = withObject "GoogleProtobufEmpty" (\ o -> pure GoogleProtobufEmpty') instance ToJSON GoogleProtobufEmpty where toJSON = const emptyObject -- -- /See:/ 'googleRpcStatusDetailsItem' smart constructor. newtype GoogleRpcStatusDetailsItem = GoogleRpcStatusDetailsItem' { _grsdiAddtional :: HashMap Text JSONValue } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleRpcStatusDetailsItem' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'grsdiAddtional' googleRpcStatusDetailsItem :: HashMap Text JSONValue -- ^ 'grsdiAddtional' -> GoogleRpcStatusDetailsItem googleRpcStatusDetailsItem pGrsdiAddtional_ = GoogleRpcStatusDetailsItem' {_grsdiAddtional = _Coerce # pGrsdiAddtional_} -- | Properties of the object. Contains field \'type with type URL. grsdiAddtional :: Lens' GoogleRpcStatusDetailsItem (HashMap Text JSONValue) grsdiAddtional = lens _grsdiAddtional (\ s a -> s{_grsdiAddtional = a}) . _Coerce instance FromJSON GoogleRpcStatusDetailsItem where parseJSON = withObject "GoogleRpcStatusDetailsItem" (\ o -> GoogleRpcStatusDetailsItem' <$> (parseJSONObject o)) instance ToJSON GoogleRpcStatusDetailsItem where toJSON = toJSON . _grsdiAddtional -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1UploadIconRequest' smart constructor. newtype GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest = GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest' { _gcpvuirIcon :: Maybe Bytes } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvuirIcon' googleCloudPrivatecatalogproducerV1beta1UploadIconRequest :: GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest googleCloudPrivatecatalogproducerV1beta1UploadIconRequest = GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest' {_gcpvuirIcon = Nothing} -- | The raw icon bytes user-supplied to be uploaded to the product. The -- format of the icon can only be PNG or JPEG. The minimum allowed -- dimensions are 130x130 pixels and the maximum dimensions are 10000x10000 -- pixels. Required. gcpvuirIcon :: Lens' GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest (Maybe ByteString) gcpvuirIcon = lens _gcpvuirIcon (\ s a -> s{_gcpvuirIcon = a}) . mapping _Bytes instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest' <$> (o .:? "icon")) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest where toJSON GoogleCloudPrivatecatalogproducerV1beta1UploadIconRequest'{..} = object (catMaybes [("icon" .=) <$> _gcpvuirIcon]) -- | The user-supplied display metadata to describe the product. The JSON -- schema of the metadata differs by 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 -- documentation: 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 -- documentation: 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 -- \`\`\` -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata' smart constructor. newtype GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata = GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata' { _gcpvpdmAddtional :: HashMap Text JSONValue } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvpdmAddtional' googleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata :: HashMap Text JSONValue -- ^ 'gcpvpdmAddtional' -> GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata googleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata pGcpvpdmAddtional_ = GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata' {_gcpvpdmAddtional = _Coerce # pGcpvpdmAddtional_} -- | Properties of the object. gcpvpdmAddtional :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata (HashMap Text JSONValue) gcpvpdmAddtional = lens _gcpvpdmAddtional (\ s a -> s{_gcpvpdmAddtional = a}) . _Coerce instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata' <$> (parseJSONObject o)) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata where toJSON = toJSON . _gcpvpdmAddtional -- | The request message for Operations.CancelOperation. -- -- /See:/ 'googleLongrunningCancelOperationRequest' smart constructor. data GoogleLongrunningCancelOperationRequest = GoogleLongrunningCancelOperationRequest' deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleLongrunningCancelOperationRequest' with the minimum fields required to make a request. -- googleLongrunningCancelOperationRequest :: GoogleLongrunningCancelOperationRequest googleLongrunningCancelOperationRequest = GoogleLongrunningCancelOperationRequest' instance FromJSON GoogleLongrunningCancelOperationRequest where parseJSON = withObject "GoogleLongrunningCancelOperationRequest" (\ o -> pure GoogleLongrunningCancelOperationRequest') instance ToJSON GoogleLongrunningCancelOperationRequest where toJSON = const emptyObject -- | The producer representation of a catalog which is a curated collection -- of solutions that can be managed, controlled, and shared by cloud -- admins. -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1Catalog' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1Catalog = GoogleCloudPrivatecatalogproducerV1beta1Catalog' { _gcpvcParent :: !(Maybe Text) , _gcpvcUpdateTime :: !(Maybe DateTime') , _gcpvcName :: !(Maybe Text) , _gcpvcDisplayName :: !(Maybe Text) , _gcpvcDescription :: !(Maybe Text) , _gcpvcCreateTime :: !(Maybe DateTime') } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Catalog' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvcParent' -- -- * 'gcpvcUpdateTime' -- -- * 'gcpvcName' -- -- * 'gcpvcDisplayName' -- -- * 'gcpvcDescription' -- -- * 'gcpvcCreateTime' googleCloudPrivatecatalogproducerV1beta1Catalog :: GoogleCloudPrivatecatalogproducerV1beta1Catalog googleCloudPrivatecatalogproducerV1beta1Catalog = GoogleCloudPrivatecatalogproducerV1beta1Catalog' { _gcpvcParent = Nothing , _gcpvcUpdateTime = Nothing , _gcpvcName = Nothing , _gcpvcDisplayName = Nothing , _gcpvcDescription = Nothing , _gcpvcCreateTime = Nothing } -- | Required. The parent resource name of the catalog, which can\'t be -- changed after a catalog is created. It can only be an organization. -- Values are of the form -- \`\/\/cloudresourcemanager.googleapis.com\/organizations\/\`. Maximum -- 256 characters in length. gcpvcParent :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe Text) gcpvcParent = lens _gcpvcParent (\ s a -> s{_gcpvcParent = a}) -- | Output only. The time when the catalog was last updated. gcpvcUpdateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe UTCTime) gcpvcUpdateTime = lens _gcpvcUpdateTime (\ s a -> s{_gcpvcUpdateTime = a}) . mapping _DateTime -- | Output only. The resource name of the catalog, in the format -- \`catalogs\/{catalog_id}\'. A unique identifier for the catalog, which -- is generated by catalog service. gcpvcName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe Text) gcpvcName = lens _gcpvcName (\ s a -> s{_gcpvcName = a}) -- | Required. The user-supplied descriptive name of the catalog as it -- appears in UIs. Maximum 256 characters in length. gcpvcDisplayName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe Text) gcpvcDisplayName = lens _gcpvcDisplayName (\ s a -> s{_gcpvcDisplayName = a}) -- | Required. The user-supplied description of the catalog. Maximum of 512 -- characters. gcpvcDescription :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe Text) gcpvcDescription = lens _gcpvcDescription (\ s a -> s{_gcpvcDescription = a}) -- | Output only. The time when the catalog was created. gcpvcCreateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Catalog (Maybe UTCTime) gcpvcCreateTime = lens _gcpvcCreateTime (\ s a -> s{_gcpvcCreateTime = a}) . mapping _DateTime instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1Catalog where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1Catalog" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1Catalog' <$> (o .:? "parent") <*> (o .:? "updateTime") <*> (o .:? "name") <*> (o .:? "displayName") <*> (o .:? "description") <*> (o .:? "createTime")) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1Catalog where toJSON GoogleCloudPrivatecatalogproducerV1beta1Catalog'{..} = object (catMaybes [("parent" .=) <$> _gcpvcParent, ("updateTime" .=) <$> _gcpvcUpdateTime, ("name" .=) <$> _gcpvcName, ("displayName" .=) <$> _gcpvcDisplayName, ("description" .=) <$> _gcpvcDescription, ("createTime" .=) <$> _gcpvcCreateTime]) -- | Request message for \`TestIamPermissions\` method. -- -- /See:/ 'googleIAMV1TestIAMPermissionsRequest' smart constructor. newtype GoogleIAMV1TestIAMPermissionsRequest = GoogleIAMV1TestIAMPermissionsRequest' { _givtiprPermissions :: Maybe [Text] } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleIAMV1TestIAMPermissionsRequest' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'givtiprPermissions' googleIAMV1TestIAMPermissionsRequest :: GoogleIAMV1TestIAMPermissionsRequest googleIAMV1TestIAMPermissionsRequest = GoogleIAMV1TestIAMPermissionsRequest' {_givtiprPermissions = Nothing} -- | The set of permissions to check for the \`resource\`. Permissions with -- wildcards (such as \'*\' or \'storage.*\') are not allowed. For more -- information see [IAM -- Overview](https:\/\/cloud.google.com\/iam\/docs\/overview#permissions). givtiprPermissions :: Lens' GoogleIAMV1TestIAMPermissionsRequest [Text] givtiprPermissions = lens _givtiprPermissions (\ s a -> s{_givtiprPermissions = a}) . _Default . _Coerce instance FromJSON GoogleIAMV1TestIAMPermissionsRequest where parseJSON = withObject "GoogleIAMV1TestIAMPermissionsRequest" (\ o -> GoogleIAMV1TestIAMPermissionsRequest' <$> (o .:? "permissions" .!= mempty)) instance ToJSON GoogleIAMV1TestIAMPermissionsRequest where toJSON GoogleIAMV1TestIAMPermissionsRequest'{..} = object (catMaybes [("permissions" .=) <$> _givtiprPermissions]) -- | Specifies the audit configuration for a service. The configuration -- determines which permission types are logged, and what identities, if -- any, are exempted from logging. An AuditConfig must have one or more -- AuditLogConfigs. If there are AuditConfigs for both \`allServices\` and -- a specific service, the union of the two AuditConfigs is used for that -- service: the log_types specified in each AuditConfig are enabled, and -- the exempted_members in each AuditLogConfig are exempted. Example Policy -- with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": -- \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", -- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\": -- \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\": -- \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\": -- \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": -- [ \"user:bar\'gmail.com\" ] } ] } ] } For fooservice, this policy -- enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts -- foo\'gmail.com from DATA_READ logging, and bar\'gmail.com from -- DATA_WRITE logging. -- -- /See:/ 'googleIAMV1AuditConfig' smart constructor. data GoogleIAMV1AuditConfig = GoogleIAMV1AuditConfig' { _givacService :: !(Maybe Text) , _givacAuditLogConfigs :: !(Maybe [GoogleIAMV1AuditLogConfig]) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleIAMV1AuditConfig' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'givacService' -- -- * 'givacAuditLogConfigs' googleIAMV1AuditConfig :: GoogleIAMV1AuditConfig googleIAMV1AuditConfig = GoogleIAMV1AuditConfig' {_givacService = Nothing, _givacAuditLogConfigs = Nothing} -- | Specifies a service that will be enabled for audit logging. For example, -- \`storage.googleapis.com\`, \`cloudsql.googleapis.com\`. \`allServices\` -- is a special value that covers all services. givacService :: Lens' GoogleIAMV1AuditConfig (Maybe Text) givacService = lens _givacService (\ s a -> s{_givacService = a}) -- | The configuration for logging of each type of permission. givacAuditLogConfigs :: Lens' GoogleIAMV1AuditConfig [GoogleIAMV1AuditLogConfig] givacAuditLogConfigs = lens _givacAuditLogConfigs (\ s a -> s{_givacAuditLogConfigs = a}) . _Default . _Coerce instance FromJSON GoogleIAMV1AuditConfig where parseJSON = withObject "GoogleIAMV1AuditConfig" (\ o -> GoogleIAMV1AuditConfig' <$> (o .:? "service") <*> (o .:? "auditLogConfigs" .!= mempty)) instance ToJSON GoogleIAMV1AuditConfig where toJSON GoogleIAMV1AuditConfig'{..} = object (catMaybes [("service" .=) <$> _givacService, ("auditLogConfigs" .=) <$> _givacAuditLogConfigs]) -- | The normal response of the operation in case of success. If the original -- method returns no data on success, such as \`Delete\`, the response is -- \`google.protobuf.Empty\`. If the original method is standard -- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource. -- For other methods, the response should have the type \`XxxResponse\`, -- where \`Xxx\` is the original method name. For example, if the original -- method name is \`TakeSnapshot()\`, the inferred response type is -- \`TakeSnapshotResponse\`. -- -- /See:/ 'googleLongrunningOperationResponse' smart constructor. newtype GoogleLongrunningOperationResponse = GoogleLongrunningOperationResponse' { _glorAddtional :: HashMap Text JSONValue } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleLongrunningOperationResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'glorAddtional' googleLongrunningOperationResponse :: HashMap Text JSONValue -- ^ 'glorAddtional' -> GoogleLongrunningOperationResponse googleLongrunningOperationResponse pGlorAddtional_ = GoogleLongrunningOperationResponse' {_glorAddtional = _Coerce # pGlorAddtional_} -- | Properties of the object. Contains field \'type with type URL. glorAddtional :: Lens' GoogleLongrunningOperationResponse (HashMap Text JSONValue) glorAddtional = lens _glorAddtional (\ s a -> s{_glorAddtional = a}) . _Coerce instance FromJSON GoogleLongrunningOperationResponse where parseJSON = withObject "GoogleLongrunningOperationResponse" (\ o -> GoogleLongrunningOperationResponse' <$> (parseJSONObject o)) instance ToJSON GoogleLongrunningOperationResponse where toJSON = toJSON . _glorAddtional -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1CopyProductRequest' smart constructor. newtype GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest = GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest' { _gcpvcprDestinationProductName :: Maybe Text } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvcprDestinationProductName' googleCloudPrivatecatalogproducerV1beta1CopyProductRequest :: GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest googleCloudPrivatecatalogproducerV1beta1CopyProductRequest = GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest' {_gcpvcprDestinationProductName = Nothing} -- | The resource name of the destination product that is copied to. gcpvcprDestinationProductName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest (Maybe Text) gcpvcprDestinationProductName = lens _gcpvcprDestinationProductName (\ s a -> s{_gcpvcprDestinationProductName = a}) instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest' <$> (o .:? "destinationProductName")) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest where toJSON GoogleCloudPrivatecatalogproducerV1beta1CopyProductRequest'{..} = object (catMaybes [("destinationProductName" .=) <$> _gcpvcprDestinationProductName]) -- | Provides the configuration for logging a type of permissions. Example: { -- \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", -- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\": -- \"DATA_WRITE\", } ] } This enables \'DATA_READ\' and \'DATA_WRITE\' -- logging, while exempting foo\'gmail.com from DATA_READ logging. -- -- /See:/ 'googleIAMV1AuditLogConfig' smart constructor. data GoogleIAMV1AuditLogConfig = GoogleIAMV1AuditLogConfig' { _givalcLogType :: !(Maybe GoogleIAMV1AuditLogConfigLogType) , _givalcExemptedMembers :: !(Maybe [Text]) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleIAMV1AuditLogConfig' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'givalcLogType' -- -- * 'givalcExemptedMembers' googleIAMV1AuditLogConfig :: GoogleIAMV1AuditLogConfig googleIAMV1AuditLogConfig = GoogleIAMV1AuditLogConfig' {_givalcLogType = Nothing, _givalcExemptedMembers = Nothing} -- | The log type that this config enables. givalcLogType :: Lens' GoogleIAMV1AuditLogConfig (Maybe GoogleIAMV1AuditLogConfigLogType) givalcLogType = lens _givalcLogType (\ s a -> s{_givalcLogType = a}) -- | Specifies the identities that do not cause logging for this type of -- permission. Follows the same format of Binding.members. givalcExemptedMembers :: Lens' GoogleIAMV1AuditLogConfig [Text] givalcExemptedMembers = lens _givalcExemptedMembers (\ s a -> s{_givalcExemptedMembers = a}) . _Default . _Coerce instance FromJSON GoogleIAMV1AuditLogConfig where parseJSON = withObject "GoogleIAMV1AuditLogConfig" (\ o -> GoogleIAMV1AuditLogConfig' <$> (o .:? "logType") <*> (o .:? "exemptedMembers" .!= mempty)) instance ToJSON GoogleIAMV1AuditLogConfig where toJSON GoogleIAMV1AuditLogConfig'{..} = object (catMaybes [("logType" .=) <$> _givalcLogType, ("exemptedMembers" .=) <$> _givalcExemptedMembers]) -- | The producer representation of a version, which is a child resource -- under a \`Product\` with asset data. -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1Version' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1Version = GoogleCloudPrivatecatalogproducerV1beta1Version' { _gcpvvAsset :: !(Maybe GoogleCloudPrivatecatalogproducerV1beta1VersionAsset) , _gcpvvOriginalAsset :: !(Maybe GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset) , _gcpvvUpdateTime :: !(Maybe DateTime') , _gcpvvName :: !(Maybe Text) , _gcpvvDescription :: !(Maybe Text) , _gcpvvCreateTime :: !(Maybe DateTime') } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Version' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvvAsset' -- -- * 'gcpvvOriginalAsset' -- -- * 'gcpvvUpdateTime' -- -- * 'gcpvvName' -- -- * 'gcpvvDescription' -- -- * 'gcpvvCreateTime' googleCloudPrivatecatalogproducerV1beta1Version :: GoogleCloudPrivatecatalogproducerV1beta1Version googleCloudPrivatecatalogproducerV1beta1Version = GoogleCloudPrivatecatalogproducerV1beta1Version' { _gcpvvAsset = Nothing , _gcpvvOriginalAsset = Nothing , _gcpvvUpdateTime = Nothing , _gcpvvName = Nothing , _gcpvvDescription = Nothing , _gcpvvCreateTime = Nothing } -- | Output only. The asset which has been validated and is ready to be -- provisioned. See Version.original_asset for the schema. gcpvvAsset :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe GoogleCloudPrivatecatalogproducerV1beta1VersionAsset) gcpvvAsset = lens _gcpvvAsset (\ s a -> s{_gcpvvAsset = a}) -- | The user-supplied asset payload. The maximum size of the payload is 2MB. -- The JSON schema of the payload is defined as: \`\`\` type: object -- properties: mainTemplate: type: string description: The file name of the -- main template and name prefix of schema file. The content of the main -- template should be set in the imports list. The schema file name is -- expected to be .schema in the imports list. required: true imports: -- type: array description: Import template and schema file contents. -- Required to have both and .schema files. required: true minItems: 2 -- items: type: object properties: name: type: string content: type: string -- \`\`\` gcpvvOriginalAsset :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset) gcpvvOriginalAsset = lens _gcpvvOriginalAsset (\ s a -> s{_gcpvvOriginalAsset = a}) -- | Output only. The time when the version was last updated. gcpvvUpdateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe UTCTime) gcpvvUpdateTime = lens _gcpvvUpdateTime (\ s a -> s{_gcpvvUpdateTime = a}) . mapping _DateTime -- | Required. The resource name of the version, in the format -- \`catalogs\/{catalog_id}\/products\/{product_id}\/versions\/a-z*[a-z0-9]\'. -- A unique identifier for the version under a product, which can\'t be -- changed after the version is created. The final segment of the name must -- between 1 and 63 characters in length. gcpvvName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe Text) gcpvvName = lens _gcpvvName (\ s a -> s{_gcpvvName = a}) -- | The user-supplied description of the version. Maximum of 256 characters. gcpvvDescription :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe Text) gcpvvDescription = lens _gcpvvDescription (\ s a -> s{_gcpvvDescription = a}) -- | Output only. The time when the version was created. gcpvvCreateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Version (Maybe UTCTime) gcpvvCreateTime = lens _gcpvvCreateTime (\ s a -> s{_gcpvvCreateTime = a}) . mapping _DateTime instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1Version where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1Version" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1Version' <$> (o .:? "asset") <*> (o .:? "originalAsset") <*> (o .:? "updateTime") <*> (o .:? "name") <*> (o .:? "description") <*> (o .:? "createTime")) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1Version where toJSON GoogleCloudPrivatecatalogproducerV1beta1Version'{..} = object (catMaybes [("asset" .=) <$> _gcpvvAsset, ("originalAsset" .=) <$> _gcpvvOriginalAsset, ("updateTime" .=) <$> _gcpvvUpdateTime, ("name" .=) <$> _gcpvvName, ("description" .=) <$> _gcpvvDescription, ("createTime" .=) <$> _gcpvvCreateTime]) -- | Output only. The asset which has been validated and is ready to be -- provisioned. See Version.original_asset for the schema. -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1VersionAsset' smart constructor. newtype GoogleCloudPrivatecatalogproducerV1beta1VersionAsset = GoogleCloudPrivatecatalogproducerV1beta1VersionAsset' { _gcpvvaAddtional :: HashMap Text JSONValue } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1VersionAsset' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvvaAddtional' googleCloudPrivatecatalogproducerV1beta1VersionAsset :: HashMap Text JSONValue -- ^ 'gcpvvaAddtional' -> GoogleCloudPrivatecatalogproducerV1beta1VersionAsset googleCloudPrivatecatalogproducerV1beta1VersionAsset pGcpvvaAddtional_ = GoogleCloudPrivatecatalogproducerV1beta1VersionAsset' {_gcpvvaAddtional = _Coerce # pGcpvvaAddtional_} -- | Properties of the object. gcpvvaAddtional :: Lens' GoogleCloudPrivatecatalogproducerV1beta1VersionAsset (HashMap Text JSONValue) gcpvvaAddtional = lens _gcpvvaAddtional (\ s a -> s{_gcpvvaAddtional = a}) . _Coerce instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1VersionAsset where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1VersionAsset" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1VersionAsset' <$> (parseJSONObject o)) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1VersionAsset where toJSON = toJSON . _gcpvvaAddtional -- | The response message for Operations.ListOperations. -- -- /See:/ 'googleLongrunningListOperationsResponse' smart constructor. data GoogleLongrunningListOperationsResponse = GoogleLongrunningListOperationsResponse' { _gllorNextPageToken :: !(Maybe Text) , _gllorOperations :: !(Maybe [GoogleLongrunningOperation]) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleLongrunningListOperationsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gllorNextPageToken' -- -- * 'gllorOperations' googleLongrunningListOperationsResponse :: GoogleLongrunningListOperationsResponse googleLongrunningListOperationsResponse = GoogleLongrunningListOperationsResponse' {_gllorNextPageToken = Nothing, _gllorOperations = Nothing} -- | The standard List next-page token. gllorNextPageToken :: Lens' GoogleLongrunningListOperationsResponse (Maybe Text) gllorNextPageToken = lens _gllorNextPageToken (\ s a -> s{_gllorNextPageToken = a}) -- | A list of operations that matches the specified filter in the request. gllorOperations :: Lens' GoogleLongrunningListOperationsResponse [GoogleLongrunningOperation] gllorOperations = lens _gllorOperations (\ s a -> s{_gllorOperations = a}) . _Default . _Coerce instance FromJSON GoogleLongrunningListOperationsResponse where parseJSON = withObject "GoogleLongrunningListOperationsResponse" (\ o -> GoogleLongrunningListOperationsResponse' <$> (o .:? "nextPageToken") <*> (o .:? "operations" .!= mempty)) instance ToJSON GoogleLongrunningListOperationsResponse where toJSON GoogleLongrunningListOperationsResponse'{..} = object (catMaybes [("nextPageToken" .=) <$> _gllorNextPageToken, ("operations" .=) <$> _gllorOperations]) -- | Defines an Identity and Access Management (IAM) policy. It is used to -- specify access control policies for Cloud Platform resources. A -- \`Policy\` consists of a list of \`bindings\`. A \`binding\` binds a -- list of \`members\` to a \`role\`, where the members can be user -- accounts, Google groups, Google domains, and service accounts. A -- \`role\` is a named list of permissions defined by IAM. **JSON Example** -- { \"bindings\": [ { \"role\": \"roles\/owner\", \"members\": [ -- \"user:mike\'example.com\", \"group:admins\'example.com\", -- \"domain:google.com\", -- \"serviceAccount:my-other-app\'appspot.gserviceaccount.com\" ] }, { -- \"role\": \"roles\/viewer\", \"members\": [\"user:sean\'example.com\"] } -- ] } **YAML Example** bindings: - members: - user:mike\'example.com - -- group:admins\'example.com - domain:google.com - -- serviceAccount:my-other-app\'appspot.gserviceaccount.com role: -- roles\/owner - members: - user:sean\'example.com role: roles\/viewer For -- a description of IAM and its features, see the [IAM developer\'s -- guide](https:\/\/cloud.google.com\/iam\/docs). -- -- /See:/ 'googleIAMV1Policy' smart constructor. data GoogleIAMV1Policy = GoogleIAMV1Policy' { _givpAuditConfigs :: !(Maybe [GoogleIAMV1AuditConfig]) , _givpEtag :: !(Maybe Bytes) , _givpVersion :: !(Maybe (Textual Int32)) , _givpBindings :: !(Maybe [GoogleIAMV1Binding]) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleIAMV1Policy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'givpAuditConfigs' -- -- * 'givpEtag' -- -- * 'givpVersion' -- -- * 'givpBindings' googleIAMV1Policy :: GoogleIAMV1Policy googleIAMV1Policy = GoogleIAMV1Policy' { _givpAuditConfigs = Nothing , _givpEtag = Nothing , _givpVersion = Nothing , _givpBindings = Nothing } -- | Specifies cloud audit logging configuration for this policy. givpAuditConfigs :: Lens' GoogleIAMV1Policy [GoogleIAMV1AuditConfig] givpAuditConfigs = lens _givpAuditConfigs (\ s a -> s{_givpAuditConfigs = a}) . _Default . _Coerce -- | \`etag\` is used for optimistic concurrency control as a way to help -- prevent simultaneous updates of a policy from overwriting each other. It -- is strongly suggested that systems make use of the \`etag\` in the -- read-modify-write cycle to perform policy updates in order to avoid race -- conditions: An \`etag\` is returned in the response to \`getIamPolicy\`, -- and systems are expected to put that etag in the request to -- \`setIamPolicy\` to ensure that their change will be applied to the same -- version of the policy. If no \`etag\` is provided in the call to -- \`setIamPolicy\`, then the existing policy is overwritten blindly. givpEtag :: Lens' GoogleIAMV1Policy (Maybe ByteString) givpEtag = lens _givpEtag (\ s a -> s{_givpEtag = a}) . mapping _Bytes -- | Deprecated. givpVersion :: Lens' GoogleIAMV1Policy (Maybe Int32) givpVersion = lens _givpVersion (\ s a -> s{_givpVersion = a}) . mapping _Coerce -- | Associates a list of \`members\` to a \`role\`. \`bindings\` with no -- members will result in an error. givpBindings :: Lens' GoogleIAMV1Policy [GoogleIAMV1Binding] givpBindings = lens _givpBindings (\ s a -> s{_givpBindings = a}) . _Default . _Coerce instance FromJSON GoogleIAMV1Policy where parseJSON = withObject "GoogleIAMV1Policy" (\ o -> GoogleIAMV1Policy' <$> (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag") <*> (o .:? "version") <*> (o .:? "bindings" .!= mempty)) instance ToJSON GoogleIAMV1Policy where toJSON GoogleIAMV1Policy'{..} = object (catMaybes [("auditConfigs" .=) <$> _givpAuditConfigs, ("etag" .=) <$> _givpEtag, ("version" .=) <$> _givpVersion, ("bindings" .=) <$> _givpBindings]) -- | An association tuple that pairs a \`Catalog\` to a resource that can use -- the \`Catalog\`. After association, a -- google.cloud.privatecatalog.v1beta1.Catalog becomes available to -- consumers under specified Association.resource and all of its child -- nodes. Users who have the \`cloudprivatecatalog.targets.get\` permission -- on any of the resource nodes can access the catalog and child products -- under the node. For example, suppose the cloud resource hierarchy is as -- follows: * organizations\/example.com * folders\/team * projects\/test -- After creating an association with \`organizations\/example.com\`, the -- catalog \`catalogs\/1\` is accessible from the following paths: * -- organizations\/example.com * folders\/team * projects\/test Users can -- access them by google.cloud.v1beta1.PrivateCatalog.SearchCatalogs -- action. -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1Association' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1Association = GoogleCloudPrivatecatalogproducerV1beta1Association' { _gcpvaName :: !(Maybe Text) , _gcpvaResource :: !(Maybe Text) , _gcpvaCreateTime :: !(Maybe DateTime') } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Association' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvaName' -- -- * 'gcpvaResource' -- -- * 'gcpvaCreateTime' googleCloudPrivatecatalogproducerV1beta1Association :: GoogleCloudPrivatecatalogproducerV1beta1Association googleCloudPrivatecatalogproducerV1beta1Association = GoogleCloudPrivatecatalogproducerV1beta1Association' {_gcpvaName = Nothing, _gcpvaResource = Nothing, _gcpvaCreateTime = Nothing} -- | Output only. The resource name of the catalog association, in the format -- \`catalogs\/{catalog_id}\/associations\/{association_id}\'. A unique -- identifier for the catalog association, which is generated by catalog -- service. gcpvaName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Association (Maybe Text) gcpvaName = lens _gcpvaName (\ s a -> s{_gcpvaName = a}) -- | Required. The user-supplied fully qualified name of the \`Resource\` -- associated to the \`Catalog\`. It supports \`Organization\`, \`Folder\`, -- and \`Project\`. Values are of the form * -- \`\/\/cloudresourcemanager.googleapis.com\/projects\/{product_number}\` -- * \`\/\/cloudresourcemanager.googleapis.com\/folders\/{folder_id}\` * -- \`\/\/cloudresourcemanager.googleapis.com\/organizations\/{organization_id}\` gcpvaResource :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Association (Maybe Text) gcpvaResource = lens _gcpvaResource (\ s a -> s{_gcpvaResource = a}) -- | The creation time of the association. gcpvaCreateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Association (Maybe UTCTime) gcpvaCreateTime = lens _gcpvaCreateTime (\ s a -> s{_gcpvaCreateTime = a}) . mapping _DateTime instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1Association where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1Association" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1Association' <$> (o .:? "name") <*> (o .:? "resource") <*> (o .:? "createTime")) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1Association where toJSON GoogleCloudPrivatecatalogproducerV1beta1Association'{..} = object (catMaybes [("name" .=) <$> _gcpvaName, ("resource" .=) <$> _gcpvaResource, ("createTime" .=) <$> _gcpvaCreateTime]) -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ListProductsResponse' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse' { _gcpvlprNextPageToken :: !(Maybe Text) , _gcpvlprProducts :: !(Maybe [GoogleCloudPrivatecatalogproducerV1beta1Product]) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvlprNextPageToken' -- -- * 'gcpvlprProducts' googleCloudPrivatecatalogproducerV1beta1ListProductsResponse :: GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse googleCloudPrivatecatalogproducerV1beta1ListProductsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse' {_gcpvlprNextPageToken = Nothing, _gcpvlprProducts = Nothing} -- | A pagination token returned from a previous call to ListProducts that -- indicates where the listing should continue from. This field is -- optional. gcpvlprNextPageToken :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse (Maybe Text) gcpvlprNextPageToken = lens _gcpvlprNextPageToken (\ s a -> s{_gcpvlprNextPageToken = a}) -- | The \`Product\` returned from the list call. gcpvlprProducts :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse [GoogleCloudPrivatecatalogproducerV1beta1Product] gcpvlprProducts = lens _gcpvlprProducts (\ s a -> s{_gcpvlprProducts = a}) . _Default . _Coerce instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse' <$> (o .:? "nextPageToken") <*> (o .:? "products" .!= mempty)) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse where toJSON GoogleCloudPrivatecatalogproducerV1beta1ListProductsResponse'{..} = object (catMaybes [("nextPageToken" .=) <$> _gcpvlprNextPageToken, ("products" .=) <$> _gcpvlprProducts]) -- | Response message for \`TestIamPermissions\` method. -- -- /See:/ 'googleIAMV1TestIAMPermissionsResponse' smart constructor. newtype GoogleIAMV1TestIAMPermissionsResponse = GoogleIAMV1TestIAMPermissionsResponse' { _giamvtiamprPermissions :: Maybe [Text] } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleIAMV1TestIAMPermissionsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'giamvtiamprPermissions' googleIAMV1TestIAMPermissionsResponse :: GoogleIAMV1TestIAMPermissionsResponse googleIAMV1TestIAMPermissionsResponse = GoogleIAMV1TestIAMPermissionsResponse' {_giamvtiamprPermissions = Nothing} -- | A subset of \`TestPermissionsRequest.permissions\` that the caller is -- allowed. giamvtiamprPermissions :: Lens' GoogleIAMV1TestIAMPermissionsResponse [Text] giamvtiamprPermissions = lens _giamvtiamprPermissions (\ s a -> s{_giamvtiamprPermissions = a}) . _Default . _Coerce instance FromJSON GoogleIAMV1TestIAMPermissionsResponse where parseJSON = withObject "GoogleIAMV1TestIAMPermissionsResponse" (\ o -> GoogleIAMV1TestIAMPermissionsResponse' <$> (o .:? "permissions" .!= mempty)) instance ToJSON GoogleIAMV1TestIAMPermissionsResponse where toJSON GoogleIAMV1TestIAMPermissionsResponse'{..} = object (catMaybes [("permissions" .=) <$> _giamvtiamprPermissions]) -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' smart constructor. newtype GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest = GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' { _gcpvcarAssociation :: Maybe GoogleCloudPrivatecatalogproducerV1beta1Association } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvcarAssociation' googleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest :: GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest googleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest = GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' {_gcpvcarAssociation = Nothing} -- | The user-supplied \`Association\` that is going to be created. If the -- \`resource\` field is set, the -- \`privatecatalogproducer.catalogTargets.associate\` permission is -- checked on the target resource. gcpvcarAssociation :: Lens' GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest (Maybe GoogleCloudPrivatecatalogproducerV1beta1Association) gcpvcarAssociation = lens _gcpvcarAssociation (\ s a -> s{_gcpvcarAssociation = a}) instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest' <$> (o .:? "association")) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest where toJSON GoogleCloudPrivatecatalogproducerV1beta1CreateAssociationRequest'{..} = object (catMaybes [("association" .=) <$> _gcpvcarAssociation]) -- | Represents an expression text. Example: title: \"User account presence\" -- description: \"Determines whether the request has a user account\" -- expression: \"size(request.user) > 0\" -- -- /See:/ 'googleTypeExpr' smart constructor. data GoogleTypeExpr = GoogleTypeExpr' { _gteLocation :: !(Maybe Text) , _gteExpression :: !(Maybe Text) , _gteTitle :: !(Maybe Text) , _gteDescription :: !(Maybe Text) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleTypeExpr' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gteLocation' -- -- * 'gteExpression' -- -- * 'gteTitle' -- -- * 'gteDescription' googleTypeExpr :: GoogleTypeExpr googleTypeExpr = GoogleTypeExpr' { _gteLocation = Nothing , _gteExpression = Nothing , _gteTitle = Nothing , _gteDescription = Nothing } -- | An optional string indicating the location of the expression for error -- reporting, e.g. a file name and a position in the file. gteLocation :: Lens' GoogleTypeExpr (Maybe Text) gteLocation = lens _gteLocation (\ s a -> s{_gteLocation = a}) -- | Textual representation of an expression in Common Expression Language -- syntax. The application context of the containing message determines -- which well-known feature set of CEL is supported. gteExpression :: Lens' GoogleTypeExpr (Maybe Text) gteExpression = lens _gteExpression (\ s a -> s{_gteExpression = a}) -- | An optional title for the expression, i.e. a short string describing its -- purpose. This can be used e.g. in UIs which allow to enter the -- expression. gteTitle :: Lens' GoogleTypeExpr (Maybe Text) gteTitle = lens _gteTitle (\ s a -> s{_gteTitle = a}) -- | An optional description of the expression. This is a longer text which -- describes the expression, e.g. when hovered over it in a UI. gteDescription :: Lens' GoogleTypeExpr (Maybe Text) gteDescription = lens _gteDescription (\ s a -> s{_gteDescription = a}) instance FromJSON GoogleTypeExpr where parseJSON = withObject "GoogleTypeExpr" (\ o -> GoogleTypeExpr' <$> (o .:? "location") <*> (o .:? "expression") <*> (o .:? "title") <*> (o .:? "description")) instance ToJSON GoogleTypeExpr where toJSON GoogleTypeExpr'{..} = object (catMaybes [("location" .=) <$> _gteLocation, ("expression" .=) <$> _gteExpression, ("title" .=) <$> _gteTitle, ("description" .=) <$> _gteDescription]) -- | This resource represents a long-running operation that is the result of -- a network API call. -- -- /See:/ 'googleLongrunningOperation' smart constructor. data GoogleLongrunningOperation = GoogleLongrunningOperation' { _gloDone :: !(Maybe Bool) , _gloError :: !(Maybe GoogleRpcStatus) , _gloResponse :: !(Maybe GoogleLongrunningOperationResponse) , _gloName :: !(Maybe Text) , _gloMetadata :: !(Maybe GoogleLongrunningOperationMetadata) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleLongrunningOperation' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gloDone' -- -- * 'gloError' -- -- * 'gloResponse' -- -- * 'gloName' -- -- * 'gloMetadata' googleLongrunningOperation :: GoogleLongrunningOperation googleLongrunningOperation = GoogleLongrunningOperation' { _gloDone = Nothing , _gloError = Nothing , _gloResponse = Nothing , _gloName = Nothing , _gloMetadata = Nothing } -- | If the value is \`false\`, it means the operation is still in progress. -- If \`true\`, the operation is completed, and either \`error\` or -- \`response\` is available. gloDone :: Lens' GoogleLongrunningOperation (Maybe Bool) gloDone = lens _gloDone (\ s a -> s{_gloDone = a}) -- | The error result of the operation in case of failure or cancellation. gloError :: Lens' GoogleLongrunningOperation (Maybe GoogleRpcStatus) gloError = lens _gloError (\ s a -> s{_gloError = a}) -- | The normal response of the operation in case of success. If the original -- method returns no data on success, such as \`Delete\`, the response is -- \`google.protobuf.Empty\`. If the original method is standard -- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource. -- For other methods, the response should have the type \`XxxResponse\`, -- where \`Xxx\` is the original method name. For example, if the original -- method name is \`TakeSnapshot()\`, the inferred response type is -- \`TakeSnapshotResponse\`. gloResponse :: Lens' GoogleLongrunningOperation (Maybe GoogleLongrunningOperationResponse) gloResponse = lens _gloResponse (\ s a -> s{_gloResponse = a}) -- | The server-assigned name, which is only unique within the same service -- that originally returns it. If you use the default HTTP mapping, the -- \`name\` should have the format of \`operations\/some\/unique\/name\`. gloName :: Lens' GoogleLongrunningOperation (Maybe Text) gloName = lens _gloName (\ s a -> s{_gloName = a}) -- | Service-specific metadata associated with the operation. It typically -- contains progress information and common metadata such as create time. -- Some services might not provide such metadata. Any method that returns a -- long-running operation should document the metadata type, if any. gloMetadata :: Lens' GoogleLongrunningOperation (Maybe GoogleLongrunningOperationMetadata) gloMetadata = lens _gloMetadata (\ s a -> s{_gloMetadata = a}) instance FromJSON GoogleLongrunningOperation where parseJSON = withObject "GoogleLongrunningOperation" (\ o -> GoogleLongrunningOperation' <$> (o .:? "done") <*> (o .:? "error") <*> (o .:? "response") <*> (o .:? "name") <*> (o .:? "metadata")) instance ToJSON GoogleLongrunningOperation where toJSON GoogleLongrunningOperation'{..} = object (catMaybes [("done" .=) <$> _gloDone, ("error" .=) <$> _gloError, ("response" .=) <$> _gloResponse, ("name" .=) <$> _gloName, ("metadata" .=) <$> _gloMetadata]) -- | The producer representation of a product which is a child resource of -- \`Catalog\` with display metadata and a list of \`Version\` resources. -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1Product' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1Product = GoogleCloudPrivatecatalogproducerV1beta1Product' { _gcpvpIconURI :: !(Maybe Text) , _gcpvpUpdateTime :: !(Maybe DateTime') , _gcpvpDisplayMetadata :: !(Maybe GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata) , _gcpvpName :: !(Maybe Text) , _gcpvpAssetType :: !(Maybe Text) , _gcpvpCreateTime :: !(Maybe DateTime') } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1Product' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvpIconURI' -- -- * 'gcpvpUpdateTime' -- -- * 'gcpvpDisplayMetadata' -- -- * 'gcpvpName' -- -- * 'gcpvpAssetType' -- -- * 'gcpvpCreateTime' googleCloudPrivatecatalogproducerV1beta1Product :: GoogleCloudPrivatecatalogproducerV1beta1Product googleCloudPrivatecatalogproducerV1beta1Product = GoogleCloudPrivatecatalogproducerV1beta1Product' { _gcpvpIconURI = Nothing , _gcpvpUpdateTime = Nothing , _gcpvpDisplayMetadata = Nothing , _gcpvpName = Nothing , _gcpvpAssetType = Nothing , _gcpvpCreateTime = Nothing } -- | Output only. The public accessible URI of the icon uploaded by -- PrivateCatalogProducer.UploadIcon. If no icon is uploaded, it will be -- the default icon\'s URI. gcpvpIconURI :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe Text) gcpvpIconURI = lens _gcpvpIconURI (\ s a -> s{_gcpvpIconURI = a}) -- | Output only. The time when the product was last updated. gcpvpUpdateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe UTCTime) gcpvpUpdateTime = lens _gcpvpUpdateTime (\ s a -> s{_gcpvpUpdateTime = a}) . mapping _DateTime -- | The user-supplied display metadata to describe the product. The JSON -- schema of the metadata differs by 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 -- documentation: 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 -- documentation: 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 -- \`\`\` gcpvpDisplayMetadata :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe GoogleCloudPrivatecatalogproducerV1beta1ProductDisplayMetadata) gcpvpDisplayMetadata = lens _gcpvpDisplayMetadata (\ s a -> s{_gcpvpDisplayMetadata = a}) -- | Required. The resource name of the product in the format -- \`catalogs\/{catalog_id}\/products\/a-z*[a-z0-9]\'. A unique identifier -- for the product under a catalog, which cannot be changed after the -- product is created. The final segment of the name must between 1 and 256 -- characters in length. gcpvpName :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe Text) gcpvpName = lens _gcpvpName (\ s a -> s{_gcpvpName = a}) -- | Required. The type of the product asset, which cannot be changed after -- the product is created. It supports the values -- \`google.deploymentmanager.Template\` and -- \`google.cloudprivatecatalog.ListingOnly\`. Other values will be -- rejected by the server. Read only after creation. The following fields -- or resource types have different validation rules under each -- \`asset_type\` values: * Product.display_metadata has different -- validation schema for each asset type value. See its comment for -- details. * Version resource isn\'t allowed to be added under the -- \`google.cloudprivatecatalog.ListingOnly\` type. gcpvpAssetType :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe Text) gcpvpAssetType = lens _gcpvpAssetType (\ s a -> s{_gcpvpAssetType = a}) -- | Output only. The time when the product was created. gcpvpCreateTime :: Lens' GoogleCloudPrivatecatalogproducerV1beta1Product (Maybe UTCTime) gcpvpCreateTime = lens _gcpvpCreateTime (\ s a -> s{_gcpvpCreateTime = a}) . mapping _DateTime instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1Product where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1Product" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1Product' <$> (o .:? "iconUri") <*> (o .:? "updateTime") <*> (o .:? "displayMetadata") <*> (o .:? "name") <*> (o .:? "assetType") <*> (o .:? "createTime")) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1Product where toJSON GoogleCloudPrivatecatalogproducerV1beta1Product'{..} = object (catMaybes [("iconUri" .=) <$> _gcpvpIconURI, ("updateTime" .=) <$> _gcpvpUpdateTime, ("displayMetadata" .=) <$> _gcpvpDisplayMetadata, ("name" .=) <$> _gcpvpName, ("assetType" .=) <$> _gcpvpAssetType, ("createTime" .=) <$> _gcpvpCreateTime]) -- | The user-supplied asset payload. The maximum size of the payload is 2MB. -- The JSON schema of the payload is defined as: \`\`\` type: object -- properties: mainTemplate: type: string description: The file name of the -- main template and name prefix of schema file. The content of the main -- template should be set in the imports list. The schema file name is -- expected to be .schema in the imports list. required: true imports: -- type: array description: Import template and schema file contents. -- Required to have both and .schema files. required: true minItems: 2 -- items: type: object properties: name: type: string content: type: string -- \`\`\` -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset' smart constructor. newtype GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset = GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset' { _gcpvvoaAddtional :: HashMap Text JSONValue } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvvoaAddtional' googleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset :: HashMap Text JSONValue -- ^ 'gcpvvoaAddtional' -> GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset googleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset pGcpvvoaAddtional_ = GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset' {_gcpvvoaAddtional = _Coerce # pGcpvvoaAddtional_} -- | Properties of the object. gcpvvoaAddtional :: Lens' GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset (HashMap Text JSONValue) gcpvvoaAddtional = lens _gcpvvoaAddtional (\ s a -> s{_gcpvvoaAddtional = a}) . _Coerce instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset' <$> (parseJSONObject o)) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1VersionOriginalAsset where toJSON = toJSON . _gcpvvoaAddtional -- -- /See:/ 'googleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' smart constructor. data GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' { _gcpvlarNextPageToken :: !(Maybe Text) , _gcpvlarAssociations :: !(Maybe [GoogleCloudPrivatecatalogproducerV1beta1Association]) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'gcpvlarNextPageToken' -- -- * 'gcpvlarAssociations' googleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse :: GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse googleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse = GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' {_gcpvlarNextPageToken = Nothing, _gcpvlarAssociations = Nothing} -- | A pagination token returned from a previous call to \`ListAssociations\` -- that indicates where the listing should continue from. This field is -- optional. gcpvlarNextPageToken :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse (Maybe Text) gcpvlarNextPageToken = lens _gcpvlarNextPageToken (\ s a -> s{_gcpvlarNextPageToken = a}) -- | The returned \`Association\` resources from the list call. gcpvlarAssociations :: Lens' GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse [GoogleCloudPrivatecatalogproducerV1beta1Association] gcpvlarAssociations = lens _gcpvlarAssociations (\ s a -> s{_gcpvlarAssociations = a}) . _Default . _Coerce instance FromJSON GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse where parseJSON = withObject "GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse" (\ o -> GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse' <$> (o .:? "nextPageToken") <*> (o .:? "associations" .!= mempty)) instance ToJSON GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse where toJSON GoogleCloudPrivatecatalogproducerV1beta1ListAssociationsResponse'{..} = object (catMaybes [("nextPageToken" .=) <$> _gcpvlarNextPageToken, ("associations" .=) <$> _gcpvlarAssociations])