/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace AppRunner { namespace Model { /** */ class CreateServiceRequest : public AppRunnerRequest { public: AWS_APPRUNNER_API CreateServiceRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateService"; } AWS_APPRUNNER_API Aws::String SerializePayload() const override; AWS_APPRUNNER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A name for the App Runner service. It must be unique across all the running * App Runner services in your Amazon Web Services account in the Amazon Web * Services Region.

*/ inline const Aws::String& GetServiceName() const{ return m_serviceName; } /** *

A name for the App Runner service. It must be unique across all the running * App Runner services in your Amazon Web Services account in the Amazon Web * Services Region.

*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *

A name for the App Runner service. It must be unique across all the running * App Runner services in your Amazon Web Services account in the Amazon Web * Services Region.

*/ inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *

A name for the App Runner service. It must be unique across all the running * App Runner services in your Amazon Web Services account in the Amazon Web * Services Region.

*/ inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *

A name for the App Runner service. It must be unique across all the running * App Runner services in your Amazon Web Services account in the Amazon Web * Services Region.

*/ inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } /** *

A name for the App Runner service. It must be unique across all the running * App Runner services in your Amazon Web Services account in the Amazon Web * Services Region.

*/ inline CreateServiceRequest& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} /** *

A name for the App Runner service. It must be unique across all the running * App Runner services in your Amazon Web Services account in the Amazon Web * Services Region.

*/ inline CreateServiceRequest& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} /** *

A name for the App Runner service. It must be unique across all the running * App Runner services in your Amazon Web Services account in the Amazon Web * Services Region.

*/ inline CreateServiceRequest& WithServiceName(const char* value) { SetServiceName(value); return *this;} /** *

The source to deploy to the App Runner service. It can be a code or an image * repository.

*/ inline const SourceConfiguration& GetSourceConfiguration() const{ return m_sourceConfiguration; } /** *

The source to deploy to the App Runner service. It can be a code or an image * repository.

*/ inline bool SourceConfigurationHasBeenSet() const { return m_sourceConfigurationHasBeenSet; } /** *

The source to deploy to the App Runner service. It can be a code or an image * repository.

*/ inline void SetSourceConfiguration(const SourceConfiguration& value) { m_sourceConfigurationHasBeenSet = true; m_sourceConfiguration = value; } /** *

The source to deploy to the App Runner service. It can be a code or an image * repository.

*/ inline void SetSourceConfiguration(SourceConfiguration&& value) { m_sourceConfigurationHasBeenSet = true; m_sourceConfiguration = std::move(value); } /** *

The source to deploy to the App Runner service. It can be a code or an image * repository.

*/ inline CreateServiceRequest& WithSourceConfiguration(const SourceConfiguration& value) { SetSourceConfiguration(value); return *this;} /** *

The source to deploy to the App Runner service. It can be a code or an image * repository.

*/ inline CreateServiceRequest& WithSourceConfiguration(SourceConfiguration&& value) { SetSourceConfiguration(std::move(value)); return *this;} /** *

The runtime configuration of instances (scaling units) of your service.

*/ inline const InstanceConfiguration& GetInstanceConfiguration() const{ return m_instanceConfiguration; } /** *

The runtime configuration of instances (scaling units) of your service.

*/ inline bool InstanceConfigurationHasBeenSet() const { return m_instanceConfigurationHasBeenSet; } /** *

The runtime configuration of instances (scaling units) of your service.

*/ inline void SetInstanceConfiguration(const InstanceConfiguration& value) { m_instanceConfigurationHasBeenSet = true; m_instanceConfiguration = value; } /** *

The runtime configuration of instances (scaling units) of your service.

*/ inline void SetInstanceConfiguration(InstanceConfiguration&& value) { m_instanceConfigurationHasBeenSet = true; m_instanceConfiguration = std::move(value); } /** *

The runtime configuration of instances (scaling units) of your service.

*/ inline CreateServiceRequest& WithInstanceConfiguration(const InstanceConfiguration& value) { SetInstanceConfiguration(value); return *this;} /** *

The runtime configuration of instances (scaling units) of your service.

*/ inline CreateServiceRequest& WithInstanceConfiguration(InstanceConfiguration&& value) { SetInstanceConfiguration(std::move(value)); return *this;} /** *

An optional list of metadata items that you can associate with the App Runner * service resource. A tag is a key-value pair.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

An optional list of metadata items that you can associate with the App Runner * service resource. A tag is a key-value pair.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

An optional list of metadata items that you can associate with the App Runner * service resource. A tag is a key-value pair.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

An optional list of metadata items that you can associate with the App Runner * service resource. A tag is a key-value pair.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

An optional list of metadata items that you can associate with the App Runner * service resource. A tag is a key-value pair.

*/ inline CreateServiceRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

