gogol-cloudshell-1.0.0: gen/Gogol/CloudShell/Internal/Product.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- |
-- Module : Gogol.CloudShell.Internal.Product
-- Copyright : (c) 2015-2025 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+gogol@gmail.com>
-- Toni Cebrián <toni@tonicebrian.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
module Gogol.CloudShell.Internal.Product
( -- * AddPublicKeyMetadata
AddPublicKeyMetadata (..),
newAddPublicKeyMetadata,
-- * AddPublicKeyRequest
AddPublicKeyRequest (..),
newAddPublicKeyRequest,
-- * AddPublicKeyResponse
AddPublicKeyResponse (..),
newAddPublicKeyResponse,
-- * AuthorizeEnvironmentMetadata
AuthorizeEnvironmentMetadata (..),
newAuthorizeEnvironmentMetadata,
-- * AuthorizeEnvironmentRequest
AuthorizeEnvironmentRequest (..),
newAuthorizeEnvironmentRequest,
-- * AuthorizeEnvironmentResponse
AuthorizeEnvironmentResponse (..),
newAuthorizeEnvironmentResponse,
-- * CancelOperationRequest
CancelOperationRequest (..),
newCancelOperationRequest,
-- * CreateEnvironmentMetadata
CreateEnvironmentMetadata (..),
newCreateEnvironmentMetadata,
-- * DeleteEnvironmentMetadata
DeleteEnvironmentMetadata (..),
newDeleteEnvironmentMetadata,
-- * Empty
Empty (..),
newEmpty,
-- * Environment
Environment (..),
newEnvironment,
-- * ListOperationsResponse
ListOperationsResponse (..),
newListOperationsResponse,
-- * Operation
Operation (..),
newOperation,
-- * Operation_Metadata
Operation_Metadata (..),
newOperation_Metadata,
-- * Operation_Response
Operation_Response (..),
newOperation_Response,
-- * RemovePublicKeyMetadata
RemovePublicKeyMetadata (..),
newRemovePublicKeyMetadata,
-- * RemovePublicKeyRequest
RemovePublicKeyRequest (..),
newRemovePublicKeyRequest,
-- * RemovePublicKeyResponse
RemovePublicKeyResponse (..),
newRemovePublicKeyResponse,
-- * StartEnvironmentMetadata
StartEnvironmentMetadata (..),
newStartEnvironmentMetadata,
-- * StartEnvironmentRequest
StartEnvironmentRequest (..),
newStartEnvironmentRequest,
-- * StartEnvironmentResponse
StartEnvironmentResponse (..),
newStartEnvironmentResponse,
-- * Status
Status (..),
newStatus,
-- * Status_DetailsItem
Status_DetailsItem (..),
newStatus_DetailsItem,
)
where
import Gogol.CloudShell.Internal.Sum
import Gogol.Prelude qualified as Core
-- | Message included in the metadata field of operations returned from AddPublicKey.
--
-- /See:/ 'newAddPublicKeyMetadata' smart constructor.
data AddPublicKeyMetadata = AddPublicKeyMetadata
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AddPublicKeyMetadata' with the minimum fields required to make a request.
newAddPublicKeyMetadata ::
AddPublicKeyMetadata
newAddPublicKeyMetadata = AddPublicKeyMetadata
instance Core.FromJSON AddPublicKeyMetadata where
parseJSON =
Core.withObject
"AddPublicKeyMetadata"
(\o -> Core.pure AddPublicKeyMetadata)
instance Core.ToJSON AddPublicKeyMetadata where
toJSON = Core.const Core.emptyObject
-- | Request message for AddPublicKey.
--
-- /See:/ 'newAddPublicKeyRequest' smart constructor.
newtype AddPublicKeyRequest = AddPublicKeyRequest
{ -- | Key that should be added to the environment. Supported formats are @ssh-dss@ (see RFC4253), @ssh-rsa@ (see RFC4253), @ecdsa-sha2-nistp256@ (see RFC5656), @ecdsa-sha2-nistp384@ (see RFC5656) and @ecdsa-sha2-nistp521@ (see RFC5656). It should be structured as \<format> \<content>, where \<content> part is encoded with Base64.
key :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AddPublicKeyRequest' with the minimum fields required to make a request.
newAddPublicKeyRequest ::
AddPublicKeyRequest
newAddPublicKeyRequest = AddPublicKeyRequest {key = Core.Nothing}
instance Core.FromJSON AddPublicKeyRequest where
parseJSON =
Core.withObject
"AddPublicKeyRequest"
(\o -> AddPublicKeyRequest Core.<$> (o Core..:? "key"))
instance Core.ToJSON AddPublicKeyRequest where
toJSON AddPublicKeyRequest {..} =
Core.object (Core.catMaybes [("key" Core..=) Core.<$> key])
-- | Response message for AddPublicKey.
--
-- /See:/ 'newAddPublicKeyResponse' smart constructor.
newtype AddPublicKeyResponse = AddPublicKeyResponse
{ -- | Key that was added to the environment.
key :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AddPublicKeyResponse' with the minimum fields required to make a request.
newAddPublicKeyResponse ::
AddPublicKeyResponse
newAddPublicKeyResponse = AddPublicKeyResponse {key = Core.Nothing}
instance Core.FromJSON AddPublicKeyResponse where
parseJSON =
Core.withObject
"AddPublicKeyResponse"
(\o -> AddPublicKeyResponse Core.<$> (o Core..:? "key"))
instance Core.ToJSON AddPublicKeyResponse where
toJSON AddPublicKeyResponse {..} =
Core.object (Core.catMaybes [("key" Core..=) Core.<$> key])
-- | Message included in the metadata field of operations returned from AuthorizeEnvironment.
--
-- /See:/ 'newAuthorizeEnvironmentMetadata' smart constructor.
data AuthorizeEnvironmentMetadata = AuthorizeEnvironmentMetadata
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AuthorizeEnvironmentMetadata' with the minimum fields required to make a request.
newAuthorizeEnvironmentMetadata ::
AuthorizeEnvironmentMetadata
newAuthorizeEnvironmentMetadata = AuthorizeEnvironmentMetadata
instance Core.FromJSON AuthorizeEnvironmentMetadata where
parseJSON =
Core.withObject
"AuthorizeEnvironmentMetadata"
(\o -> Core.pure AuthorizeEnvironmentMetadata)
instance Core.ToJSON AuthorizeEnvironmentMetadata where
toJSON = Core.const Core.emptyObject
-- | Request message for AuthorizeEnvironment.
--
-- /See:/ 'newAuthorizeEnvironmentRequest' smart constructor.
data AuthorizeEnvironmentRequest = AuthorizeEnvironmentRequest
{ -- | The OAuth access token that should be sent to the environment.
accessToken :: (Core.Maybe Core.Text),
-- | The time when the credentials expire. If not set, defaults to one hour from when the server received the request.
expireTime :: (Core.Maybe Core.DateTime),
-- | The OAuth ID token that should be sent to the environment.
idToken :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AuthorizeEnvironmentRequest' with the minimum fields required to make a request.
newAuthorizeEnvironmentRequest ::
AuthorizeEnvironmentRequest
newAuthorizeEnvironmentRequest =
AuthorizeEnvironmentRequest
{ accessToken = Core.Nothing,
expireTime = Core.Nothing,
idToken = Core.Nothing
}
instance Core.FromJSON AuthorizeEnvironmentRequest where
parseJSON =
Core.withObject
"AuthorizeEnvironmentRequest"
( \o ->
AuthorizeEnvironmentRequest
Core.<$> (o Core..:? "accessToken")
Core.<*> (o Core..:? "expireTime")
Core.<*> (o Core..:? "idToken")
)
instance Core.ToJSON AuthorizeEnvironmentRequest where
toJSON AuthorizeEnvironmentRequest {..} =
Core.object
( Core.catMaybes
[ ("accessToken" Core..=) Core.<$> accessToken,
("expireTime" Core..=) Core.<$> expireTime,
("idToken" Core..=) Core.<$> idToken
]
)
-- | Response message for AuthorizeEnvironment.
--
-- /See:/ 'newAuthorizeEnvironmentResponse' smart constructor.
data AuthorizeEnvironmentResponse = AuthorizeEnvironmentResponse
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'AuthorizeEnvironmentResponse' with the minimum fields required to make a request.
newAuthorizeEnvironmentResponse ::
AuthorizeEnvironmentResponse
newAuthorizeEnvironmentResponse = AuthorizeEnvironmentResponse
instance Core.FromJSON AuthorizeEnvironmentResponse where
parseJSON =
Core.withObject
"AuthorizeEnvironmentResponse"
(\o -> Core.pure AuthorizeEnvironmentResponse)
instance Core.ToJSON AuthorizeEnvironmentResponse where
toJSON = Core.const Core.emptyObject
-- | The request message for Operations.CancelOperation.
--
-- /See:/ 'newCancelOperationRequest' smart constructor.
data CancelOperationRequest = CancelOperationRequest
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'CancelOperationRequest' with the minimum fields required to make a request.
newCancelOperationRequest ::
CancelOperationRequest
newCancelOperationRequest = CancelOperationRequest
instance Core.FromJSON CancelOperationRequest where
parseJSON =
Core.withObject
"CancelOperationRequest"
(\o -> Core.pure CancelOperationRequest)
instance Core.ToJSON CancelOperationRequest where
toJSON = Core.const Core.emptyObject
-- | Message included in the metadata field of operations returned from CreateEnvironment.
--
-- /See:/ 'newCreateEnvironmentMetadata' smart constructor.
data CreateEnvironmentMetadata = CreateEnvironmentMetadata
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'CreateEnvironmentMetadata' with the minimum fields required to make a request.
newCreateEnvironmentMetadata ::
CreateEnvironmentMetadata
newCreateEnvironmentMetadata = CreateEnvironmentMetadata
instance Core.FromJSON CreateEnvironmentMetadata where
parseJSON =
Core.withObject
"CreateEnvironmentMetadata"
(\o -> Core.pure CreateEnvironmentMetadata)
instance Core.ToJSON CreateEnvironmentMetadata where
toJSON = Core.const Core.emptyObject
-- | Message included in the metadata field of operations returned from DeleteEnvironment.
--
-- /See:/ 'newDeleteEnvironmentMetadata' smart constructor.
data DeleteEnvironmentMetadata = DeleteEnvironmentMetadata
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'DeleteEnvironmentMetadata' with the minimum fields required to make a request.
newDeleteEnvironmentMetadata ::
DeleteEnvironmentMetadata
newDeleteEnvironmentMetadata = DeleteEnvironmentMetadata
instance Core.FromJSON DeleteEnvironmentMetadata where
parseJSON =
Core.withObject
"DeleteEnvironmentMetadata"
(\o -> Core.pure DeleteEnvironmentMetadata)
instance Core.ToJSON DeleteEnvironmentMetadata where
toJSON = Core.const Core.emptyObject
-- | 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); }
--
-- /See:/ 'newEmpty' smart constructor.
data Empty = Empty
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Empty' with the minimum fields required to make a request.
newEmpty ::
Empty
newEmpty = Empty
instance Core.FromJSON Empty where
parseJSON = Core.withObject "Empty" (\o -> Core.pure Empty)
instance Core.ToJSON Empty where
toJSON = Core.const Core.emptyObject
-- | A Cloud Shell environment, which is defined as the combination of a Docker image specifying what is installed on the environment and a home directory containing the user\'s data that will remain across sessions. Each user has at least an environment with the ID \"default\".
--
-- /See:/ 'newEnvironment' smart constructor.
data Environment = Environment
{ -- | Required. Immutable. Full path to the Docker image used to run this environment, e.g. \"gcr.io\/dev-con\/cloud-devshell:latest\".
dockerImage :: (Core.Maybe Core.Text),
-- | Output only. The environment\'s identifier, unique among the user\'s environments.
id :: (Core.Maybe Core.Text),
-- | Immutable. Full name of this resource, in the format @users\/{owner_email}\/environments\/{environment_id}@. @{owner_email}@ is the email address of the user to whom this environment belongs, and @{environment_id}@ is the identifier of this environment. For example, @users\/someone\@example.com\/environments\/default@.
name :: (Core.Maybe Core.Text),
-- | Output only. Public keys associated with the environment. Clients can connect to this environment via SSH only if they possess a private key corresponding to at least one of these public keys. Keys can be added to or removed from the environment using the AddPublicKey and RemovePublicKey methods.
publicKeys :: (Core.Maybe [Core.Text]),
-- | Output only. Host to which clients can connect to initiate SSH sessions with the environment.
sshHost :: (Core.Maybe Core.Text),
-- | Output only. Port to which clients can connect to initiate SSH sessions with the environment.
sshPort :: (Core.Maybe Core.Int32),
-- | Output only. Username that clients should use when initiating SSH sessions with the environment.
sshUsername :: (Core.Maybe Core.Text),
-- | Output only. Current execution state of this environment.
state :: (Core.Maybe Environment_State),
-- | Output only. Host to which clients can connect to initiate HTTPS or WSS connections with the environment.
webHost :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Environment' with the minimum fields required to make a request.
newEnvironment ::
Environment
newEnvironment =
Environment
{ dockerImage = Core.Nothing,
id = Core.Nothing,
name = Core.Nothing,
publicKeys = Core.Nothing,
sshHost = Core.Nothing,
sshPort = Core.Nothing,
sshUsername = Core.Nothing,
state = Core.Nothing,
webHost = Core.Nothing
}
instance Core.FromJSON Environment where
parseJSON =
Core.withObject
"Environment"
( \o ->
Environment
Core.<$> (o Core..:? "dockerImage")
Core.<*> (o Core..:? "id")
Core.<*> (o Core..:? "name")
Core.<*> (o Core..:? "publicKeys")
Core.<*> (o Core..:? "sshHost")
Core.<*> (o Core..:? "sshPort")
Core.<*> (o Core..:? "sshUsername")
Core.<*> (o Core..:? "state")
Core.<*> (o Core..:? "webHost")
)
instance Core.ToJSON Environment where
toJSON Environment {..} =
Core.object
( Core.catMaybes
[ ("dockerImage" Core..=) Core.<$> dockerImage,
("id" Core..=) Core.<$> id,
("name" Core..=) Core.<$> name,
("publicKeys" Core..=) Core.<$> publicKeys,
("sshHost" Core..=) Core.<$> sshHost,
("sshPort" Core..=) Core.<$> sshPort,
("sshUsername" Core..=) Core.<$> sshUsername,
("state" Core..=) Core.<$> state,
("webHost" Core..=) Core.<$> webHost
]
)
-- | The response message for Operations.ListOperations.
--
-- /See:/ 'newListOperationsResponse' smart constructor.
data ListOperationsResponse = ListOperationsResponse
{ -- | The standard List next-page token.
nextPageToken :: (Core.Maybe Core.Text),
-- | A list of operations that matches the specified filter in the request.
operations :: (Core.Maybe [Operation])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.
newListOperationsResponse ::
ListOperationsResponse
newListOperationsResponse =
ListOperationsResponse
{ nextPageToken = Core.Nothing,
operations = Core.Nothing
}
instance Core.FromJSON ListOperationsResponse where
parseJSON =
Core.withObject
"ListOperationsResponse"
( \o ->
ListOperationsResponse
Core.<$> (o Core..:? "nextPageToken")
Core.<*> (o Core..:? "operations")
)
instance Core.ToJSON ListOperationsResponse where
toJSON ListOperationsResponse {..} =
Core.object
( Core.catMaybes
[ ("nextPageToken" Core..=) Core.<$> nextPageToken,
("operations" Core..=) Core.<$> operations
]
)
-- | This resource represents a long-running operation that is the result of a network API call.
--
-- /See:/ 'newOperation' smart constructor.
data Operation = Operation
{ -- | 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.
done :: (Core.Maybe Core.Bool),
-- | The error result of the operation in case of failure or cancellation.
error :: (Core.Maybe Status),
-- | 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.
metadata :: (Core.Maybe Operation_Metadata),
-- | 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 be a resource name ending with @operations\/{unique_id}@.
name :: (Core.Maybe Core.Text),
-- | The normal, successful response of the operation. 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@.
response :: (Core.Maybe Operation_Response)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Operation' with the minimum fields required to make a request.
newOperation ::
Operation
newOperation =
Operation
{ done = Core.Nothing,
error = Core.Nothing,
metadata = Core.Nothing,
name = Core.Nothing,
response = Core.Nothing
}
instance Core.FromJSON Operation where
parseJSON =
Core.withObject
"Operation"
( \o ->
Operation
Core.<$> (o Core..:? "done")
Core.<*> (o Core..:? "error")
Core.<*> (o Core..:? "metadata")
Core.<*> (o Core..:? "name")
Core.<*> (o Core..:? "response")
)
instance Core.ToJSON Operation where
toJSON Operation {..} =
Core.object
( Core.catMaybes
[ ("done" Core..=) Core.<$> done,
("error" Core..=) Core.<$> error,
("metadata" Core..=) Core.<$> metadata,
("name" Core..=) Core.<$> name,
("response" Core..=) Core.<$> response
]
)
-- | 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:/ 'newOperation_Metadata' smart constructor.
newtype Operation_Metadata = Operation_Metadata
{ -- | Properties of the object. Contains field \@type with type URL.
additional :: (Core.HashMap Core.Text Core.Value)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Operation_Metadata' with the minimum fields required to make a request.
newOperation_Metadata ::
-- | Properties of the object. Contains field \@type with type URL. See 'additional'.
Core.HashMap Core.Text Core.Value ->
Operation_Metadata
newOperation_Metadata additional =
Operation_Metadata {additional = additional}
instance Core.FromJSON Operation_Metadata where
parseJSON =
Core.withObject
"Operation_Metadata"
(\o -> Operation_Metadata Core.<$> (Core.parseJSONObject o))
instance Core.ToJSON Operation_Metadata where
toJSON Operation_Metadata {..} = Core.toJSON additional
-- | The normal, successful response of the operation. 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:/ 'newOperation_Response' smart constructor.
newtype Operation_Response = Operation_Response
{ -- | Properties of the object. Contains field \@type with type URL.
additional :: (Core.HashMap Core.Text Core.Value)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Operation_Response' with the minimum fields required to make a request.
newOperation_Response ::
-- | Properties of the object. Contains field \@type with type URL. See 'additional'.
Core.HashMap Core.Text Core.Value ->
Operation_Response
newOperation_Response additional =
Operation_Response {additional = additional}
instance Core.FromJSON Operation_Response where
parseJSON =
Core.withObject
"Operation_Response"
(\o -> Operation_Response Core.<$> (Core.parseJSONObject o))
instance Core.ToJSON Operation_Response where
toJSON Operation_Response {..} = Core.toJSON additional
-- | Message included in the metadata field of operations returned from RemovePublicKey.
--
-- /See:/ 'newRemovePublicKeyMetadata' smart constructor.
data RemovePublicKeyMetadata = RemovePublicKeyMetadata
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'RemovePublicKeyMetadata' with the minimum fields required to make a request.
newRemovePublicKeyMetadata ::
RemovePublicKeyMetadata
newRemovePublicKeyMetadata = RemovePublicKeyMetadata
instance Core.FromJSON RemovePublicKeyMetadata where
parseJSON =
Core.withObject
"RemovePublicKeyMetadata"
(\o -> Core.pure RemovePublicKeyMetadata)
instance Core.ToJSON RemovePublicKeyMetadata where
toJSON = Core.const Core.emptyObject
-- | Request message for RemovePublicKey.
--
-- /See:/ 'newRemovePublicKeyRequest' smart constructor.
newtype RemovePublicKeyRequest = RemovePublicKeyRequest
{ -- | Key that should be removed from the environment.
key :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'RemovePublicKeyRequest' with the minimum fields required to make a request.
newRemovePublicKeyRequest ::
RemovePublicKeyRequest
newRemovePublicKeyRequest =
RemovePublicKeyRequest {key = Core.Nothing}
instance Core.FromJSON RemovePublicKeyRequest where
parseJSON =
Core.withObject
"RemovePublicKeyRequest"
(\o -> RemovePublicKeyRequest Core.<$> (o Core..:? "key"))
instance Core.ToJSON RemovePublicKeyRequest where
toJSON RemovePublicKeyRequest {..} =
Core.object (Core.catMaybes [("key" Core..=) Core.<$> key])
-- | Response message for RemovePublicKey.
--
-- /See:/ 'newRemovePublicKeyResponse' smart constructor.
data RemovePublicKeyResponse = RemovePublicKeyResponse
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'RemovePublicKeyResponse' with the minimum fields required to make a request.
newRemovePublicKeyResponse ::
RemovePublicKeyResponse
newRemovePublicKeyResponse = RemovePublicKeyResponse
instance Core.FromJSON RemovePublicKeyResponse where
parseJSON =
Core.withObject
"RemovePublicKeyResponse"
(\o -> Core.pure RemovePublicKeyResponse)
instance Core.ToJSON RemovePublicKeyResponse where
toJSON = Core.const Core.emptyObject
-- | Message included in the metadata field of operations returned from StartEnvironment.
--
-- /See:/ 'newStartEnvironmentMetadata' smart constructor.
newtype StartEnvironmentMetadata = StartEnvironmentMetadata
{ -- | Current state of the environment being started.
state :: (Core.Maybe StartEnvironmentMetadata_State)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'StartEnvironmentMetadata' with the minimum fields required to make a request.
newStartEnvironmentMetadata ::
StartEnvironmentMetadata
newStartEnvironmentMetadata =
StartEnvironmentMetadata {state = Core.Nothing}
instance Core.FromJSON StartEnvironmentMetadata where
parseJSON =
Core.withObject
"StartEnvironmentMetadata"
(\o -> StartEnvironmentMetadata Core.<$> (o Core..:? "state"))
instance Core.ToJSON StartEnvironmentMetadata where
toJSON StartEnvironmentMetadata {..} =
Core.object (Core.catMaybes [("state" Core..=) Core.<$> state])
-- | Request message for StartEnvironment.
--
-- /See:/ 'newStartEnvironmentRequest' smart constructor.
data StartEnvironmentRequest = StartEnvironmentRequest
{ -- | The initial access token passed to the environment. If this is present and valid, the environment will be pre-authenticated with gcloud so that the user can run gcloud commands in Cloud Shell without having to log in. This code can be updated later by calling AuthorizeEnvironment.
accessToken :: (Core.Maybe Core.Text),
-- | Public keys that should be added to the environment before it is started.
publicKeys :: (Core.Maybe [Core.Text])
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'StartEnvironmentRequest' with the minimum fields required to make a request.
newStartEnvironmentRequest ::
StartEnvironmentRequest
newStartEnvironmentRequest =
StartEnvironmentRequest
{ accessToken = Core.Nothing,
publicKeys = Core.Nothing
}
instance Core.FromJSON StartEnvironmentRequest where
parseJSON =
Core.withObject
"StartEnvironmentRequest"
( \o ->
StartEnvironmentRequest
Core.<$> (o Core..:? "accessToken")
Core.<*> (o Core..:? "publicKeys")
)
instance Core.ToJSON StartEnvironmentRequest where
toJSON StartEnvironmentRequest {..} =
Core.object
( Core.catMaybes
[ ("accessToken" Core..=) Core.<$> accessToken,
("publicKeys" Core..=) Core.<$> publicKeys
]
)
-- | Message included in the response field of operations returned from StartEnvironment once the operation is complete.
--
-- /See:/ 'newStartEnvironmentResponse' smart constructor.
newtype StartEnvironmentResponse = StartEnvironmentResponse
{ -- | Environment that was started.
environment :: (Core.Maybe Environment)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'StartEnvironmentResponse' with the minimum fields required to make a request.
newStartEnvironmentResponse ::
StartEnvironmentResponse
newStartEnvironmentResponse =
StartEnvironmentResponse {environment = Core.Nothing}
instance Core.FromJSON StartEnvironmentResponse where
parseJSON =
Core.withObject
"StartEnvironmentResponse"
( \o ->
StartEnvironmentResponse Core.<$> (o Core..:? "environment")
)
instance Core.ToJSON StartEnvironmentResponse where
toJSON StartEnvironmentResponse {..} =
Core.object
(Core.catMaybes [("environment" Core..=) Core.<$> environment])
-- | 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 <https://github.com/grpc gRPC>. Each @Status@ message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the <https://cloud.google.com/apis/design/errors API Design Guide>.
--
-- /See:/ 'newStatus' smart constructor.
data Status = Status
{ -- | The status code, which should be an enum value of google.rpc.Code.
code :: (Core.Maybe Core.Int32),
-- | A list of messages that carry the error details. There is a common set of message types for APIs to use.
details :: (Core.Maybe [Status_DetailsItem]),
-- | 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.
message :: (Core.Maybe Core.Text)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Status' with the minimum fields required to make a request.
newStatus ::
Status
newStatus =
Status
{ code = Core.Nothing,
details = Core.Nothing,
message = Core.Nothing
}
instance Core.FromJSON Status where
parseJSON =
Core.withObject
"Status"
( \o ->
Status
Core.<$> (o Core..:? "code")
Core.<*> (o Core..:? "details")
Core.<*> (o Core..:? "message")
)
instance Core.ToJSON Status where
toJSON Status {..} =
Core.object
( Core.catMaybes
[ ("code" Core..=) Core.<$> code,
("details" Core..=) Core.<$> details,
("message" Core..=) Core.<$> message
]
)
--
-- /See:/ 'newStatus_DetailsItem' smart constructor.
newtype Status_DetailsItem = Status_DetailsItem
{ -- | Properties of the object. Contains field \@type with type URL.
additional :: (Core.HashMap Core.Text Core.Value)
}
deriving (Core.Eq, Core.Show, Core.Generic)
-- | Creates a value of 'Status_DetailsItem' with the minimum fields required to make a request.
newStatus_DetailsItem ::
-- | Properties of the object. Contains field \@type with type URL. See 'additional'.
Core.HashMap Core.Text Core.Value ->
Status_DetailsItem
newStatus_DetailsItem additional =
Status_DetailsItem {additional = additional}
instance Core.FromJSON Status_DetailsItem where
parseJSON =
Core.withObject
"Status_DetailsItem"
(\o -> Status_DetailsItem Core.<$> (Core.parseJSONObject o))
instance Core.ToJSON Status_DetailsItem where
toJSON Status_DetailsItem {..} = Core.toJSON additional