/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. */ /* * Do not modify this file. This file is generated from the securityhub-2018-10-26.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SecurityHub.Model { /// /// Provides details about a service within an ECS cluster. /// public partial class AwsEcsServiceDetails { private List _capacityProviderStrategy = new List(); private string _cluster; private AwsEcsServiceDeploymentConfigurationDetails _deploymentConfiguration; private AwsEcsServiceDeploymentControllerDetails _deploymentController; private int? _desiredCount; private bool? _enableEcsManagedTags; private bool? _enableExecuteCommand; private int? _healthCheckGracePeriodSeconds; private string _launchType; private List _loadBalancers = new List(); private string _name; private AwsEcsServiceNetworkConfigurationDetails _networkConfiguration; private List _placementConstraints = new List(); private List _placementStrategies = new List(); private string _platformVersion; private string _propagateTags; private string _role; private string _schedulingStrategy; private string _serviceArn; private string _serviceName; private List _serviceRegistries = new List(); private string _taskDefinition; /// /// Gets and sets the property CapacityProviderStrategy. /// /// The capacity provider strategy that the service uses. /// /// public List CapacityProviderStrategy { get { return this._capacityProviderStrategy; } set { this._capacityProviderStrategy = value; } } // Check to see if CapacityProviderStrategy property is set internal bool IsSetCapacityProviderStrategy() { return this._capacityProviderStrategy != null && this._capacityProviderStrategy.Count > 0; } /// /// Gets and sets the property Cluster. /// /// The ARN of the cluster that hosts the service. /// /// public string Cluster { get { return this._cluster; } set { this._cluster = value; } } // Check to see if Cluster property is set internal bool IsSetCluster() { return this._cluster != null; } /// /// Gets and sets the property DeploymentConfiguration. /// /// Deployment parameters for the service. Includes the number of tasks that run and the /// order in which to start and stop tasks. /// /// public AwsEcsServiceDeploymentConfigurationDetails DeploymentConfiguration { get { return this._deploymentConfiguration; } set { this._deploymentConfiguration = value; } } // Check to see if DeploymentConfiguration property is set internal bool IsSetDeploymentConfiguration() { return this._deploymentConfiguration != null; } /// /// Gets and sets the property DeploymentController. /// /// Contains the deployment controller type that the service uses. /// /// public AwsEcsServiceDeploymentControllerDetails DeploymentController { get { return this._deploymentController; } set { this._deploymentController = value; } } // Check to see if DeploymentController property is set internal bool IsSetDeploymentController() { return this._deploymentController != null; } /// /// Gets and sets the property DesiredCount. /// /// The number of instantiations of the task definition to run on the service. /// /// public int DesiredCount { get { return this._desiredCount.GetValueOrDefault(); } set { this._desiredCount = value; } } // Check to see if DesiredCount property is set internal bool IsSetDesiredCount() { return this._desiredCount.HasValue; } /// /// Gets and sets the property EnableEcsManagedTags. /// /// Whether to enable Amazon ECS managed tags for the tasks in the service. /// /// public bool EnableEcsManagedTags { get { return this._enableEcsManagedTags.GetValueOrDefault(); } set { this._enableEcsManagedTags = value; } } // Check to see if EnableEcsManagedTags property is set internal bool IsSetEnableEcsManagedTags() { return this._enableEcsManagedTags.HasValue; } /// /// Gets and sets the property EnableExecuteCommand. /// /// Whether the execute command functionality is enabled for the service. /// /// public bool EnableExecuteCommand { get { return this._enableExecuteCommand.GetValueOrDefault(); } set { this._enableExecuteCommand = value; } } // Check to see if EnableExecuteCommand property is set internal bool IsSetEnableExecuteCommand() { return this._enableExecuteCommand.HasValue; } /// /// Gets and sets the property HealthCheckGracePeriodSeconds. /// /// After a task starts, the amount of time in seconds that the Amazon ECS service scheduler /// ignores unhealthy Elastic Load Balancing target health checks. /// /// public int HealthCheckGracePeriodSeconds { get { return this._healthCheckGracePeriodSeconds.GetValueOrDefault(); } set { this._healthCheckGracePeriodSeconds = value; } } // Check to see if HealthCheckGracePeriodSeconds property is set internal bool IsSetHealthCheckGracePeriodSeconds() { return this._healthCheckGracePeriodSeconds.HasValue; } /// /// Gets and sets the property LaunchType. /// /// The launch type that the service uses. /// /// /// /// Valid values: EC2 | FARGATE | EXTERNAL /// /// public string LaunchType { get { return this._launchType; } set { this._launchType = value; } } // Check to see if LaunchType property is set internal bool IsSetLaunchType() { return this._launchType != null; } /// /// Gets and sets the property LoadBalancers. /// /// Information about the load balancers that the service uses. /// /// public List LoadBalancers { get { return this._loadBalancers; } set { this._loadBalancers = value; } } // Check to see if LoadBalancers property is set internal bool IsSetLoadBalancers() { return this._loadBalancers != null && this._loadBalancers.Count > 0; } /// /// Gets and sets the property Name. /// /// The name of the service. /// /// public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property NetworkConfiguration. /// /// For tasks that use the awsvpc networking mode, the VPC subnet and security /// group configuration. /// /// public AwsEcsServiceNetworkConfigurationDetails NetworkConfiguration { get { return this._networkConfiguration; } set { this._networkConfiguration = value; } } // Check to see if NetworkConfiguration property is set internal bool IsSetNetworkConfiguration() { return this._networkConfiguration != null; } /// /// Gets and sets the property PlacementConstraints. /// /// The placement constraints for the tasks in the service. /// /// public List PlacementConstraints { get { return this._placementConstraints; } set { this._placementConstraints = value; } } // Check to see if PlacementConstraints property is set internal bool IsSetPlacementConstraints() { return this._placementConstraints != null && this._placementConstraints.Count > 0; } /// /// Gets and sets the property PlacementStrategies. /// /// Information about how tasks for the service are placed. /// /// public List PlacementStrategies { get { return this._placementStrategies; } set { this._placementStrategies = value; } } // Check to see if PlacementStrategies property is set internal bool IsSetPlacementStrategies() { return this._placementStrategies != null && this._placementStrategies.Count > 0; } /// /// Gets and sets the property PlatformVersion. /// /// The platform version on which to run the service. Only specified for tasks that are /// hosted on Fargate. If a platform version is not specified, the LATEST /// platform version is used by default. /// /// public string PlatformVersion { get { return this._platformVersion; } set { this._platformVersion = value; } } // Check to see if PlatformVersion property is set internal bool IsSetPlatformVersion() { return this._platformVersion != null; } /// /// Gets and sets the property PropagateTags. /// /// Indicates whether to propagate the tags from the task definition to the task or from /// the service to the task. If no value is provided, then tags are not propagated. /// /// /// /// Valid values: TASK_DEFINITION | SERVICE /// /// public string PropagateTags { get { return this._propagateTags; } set { this._propagateTags = value; } } // Check to see if PropagateTags property is set internal bool IsSetPropagateTags() { return this._propagateTags != null; } /// /// Gets and sets the property Role. /// /// The ARN of the IAM role that is associated with the service. The role allows the Amazon /// ECS container agent to register container instances with an Elastic Load Balancing /// load balancer. /// /// public string Role { get { return this._role; } set { this._role = value; } } // Check to see if Role property is set internal bool IsSetRole() { return this._role != null; } /// /// Gets and sets the property SchedulingStrategy. /// /// The scheduling strategy to use for the service. /// /// /// /// The REPLICA scheduling strategy places and maintains the desired number /// of tasks across the cluster. By default, the service scheduler spreads tasks across /// Availability Zones. Task placement strategies and constraints are used to customize /// task placement decisions. /// /// /// /// The DAEMON scheduling strategy deploys exactly one task on each active /// container instance that meets all of the task placement constraints that are specified /// in the cluster. The service scheduler also evaluates the task placement constraints /// for running tasks and stops tasks that do not meet the placement constraints. /// /// /// /// Valid values: REPLICA | DAEMON /// /// public string SchedulingStrategy { get { return this._schedulingStrategy; } set { this._schedulingStrategy = value; } } // Check to see if SchedulingStrategy property is set internal bool IsSetSchedulingStrategy() { return this._schedulingStrategy != null; } /// /// Gets and sets the property ServiceArn. /// /// The ARN of the service. /// /// public string ServiceArn { get { return this._serviceArn; } set { this._serviceArn = value; } } // Check to see if ServiceArn property is set internal bool IsSetServiceArn() { return this._serviceArn != null; } /// /// Gets and sets the property ServiceName. /// /// The name of the service. /// /// /// /// The name can contain up to 255 characters. It can use letters, numbers, underscores, /// and hyphens. /// /// public string ServiceName { get { return this._serviceName; } set { this._serviceName = value; } } // Check to see if ServiceName property is set internal bool IsSetServiceName() { return this._serviceName != null; } /// /// Gets and sets the property ServiceRegistries. /// /// Information about the service discovery registries to assign to the service. /// /// public List ServiceRegistries { get { return this._serviceRegistries; } set { this._serviceRegistries = value; } } // Check to see if ServiceRegistries property is set internal bool IsSetServiceRegistries() { return this._serviceRegistries != null && this._serviceRegistries.Count > 0; } /// /// Gets and sets the property TaskDefinition. /// /// The task definition to use for tasks in the service. /// /// public string TaskDefinition { get { return this._taskDefinition; } set { this._taskDefinition = value; } } // Check to see if TaskDefinition property is set internal bool IsSetTaskDefinition() { return this._taskDefinition != null; } } }