An optional list of metadata items that you can associate with the App Runner * service resource. A tag is a key-value pair.

*/ inline CreateServiceRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

An optional list of metadata items that you can associate with the App Runner * service resource. A tag is a key-value pair.

*/ inline CreateServiceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

An optional list of metadata items that you can associate with the App Runner * service resource. A tag is a key-value pair.

*/ inline CreateServiceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

An optional custom encryption key that App Runner uses to encrypt the copy of * your source repository that it maintains and your service logs. By default, App * Runner uses an Amazon Web Services managed key.

*/ inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *

An optional custom encryption key that App Runner uses to encrypt the copy of * your source repository that it maintains and your service logs. By default, App * Runner uses an Amazon Web Services managed key.

*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *

An optional custom encryption key that App Runner uses to encrypt the copy of * your source repository that it maintains and your service logs. By default, App * Runner uses an Amazon Web Services managed key.

*/ inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *

An optional custom encryption key that App Runner uses to encrypt the copy of * your source repository that it maintains and your service logs. By default, App * Runner uses an Amazon Web Services managed key.

*/ inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *

An optional custom encryption key that App Runner uses to encrypt the copy of * your source repository that it maintains and your service logs. By default, App * Runner uses an Amazon Web Services managed key.

*/ inline CreateServiceRequest& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *

An optional custom encryption key that App Runner uses to encrypt the copy of * your source repository that it maintains and your service logs. By default, App * Runner uses an Amazon Web Services managed key.

*/ inline CreateServiceRequest& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} /** *

The settings for the health check that App Runner performs to monitor the * health of the App Runner service.

*/ inline const HealthCheckConfiguration& GetHealthCheckConfiguration() const{ return m_healthCheckConfiguration; } /** *

The settings for the health check that App Runner performs to monitor the * health of the App Runner service.

*/ inline bool HealthCheckConfigurationHasBeenSet() const { return m_healthCheckConfigurationHasBeenSet; } /** *

The settings for the health check that App Runner performs to monitor the * health of the App Runner service.

*/ inline void SetHealthCheckConfiguration(const HealthCheckConfiguration& value) { m_healthCheckConfigurationHasBeenSet = true; m_healthCheckConfiguration = value; } /** *

The settings for the health check that App Runner performs to monitor the * health of the App Runner service.

*/ inline void SetHealthCheckConfiguration(HealthCheckConfiguration&& value) { m_healthCheckConfigurationHasBeenSet = true; m_healthCheckConfiguration = std::move(value); } /** *

The settings for the health check that App Runner performs to monitor the * health of the App Runner service.

*/ inline CreateServiceRequest& WithHealthCheckConfiguration(const HealthCheckConfiguration& value) { SetHealthCheckConfiguration(value); return *this;} /** *

The settings for the health check that App Runner performs to monitor the * health of the App Runner service.

*/ inline CreateServiceRequest& WithHealthCheckConfiguration(HealthCheckConfiguration&& value) { SetHealthCheckConfiguration(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an App Runner automatic scaling * configuration resource that you want to associate with your service. If not * provided, App Runner associates the latest revision of a default auto scaling * configuration.

Specify an ARN with a name and a revision number to * associate that revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3 *

Specify just the name to associate the latest revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability *

*/ inline const Aws::String& GetAutoScalingConfigurationArn() const{ return m_autoScalingConfigurationArn; } /** *

The Amazon Resource Name (ARN) of an App Runner automatic scaling * configuration resource that you want to associate with your service. If not * provided, App Runner associates the latest revision of a default auto scaling * configuration.

Specify an ARN with a name and a revision number to * associate that revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3 *

Specify just the name to associate the latest revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability *

*/ inline bool AutoScalingConfigurationArnHasBeenSet() const { return m_autoScalingConfigurationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an App Runner automatic scaling * configuration resource that you want to associate with your service. If not * provided, App Runner associates the latest revision of a default auto scaling * configuration.

Specify an ARN with a name and a revision number to * associate that revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3 *

Specify just the name to associate the latest revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability *

*/ inline void SetAutoScalingConfigurationArn(const Aws::String& value) { m_autoScalingConfigurationArnHasBeenSet = true; m_autoScalingConfigurationArn = value; } /** *

The Amazon Resource Name (ARN) of an App Runner automatic scaling * configuration resource that you want to associate with your service. If not * provided, App Runner associates the latest revision of a default auto scaling * configuration.

Specify an ARN with a name and a revision number to * associate that revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3 *

Specify just the name to associate the latest revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability *

*/ inline void SetAutoScalingConfigurationArn(Aws::String&& value) { m_autoScalingConfigurationArnHasBeenSet = true; m_autoScalingConfigurationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an App Runner automatic scaling * configuration resource that you want to associate with your service. If not * provided, App Runner associates the latest revision of a default auto scaling * configuration.

Specify an ARN with a name and a revision number to * associate that revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3 *

Specify just the name to associate the latest revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability *

*/ inline void SetAutoScalingConfigurationArn(const char* value) { m_autoScalingConfigurationArnHasBeenSet = true; m_autoScalingConfigurationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an App Runner automatic scaling * configuration resource that you want to associate with your service. If not * provided, App Runner associates the latest revision of a default auto scaling * configuration.

Specify an ARN with a name and a revision number to * associate that revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3 *

Specify just the name to associate the latest revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability *

*/ inline CreateServiceRequest& WithAutoScalingConfigurationArn(const Aws::String& value) { SetAutoScalingConfigurationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an App Runner automatic scaling * configuration resource that you want to associate with your service. If not * provided, App Runner associates the latest revision of a default auto scaling * configuration.

Specify an ARN with a name and a revision number to * associate that revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3 *

Specify just the name to associate the latest revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability *

*/ inline CreateServiceRequest& WithAutoScalingConfigurationArn(Aws::String&& value) { SetAutoScalingConfigurationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an App Runner automatic scaling * configuration resource that you want to associate with your service. If not * provided, App Runner associates the latest revision of a default auto scaling * configuration.

Specify an ARN with a name and a revision number to * associate that revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3 *

Specify just the name to associate the latest revision. For example: * arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability *

*/ inline CreateServiceRequest& WithAutoScalingConfigurationArn(const char* value) { SetAutoScalingConfigurationArn(value); return *this;} /** *

Configuration settings related to network traffic of the web application that * the App Runner service runs.

*/ inline const NetworkConfiguration& GetNetworkConfiguration() const{ return m_networkConfiguration; } /** *

Configuration settings related to network traffic of the web application that * the App Runner service runs.

*/ inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; } /** *

Configuration settings related to network traffic of the web application that * the App Runner service runs.

*/ inline void SetNetworkConfiguration(const NetworkConfiguration& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = value; } /** *

Configuration settings related to network traffic of the web application that * the App Runner service runs.

*/ inline void SetNetworkConfiguration(NetworkConfiguration&& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = std::move(value); } /** *

Configuration settings related to network traffic of the web application that * the App Runner service runs.

*/ inline CreateServiceRequest& WithNetworkConfiguration(const NetworkConfiguration& value) { SetNetworkConfiguration(value); return *this;} /** *

Configuration settings related to network traffic of the web application that * the App Runner service runs.

*/ inline CreateServiceRequest& WithNetworkConfiguration(NetworkConfiguration&& value) { SetNetworkConfiguration(std::move(value)); return *this;} /** *

The observability configuration of your service.

*/ inline const ServiceObservabilityConfiguration& GetObservabilityConfiguration() const{ return m_observabilityConfiguration; } /** *

The observability configuration of your service.

*/ inline bool ObservabilityConfigurationHasBeenSet() const { return m_observabilityConfigurationHasBeenSet; } /** *

The observability configuration of your service.

*/ inline void SetObservabilityConfiguration(const ServiceObservabilityConfiguration& value) { m_observabilityConfigurationHasBeenSet = true; m_observabilityConfiguration = value; } /** *

The observability configuration of your service.

*/ inline void SetObservabilityConfiguration(ServiceObservabilityConfiguration&& value) { m_observabilityConfigurationHasBeenSet = true; m_observabilityConfiguration = std::move(value); } /** *

The observability configuration of your service.

*/ inline CreateServiceRequest& WithObservabilityConfiguration(const ServiceObservabilityConfiguration& value) { SetObservabilityConfiguration(value); return *this;} /** *

The observability configuration of your service.

*/ inline CreateServiceRequest& WithObservabilityConfiguration(ServiceObservabilityConfiguration&& value) { SetObservabilityConfiguration(std::move(value)); return *this;} private: Aws::String m_serviceName; bool m_serviceNameHasBeenSet = false; SourceConfiguration m_sourceConfiguration; bool m_sourceConfigurationHasBeenSet = false; InstanceConfiguration m_instanceConfiguration; bool m_instanceConfigurationHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; EncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet = false; HealthCheckConfiguration m_healthCheckConfiguration; bool m_healthCheckConfigurationHasBeenSet = false; Aws::String m_autoScalingConfigurationArn; bool m_autoScalingConfigurationArnHasBeenSet = false; NetworkConfiguration m_networkConfiguration; bool m_networkConfigurationHasBeenSet = false; ServiceObservabilityConfiguration m_observabilityConfiguration; bool m_observabilityConfigurationHasBeenSet = false; }; } // namespace Model } // namespace AppRunner } // namespace Aws