# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'

module Google
  module Apis
    module ClouddeployV1
      
      class AbandonReleaseRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AbandonReleaseResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvanceChildRolloutJob
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvanceChildRolloutJobRun
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvanceRolloutOperation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvanceRolloutRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvanceRolloutResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdvanceRolloutRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AnthosCluster
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ApproveRolloutRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ApproveRolloutResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AssociatedEntities
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AuditConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AuditLogConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Automation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AutomationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AutomationResourceSelector
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AutomationRolloutMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AutomationRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AutomationRuleCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AutomationRun
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AutomationRunEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Binding
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BuildArtifact
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Canary
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CanaryDeployment
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CancelAutomationRunRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CancelAutomationRunResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CancelOperationRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CancelRolloutRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CancelRolloutResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ChildRolloutJobs
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CloudRunConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CloudRunLocation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CloudRunMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CloudRunRenderMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Config
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CreateChildRolloutJob
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CreateChildRolloutJobRun
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomCanaryDeployment
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomTarget
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomTargetDeployMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomTargetSkaffoldActions
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomTargetType
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomTargetTypeNotificationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Date
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DefaultPool
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeliveryPipeline
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeliveryPipelineAttribute
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeliveryPipelineNotificationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployArtifact
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployJob
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployJobRun
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployJobRunMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployParameters
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployPolicy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployPolicyEvaluationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployPolicyNotificationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeployPolicyResourceSelector
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeploymentJobs
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Empty
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ExecutionConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Expr
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GatewayServiceMesh
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GkeCluster
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class IgnoreJobRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class IgnoreJobResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Job
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class JobRun
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class JobRunNotificationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class KubernetesConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListAutomationRunsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListAutomationsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListCustomTargetTypesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListDeliveryPipelinesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListDeployPoliciesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListJobRunsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListLocationsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListOperationsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListReleasesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListRolloutsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListTargetsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Location
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Metadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MultiTarget
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OneTimeWindow
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Operation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OperationMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Phase
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PhaseArtifact
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PhaseConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PipelineCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PipelineReadyCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Policy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PolicyRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PolicyViolation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PolicyViolationDetails
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Postdeploy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PostdeployJob
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PostdeployJobRun
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Predeploy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PredeployJob
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PredeployJobRun
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PrivatePool
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PromoteReleaseOperation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PromoteReleaseRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Release
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ReleaseCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ReleaseNotificationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ReleaseReadyCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ReleaseRenderEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RenderMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RepairPhase
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RepairPhaseConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RepairRolloutOperation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RepairRolloutRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Retry
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RetryAttempt
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RetryJobRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RetryJobResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RetryPhase
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Rollback
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RollbackAttempt
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RollbackTargetConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RollbackTargetRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RollbackTargetResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Rollout
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RolloutNotificationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RolloutRestriction
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RolloutUpdateEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RouteDestinations
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RuntimeConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SerialPipeline
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ServiceNetworking
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SetIamPolicyRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SkaffoldGcbRepoSource
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SkaffoldGcsSource
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SkaffoldGitSource
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SkaffoldModules
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SkaffoldSupportedCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SkaffoldVersion
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Stage
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Standard
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Status
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Strategy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Target
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TargetArtifact
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TargetAttribute
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TargetNotificationEvent
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TargetRender
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Targets
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TargetsPresentCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TargetsTypeCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TerminateJobRunRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TerminateJobRunResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TestIamPermissionsRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TestIamPermissionsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimeOfDay
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimeWindows
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimedPromoteReleaseCondition
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimedPromoteReleaseOperation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class TimedPromoteReleaseRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class VerifyJob
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class VerifyJobRun
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class WeeklyWindow
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AbandonReleaseRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class AbandonReleaseResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class AdvanceChildRolloutJob
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class AdvanceChildRolloutJobRun
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :rollout, as: 'rollout'
          property :rollout_phase_id, as: 'rolloutPhaseId'
        end
      end
      
      class AdvanceRolloutOperation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :destination_phase, as: 'destinationPhase'
          property :rollout, as: 'rollout'
          property :source_phase, as: 'sourcePhase'
          property :wait, as: 'wait'
        end
      end
      
      class AdvanceRolloutRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :override_deploy_policy, as: 'overrideDeployPolicy'
          property :phase_id, as: 'phaseId'
        end
      end
      
      class AdvanceRolloutResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class AdvanceRolloutRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :condition, as: 'condition', class: Google::Apis::ClouddeployV1::AutomationRuleCondition, decorator: Google::Apis::ClouddeployV1::AutomationRuleCondition::Representation
      
          property :id, as: 'id'
          collection :source_phases, as: 'sourcePhases'
          property :wait, as: 'wait'
        end
      end
      
      class AnthosCluster
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :membership, as: 'membership'
        end
      end
      
      class ApproveRolloutRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :approved, as: 'approved'
          collection :override_deploy_policy, as: 'overrideDeployPolicy'
        end
      end
      
      class ApproveRolloutResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class AssociatedEntities
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :anthos_clusters, as: 'anthosClusters', class: Google::Apis::ClouddeployV1::AnthosCluster, decorator: Google::Apis::ClouddeployV1::AnthosCluster::Representation
      
          collection :gke_clusters, as: 'gkeClusters', class: Google::Apis::ClouddeployV1::GkeCluster, decorator: Google::Apis::ClouddeployV1::GkeCluster::Representation
      
        end
      end
      
      class AuditConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::ClouddeployV1::AuditLogConfig, decorator: Google::Apis::ClouddeployV1::AuditLogConfig::Representation
      
          property :service, as: 'service'
        end
      end
      
      class AuditLogConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :exempted_members, as: 'exemptedMembers'
          property :log_type, as: 'logType'
        end
      end
      
      class Automation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :annotations, as: 'annotations'
          property :create_time, as: 'createTime'
          property :description, as: 'description'
          property :etag, as: 'etag'
          hash :labels, as: 'labels'
          property :name, as: 'name'
          collection :rules, as: 'rules', class: Google::Apis::ClouddeployV1::AutomationRule, decorator: Google::Apis::ClouddeployV1::AutomationRule::Representation
      
          property :selector, as: 'selector', class: Google::Apis::ClouddeployV1::AutomationResourceSelector, decorator: Google::Apis::ClouddeployV1::AutomationResourceSelector::Representation
      
          property :service_account, as: 'serviceAccount'
          property :suspended, as: 'suspended'
          property :uid, as: 'uid'
          property :update_time, as: 'updateTime'
        end
      end
      
      class AutomationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :automation, as: 'automation'
          property :message, as: 'message'
          property :pipeline_uid, as: 'pipelineUid'
          property :type, as: 'type'
        end
      end
      
      class AutomationResourceSelector
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :targets, as: 'targets', class: Google::Apis::ClouddeployV1::TargetAttribute, decorator: Google::Apis::ClouddeployV1::TargetAttribute::Representation
      
        end
      end
      
      class AutomationRolloutMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :advance_automation_runs, as: 'advanceAutomationRuns'
          property :promote_automation_run, as: 'promoteAutomationRun'
          collection :repair_automation_runs, as: 'repairAutomationRuns'
        end
      end
      
      class AutomationRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advance_rollout_rule, as: 'advanceRolloutRule', class: Google::Apis::ClouddeployV1::AdvanceRolloutRule, decorator: Google::Apis::ClouddeployV1::AdvanceRolloutRule::Representation
      
          property :promote_release_rule, as: 'promoteReleaseRule', class: Google::Apis::ClouddeployV1::PromoteReleaseRule, decorator: Google::Apis::ClouddeployV1::PromoteReleaseRule::Representation
      
          property :repair_rollout_rule, as: 'repairRolloutRule', class: Google::Apis::ClouddeployV1::RepairRolloutRule, decorator: Google::Apis::ClouddeployV1::RepairRolloutRule::Representation
      
          property :timed_promote_release_rule, as: 'timedPromoteReleaseRule', class: Google::Apis::ClouddeployV1::TimedPromoteReleaseRule, decorator: Google::Apis::ClouddeployV1::TimedPromoteReleaseRule::Representation
      
        end
      end
      
      class AutomationRuleCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :targets_present_condition, as: 'targetsPresentCondition', class: Google::Apis::ClouddeployV1::TargetsPresentCondition, decorator: Google::Apis::ClouddeployV1::TargetsPresentCondition::Representation
      
          property :timed_promote_release_condition, as: 'timedPromoteReleaseCondition', class: Google::Apis::ClouddeployV1::TimedPromoteReleaseCondition, decorator: Google::Apis::ClouddeployV1::TimedPromoteReleaseCondition::Representation
      
        end
      end
      
      class AutomationRun
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advance_rollout_operation, as: 'advanceRolloutOperation', class: Google::Apis::ClouddeployV1::AdvanceRolloutOperation, decorator: Google::Apis::ClouddeployV1::AdvanceRolloutOperation::Representation
      
          property :automation_id, as: 'automationId'
          property :automation_snapshot, as: 'automationSnapshot', class: Google::Apis::ClouddeployV1::Automation, decorator: Google::Apis::ClouddeployV1::Automation::Representation
      
          property :create_time, as: 'createTime'
          property :etag, as: 'etag'
          property :expire_time, as: 'expireTime'
          property :name, as: 'name'
          property :policy_violation, as: 'policyViolation', class: Google::Apis::ClouddeployV1::PolicyViolation, decorator: Google::Apis::ClouddeployV1::PolicyViolation::Representation
      
          property :promote_release_operation, as: 'promoteReleaseOperation', class: Google::Apis::ClouddeployV1::PromoteReleaseOperation, decorator: Google::Apis::ClouddeployV1::PromoteReleaseOperation::Representation
      
          property :repair_rollout_operation, as: 'repairRolloutOperation', class: Google::Apis::ClouddeployV1::RepairRolloutOperation, decorator: Google::Apis::ClouddeployV1::RepairRolloutOperation::Representation
      
          property :rule_id, as: 'ruleId'
          property :service_account, as: 'serviceAccount'
          property :state, as: 'state'
          property :state_description, as: 'stateDescription'
          property :target_id, as: 'targetId'
          property :timed_promote_release_operation, as: 'timedPromoteReleaseOperation', class: Google::Apis::ClouddeployV1::TimedPromoteReleaseOperation, decorator: Google::Apis::ClouddeployV1::TimedPromoteReleaseOperation::Representation
      
          property :update_time, as: 'updateTime'
          property :wait_until_time, as: 'waitUntilTime'
        end
      end
      
      class AutomationRunEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :automation_id, as: 'automationId'
          property :automation_run, as: 'automationRun'
          property :destination_target_id, as: 'destinationTargetId'
          property :message, as: 'message'
          property :pipeline_uid, as: 'pipelineUid'
          property :rule_id, as: 'ruleId'
          property :type, as: 'type'
        end
      end
      
      class Binding
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :condition, as: 'condition', class: Google::Apis::ClouddeployV1::Expr, decorator: Google::Apis::ClouddeployV1::Expr::Representation
      
          collection :members, as: 'members'
          property :role, as: 'role'
        end
      end
      
      class BuildArtifact
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :image, as: 'image'
          property :tag, as: 'tag'
        end
      end
      
      class Canary
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :canary_deployment, as: 'canaryDeployment', class: Google::Apis::ClouddeployV1::CanaryDeployment, decorator: Google::Apis::ClouddeployV1::CanaryDeployment::Representation
      
          property :custom_canary_deployment, as: 'customCanaryDeployment', class: Google::Apis::ClouddeployV1::CustomCanaryDeployment, decorator: Google::Apis::ClouddeployV1::CustomCanaryDeployment::Representation
      
          property :runtime_config, as: 'runtimeConfig', class: Google::Apis::ClouddeployV1::RuntimeConfig, decorator: Google::Apis::ClouddeployV1::RuntimeConfig::Representation
      
        end
      end
      
      class CanaryDeployment
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :percentages, as: 'percentages'
          property :postdeploy, as: 'postdeploy', class: Google::Apis::ClouddeployV1::Postdeploy, decorator: Google::Apis::ClouddeployV1::Postdeploy::Representation
      
          property :predeploy, as: 'predeploy', class: Google::Apis::ClouddeployV1::Predeploy, decorator: Google::Apis::ClouddeployV1::Predeploy::Representation
      
          property :verify, as: 'verify'
        end
      end
      
      class CancelAutomationRunRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class CancelAutomationRunResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class CancelOperationRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class CancelRolloutRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :override_deploy_policy, as: 'overrideDeployPolicy'
        end
      end
      
      class CancelRolloutResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class ChildRolloutJobs
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :advance_rollout_jobs, as: 'advanceRolloutJobs', class: Google::Apis::ClouddeployV1::Job, decorator: Google::Apis::ClouddeployV1::Job::Representation
      
          collection :create_rollout_jobs, as: 'createRolloutJobs', class: Google::Apis::ClouddeployV1::Job, decorator: Google::Apis::ClouddeployV1::Job::Representation
      
        end
      end
      
      class CloudRunConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :automatic_traffic_control, as: 'automaticTrafficControl'
          collection :canary_revision_tags, as: 'canaryRevisionTags'
          collection :prior_revision_tags, as: 'priorRevisionTags'
          collection :stable_revision_tags, as: 'stableRevisionTags'
        end
      end
      
      class CloudRunLocation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :location, as: 'location'
        end
      end
      
      class CloudRunMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :job, as: 'job'
          property :revision, as: 'revision'
          property :service, as: 'service'
          collection :service_urls, as: 'serviceUrls'
        end
      end
      
      class CloudRunRenderMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :service, as: 'service'
        end
      end
      
      class Config
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :default_skaffold_version, as: 'defaultSkaffoldVersion'
          property :name, as: 'name'
          collection :supported_versions, as: 'supportedVersions', class: Google::Apis::ClouddeployV1::SkaffoldVersion, decorator: Google::Apis::ClouddeployV1::SkaffoldVersion::Representation
      
        end
      end
      
      class CreateChildRolloutJob
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class CreateChildRolloutJobRun
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :rollout, as: 'rollout'
          property :rollout_phase_id, as: 'rolloutPhaseId'
        end
      end
      
      class CustomCanaryDeployment
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :phase_configs, as: 'phaseConfigs', class: Google::Apis::ClouddeployV1::PhaseConfig, decorator: Google::Apis::ClouddeployV1::PhaseConfig::Representation
      
        end
      end
      
      class CustomMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :values, as: 'values'
        end
      end
      
      class CustomTarget
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :custom_target_type, as: 'customTargetType'
        end
      end
      
      class CustomTargetDeployMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :skip_message, as: 'skipMessage'
        end
      end
      
      class CustomTargetSkaffoldActions
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :deploy_action, as: 'deployAction'
          collection :include_skaffold_modules, as: 'includeSkaffoldModules', class: Google::Apis::ClouddeployV1::SkaffoldModules, decorator: Google::Apis::ClouddeployV1::SkaffoldModules::Representation
      
          property :render_action, as: 'renderAction'
        end
      end
      
      class CustomTargetType
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :annotations, as: 'annotations'
          property :create_time, as: 'createTime'
          property :custom_actions, as: 'customActions', class: Google::Apis::ClouddeployV1::CustomTargetSkaffoldActions, decorator: Google::Apis::ClouddeployV1::CustomTargetSkaffoldActions::Representation
      
          property :custom_target_type_id, as: 'customTargetTypeId'
          property :description, as: 'description'
          property :etag, as: 'etag'
          hash :labels, as: 'labels'
          property :name, as: 'name'
          property :uid, as: 'uid'
          property :update_time, as: 'updateTime'
        end
      end
      
      class CustomTargetTypeNotificationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :custom_target_type, as: 'customTargetType'
          property :custom_target_type_uid, as: 'customTargetTypeUid'
          property :message, as: 'message'
          property :type, as: 'type'
        end
      end
      
      class Date
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :day, as: 'day'
          property :month, as: 'month'
          property :year, as: 'year'
        end
      end
      
      class DefaultPool
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :artifact_storage, as: 'artifactStorage'
          property :service_account, as: 'serviceAccount'
        end
      end
      
      class DeliveryPipeline
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :annotations, as: 'annotations'
          property :condition, as: 'condition', class: Google::Apis::ClouddeployV1::PipelineCondition, decorator: Google::Apis::ClouddeployV1::PipelineCondition::Representation
      
          property :create_time, as: 'createTime'
          property :description, as: 'description'
          property :etag, as: 'etag'
          hash :labels, as: 'labels'
          property :name, as: 'name'
          property :serial_pipeline, as: 'serialPipeline', class: Google::Apis::ClouddeployV1::SerialPipeline, decorator: Google::Apis::ClouddeployV1::SerialPipeline::Representation
      
          property :suspended, as: 'suspended'
          property :uid, as: 'uid'
          property :update_time, as: 'updateTime'
        end
      end
      
      class DeliveryPipelineAttribute
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :id, as: 'id'
          hash :labels, as: 'labels'
        end
      end
      
      class DeliveryPipelineNotificationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :delivery_pipeline, as: 'deliveryPipeline'
          property :message, as: 'message'
          property :pipeline_uid, as: 'pipelineUid'
          property :type, as: 'type'
        end
      end
      
      class DeployArtifact
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :artifact_uri, as: 'artifactUri'
          collection :manifest_paths, as: 'manifestPaths'
        end
      end
      
      class DeployJob
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class DeployJobRun
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :artifact, as: 'artifact', class: Google::Apis::ClouddeployV1::DeployArtifact, decorator: Google::Apis::ClouddeployV1::DeployArtifact::Representation
      
          property :build, as: 'build'
          property :failure_cause, as: 'failureCause'
          property :failure_message, as: 'failureMessage'
          property :metadata, as: 'metadata', class: Google::Apis::ClouddeployV1::DeployJobRunMetadata, decorator: Google::Apis::ClouddeployV1::DeployJobRunMetadata::Representation
      
        end
      end
      
      class DeployJobRunMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cloud_run, as: 'cloudRun', class: Google::Apis::ClouddeployV1::CloudRunMetadata, decorator: Google::Apis::ClouddeployV1::CloudRunMetadata::Representation
      
          property :custom, as: 'custom', class: Google::Apis::ClouddeployV1::CustomMetadata, decorator: Google::Apis::ClouddeployV1::CustomMetadata::Representation
      
          property :custom_target, as: 'customTarget', class: Google::Apis::ClouddeployV1::CustomTargetDeployMetadata, decorator: Google::Apis::ClouddeployV1::CustomTargetDeployMetadata::Representation
      
        end
      end
      
      class DeployParameters
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :match_target_labels, as: 'matchTargetLabels'
          hash :values, as: 'values'
        end
      end
      
      class DeployPolicy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :annotations, as: 'annotations'
          property :create_time, as: 'createTime'
          property :description, as: 'description'
          property :etag, as: 'etag'
          hash :labels, as: 'labels'
          property :name, as: 'name'
          collection :rules, as: 'rules', class: Google::Apis::ClouddeployV1::PolicyRule, decorator: Google::Apis::ClouddeployV1::PolicyRule::Representation
      
          collection :selectors, as: 'selectors', class: Google::Apis::ClouddeployV1::DeployPolicyResourceSelector, decorator: Google::Apis::ClouddeployV1::DeployPolicyResourceSelector::Representation
      
          property :suspended, as: 'suspended'
          property :uid, as: 'uid'
          property :update_time, as: 'updateTime'
        end
      end
      
      class DeployPolicyEvaluationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :allowed, as: 'allowed'
          property :delivery_pipeline, as: 'deliveryPipeline'
          property :deploy_policy, as: 'deployPolicy'
          property :deploy_policy_uid, as: 'deployPolicyUid'
          property :invoker, as: 'invoker'
          property :message, as: 'message'
          collection :overrides, as: 'overrides'
          property :pipeline_uid, as: 'pipelineUid'
          property :rule, as: 'rule'
          property :rule_type, as: 'ruleType'
          property :target, as: 'target'
          property :target_uid, as: 'targetUid'
          property :verdict, as: 'verdict'
        end
      end
      
      class DeployPolicyNotificationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :deploy_policy, as: 'deployPolicy'
          property :deploy_policy_uid, as: 'deployPolicyUid'
          property :message, as: 'message'
          property :type, as: 'type'
        end
      end
      
      class DeployPolicyResourceSelector
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :delivery_pipeline, as: 'deliveryPipeline', class: Google::Apis::ClouddeployV1::DeliveryPipelineAttribute, decorator: Google::Apis::ClouddeployV1::DeliveryPipelineAttribute::Representation
      
          property :target, as: 'target', class: Google::Apis::ClouddeployV1::TargetAttribute, decorator: Google::Apis::ClouddeployV1::TargetAttribute::Representation
      
        end
      end
      
      class DeploymentJobs
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :deploy_job, as: 'deployJob', class: Google::Apis::ClouddeployV1::Job, decorator: Google::Apis::ClouddeployV1::Job::Representation
      
          property :postdeploy_job, as: 'postdeployJob', class: Google::Apis::ClouddeployV1::Job, decorator: Google::Apis::ClouddeployV1::Job::Representation
      
          property :predeploy_job, as: 'predeployJob', class: Google::Apis::ClouddeployV1::Job, decorator: Google::Apis::ClouddeployV1::Job::Representation
      
          property :verify_job, as: 'verifyJob', class: Google::Apis::ClouddeployV1::Job, decorator: Google::Apis::ClouddeployV1::Job::Representation
      
        end
      end
      
      class Empty
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class ExecutionConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :artifact_storage, as: 'artifactStorage'
          property :default_pool, as: 'defaultPool', class: Google::Apis::ClouddeployV1::DefaultPool, decorator: Google::Apis::ClouddeployV1::DefaultPool::Representation
      
          property :execution_timeout, as: 'executionTimeout'
          property :private_pool, as: 'privatePool', class: Google::Apis::ClouddeployV1::PrivatePool, decorator: Google::Apis::ClouddeployV1::PrivatePool::Representation
      
          property :service_account, as: 'serviceAccount'
          collection :usages, as: 'usages'
          property :verbose, as: 'verbose'
          property :worker_pool, as: 'workerPool'
        end
      end
      
      class Expr
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :description, as: 'description'
          property :expression, as: 'expression'
          property :location, as: 'location'
          property :title, as: 'title'
        end
      end
      
      class GatewayServiceMesh
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :deployment, as: 'deployment'
          property :http_route, as: 'httpRoute'
          property :pod_selector_label, as: 'podSelectorLabel'
          property :route_destinations, as: 'routeDestinations', class: Google::Apis::ClouddeployV1::RouteDestinations, decorator: Google::Apis::ClouddeployV1::RouteDestinations::Representation
      
          property :route_update_wait_time, as: 'routeUpdateWaitTime'
          property :service, as: 'service'
          property :stable_cutback_duration, as: 'stableCutbackDuration'
        end
      end
      
      class GkeCluster
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cluster, as: 'cluster'
          property :dns_endpoint, as: 'dnsEndpoint'
          property :internal_ip, as: 'internalIp'
          property :proxy_url, as: 'proxyUrl'
        end
      end
      
      class IgnoreJobRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :job_id, as: 'jobId'
          collection :override_deploy_policy, as: 'overrideDeployPolicy'
          property :phase_id, as: 'phaseId'
        end
      end
      
      class IgnoreJobResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class Job
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advance_child_rollout_job, as: 'advanceChildRolloutJob', class: Google::Apis::ClouddeployV1::AdvanceChildRolloutJob, decorator: Google::Apis::ClouddeployV1::AdvanceChildRolloutJob::Representation
      
          property :create_child_rollout_job, as: 'createChildRolloutJob', class: Google::Apis::ClouddeployV1::CreateChildRolloutJob, decorator: Google::Apis::ClouddeployV1::CreateChildRolloutJob::Representation
      
          property :deploy_job, as: 'deployJob', class: Google::Apis::ClouddeployV1::DeployJob, decorator: Google::Apis::ClouddeployV1::DeployJob::Representation
      
          property :id, as: 'id'
          property :job_run, as: 'jobRun'
          property :postdeploy_job, as: 'postdeployJob', class: Google::Apis::ClouddeployV1::PostdeployJob, decorator: Google::Apis::ClouddeployV1::PostdeployJob::Representation
      
          property :predeploy_job, as: 'predeployJob', class: Google::Apis::ClouddeployV1::PredeployJob, decorator: Google::Apis::ClouddeployV1::PredeployJob::Representation
      
          property :skip_message, as: 'skipMessage'
          property :state, as: 'state'
          property :verify_job, as: 'verifyJob', class: Google::Apis::ClouddeployV1::VerifyJob, decorator: Google::Apis::ClouddeployV1::VerifyJob::Representation
      
        end
      end
      
      class JobRun
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :advance_child_rollout_job_run, as: 'advanceChildRolloutJobRun', class: Google::Apis::ClouddeployV1::AdvanceChildRolloutJobRun, decorator: Google::Apis::ClouddeployV1::AdvanceChildRolloutJobRun::Representation
      
          property :create_child_rollout_job_run, as: 'createChildRolloutJobRun', class: Google::Apis::ClouddeployV1::CreateChildRolloutJobRun, decorator: Google::Apis::ClouddeployV1::CreateChildRolloutJobRun::Representation
      
          property :create_time, as: 'createTime'
          property :deploy_job_run, as: 'deployJobRun', class: Google::Apis::ClouddeployV1::DeployJobRun, decorator: Google::Apis::ClouddeployV1::DeployJobRun::Representation
      
          property :end_time, as: 'endTime'
          property :etag, as: 'etag'
          property :job_id, as: 'jobId'
          property :name, as: 'name'
          property :phase_id, as: 'phaseId'
          property :postdeploy_job_run, as: 'postdeployJobRun', class: Google::Apis::ClouddeployV1::PostdeployJobRun, decorator: Google::Apis::ClouddeployV1::PostdeployJobRun::Representation
      
          property :predeploy_job_run, as: 'predeployJobRun', class: Google::Apis::ClouddeployV1::PredeployJobRun, decorator: Google::Apis::ClouddeployV1::PredeployJobRun::Representation
      
          property :start_time, as: 'startTime'
          property :state, as: 'state'
          property :uid, as: 'uid'
          property :verify_job_run, as: 'verifyJobRun', class: Google::Apis::ClouddeployV1::VerifyJobRun, decorator: Google::Apis::ClouddeployV1::VerifyJobRun::Representation
      
        end
      end
      
      class JobRunNotificationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :job_run, as: 'jobRun'
          property :message, as: 'message'
          property :pipeline_uid, as: 'pipelineUid'
          property :release, as: 'release'
          property :release_uid, as: 'releaseUid'
          property :rollout, as: 'rollout'
          property :rollout_uid, as: 'rolloutUid'
          property :target_id, as: 'targetId'
          property :type, as: 'type'
        end
      end
      
      class KubernetesConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :gateway_service_mesh, as: 'gatewayServiceMesh', class: Google::Apis::ClouddeployV1::GatewayServiceMesh, decorator: Google::Apis::ClouddeployV1::GatewayServiceMesh::Representation
      
          property :service_networking, as: 'serviceNetworking', class: Google::Apis::ClouddeployV1::ServiceNetworking, decorator: Google::Apis::ClouddeployV1::ServiceNetworking::Representation
      
        end
      end
      
      class ListAutomationRunsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :automation_runs, as: 'automationRuns', class: Google::Apis::ClouddeployV1::AutomationRun, decorator: Google::Apis::ClouddeployV1::AutomationRun::Representation
      
          property :next_page_token, as: 'nextPageToken'
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListAutomationsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :automations, as: 'automations', class: Google::Apis::ClouddeployV1::Automation, decorator: Google::Apis::ClouddeployV1::Automation::Representation
      
          property :next_page_token, as: 'nextPageToken'
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListCustomTargetTypesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :custom_target_types, as: 'customTargetTypes', class: Google::Apis::ClouddeployV1::CustomTargetType, decorator: Google::Apis::ClouddeployV1::CustomTargetType::Representation
      
          property :next_page_token, as: 'nextPageToken'
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListDeliveryPipelinesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :delivery_pipelines, as: 'deliveryPipelines', class: Google::Apis::ClouddeployV1::DeliveryPipeline, decorator: Google::Apis::ClouddeployV1::DeliveryPipeline::Representation
      
          property :next_page_token, as: 'nextPageToken'
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListDeployPoliciesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :deploy_policies, as: 'deployPolicies', class: Google::Apis::ClouddeployV1::DeployPolicy, decorator: Google::Apis::ClouddeployV1::DeployPolicy::Representation
      
          property :next_page_token, as: 'nextPageToken'
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListJobRunsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :job_runs, as: 'jobRuns', class: Google::Apis::ClouddeployV1::JobRun, decorator: Google::Apis::ClouddeployV1::JobRun::Representation
      
          property :next_page_token, as: 'nextPageToken'
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListLocationsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :locations, as: 'locations', class: Google::Apis::ClouddeployV1::Location, decorator: Google::Apis::ClouddeployV1::Location::Representation
      
          property :next_page_token, as: 'nextPageToken'
        end
      end
      
      class ListOperationsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :next_page_token, as: 'nextPageToken'
          collection :operations, as: 'operations', class: Google::Apis::ClouddeployV1::Operation, decorator: Google::Apis::ClouddeployV1::Operation::Representation
      
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListReleasesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :next_page_token, as: 'nextPageToken'
          collection :releases, as: 'releases', class: Google::Apis::ClouddeployV1::Release, decorator: Google::Apis::ClouddeployV1::Release::Representation
      
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListRolloutsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :next_page_token, as: 'nextPageToken'
          collection :rollouts, as: 'rollouts', class: Google::Apis::ClouddeployV1::Rollout, decorator: Google::Apis::ClouddeployV1::Rollout::Representation
      
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class ListTargetsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :next_page_token, as: 'nextPageToken'
          collection :targets, as: 'targets', class: Google::Apis::ClouddeployV1::Target, decorator: Google::Apis::ClouddeployV1::Target::Representation
      
          collection :unreachable, as: 'unreachable'
        end
      end
      
      class Location
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :display_name, as: 'displayName'
          hash :labels, as: 'labels'
          property :location_id, as: 'locationId'
          hash :metadata, as: 'metadata'
          property :name, as: 'name'
        end
      end
      
      class Metadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :automation, as: 'automation', class: Google::Apis::ClouddeployV1::AutomationRolloutMetadata, decorator: Google::Apis::ClouddeployV1::AutomationRolloutMetadata::Representation
      
          property :cloud_run, as: 'cloudRun', class: Google::Apis::ClouddeployV1::CloudRunMetadata, decorator: Google::Apis::ClouddeployV1::CloudRunMetadata::Representation
      
          property :custom, as: 'custom', class: Google::Apis::ClouddeployV1::CustomMetadata, decorator: Google::Apis::ClouddeployV1::CustomMetadata::Representation
      
        end
      end
      
      class MultiTarget
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :target_ids, as: 'targetIds'
        end
      end
      
      class OneTimeWindow
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :end_date, as: 'endDate', class: Google::Apis::ClouddeployV1::Date, decorator: Google::Apis::ClouddeployV1::Date::Representation
      
          property :end_time, as: 'endTime', class: Google::Apis::ClouddeployV1::TimeOfDay, decorator: Google::Apis::ClouddeployV1::TimeOfDay::Representation
      
          property :start_date, as: 'startDate', class: Google::Apis::ClouddeployV1::Date, decorator: Google::Apis::ClouddeployV1::Date::Representation
      
          property :start_time, as: 'startTime', class: Google::Apis::ClouddeployV1::TimeOfDay, decorator: Google::Apis::ClouddeployV1::TimeOfDay::Representation
      
        end
      end
      
      class Operation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :done, as: 'done'
          property :error, as: 'error', class: Google::Apis::ClouddeployV1::Status, decorator: Google::Apis::ClouddeployV1::Status::Representation
      
          hash :metadata, as: 'metadata'
          property :name, as: 'name'
          hash :response, as: 'response'
        end
      end
      
      class OperationMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :api_version, as: 'apiVersion'
          property :create_time, as: 'createTime'
          property :end_time, as: 'endTime'
          property :requested_cancellation, as: 'requestedCancellation'
          property :status_message, as: 'statusMessage'
          property :target, as: 'target'
          property :verb, as: 'verb'
        end
      end
      
      class Phase
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :child_rollout_jobs, as: 'childRolloutJobs', class: Google::Apis::ClouddeployV1::ChildRolloutJobs, decorator: Google::Apis::ClouddeployV1::ChildRolloutJobs::Representation
      
          property :deployment_jobs, as: 'deploymentJobs', class: Google::Apis::ClouddeployV1::DeploymentJobs, decorator: Google::Apis::ClouddeployV1::DeploymentJobs::Representation
      
          property :id, as: 'id'
          property :skip_message, as: 'skipMessage'
          property :state, as: 'state'
        end
      end
      
      class PhaseArtifact
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :job_manifests_path, as: 'jobManifestsPath'
          property :manifest_path, as: 'manifestPath'
          property :skaffold_config_path, as: 'skaffoldConfigPath'
        end
      end
      
      class PhaseConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :percentage, as: 'percentage'
          property :phase_id, as: 'phaseId'
          property :postdeploy, as: 'postdeploy', class: Google::Apis::ClouddeployV1::Postdeploy, decorator: Google::Apis::ClouddeployV1::Postdeploy::Representation
      
          property :predeploy, as: 'predeploy', class: Google::Apis::ClouddeployV1::Predeploy, decorator: Google::Apis::ClouddeployV1::Predeploy::Representation
      
          collection :profiles, as: 'profiles'
          property :verify, as: 'verify'
        end
      end
      
      class PipelineCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :pipeline_ready_condition, as: 'pipelineReadyCondition', class: Google::Apis::ClouddeployV1::PipelineReadyCondition, decorator: Google::Apis::ClouddeployV1::PipelineReadyCondition::Representation
      
          property :targets_present_condition, as: 'targetsPresentCondition', class: Google::Apis::ClouddeployV1::TargetsPresentCondition, decorator: Google::Apis::ClouddeployV1::TargetsPresentCondition::Representation
      
          property :targets_type_condition, as: 'targetsTypeCondition', class: Google::Apis::ClouddeployV1::TargetsTypeCondition, decorator: Google::Apis::ClouddeployV1::TargetsTypeCondition::Representation
      
        end
      end
      
      class PipelineReadyCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :status, as: 'status'
          property :update_time, as: 'updateTime'
        end
      end
      
      class Policy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :audit_configs, as: 'auditConfigs', class: Google::Apis::ClouddeployV1::AuditConfig, decorator: Google::Apis::ClouddeployV1::AuditConfig::Representation
      
          collection :bindings, as: 'bindings', class: Google::Apis::ClouddeployV1::Binding, decorator: Google::Apis::ClouddeployV1::Binding::Representation
      
          property :etag, :base64 => true, as: 'etag'
          property :version, as: 'version'
        end
      end
      
      class PolicyRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :rollout_restriction, as: 'rolloutRestriction', class: Google::Apis::ClouddeployV1::RolloutRestriction, decorator: Google::Apis::ClouddeployV1::RolloutRestriction::Representation
      
        end
      end
      
      class PolicyViolation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :policy_violation_details, as: 'policyViolationDetails', class: Google::Apis::ClouddeployV1::PolicyViolationDetails, decorator: Google::Apis::ClouddeployV1::PolicyViolationDetails::Representation
      
        end
      end
      
      class PolicyViolationDetails
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :failure_message, as: 'failureMessage'
          property :policy, as: 'policy'
          property :rule_id, as: 'ruleId'
        end
      end
      
      class Postdeploy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :actions, as: 'actions'
        end
      end
      
      class PostdeployJob
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :actions, as: 'actions'
        end
      end
      
      class PostdeployJobRun
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :build, as: 'build'
          property :failure_cause, as: 'failureCause'
          property :failure_message, as: 'failureMessage'
        end
      end
      
      class Predeploy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :actions, as: 'actions'
        end
      end
      
      class PredeployJob
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :actions, as: 'actions'
        end
      end
      
      class PredeployJobRun
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :build, as: 'build'
          property :failure_cause, as: 'failureCause'
          property :failure_message, as: 'failureMessage'
        end
      end
      
      class PrivatePool
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :artifact_storage, as: 'artifactStorage'
          property :service_account, as: 'serviceAccount'
          property :worker_pool, as: 'workerPool'
        end
      end
      
      class PromoteReleaseOperation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :phase, as: 'phase'
          property :rollout, as: 'rollout'
          property :target_id, as: 'targetId'
          property :wait, as: 'wait'
        end
      end
      
      class PromoteReleaseRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :condition, as: 'condition', class: Google::Apis::ClouddeployV1::AutomationRuleCondition, decorator: Google::Apis::ClouddeployV1::AutomationRuleCondition::Representation
      
          property :destination_phase, as: 'destinationPhase'
          property :destination_target_id, as: 'destinationTargetId'
          property :id, as: 'id'
          property :wait, as: 'wait'
        end
      end
      
      class Release
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :abandoned, as: 'abandoned'
          hash :annotations, as: 'annotations'
          collection :build_artifacts, as: 'buildArtifacts', class: Google::Apis::ClouddeployV1::BuildArtifact, decorator: Google::Apis::ClouddeployV1::BuildArtifact::Representation
      
          property :condition, as: 'condition', class: Google::Apis::ClouddeployV1::ReleaseCondition, decorator: Google::Apis::ClouddeployV1::ReleaseCondition::Representation
      
          property :create_time, as: 'createTime'
          collection :custom_target_type_snapshots, as: 'customTargetTypeSnapshots', class: Google::Apis::ClouddeployV1::CustomTargetType, decorator: Google::Apis::ClouddeployV1::CustomTargetType::Representation
      
          property :delivery_pipeline_snapshot, as: 'deliveryPipelineSnapshot', class: Google::Apis::ClouddeployV1::DeliveryPipeline, decorator: Google::Apis::ClouddeployV1::DeliveryPipeline::Representation
      
          hash :deploy_parameters, as: 'deployParameters'
          property :description, as: 'description'
          property :etag, as: 'etag'
          hash :labels, as: 'labels'
          property :name, as: 'name'
          property :render_end_time, as: 'renderEndTime'
          property :render_start_time, as: 'renderStartTime'
          property :render_state, as: 'renderState'
          property :skaffold_config_path, as: 'skaffoldConfigPath'
          property :skaffold_config_uri, as: 'skaffoldConfigUri'
          property :skaffold_version, as: 'skaffoldVersion'
          hash :target_artifacts, as: 'targetArtifacts', class: Google::Apis::ClouddeployV1::TargetArtifact, decorator: Google::Apis::ClouddeployV1::TargetArtifact::Representation
      
          hash :target_renders, as: 'targetRenders', class: Google::Apis::ClouddeployV1::TargetRender, decorator: Google::Apis::ClouddeployV1::TargetRender::Representation
      
          collection :target_snapshots, as: 'targetSnapshots', class: Google::Apis::ClouddeployV1::Target, decorator: Google::Apis::ClouddeployV1::Target::Representation
      
          property :uid, as: 'uid'
        end
      end
      
      class ReleaseCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :release_ready_condition, as: 'releaseReadyCondition', class: Google::Apis::ClouddeployV1::ReleaseReadyCondition, decorator: Google::Apis::ClouddeployV1::ReleaseReadyCondition::Representation
      
          property :skaffold_supported_condition, as: 'skaffoldSupportedCondition', class: Google::Apis::ClouddeployV1::SkaffoldSupportedCondition, decorator: Google::Apis::ClouddeployV1::SkaffoldSupportedCondition::Representation
      
        end
      end
      
      class ReleaseNotificationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :message, as: 'message'
          property :pipeline_uid, as: 'pipelineUid'
          property :release, as: 'release'
          property :release_uid, as: 'releaseUid'
          property :type, as: 'type'
        end
      end
      
      class ReleaseReadyCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :status, as: 'status'
        end
      end
      
      class ReleaseRenderEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :message, as: 'message'
          property :pipeline_uid, as: 'pipelineUid'
          property :release, as: 'release'
          property :release_render_state, as: 'releaseRenderState'
          property :type, as: 'type'
        end
      end
      
      class RenderMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cloud_run, as: 'cloudRun', class: Google::Apis::ClouddeployV1::CloudRunRenderMetadata, decorator: Google::Apis::ClouddeployV1::CloudRunRenderMetadata::Representation
      
          property :custom, as: 'custom', class: Google::Apis::ClouddeployV1::CustomMetadata, decorator: Google::Apis::ClouddeployV1::CustomMetadata::Representation
      
        end
      end
      
      class RepairPhase
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :retry, as: 'retry', class: Google::Apis::ClouddeployV1::RetryPhase, decorator: Google::Apis::ClouddeployV1::RetryPhase::Representation
      
          property :rollback, as: 'rollback', class: Google::Apis::ClouddeployV1::RollbackAttempt, decorator: Google::Apis::ClouddeployV1::RollbackAttempt::Representation
      
        end
      end
      
      class RepairPhaseConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :retry, as: 'retry', class: Google::Apis::ClouddeployV1::Retry, decorator: Google::Apis::ClouddeployV1::Retry::Representation
      
          property :rollback, as: 'rollback', class: Google::Apis::ClouddeployV1::Rollback, decorator: Google::Apis::ClouddeployV1::Rollback::Representation
      
        end
      end
      
      class RepairRolloutOperation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :current_repair_phase_index, :numeric_string => true, as: 'currentRepairPhaseIndex'
          property :job_id, as: 'jobId'
          property :phase_id, as: 'phaseId'
          collection :repair_phases, as: 'repairPhases', class: Google::Apis::ClouddeployV1::RepairPhase, decorator: Google::Apis::ClouddeployV1::RepairPhase::Representation
      
          property :rollout, as: 'rollout'
        end
      end
      
      class RepairRolloutRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :condition, as: 'condition', class: Google::Apis::ClouddeployV1::AutomationRuleCondition, decorator: Google::Apis::ClouddeployV1::AutomationRuleCondition::Representation
      
          property :id, as: 'id'
          collection :jobs, as: 'jobs'
          collection :phases, as: 'phases'
          collection :repair_phases, as: 'repairPhases', class: Google::Apis::ClouddeployV1::RepairPhaseConfig, decorator: Google::Apis::ClouddeployV1::RepairPhaseConfig::Representation
      
        end
      end
      
      class Retry
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :attempts, :numeric_string => true, as: 'attempts'
          property :backoff_mode, as: 'backoffMode'
          property :wait, as: 'wait'
        end
      end
      
      class RetryAttempt
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :attempt, :numeric_string => true, as: 'attempt'
          property :state, as: 'state'
          property :state_desc, as: 'stateDesc'
          property :wait, as: 'wait'
        end
      end
      
      class RetryJobRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :job_id, as: 'jobId'
          collection :override_deploy_policy, as: 'overrideDeployPolicy'
          property :phase_id, as: 'phaseId'
        end
      end
      
      class RetryJobResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class RetryPhase
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :attempts, as: 'attempts', class: Google::Apis::ClouddeployV1::RetryAttempt, decorator: Google::Apis::ClouddeployV1::RetryAttempt::Representation
      
          property :backoff_mode, as: 'backoffMode'
          property :total_attempts, :numeric_string => true, as: 'totalAttempts'
        end
      end
      
      class Rollback
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :destination_phase, as: 'destinationPhase'
          property :disable_rollback_if_rollout_pending, as: 'disableRollbackIfRolloutPending'
        end
      end
      
      class RollbackAttempt
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :destination_phase, as: 'destinationPhase'
          property :disable_rollback_if_rollout_pending, as: 'disableRollbackIfRolloutPending'
          property :rollout_id, as: 'rolloutId'
          property :state, as: 'state'
          property :state_desc, as: 'stateDesc'
        end
      end
      
      class RollbackTargetConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :rollout, as: 'rollout', class: Google::Apis::ClouddeployV1::Rollout, decorator: Google::Apis::ClouddeployV1::Rollout::Representation
      
          property :starting_phase_id, as: 'startingPhaseId'
        end
      end
      
      class RollbackTargetRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :override_deploy_policy, as: 'overrideDeployPolicy'
          property :release_id, as: 'releaseId'
          property :rollback_config, as: 'rollbackConfig', class: Google::Apis::ClouddeployV1::RollbackTargetConfig, decorator: Google::Apis::ClouddeployV1::RollbackTargetConfig::Representation
      
          property :rollout_id, as: 'rolloutId'
          property :rollout_to_roll_back, as: 'rolloutToRollBack'
          property :target_id, as: 'targetId'
          property :validate_only, as: 'validateOnly'
        end
      end
      
      class RollbackTargetResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :rollback_config, as: 'rollbackConfig', class: Google::Apis::ClouddeployV1::RollbackTargetConfig, decorator: Google::Apis::ClouddeployV1::RollbackTargetConfig::Representation
      
        end
      end
      
      class Rollout
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :active_repair_automation_run, as: 'activeRepairAutomationRun'
          hash :annotations, as: 'annotations'
          property :approval_state, as: 'approvalState'
          property :approve_time, as: 'approveTime'
          property :controller_rollout, as: 'controllerRollout'
          property :create_time, as: 'createTime'
          property :deploy_end_time, as: 'deployEndTime'
          property :deploy_failure_cause, as: 'deployFailureCause'
          property :deploy_start_time, as: 'deployStartTime'
          property :deploying_build, as: 'deployingBuild'
          property :description, as: 'description'
          property :enqueue_time, as: 'enqueueTime'
          property :etag, as: 'etag'
          property :failure_reason, as: 'failureReason'
          hash :labels, as: 'labels'
          property :metadata, as: 'metadata', class: Google::Apis::ClouddeployV1::Metadata, decorator: Google::Apis::ClouddeployV1::Metadata::Representation
      
          property :name, as: 'name'
          collection :phases, as: 'phases', class: Google::Apis::ClouddeployV1::Phase, decorator: Google::Apis::ClouddeployV1::Phase::Representation
      
          property :rollback_of_rollout, as: 'rollbackOfRollout'
          collection :rolled_back_by_rollouts, as: 'rolledBackByRollouts'
          property :state, as: 'state'
          property :target_id, as: 'targetId'
          property :uid, as: 'uid'
        end
      end
      
      class RolloutNotificationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :message, as: 'message'
          property :pipeline_uid, as: 'pipelineUid'
          property :release, as: 'release'
          property :release_uid, as: 'releaseUid'
          property :rollout, as: 'rollout'
          property :rollout_uid, as: 'rolloutUid'
          property :target_id, as: 'targetId'
          property :type, as: 'type'
        end
      end
      
      class RolloutRestriction
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :actions, as: 'actions'
          property :id, as: 'id'
          collection :invokers, as: 'invokers'
          property :time_windows, as: 'timeWindows', class: Google::Apis::ClouddeployV1::TimeWindows, decorator: Google::Apis::ClouddeployV1::TimeWindows::Representation
      
        end
      end
      
      class RolloutUpdateEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :message, as: 'message'
          property :pipeline_uid, as: 'pipelineUid'
          property :release, as: 'release'
          property :release_uid, as: 'releaseUid'
          property :rollout, as: 'rollout'
          property :rollout_update_type, as: 'rolloutUpdateType'
          property :target_id, as: 'targetId'
          property :type, as: 'type'
        end
      end
      
      class RouteDestinations
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :destination_ids, as: 'destinationIds'
          property :propagate_service, as: 'propagateService'
        end
      end
      
      class RuntimeConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cloud_run, as: 'cloudRun', class: Google::Apis::ClouddeployV1::CloudRunConfig, decorator: Google::Apis::ClouddeployV1::CloudRunConfig::Representation
      
          property :kubernetes, as: 'kubernetes', class: Google::Apis::ClouddeployV1::KubernetesConfig, decorator: Google::Apis::ClouddeployV1::KubernetesConfig::Representation
      
        end
      end
      
      class SerialPipeline
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :stages, as: 'stages', class: Google::Apis::ClouddeployV1::Stage, decorator: Google::Apis::ClouddeployV1::Stage::Representation
      
        end
      end
      
      class ServiceNetworking
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :deployment, as: 'deployment'
          property :disable_pod_overprovisioning, as: 'disablePodOverprovisioning'
          property :pod_selector_label, as: 'podSelectorLabel'
          property :service, as: 'service'
        end
      end
      
      class SetIamPolicyRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :policy, as: 'policy', class: Google::Apis::ClouddeployV1::Policy, decorator: Google::Apis::ClouddeployV1::Policy::Representation
      
          property :update_mask, as: 'updateMask'
        end
      end
      
      class SkaffoldGcbRepoSource
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :path, as: 'path'
          property :ref, as: 'ref'
          property :repository, as: 'repository'
        end
      end
      
      class SkaffoldGcsSource
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :path, as: 'path'
          property :source, as: 'source'
        end
      end
      
      class SkaffoldGitSource
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :path, as: 'path'
          property :ref, as: 'ref'
          property :repo, as: 'repo'
        end
      end
      
      class SkaffoldModules
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :configs, as: 'configs'
          property :git, as: 'git', class: Google::Apis::ClouddeployV1::SkaffoldGitSource, decorator: Google::Apis::ClouddeployV1::SkaffoldGitSource::Representation
      
          property :google_cloud_build_repo, as: 'googleCloudBuildRepo', class: Google::Apis::ClouddeployV1::SkaffoldGcbRepoSource, decorator: Google::Apis::ClouddeployV1::SkaffoldGcbRepoSource::Representation
      
          property :google_cloud_storage, as: 'googleCloudStorage', class: Google::Apis::ClouddeployV1::SkaffoldGcsSource, decorator: Google::Apis::ClouddeployV1::SkaffoldGcsSource::Representation
      
        end
      end
      
      class SkaffoldSupportedCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :maintenance_mode_time, as: 'maintenanceModeTime'
          property :skaffold_support_state, as: 'skaffoldSupportState'
          property :status, as: 'status'
          property :support_expiration_time, as: 'supportExpirationTime'
        end
      end
      
      class SkaffoldVersion
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :maintenance_mode_time, as: 'maintenanceModeTime'
          property :support_end_date, as: 'supportEndDate', class: Google::Apis::ClouddeployV1::Date, decorator: Google::Apis::ClouddeployV1::Date::Representation
      
          property :support_expiration_time, as: 'supportExpirationTime'
          property :version, as: 'version'
        end
      end
      
      class Stage
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :deploy_parameters, as: 'deployParameters', class: Google::Apis::ClouddeployV1::DeployParameters, decorator: Google::Apis::ClouddeployV1::DeployParameters::Representation
      
          collection :profiles, as: 'profiles'
          property :strategy, as: 'strategy', class: Google::Apis::ClouddeployV1::Strategy, decorator: Google::Apis::ClouddeployV1::Strategy::Representation
      
          property :target_id, as: 'targetId'
        end
      end
      
      class Standard
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :postdeploy, as: 'postdeploy', class: Google::Apis::ClouddeployV1::Postdeploy, decorator: Google::Apis::ClouddeployV1::Postdeploy::Representation
      
          property :predeploy, as: 'predeploy', class: Google::Apis::ClouddeployV1::Predeploy, decorator: Google::Apis::ClouddeployV1::Predeploy::Representation
      
          property :verify, as: 'verify'
        end
      end
      
      class Status
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :code, as: 'code'
          collection :details, as: 'details'
          property :message, as: 'message'
        end
      end
      
      class Strategy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :canary, as: 'canary', class: Google::Apis::ClouddeployV1::Canary, decorator: Google::Apis::ClouddeployV1::Canary::Representation
      
          property :standard, as: 'standard', class: Google::Apis::ClouddeployV1::Standard, decorator: Google::Apis::ClouddeployV1::Standard::Representation
      
        end
      end
      
      class Target
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :annotations, as: 'annotations'
          property :anthos_cluster, as: 'anthosCluster', class: Google::Apis::ClouddeployV1::AnthosCluster, decorator: Google::Apis::ClouddeployV1::AnthosCluster::Representation
      
          hash :associated_entities, as: 'associatedEntities', class: Google::Apis::ClouddeployV1::AssociatedEntities, decorator: Google::Apis::ClouddeployV1::AssociatedEntities::Representation
      
          property :create_time, as: 'createTime'
          property :custom_target, as: 'customTarget', class: Google::Apis::ClouddeployV1::CustomTarget, decorator: Google::Apis::ClouddeployV1::CustomTarget::Representation
      
          hash :deploy_parameters, as: 'deployParameters'
          property :description, as: 'description'
          property :etag, as: 'etag'
          collection :execution_configs, as: 'executionConfigs', class: Google::Apis::ClouddeployV1::ExecutionConfig, decorator: Google::Apis::ClouddeployV1::ExecutionConfig::Representation
      
          property :gke, as: 'gke', class: Google::Apis::ClouddeployV1::GkeCluster, decorator: Google::Apis::ClouddeployV1::GkeCluster::Representation
      
          hash :labels, as: 'labels'
          property :multi_target, as: 'multiTarget', class: Google::Apis::ClouddeployV1::MultiTarget, decorator: Google::Apis::ClouddeployV1::MultiTarget::Representation
      
          property :name, as: 'name'
          property :require_approval, as: 'requireApproval'
          property :run, as: 'run', class: Google::Apis::ClouddeployV1::CloudRunLocation, decorator: Google::Apis::ClouddeployV1::CloudRunLocation::Representation
      
          property :target_id, as: 'targetId'
          property :uid, as: 'uid'
          property :update_time, as: 'updateTime'
        end
      end
      
      class TargetArtifact
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :artifact_uri, as: 'artifactUri'
          property :manifest_path, as: 'manifestPath'
          hash :phase_artifacts, as: 'phaseArtifacts', class: Google::Apis::ClouddeployV1::PhaseArtifact, decorator: Google::Apis::ClouddeployV1::PhaseArtifact::Representation
      
          property :skaffold_config_path, as: 'skaffoldConfigPath'
        end
      end
      
      class TargetAttribute
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :id, as: 'id'
          hash :labels, as: 'labels'
        end
      end
      
      class TargetNotificationEvent
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :message, as: 'message'
          property :target, as: 'target'
          property :type, as: 'type'
        end
      end
      
      class TargetRender
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :failure_cause, as: 'failureCause'
          property :failure_message, as: 'failureMessage'
          property :metadata, as: 'metadata', class: Google::Apis::ClouddeployV1::RenderMetadata, decorator: Google::Apis::ClouddeployV1::RenderMetadata::Representation
      
          property :rendering_build, as: 'renderingBuild'
          property :rendering_state, as: 'renderingState'
        end
      end
      
      class Targets
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :destination_target_id, as: 'destinationTargetId'
          property :source_target_id, as: 'sourceTargetId'
        end
      end
      
      class TargetsPresentCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :missing_targets, as: 'missingTargets'
          property :status, as: 'status'
          property :update_time, as: 'updateTime'
        end
      end
      
      class TargetsTypeCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :error_details, as: 'errorDetails'
          property :status, as: 'status'
        end
      end
      
      class TerminateJobRunRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :override_deploy_policy, as: 'overrideDeployPolicy'
        end
      end
      
      class TerminateJobRunResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class TestIamPermissionsRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :permissions, as: 'permissions'
        end
      end
      
      class TestIamPermissionsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :permissions, as: 'permissions'
        end
      end
      
      class TimeOfDay
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :hours, as: 'hours'
          property :minutes, as: 'minutes'
          property :nanos, as: 'nanos'
          property :seconds, as: 'seconds'
        end
      end
      
      class TimeWindows
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :one_time_windows, as: 'oneTimeWindows', class: Google::Apis::ClouddeployV1::OneTimeWindow, decorator: Google::Apis::ClouddeployV1::OneTimeWindow::Representation
      
          property :time_zone, as: 'timeZone'
          collection :weekly_windows, as: 'weeklyWindows', class: Google::Apis::ClouddeployV1::WeeklyWindow, decorator: Google::Apis::ClouddeployV1::WeeklyWindow::Representation
      
        end
      end
      
      class TimedPromoteReleaseCondition
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :next_promotion_time, as: 'nextPromotionTime'
          collection :targets_list, as: 'targetsList', class: Google::Apis::ClouddeployV1::Targets, decorator: Google::Apis::ClouddeployV1::Targets::Representation
      
        end
      end
      
      class TimedPromoteReleaseOperation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :phase, as: 'phase'
          property :release, as: 'release'
          property :target_id, as: 'targetId'
        end
      end
      
      class TimedPromoteReleaseRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :condition, as: 'condition', class: Google::Apis::ClouddeployV1::AutomationRuleCondition, decorator: Google::Apis::ClouddeployV1::AutomationRuleCondition::Representation
      
          property :destination_phase, as: 'destinationPhase'
          property :destination_target_id, as: 'destinationTargetId'
          property :id, as: 'id'
          property :schedule, as: 'schedule'
          property :time_zone, as: 'timeZone'
        end
      end
      
      class VerifyJob
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class VerifyJobRun
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :artifact_uri, as: 'artifactUri'
          property :build, as: 'build'
          property :event_log_path, as: 'eventLogPath'
          property :failure_cause, as: 'failureCause'
          property :failure_message, as: 'failureMessage'
        end
      end
      
      class WeeklyWindow
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :days_of_week, as: 'daysOfWeek'
          property :end_time, as: 'endTime', class: Google::Apis::ClouddeployV1::TimeOfDay, decorator: Google::Apis::ClouddeployV1::TimeOfDay::Representation
      
          property :start_time, as: 'startTime', class: Google::Apis::ClouddeployV1::TimeOfDay, decorator: Google::Apis::ClouddeployV1::TimeOfDay::Representation
      
        end
      end
    end
  end
end
