/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ECS { namespace Model { /** *

Use this parameter to set a default Service Connect namespace. After you set * a default Service Connect namespace, any new services with Service Connect * turned on that are created in the cluster are added as client services in the * namespace. This setting only applies to new services that set the * enabled parameter to true in the * ServiceConnectConfiguration. You can set the namespace of each * service individually in the ServiceConnectConfiguration to override * this default parameter.

Tasks that run in a namespace can use short names * to connect to services in the namespace. Tasks can connect to services across * all of the clusters in the namespace. Tasks connect through a managed proxy * container that collects logs and metrics for increased visibility. Only the * tasks that Amazon ECS services create are supported with Service Connect. For * more information, see Service * Connect in the Amazon Elastic Container Service Developer * Guide.

See Also:

AWS * API Reference

*/ class ClusterServiceConnectDefaults { public: AWS_ECS_API ClusterServiceConnectDefaults(); AWS_ECS_API ClusterServiceConnectDefaults(Aws::Utils::Json::JsonView jsonValue); AWS_ECS_API ClusterServiceConnectDefaults& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map * namespace. When you create a service and don't specify a Service Connect * configuration, this namespace is used.

*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map * namespace. When you create a service and don't specify a Service Connect * configuration, this namespace is used.

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map * namespace. When you create a service and don't specify a Service Connect * configuration, this namespace is used.

*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map * namespace. When you create a service and don't specify a Service Connect * configuration, this namespace is used.

*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map * namespace. When you create a service and don't specify a Service Connect * configuration, this namespace is used.

*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map * namespace. When you create a service and don't specify a Service Connect * configuration, this namespace is used.

*/ inline ClusterServiceConnectDefaults& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map * namespace. When you create a service and don't specify a Service Connect * configuration, this namespace is used.

*/ inline ClusterServiceConnectDefaults& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map * namespace. When you create a service and don't specify a Service Connect * configuration, this namespace is used.

*/ inline ClusterServiceConnectDefaults& WithNamespace(const char* value) { SetNamespace(value); return *this;} private: Aws::String m_namespace; bool m_namespaceHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws