diff --git a/VERSION b/VERSION index 607f944375f..fa8a14569d5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.345 \ No newline at end of file +1.11.346 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-application-signals/CMakeLists.txt b/generated/src/aws-cpp-sdk-application-signals/CMakeLists.txt new file mode 100644 index 00000000000..78778bc023f --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-application-signals "C++ SDK for the AWS application-signals service" aws-cpp-sdk-core) + +file(GLOB AWS_APPLICATION-SIGNALS_HEADERS + "include/aws/application-signals/*.h" +) + +file(GLOB AWS_APPLICATION-SIGNALS_MODEL_HEADERS + "include/aws/application-signals/model/*.h" +) + +file(GLOB AWS_APPLICATION-SIGNALS_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_APPLICATION-SIGNALS_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB APPLICATION-SIGNALS_UNIFIED_HEADERS + ${AWS_APPLICATION-SIGNALS_HEADERS} + ${AWS_APPLICATION-SIGNALS_MODEL_HEADERS} +) + +file(GLOB APPLICATION-SIGNALS_UNITY_SRC + ${AWS_APPLICATION-SIGNALS_SOURCE} + ${AWS_APPLICATION-SIGNALS_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("APPLICATION-SIGNALS" APPLICATION-SIGNALS_UNITY_SRC) +endif() + +file(GLOB APPLICATION-SIGNALS_SRC + ${APPLICATION-SIGNALS_UNIFIED_HEADERS} + ${APPLICATION-SIGNALS_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\application-signals" FILES ${AWS_APPLICATION-SIGNALS_HEADERS}) + source_group("Header Files\\aws\\application-signals\\model" FILES ${AWS_APPLICATION-SIGNALS_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_APPLICATION-SIGNALS_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_APPLICATION-SIGNALS_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(APPLICATION-SIGNALS_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${APPLICATION-SIGNALS_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_APPLICATIONSIGNALS_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_APPLICATION-SIGNALS_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/application-signals) +install (FILES ${AWS_APPLICATION-SIGNALS_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/application-signals/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h new file mode 100644 index 00000000000..f084237d79a --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h @@ -0,0 +1,566 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ + /** + *

This is a Preview release of the Application Signals API + * Reference. Operations and parameters are subject to change before the general + * availability release.

Use CloudWatch Application Signals for + * comprehensive observability of your cloud-based applications. It enables + * real-time service health dashboards and helps you track long-term performance + * trends against your business goals. The application-centric view provides you + * with unified visibility across your applications, services, and dependencies, so + * you can proactively monitor and efficiently triage any issues that may arise, + * ensuring optimal customer experience.

Application Signals provides the + * following benefits:

  • Automatically collect metrics and traces + * from your applications, and display key metrics such as call volume, + * availability, latency, faults, and errors.

  • Create and monitor + * service level objectives (SLOs).

  • See a map of your + * application topology that Application Signals automatically discovers, that + * gives you a visual representation of your applications, dependencies, and their + * connectivity.

+ */ + class AWS_APPLICATIONSIGNALS_API ApplicationSignalsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef ApplicationSignalsClientConfiguration ClientConfigurationType; + typedef ApplicationSignalsEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + ApplicationSignalsClient(const Aws::ApplicationSignals::ApplicationSignalsClientConfiguration& clientConfiguration = Aws::ApplicationSignals::ApplicationSignalsClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + ApplicationSignalsClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::ApplicationSignals::ApplicationSignalsClientConfiguration& clientConfiguration = Aws::ApplicationSignals::ApplicationSignalsClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + ApplicationSignalsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::ApplicationSignals::ApplicationSignalsClientConfiguration& clientConfiguration = Aws::ApplicationSignals::ApplicationSignalsClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + ApplicationSignalsClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + ApplicationSignalsClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + ApplicationSignalsClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~ApplicationSignalsClient(); + + /** + *

Use this operation to retrieve one or more service level objective (SLO) + * budget reports.

An error budget is the amount of time in + * unhealthy periods that your service can accumulate during an interval before + * your overall SLO budget health is breached and the SLO is considered to be + * unmet. For example, an SLO with a threshold of 99.95% and a monthly interval + * translates to an error budget of 21.9 minutes of downtime in a 30-day month.

+ *

Budget reports include a health indicator, the attainment value, and + * remaining budget.

For more information about SLO error budgets, see + * SLO concepts.

See Also:

AWS + * API Reference

+ */ + virtual Model::BatchGetServiceLevelObjectiveBudgetReportOutcome BatchGetServiceLevelObjectiveBudgetReport(const Model::BatchGetServiceLevelObjectiveBudgetReportRequest& request) const; + + /** + * A Callable wrapper for BatchGetServiceLevelObjectiveBudgetReport that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::BatchGetServiceLevelObjectiveBudgetReportOutcomeCallable BatchGetServiceLevelObjectiveBudgetReportCallable(const BatchGetServiceLevelObjectiveBudgetReportRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::BatchGetServiceLevelObjectiveBudgetReport, request); + } + + /** + * An Async wrapper for BatchGetServiceLevelObjectiveBudgetReport that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void BatchGetServiceLevelObjectiveBudgetReportAsync(const BatchGetServiceLevelObjectiveBudgetReportRequestT& request, const BatchGetServiceLevelObjectiveBudgetReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::BatchGetServiceLevelObjectiveBudgetReport, request, handler, context); + } + + /** + *

Creates a service level objective (SLO), which can help you ensure that your + * critical business operations are meeting customer expectations. Use SLOs to set + * and track specific target levels for the reliability and availability of your + * applications and services. SLOs use service level indicators (SLIs) to calculate + * whether the application is performing at the level that you want.

Create + * an SLO to set a target for a service or operation’s availability or latency. + * CloudWatch measures this target frequently you can find whether it has been + * breached.

When you create an SLO, you set an attainment goal for + * it. An attainment goal is the ratio of good periods that meet the + * threshold requirements to the total periods within the interval. For example, an + * attainment goal of 99.9% means that within your interval, you are targeting + * 99.9% of the periods to be in healthy state.

After you have created an + * SLO, you can retrieve error budget reports for it. An error budget is the + * number of periods or amount of time that your service can accumulate during an + * interval before your overall SLO budget health is breached and the SLO is + * considered to be unmet. for example, an SLO with a threshold that 99.95% of + * requests must be completed under 2000ms every month translates to an error + * budget of 21.9 minutes of downtime per month.

When you call this + * operation, Application Signals creates the + * AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it + * doesn't already exist in your account. This service- linked role has the + * following permissions:

  • xray:GetServiceGraph

    + *
  • logs:StartQuery

  • + * logs:GetQueryResults

  • + * cloudwatch:GetMetricData

  • + * cloudwatch:ListMetrics

  • + * tag:GetResources

  • + * autoscaling:DescribeAutoScalingGroups

You can + * easily set SLO targets for your applications that are discovered by Application + * Signals, using critical metrics such as latency and availability. You can also + * set SLOs against any CloudWatch metric or math expression that produces a time + * series.

For more information about SLOs, see + * Service level objectives (SLOs).

See Also:

AWS + * API Reference

+ */ + virtual Model::CreateServiceLevelObjectiveOutcome CreateServiceLevelObjective(const Model::CreateServiceLevelObjectiveRequest& request) const; + + /** + * A Callable wrapper for CreateServiceLevelObjective that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateServiceLevelObjectiveOutcomeCallable CreateServiceLevelObjectiveCallable(const CreateServiceLevelObjectiveRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::CreateServiceLevelObjective, request); + } + + /** + * An Async wrapper for CreateServiceLevelObjective that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateServiceLevelObjectiveAsync(const CreateServiceLevelObjectiveRequestT& request, const CreateServiceLevelObjectiveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::CreateServiceLevelObjective, request, handler, context); + } + + /** + *

Deletes the specified service level objective.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteServiceLevelObjectiveOutcome DeleteServiceLevelObjective(const Model::DeleteServiceLevelObjectiveRequest& request) const; + + /** + * A Callable wrapper for DeleteServiceLevelObjective that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteServiceLevelObjectiveOutcomeCallable DeleteServiceLevelObjectiveCallable(const DeleteServiceLevelObjectiveRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::DeleteServiceLevelObjective, request); + } + + /** + * An Async wrapper for DeleteServiceLevelObjective that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteServiceLevelObjectiveAsync(const DeleteServiceLevelObjectiveRequestT& request, const DeleteServiceLevelObjectiveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::DeleteServiceLevelObjective, request, handler, context); + } + + /** + *

Returns information about a service discovered by Application + * Signals.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetServiceOutcome GetService(const Model::GetServiceRequest& request) const; + + /** + * A Callable wrapper for GetService that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetServiceOutcomeCallable GetServiceCallable(const GetServiceRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::GetService, request); + } + + /** + * An Async wrapper for GetService that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetServiceAsync(const GetServiceRequestT& request, const GetServiceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::GetService, request, handler, context); + } + + /** + *

Returns information about one SLO created in the account.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::GetServiceLevelObjectiveOutcome GetServiceLevelObjective(const Model::GetServiceLevelObjectiveRequest& request) const; + + /** + * A Callable wrapper for GetServiceLevelObjective that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetServiceLevelObjectiveOutcomeCallable GetServiceLevelObjectiveCallable(const GetServiceLevelObjectiveRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::GetServiceLevelObjective, request); + } + + /** + * An Async wrapper for GetServiceLevelObjective that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetServiceLevelObjectiveAsync(const GetServiceLevelObjectiveRequestT& request, const GetServiceLevelObjectiveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::GetServiceLevelObjective, request, handler, context); + } + + /** + *

Returns a list of service dependencies of the service that you specify. A + * dependency is an infrastructure component that an operation of this service + * connects with. Dependencies can include Amazon Web Services services, Amazon Web + * Services resources, and third-party services.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListServiceDependenciesOutcome ListServiceDependencies(const Model::ListServiceDependenciesRequest& request) const; + + /** + * A Callable wrapper for ListServiceDependencies that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListServiceDependenciesOutcomeCallable ListServiceDependenciesCallable(const ListServiceDependenciesRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::ListServiceDependencies, request); + } + + /** + * An Async wrapper for ListServiceDependencies that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListServiceDependenciesAsync(const ListServiceDependenciesRequestT& request, const ListServiceDependenciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::ListServiceDependencies, request, handler, context); + } + + /** + *

Returns the list of dependents that invoked the specified service during the + * provided time range. Dependents include other services, CloudWatch Synthetics + * canaries, and clients that are instrumented with CloudWatch RUM app + * monitors.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListServiceDependentsOutcome ListServiceDependents(const Model::ListServiceDependentsRequest& request) const; + + /** + * A Callable wrapper for ListServiceDependents that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListServiceDependentsOutcomeCallable ListServiceDependentsCallable(const ListServiceDependentsRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::ListServiceDependents, request); + } + + /** + * An Async wrapper for ListServiceDependents that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListServiceDependentsAsync(const ListServiceDependentsRequestT& request, const ListServiceDependentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::ListServiceDependents, request, handler, context); + } + + /** + *

Returns a list of SLOs created in this account.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListServiceLevelObjectivesOutcome ListServiceLevelObjectives(const Model::ListServiceLevelObjectivesRequest& request) const; + + /** + * A Callable wrapper for ListServiceLevelObjectives that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListServiceLevelObjectivesOutcomeCallable ListServiceLevelObjectivesCallable(const ListServiceLevelObjectivesRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::ListServiceLevelObjectives, request); + } + + /** + * An Async wrapper for ListServiceLevelObjectives that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListServiceLevelObjectivesAsync(const ListServiceLevelObjectivesRequestT& request, const ListServiceLevelObjectivesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::ListServiceLevelObjectives, request, handler, context); + } + + /** + *

Returns a list of the operations of this service that have been + * discovered by Application Signals. Only the operations that were invoked during + * the specified time range are returned.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListServiceOperationsOutcome ListServiceOperations(const Model::ListServiceOperationsRequest& request) const; + + /** + * A Callable wrapper for ListServiceOperations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListServiceOperationsOutcomeCallable ListServiceOperationsCallable(const ListServiceOperationsRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::ListServiceOperations, request); + } + + /** + * An Async wrapper for ListServiceOperations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListServiceOperationsAsync(const ListServiceOperationsRequestT& request, const ListServiceOperationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::ListServiceOperations, request, handler, context); + } + + /** + *

Returns a list of services that have been discovered by Application Signals. + * A service represents a minimum logical and transactional unit that completes a + * business function. Services are discovered through Application Signals + * instrumentation.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListServicesOutcome ListServices(const Model::ListServicesRequest& request) const; + + /** + * A Callable wrapper for ListServices that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListServicesOutcomeCallable ListServicesCallable(const ListServicesRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::ListServices, request); + } + + /** + * An Async wrapper for ListServices that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListServicesAsync(const ListServicesRequestT& request, const ListServicesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::ListServices, request, handler, context); + } + + /** + *

Displays the tags associated with a CloudWatch resource. Tags can be assigned + * to service level objectives.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; + + /** + * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::ListTagsForResource, request); + } + + /** + * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::ListTagsForResource, request, handler, context); + } + + /** + *

Enables this Amazon Web Services account to be able to use CloudWatch + * Application Signals by creating the + * AWSServiceRoleForCloudWatchApplicationSignals service-linked role. This + * service- linked role has the following permissions:

  • + * xray:GetServiceGraph

  • + * logs:StartQuery

  • + * logs:GetQueryResults

  • + * cloudwatch:GetMetricData

  • + * cloudwatch:ListMetrics

  • + * tag:GetResources

  • + * autoscaling:DescribeAutoScalingGroups

After + * completing this step, you still need to instrument your Java and Python + * applications to send data to Application Signals. For more information, see + * Enabling Application Signals.

See Also:

AWS + * API Reference

+ */ + virtual Model::StartDiscoveryOutcome StartDiscovery(const Model::StartDiscoveryRequest& request) const; + + /** + * A Callable wrapper for StartDiscovery that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::StartDiscoveryOutcomeCallable StartDiscoveryCallable(const StartDiscoveryRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::StartDiscovery, request); + } + + /** + * An Async wrapper for StartDiscovery that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void StartDiscoveryAsync(const StartDiscoveryRequestT& request, const StartDiscoveryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::StartDiscovery, request, handler, context); + } + + /** + *

Assigns one or more tags (key-value pairs) to the specified CloudWatch + * resource, such as a service level objective.

Tags can help you organize + * and categorize your resources. You can also use them to scope user permissions + * by granting a user permission to access or change only resources with certain + * tag values.

Tags don't have any semantic meaning to Amazon Web Services + * and are interpreted strictly as strings of characters.

You can use the + * TagResource action with an alarm that already has tags. If you + * specify a new tag key for the alarm, this tag is appended to the list of tags + * associated with the alarm. If you specify a tag key that is already associated + * with the alarm, the new tag value that you specify replaces the previous value + * for that tag.

You can associate as many as 50 tags with a CloudWatch + * resource.

See Also:

AWS + * API Reference

+ */ + virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; + + /** + * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::TagResource, request); + } + + /** + * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::TagResource, request, handler, context); + } + + /** + *

Removes one or more tags from the specified resource.

See + * Also:

AWS + * API Reference

+ */ + virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; + + /** + * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::UntagResource, request); + } + + /** + * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::UntagResource, request, handler, context); + } + + /** + *

Updates an existing service level objective (SLO). If you omit parameters, + * the previous values of those parameters are retained.

See Also:

+ * AWS + * API Reference

+ */ + virtual Model::UpdateServiceLevelObjectiveOutcome UpdateServiceLevelObjective(const Model::UpdateServiceLevelObjectiveRequest& request) const; + + /** + * A Callable wrapper for UpdateServiceLevelObjective that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateServiceLevelObjectiveOutcomeCallable UpdateServiceLevelObjectiveCallable(const UpdateServiceLevelObjectiveRequestT& request) const + { + return SubmitCallable(&ApplicationSignalsClient::UpdateServiceLevelObjective, request); + } + + /** + * An Async wrapper for UpdateServiceLevelObjective that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateServiceLevelObjectiveAsync(const UpdateServiceLevelObjectiveRequestT& request, const UpdateServiceLevelObjectiveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ApplicationSignalsClient::UpdateServiceLevelObjective, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const ApplicationSignalsClientConfiguration& clientConfiguration); + + ApplicationSignalsClientConfiguration m_clientConfiguration; + std::shared_ptr m_executor; + std::shared_ptr m_endpointProvider; + }; + +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointProvider.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointProvider.h new file mode 100644 index 00000000000..e4583179b37 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * 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 + + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using ApplicationSignalsClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using ApplicationSignalsClientConfiguration = Aws::Client::GenericClientConfiguration; +using ApplicationSignalsBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the ApplicationSignals Client Endpoint Provider. + * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider. + * The SDK must use service-specific type for each service per specification. + */ +using ApplicationSignalsEndpointProviderBase = + EndpointProviderBase; + +using ApplicationSignalsDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_APPLICATIONSIGNALS_API ApplicationSignalsEndpointProvider : public ApplicationSignalsDefaultEpProviderBase +{ +public: + using ApplicationSignalsResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + ApplicationSignalsEndpointProvider() + : ApplicationSignalsDefaultEpProviderBase(Aws::ApplicationSignals::ApplicationSignalsEndpointRules::GetRulesBlob(), Aws::ApplicationSignals::ApplicationSignalsEndpointRules::RulesBlobSize) + {} + + ~ApplicationSignalsEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointRules.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointRules.h new file mode 100644 index 00000000000..6d798dd5aa6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +class ApplicationSignalsEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsErrorMarshaller.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsErrorMarshaller.h new file mode 100644 index 00000000000..24fa0070470 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_APPLICATIONSIGNALS_API ApplicationSignalsErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsErrors.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsErrors.h new file mode 100644 index 00000000000..630e2c7ec43 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsErrors.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +enum class ApplicationSignalsErrors +{ + //From Core// + ////////////////////////////////////////////////////////////////////////////////////////// + INCOMPLETE_SIGNATURE = 0, + INTERNAL_FAILURE = 1, + INVALID_ACTION = 2, + INVALID_CLIENT_TOKEN_ID = 3, + INVALID_PARAMETER_COMBINATION = 4, + INVALID_QUERY_PARAMETER = 5, + INVALID_PARAMETER_VALUE = 6, + MISSING_ACTION = 7, // SDK should never allow + MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow + MISSING_PARAMETER = 9, // SDK should never allow + OPT_IN_REQUIRED = 10, + REQUEST_EXPIRED = 11, + SERVICE_UNAVAILABLE = 12, + THROTTLING = 13, + VALIDATION = 14, + ACCESS_DENIED = 15, + RESOURCE_NOT_FOUND = 16, + UNRECOGNIZED_CLIENT = 17, + MALFORMED_QUERY_STRING = 18, + SLOW_DOWN = 19, + REQUEST_TIME_TOO_SKEWED = 20, + INVALID_SIGNATURE = 21, + SIGNATURE_DOES_NOT_MATCH = 22, + INVALID_ACCESS_KEY_ID = 23, + REQUEST_TIMEOUT = 24, + NETWORK_CONNECTION = 99, + + UNKNOWN = 100, + /////////////////////////////////////////////////////////////////////////////////////////// + + CONFLICT= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1, + SERVICE_QUOTA_EXCEEDED +}; + +class AWS_APPLICATIONSIGNALS_API ApplicationSignalsError : public Aws::Client::AWSError +{ +public: + ApplicationSignalsError() {} + ApplicationSignalsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + ApplicationSignalsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + ApplicationSignalsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + ApplicationSignalsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace ApplicationSignalsErrorMapper +{ + AWS_APPLICATIONSIGNALS_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsRequest.h new file mode 100644 index 00000000000..1133807908e --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ + class AWS_APPLICATIONSIGNALS_API ApplicationSignalsRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~ApplicationSignalsRequest () {} + + void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); } + + inline Aws::Http::HeaderValueCollection GetHeaders() const override + { + auto headers = GetRequestSpecificHeaders(); + + if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0)) + { + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::JSON_CONTENT_TYPE )); + } + headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2024-04-15")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsServiceClientModel.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsServiceClientModel.h new file mode 100644 index 00000000000..9bff21f98c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsServiceClientModel.h @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in ApplicationSignalsClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in ApplicationSignalsClient header */ + +namespace Aws +{ + namespace Http + { + class HttpClient; + class HttpClientFactory; + } // namespace Http + + namespace Utils + { + template< typename R, typename E> class Outcome; + + namespace Threading + { + class Executor; + } // namespace Threading + } // namespace Utils + + namespace Auth + { + class AWSCredentials; + class AWSCredentialsProvider; + } // namespace Auth + + namespace Client + { + class RetryStrategy; + } // namespace Client + + namespace ApplicationSignals + { + using ApplicationSignalsClientConfiguration = Aws::Client::GenericClientConfiguration; + using ApplicationSignalsEndpointProviderBase = Aws::ApplicationSignals::Endpoint::ApplicationSignalsEndpointProviderBase; + using ApplicationSignalsEndpointProvider = Aws::ApplicationSignals::Endpoint::ApplicationSignalsEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in ApplicationSignalsClient header */ + class BatchGetServiceLevelObjectiveBudgetReportRequest; + class CreateServiceLevelObjectiveRequest; + class DeleteServiceLevelObjectiveRequest; + class GetServiceRequest; + class GetServiceLevelObjectiveRequest; + class ListServiceDependenciesRequest; + class ListServiceDependentsRequest; + class ListServiceLevelObjectivesRequest; + class ListServiceOperationsRequest; + class ListServicesRequest; + class ListTagsForResourceRequest; + class StartDiscoveryRequest; + class TagResourceRequest; + class UntagResourceRequest; + class UpdateServiceLevelObjectiveRequest; + /* End of service model forward declarations required in ApplicationSignalsClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome BatchGetServiceLevelObjectiveBudgetReportOutcome; + typedef Aws::Utils::Outcome CreateServiceLevelObjectiveOutcome; + typedef Aws::Utils::Outcome DeleteServiceLevelObjectiveOutcome; + typedef Aws::Utils::Outcome GetServiceOutcome; + typedef Aws::Utils::Outcome GetServiceLevelObjectiveOutcome; + typedef Aws::Utils::Outcome ListServiceDependenciesOutcome; + typedef Aws::Utils::Outcome ListServiceDependentsOutcome; + typedef Aws::Utils::Outcome ListServiceLevelObjectivesOutcome; + typedef Aws::Utils::Outcome ListServiceOperationsOutcome; + typedef Aws::Utils::Outcome ListServicesOutcome; + typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome StartDiscoveryOutcome; + typedef Aws::Utils::Outcome TagResourceOutcome; + typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateServiceLevelObjectiveOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future BatchGetServiceLevelObjectiveBudgetReportOutcomeCallable; + typedef std::future CreateServiceLevelObjectiveOutcomeCallable; + typedef std::future DeleteServiceLevelObjectiveOutcomeCallable; + typedef std::future GetServiceOutcomeCallable; + typedef std::future GetServiceLevelObjectiveOutcomeCallable; + typedef std::future ListServiceDependenciesOutcomeCallable; + typedef std::future ListServiceDependentsOutcomeCallable; + typedef std::future ListServiceLevelObjectivesOutcomeCallable; + typedef std::future ListServiceOperationsOutcomeCallable; + typedef std::future ListServicesOutcomeCallable; + typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future StartDiscoveryOutcomeCallable; + typedef std::future TagResourceOutcomeCallable; + typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateServiceLevelObjectiveOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class ApplicationSignalsClient; + + /* Service model async handlers definitions */ + typedef std::function&) > BatchGetServiceLevelObjectiveBudgetReportResponseReceivedHandler; + typedef std::function&) > CreateServiceLevelObjectiveResponseReceivedHandler; + typedef std::function&) > DeleteServiceLevelObjectiveResponseReceivedHandler; + typedef std::function&) > GetServiceResponseReceivedHandler; + typedef std::function&) > GetServiceLevelObjectiveResponseReceivedHandler; + typedef std::function&) > ListServiceDependenciesResponseReceivedHandler; + typedef std::function&) > ListServiceDependentsResponseReceivedHandler; + typedef std::function&) > ListServiceLevelObjectivesResponseReceivedHandler; + typedef std::function&) > ListServiceOperationsResponseReceivedHandler; + typedef std::function&) > ListServicesResponseReceivedHandler; + typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > StartDiscoveryResponseReceivedHandler; + typedef std::function&) > TagResourceResponseReceivedHandler; + typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateServiceLevelObjectiveResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignals_EXPORTS.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignals_EXPORTS.h new file mode 100644 index 00000000000..fe31fc0af68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignals_EXPORTS.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#ifdef _MSC_VER + //disable windows complaining about max template size. + #pragma warning (disable : 4503) +#endif // _MSC_VER + +#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32) + #ifdef _MSC_VER + #pragma warning(disable : 4251) + #endif // _MSC_VER + + #ifdef USE_IMPORT_EXPORT + #ifdef AWS_APPLICATIONSIGNALS_EXPORTS + #define AWS_APPLICATIONSIGNALS_API __declspec(dllexport) + #else + #define AWS_APPLICATIONSIGNALS_API __declspec(dllimport) + #endif /* AWS_APPLICATIONSIGNALS_EXPORTS */ + #define AWS_APPLICATIONSIGNALS_EXTERN + #else + #define AWS_APPLICATIONSIGNALS_API + #define AWS_APPLICATIONSIGNALS_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_APPLICATIONSIGNALS_API + #define AWS_APPLICATIONSIGNALS_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/BatchGetServiceLevelObjectiveBudgetReportRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/BatchGetServiceLevelObjectiveBudgetReportRequest.h new file mode 100644 index 00000000000..55ff2d35564 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/BatchGetServiceLevelObjectiveBudgetReportRequest.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class BatchGetServiceLevelObjectiveBudgetReportRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API BatchGetServiceLevelObjectiveBudgetReportRequest(); + + // 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 "BatchGetServiceLevelObjectiveBudgetReport"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + + /** + *

The date and time that you want the report to be for. It is expressed as the + * number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + + /** + *

The date and time that you want the report to be for. It is expressed as the + * number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } + + /** + *

The date and time that you want the report to be for. It is expressed as the + * number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } + + /** + *

The date and time that you want the report to be for. It is expressed as the + * number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } + + /** + *

The date and time that you want the report to be for. It is expressed as the + * number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportRequest& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + + /** + *

The date and time that you want the report to be for. It is expressed as the + * number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportRequest& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline const Aws::Vector& GetSloIds() const{ return m_sloIds; } + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline bool SloIdsHasBeenSet() const { return m_sloIdsHasBeenSet; } + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline void SetSloIds(const Aws::Vector& value) { m_sloIdsHasBeenSet = true; m_sloIds = value; } + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline void SetSloIds(Aws::Vector&& value) { m_sloIdsHasBeenSet = true; m_sloIds = std::move(value); } + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportRequest& WithSloIds(const Aws::Vector& value) { SetSloIds(value); return *this;} + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportRequest& WithSloIds(Aws::Vector&& value) { SetSloIds(std::move(value)); return *this;} + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportRequest& AddSloIds(const Aws::String& value) { m_sloIdsHasBeenSet = true; m_sloIds.push_back(value); return *this; } + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportRequest& AddSloIds(Aws::String&& value) { m_sloIdsHasBeenSet = true; m_sloIds.push_back(std::move(value)); return *this; } + + /** + *

An array containing the IDs of the service level objectives that you want to + * include in the report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportRequest& AddSloIds(const char* value) { m_sloIdsHasBeenSet = true; m_sloIds.push_back(value); return *this; } + + private: + + Aws::Utils::DateTime m_timestamp; + bool m_timestampHasBeenSet = false; + + Aws::Vector m_sloIds; + bool m_sloIdsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/BatchGetServiceLevelObjectiveBudgetReportResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/BatchGetServiceLevelObjectiveBudgetReportResult.h new file mode 100644 index 00000000000..02587d3fe35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/BatchGetServiceLevelObjectiveBudgetReportResult.h @@ -0,0 +1,183 @@ +/** + * 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 + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class BatchGetServiceLevelObjectiveBudgetReportResult + { + public: + AWS_APPLICATIONSIGNALS_API BatchGetServiceLevelObjectiveBudgetReportResult(); + AWS_APPLICATIONSIGNALS_API BatchGetServiceLevelObjectiveBudgetReportResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API BatchGetServiceLevelObjectiveBudgetReportResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The date and time that the report is for. It is expressed as the number of + * milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } + + /** + *

The date and time that the report is for. It is expressed as the number of + * milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestamp = value; } + + /** + *

The date and time that the report is for. It is expressed as the number of + * milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestamp = std::move(value); } + + /** + *

The date and time that the report is for. It is expressed as the number of + * milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} + + /** + *

The date and time that the report is for. It is expressed as the number of + * milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} + + + /** + *

An array of structures, where each structure is one budget report.

+ */ + inline const Aws::Vector& GetReports() const{ return m_reports; } + + /** + *

An array of structures, where each structure is one budget report.

+ */ + inline void SetReports(const Aws::Vector& value) { m_reports = value; } + + /** + *

An array of structures, where each structure is one budget report.

+ */ + inline void SetReports(Aws::Vector&& value) { m_reports = std::move(value); } + + /** + *

An array of structures, where each structure is one budget report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithReports(const Aws::Vector& value) { SetReports(value); return *this;} + + /** + *

An array of structures, where each structure is one budget report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithReports(Aws::Vector&& value) { SetReports(std::move(value)); return *this;} + + /** + *

An array of structures, where each structure is one budget report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& AddReports(const ServiceLevelObjectiveBudgetReport& value) { m_reports.push_back(value); return *this; } + + /** + *

An array of structures, where each structure is one budget report.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& AddReports(ServiceLevelObjectiveBudgetReport&& value) { m_reports.push_back(std::move(value)); return *this; } + + + /** + *

An array of structures, where each structure includes an error indicating + * that one of the requests in the array was not valid.

+ */ + inline const Aws::Vector& GetErrors() const{ return m_errors; } + + /** + *

An array of structures, where each structure includes an error indicating + * that one of the requests in the array was not valid.

+ */ + inline void SetErrors(const Aws::Vector& value) { m_errors = value; } + + /** + *

An array of structures, where each structure includes an error indicating + * that one of the requests in the array was not valid.

+ */ + inline void SetErrors(Aws::Vector&& value) { m_errors = std::move(value); } + + /** + *

An array of structures, where each structure includes an error indicating + * that one of the requests in the array was not valid.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithErrors(const Aws::Vector& value) { SetErrors(value); return *this;} + + /** + *

An array of structures, where each structure includes an error indicating + * that one of the requests in the array was not valid.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithErrors(Aws::Vector&& value) { SetErrors(std::move(value)); return *this;} + + /** + *

An array of structures, where each structure includes an error indicating + * that one of the requests in the array was not valid.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& AddErrors(const ServiceLevelObjectiveBudgetReportError& value) { m_errors.push_back(value); return *this; } + + /** + *

An array of structures, where each structure includes an error indicating + * that one of the requests in the array was not valid.

+ */ + inline BatchGetServiceLevelObjectiveBudgetReportResult& AddErrors(ServiceLevelObjectiveBudgetReportError&& value) { m_errors.push_back(std::move(value)); return *this; } + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline BatchGetServiceLevelObjectiveBudgetReportResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_timestamp; + + Aws::Vector m_reports; + + Aws::Vector m_errors; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CalendarInterval.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CalendarInterval.h new file mode 100644 index 00000000000..8293552b214 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CalendarInterval.h @@ -0,0 +1,182 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

If the interval for this service level objective is a calendar interval, this + * structure contains the interval specifications.

See Also:

AWS + * API Reference

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

The date and time when you want the first interval to start. Be sure to + * choose a time that configures the intervals the way that you want. For example, + * if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a + * start time that is a Monday at 6 a.m.

When used in a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057

As soon as one calendar interval ends, another + * automatically begins.

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The date and time when you want the first interval to start. Be sure to + * choose a time that configures the intervals the way that you want. For example, + * if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a + * start time that is a Monday at 6 a.m.

When used in a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057

As soon as one calendar interval ends, another + * automatically begins.

+ */ + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + + /** + *

The date and time when you want the first interval to start. Be sure to + * choose a time that configures the intervals the way that you want. For example, + * if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a + * start time that is a Monday at 6 a.m.

When used in a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057

As soon as one calendar interval ends, another + * automatically begins.

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + + /** + *

The date and time when you want the first interval to start. Be sure to + * choose a time that configures the intervals the way that you want. For example, + * if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a + * start time that is a Monday at 6 a.m.

When used in a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057

As soon as one calendar interval ends, another + * automatically begins.

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + + /** + *

The date and time when you want the first interval to start. Be sure to + * choose a time that configures the intervals the way that you want. For example, + * if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a + * start time that is a Monday at 6 a.m.

When used in a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057

As soon as one calendar interval ends, another + * automatically begins.

+ */ + inline CalendarInterval& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The date and time when you want the first interval to start. Be sure to + * choose a time that configures the intervals the way that you want. For example, + * if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a + * start time that is a Monday at 6 a.m.

When used in a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057

As soon as one calendar interval ends, another + * automatically begins.

+ */ + inline CalendarInterval& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

Specifies the calendar interval unit.

+ */ + inline const DurationUnit& GetDurationUnit() const{ return m_durationUnit; } + + /** + *

Specifies the calendar interval unit.

+ */ + inline bool DurationUnitHasBeenSet() const { return m_durationUnitHasBeenSet; } + + /** + *

Specifies the calendar interval unit.

+ */ + inline void SetDurationUnit(const DurationUnit& value) { m_durationUnitHasBeenSet = true; m_durationUnit = value; } + + /** + *

Specifies the calendar interval unit.

+ */ + inline void SetDurationUnit(DurationUnit&& value) { m_durationUnitHasBeenSet = true; m_durationUnit = std::move(value); } + + /** + *

Specifies the calendar interval unit.

+ */ + inline CalendarInterval& WithDurationUnit(const DurationUnit& value) { SetDurationUnit(value); return *this;} + + /** + *

Specifies the calendar interval unit.

+ */ + inline CalendarInterval& WithDurationUnit(DurationUnit&& value) { SetDurationUnit(std::move(value)); return *this;} + + + /** + *

Specifies the duration of each calendar interval. For example, if + * Duration is 1 and DurationUnit is + * MONTH, each interval is one month, aligned with the calendar.

+ */ + inline int GetDuration() const{ return m_duration; } + + /** + *

Specifies the duration of each calendar interval. For example, if + * Duration is 1 and DurationUnit is + * MONTH, each interval is one month, aligned with the calendar.

+ */ + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + + /** + *

Specifies the duration of each calendar interval. For example, if + * Duration is 1 and DurationUnit is + * MONTH, each interval is one month, aligned with the calendar.

+ */ + inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } + + /** + *

Specifies the duration of each calendar interval. For example, if + * Duration is 1 and DurationUnit is + * MONTH, each interval is one month, aligned with the calendar.

+ */ + inline CalendarInterval& WithDuration(int value) { SetDuration(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + DurationUnit m_durationUnit; + bool m_durationUnitHasBeenSet = false; + + int m_duration; + bool m_durationHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CreateServiceLevelObjectiveRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CreateServiceLevelObjectiveRequest.h new file mode 100644 index 00000000000..856f974656e --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CreateServiceLevelObjectiveRequest.h @@ -0,0 +1,295 @@ +/** + * 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 + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class CreateServiceLevelObjectiveRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API CreateServiceLevelObjectiveRequest(); + + // 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 "CreateServiceLevelObjective"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + + /** + *

A name for this SLO.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

A name for this SLO.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

A name for this SLO.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

A name for this SLO.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

A name for this SLO.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

A name for this SLO.

+ */ + inline CreateServiceLevelObjectiveRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

A name for this SLO.

+ */ + inline CreateServiceLevelObjectiveRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

A name for this SLO.

+ */ + inline CreateServiceLevelObjectiveRequest& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

An optional description for this SLO.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

An optional description for this SLO.

+ */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

An optional description for this SLO.

+ */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

An optional description for this SLO.

+ */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

An optional description for this SLO.

+ */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

An optional description for this SLO.

+ */ + inline CreateServiceLevelObjectiveRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

An optional description for this SLO.

+ */ + inline CreateServiceLevelObjectiveRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

An optional description for this SLO.

+ */ + inline CreateServiceLevelObjectiveRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

A structure that contains information about what service and what performance + * metric that this SLO will monitor.

+ */ + inline const ServiceLevelIndicatorConfig& GetSliConfig() const{ return m_sliConfig; } + + /** + *

A structure that contains information about what service and what performance + * metric that this SLO will monitor.

+ */ + inline bool SliConfigHasBeenSet() const { return m_sliConfigHasBeenSet; } + + /** + *

A structure that contains information about what service and what performance + * metric that this SLO will monitor.

+ */ + inline void SetSliConfig(const ServiceLevelIndicatorConfig& value) { m_sliConfigHasBeenSet = true; m_sliConfig = value; } + + /** + *

A structure that contains information about what service and what performance + * metric that this SLO will monitor.

+ */ + inline void SetSliConfig(ServiceLevelIndicatorConfig&& value) { m_sliConfigHasBeenSet = true; m_sliConfig = std::move(value); } + + /** + *

A structure that contains information about what service and what performance + * metric that this SLO will monitor.

+ */ + inline CreateServiceLevelObjectiveRequest& WithSliConfig(const ServiceLevelIndicatorConfig& value) { SetSliConfig(value); return *this;} + + /** + *

A structure that contains information about what service and what performance + * metric that this SLO will monitor.

+ */ + inline CreateServiceLevelObjectiveRequest& WithSliConfig(ServiceLevelIndicatorConfig&& value) { SetSliConfig(std::move(value)); return *this;} + + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline const Goal& GetGoal() const{ return m_goal; } + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline bool GoalHasBeenSet() const { return m_goalHasBeenSet; } + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline void SetGoal(const Goal& value) { m_goalHasBeenSet = true; m_goal = value; } + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline void SetGoal(Goal&& value) { m_goalHasBeenSet = true; m_goal = std::move(value); } + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline CreateServiceLevelObjectiveRequest& WithGoal(const Goal& value) { SetGoal(value); return *this;} + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline CreateServiceLevelObjectiveRequest& WithGoal(Goal&& value) { SetGoal(std::move(value)); return *this;} + + + /** + *

A list of key-value pairs to associate with the SLO. You can associate as + * many as 50 tags with an SLO. To be able to associate tags with the SLO when you + * create the SLO, you must have the cloudwatch:TagResource + * permission.

Tags can help you organize and categorize your resources. You + * can also use them to scope user permissions by granting a user permission to + * access or change only resources with certain tag values.

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

A list of key-value pairs to associate with the SLO. You can associate as + * many as 50 tags with an SLO. To be able to associate tags with the SLO when you + * create the SLO, you must have the cloudwatch:TagResource + * permission.

Tags can help you organize and categorize your resources. You + * can also use them to scope user permissions by granting a user permission to + * access or change only resources with certain tag values.

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

A list of key-value pairs to associate with the SLO. You can associate as + * many as 50 tags with an SLO. To be able to associate tags with the SLO when you + * create the SLO, you must have the cloudwatch:TagResource + * permission.

Tags can help you organize and categorize your resources. You + * can also use them to scope user permissions by granting a user permission to + * access or change only resources with certain tag values.

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

A list of key-value pairs to associate with the SLO. You can associate as + * many as 50 tags with an SLO. To be able to associate tags with the SLO when you + * create the SLO, you must have the cloudwatch:TagResource + * permission.

Tags can help you organize and categorize your resources. You + * can also use them to scope user permissions by granting a user permission to + * access or change only resources with certain tag values.

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

A list of key-value pairs to associate with the SLO. You can associate as + * many as 50 tags with an SLO. To be able to associate tags with the SLO when you + * create the SLO, you must have the cloudwatch:TagResource + * permission.

Tags can help you organize and categorize your resources. You + * can also use them to scope user permissions by granting a user permission to + * access or change only resources with certain tag values.

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

A list of key-value pairs to associate with the SLO. You can associate as + * many as 50 tags with an SLO. To be able to associate tags with the SLO when you + * create the SLO, you must have the cloudwatch:TagResource + * permission.

Tags can help you organize and categorize your resources. You + * can also use them to scope user permissions by granting a user permission to + * access or change only resources with certain tag values.

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

A list of key-value pairs to associate with the SLO. You can associate as + * many as 50 tags with an SLO. To be able to associate tags with the SLO when you + * create the SLO, you must have the cloudwatch:TagResource + * permission.

Tags can help you organize and categorize your resources. You + * can also use them to scope user permissions by granting a user permission to + * access or change only resources with certain tag values.

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

A list of key-value pairs to associate with the SLO. You can associate as + * many as 50 tags with an SLO. To be able to associate tags with the SLO when you + * create the SLO, you must have the cloudwatch:TagResource + * permission.

Tags can help you organize and categorize your resources. You + * can also use them to scope user permissions by granting a user permission to + * access or change only resources with certain tag values.

+ */ + inline CreateServiceLevelObjectiveRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ServiceLevelIndicatorConfig m_sliConfig; + bool m_sliConfigHasBeenSet = false; + + Goal m_goal; + bool m_goalHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CreateServiceLevelObjectiveResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CreateServiceLevelObjectiveResult.h new file mode 100644 index 00000000000..7dfa1ffc331 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/CreateServiceLevelObjectiveResult.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class CreateServiceLevelObjectiveResult + { + public: + AWS_APPLICATIONSIGNALS_API CreateServiceLevelObjectiveResult(); + AWS_APPLICATIONSIGNALS_API CreateServiceLevelObjectiveResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API CreateServiceLevelObjectiveResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

A structure that contains information about the SLO that you just + * created.

+ */ + inline const ServiceLevelObjective& GetSlo() const{ return m_slo; } + + /** + *

A structure that contains information about the SLO that you just + * created.

+ */ + inline void SetSlo(const ServiceLevelObjective& value) { m_slo = value; } + + /** + *

A structure that contains information about the SLO that you just + * created.

+ */ + inline void SetSlo(ServiceLevelObjective&& value) { m_slo = std::move(value); } + + /** + *

A structure that contains information about the SLO that you just + * created.

+ */ + inline CreateServiceLevelObjectiveResult& WithSlo(const ServiceLevelObjective& value) { SetSlo(value); return *this;} + + /** + *

A structure that contains information about the SLO that you just + * created.

+ */ + inline CreateServiceLevelObjectiveResult& WithSlo(ServiceLevelObjective&& value) { SetSlo(std::move(value)); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline CreateServiceLevelObjectiveResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline CreateServiceLevelObjectiveResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline CreateServiceLevelObjectiveResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + ServiceLevelObjective m_slo; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DeleteServiceLevelObjectiveRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DeleteServiceLevelObjectiveRequest.h new file mode 100644 index 00000000000..c740320911a --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DeleteServiceLevelObjectiveRequest.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class DeleteServiceLevelObjectiveRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API DeleteServiceLevelObjectiveRequest(); + + // 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 "DeleteServiceLevelObjective"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + + /** + *

The ARN or name of the service level objective to delete.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

The ARN or name of the service level objective to delete.

+ */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

The ARN or name of the service level objective to delete.

+ */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

The ARN or name of the service level objective to delete.

+ */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

The ARN or name of the service level objective to delete.

+ */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

The ARN or name of the service level objective to delete.

+ */ + inline DeleteServiceLevelObjectiveRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

The ARN or name of the service level objective to delete.

+ */ + inline DeleteServiceLevelObjectiveRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

The ARN or name of the service level objective to delete.

+ */ + inline DeleteServiceLevelObjectiveRequest& WithId(const char* value) { SetId(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DeleteServiceLevelObjectiveResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DeleteServiceLevelObjectiveResult.h new file mode 100644 index 00000000000..07bcf31d07f --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DeleteServiceLevelObjectiveResult.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class DeleteServiceLevelObjectiveResult + { + public: + AWS_APPLICATIONSIGNALS_API DeleteServiceLevelObjectiveResult(); + AWS_APPLICATIONSIGNALS_API DeleteServiceLevelObjectiveResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API DeleteServiceLevelObjectiveResult& operator=(const Aws::AmazonWebServiceResult& result); + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline DeleteServiceLevelObjectiveResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline DeleteServiceLevelObjectiveResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline DeleteServiceLevelObjectiveResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Dimension.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Dimension.h new file mode 100644 index 00000000000..1b846298b33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Dimension.h @@ -0,0 +1,178 @@ +/** + * 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 ApplicationSignals +{ +namespace Model +{ + + /** + *

A dimension is a name/value pair that is part of the identity of a metric. + * Because dimensions are part of the unique identifier for a metric, whenever you + * add a unique name/value pair to one of your metrics, you are creating a new + * variation of that metric. For example, many Amazon EC2 metrics publish + * InstanceId as a dimension name, and the actual instance ID as the + * value for that dimension.

You can assign up to 30 dimensions to a + * metric.

See Also:

AWS + * API Reference

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

The name of the dimension. Dimension names must contain only ASCII + * characters, must include at least one non-whitespace character, and cannot start + * with a colon (:). ASCII control characters are not supported as + * part of dimension names.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The name of the dimension. Dimension names must contain only ASCII + * characters, must include at least one non-whitespace character, and cannot start + * with a colon (:). ASCII control characters are not supported as + * part of dimension names.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The name of the dimension. Dimension names must contain only ASCII + * characters, must include at least one non-whitespace character, and cannot start + * with a colon (:). ASCII control characters are not supported as + * part of dimension names.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The name of the dimension. Dimension names must contain only ASCII + * characters, must include at least one non-whitespace character, and cannot start + * with a colon (:). ASCII control characters are not supported as + * part of dimension names.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The name of the dimension. Dimension names must contain only ASCII + * characters, must include at least one non-whitespace character, and cannot start + * with a colon (:). ASCII control characters are not supported as + * part of dimension names.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The name of the dimension. Dimension names must contain only ASCII + * characters, must include at least one non-whitespace character, and cannot start + * with a colon (:). ASCII control characters are not supported as + * part of dimension names.

+ */ + inline Dimension& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The name of the dimension. Dimension names must contain only ASCII + * characters, must include at least one non-whitespace character, and cannot start + * with a colon (:). ASCII control characters are not supported as + * part of dimension names.

+ */ + inline Dimension& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The name of the dimension. Dimension names must contain only ASCII + * characters, must include at least one non-whitespace character, and cannot start + * with a colon (:). ASCII control characters are not supported as + * part of dimension names.

+ */ + inline Dimension& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

The value of the dimension. Dimension values must contain only ASCII + * characters and must include at least one non-whitespace character. ASCII control + * characters are not supported as part of dimension values.

+ */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + *

The value of the dimension. Dimension values must contain only ASCII + * characters and must include at least one non-whitespace character. ASCII control + * characters are not supported as part of dimension values.

+ */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

The value of the dimension. Dimension values must contain only ASCII + * characters and must include at least one non-whitespace character. ASCII control + * characters are not supported as part of dimension values.

+ */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

The value of the dimension. Dimension values must contain only ASCII + * characters and must include at least one non-whitespace character. ASCII control + * characters are not supported as part of dimension values.

+ */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

The value of the dimension. Dimension values must contain only ASCII + * characters and must include at least one non-whitespace character. ASCII control + * characters are not supported as part of dimension values.

+ */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + *

The value of the dimension. Dimension values must contain only ASCII + * characters and must include at least one non-whitespace character. ASCII control + * characters are not supported as part of dimension values.

+ */ + inline Dimension& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + *

The value of the dimension. Dimension values must contain only ASCII + * characters and must include at least one non-whitespace character. ASCII control + * characters are not supported as part of dimension values.

+ */ + inline Dimension& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + *

The value of the dimension. Dimension values must contain only ASCII + * characters and must include at least one non-whitespace character. ASCII control + * characters are not supported as part of dimension values.

+ */ + inline Dimension& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DurationUnit.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DurationUnit.h new file mode 100644 index 00000000000..8a8187d3541 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/DurationUnit.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + enum class DurationUnit + { + NOT_SET, + DAY, + MONTH + }; + +namespace DurationUnitMapper +{ +AWS_APPLICATIONSIGNALS_API DurationUnit GetDurationUnitForName(const Aws::String& name); + +AWS_APPLICATIONSIGNALS_API Aws::String GetNameForDurationUnit(DurationUnit value); +} // namespace DurationUnitMapper +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceLevelObjectiveRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceLevelObjectiveRequest.h new file mode 100644 index 00000000000..00cd82594e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceLevelObjectiveRequest.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class GetServiceLevelObjectiveRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API GetServiceLevelObjectiveRequest(); + + // 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 "GetServiceLevelObjective"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + + /** + *

The ARN or name of the SLO that you want to retrieve information about. You + * can find the ARNs of SLOs by using the ListServiceLevelObjectives + * operation.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

The ARN or name of the SLO that you want to retrieve information about. You + * can find the ARNs of SLOs by using the ListServiceLevelObjectives + * operation.

+ */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

The ARN or name of the SLO that you want to retrieve information about. You + * can find the ARNs of SLOs by using the ListServiceLevelObjectives + * operation.

+ */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

The ARN or name of the SLO that you want to retrieve information about. You + * can find the ARNs of SLOs by using the ListServiceLevelObjectives + * operation.

+ */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

The ARN or name of the SLO that you want to retrieve information about. You + * can find the ARNs of SLOs by using the ListServiceLevelObjectives + * operation.

+ */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

The ARN or name of the SLO that you want to retrieve information about. You + * can find the ARNs of SLOs by using the ListServiceLevelObjectives + * operation.

+ */ + inline GetServiceLevelObjectiveRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

The ARN or name of the SLO that you want to retrieve information about. You + * can find the ARNs of SLOs by using the ListServiceLevelObjectives + * operation.

+ */ + inline GetServiceLevelObjectiveRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

The ARN or name of the SLO that you want to retrieve information about. You + * can find the ARNs of SLOs by using the ListServiceLevelObjectives + * operation.

+ */ + inline GetServiceLevelObjectiveRequest& WithId(const char* value) { SetId(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceLevelObjectiveResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceLevelObjectiveResult.h new file mode 100644 index 00000000000..b2f76e01f2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceLevelObjectiveResult.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class GetServiceLevelObjectiveResult + { + public: + AWS_APPLICATIONSIGNALS_API GetServiceLevelObjectiveResult(); + AWS_APPLICATIONSIGNALS_API GetServiceLevelObjectiveResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API GetServiceLevelObjectiveResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

A structure containing the information about the SLO.

+ */ + inline const ServiceLevelObjective& GetSlo() const{ return m_slo; } + + /** + *

A structure containing the information about the SLO.

+ */ + inline void SetSlo(const ServiceLevelObjective& value) { m_slo = value; } + + /** + *

A structure containing the information about the SLO.

+ */ + inline void SetSlo(ServiceLevelObjective&& value) { m_slo = std::move(value); } + + /** + *

A structure containing the information about the SLO.

+ */ + inline GetServiceLevelObjectiveResult& WithSlo(const ServiceLevelObjective& value) { SetSlo(value); return *this;} + + /** + *

A structure containing the information about the SLO.

+ */ + inline GetServiceLevelObjectiveResult& WithSlo(ServiceLevelObjective&& value) { SetSlo(std::move(value)); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline GetServiceLevelObjectiveResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetServiceLevelObjectiveResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetServiceLevelObjectiveResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + ServiceLevelObjective m_slo; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceRequest.h new file mode 100644 index 00000000000..7f2ad0a1127 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceRequest.h @@ -0,0 +1,403 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class GetServiceRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API GetServiceRequest(); + + // 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 "GetService"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + AWS_APPLICATIONSIGNALS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline GetServiceRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline GetServiceRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline GetServiceRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline GetServiceRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline GetServiceRequest& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + private: + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceResult.h new file mode 100644 index 00000000000..b0f4aa82317 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/GetServiceResult.h @@ -0,0 +1,169 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class GetServiceResult + { + public: + AWS_APPLICATIONSIGNALS_API GetServiceResult(); + AWS_APPLICATIONSIGNALS_API GetServiceResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API GetServiceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

A structure containing information about the service.

+ */ + inline const Service& GetService() const{ return m_service; } + + /** + *

A structure containing information about the service.

+ */ + inline void SetService(const Service& value) { m_service = value; } + + /** + *

A structure containing information about the service.

+ */ + inline void SetService(Service&& value) { m_service = std::move(value); } + + /** + *

A structure containing information about the service.

+ */ + inline GetServiceResult& WithService(const Service& value) { SetService(value); return *this;} + + /** + *

A structure containing information about the service.

+ */ + inline GetServiceResult& WithService(Service&& value) { SetService(std::move(value)); return *this;} + + + /** + *

The start time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } + + /** + *

The start time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } + + /** + *

The start time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline GetServiceResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline GetServiceResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } + + /** + *

The end time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } + + /** + *

The end time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline GetServiceResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end time of the data included in the response. In a raw HTTP Query API, + * it is formatted as be epoch time in seconds. For example: + * 1698778057.

+ */ + inline GetServiceResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline GetServiceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline GetServiceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline GetServiceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Service m_service; + + Aws::Utils::DateTime m_startTime; + + Aws::Utils::DateTime m_endTime; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Goal.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Goal.h new file mode 100644 index 00000000000..4b25d97d2f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Goal.h @@ -0,0 +1,164 @@ +/** + * 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 ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains the attributes that determine the goal of an SLO. + * This includes the time period for evaluation and the attainment + * threshold.

See Also:

AWS + * API Reference

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

The time period used to evaluate the SLO. It can be either a calendar + * interval or rolling interval.

If you omit this parameter, a rolling + * interval of 7 days is used.

+ */ + inline const Interval& GetInterval() const{ return m_interval; } + + /** + *

The time period used to evaluate the SLO. It can be either a calendar + * interval or rolling interval.

If you omit this parameter, a rolling + * interval of 7 days is used.

+ */ + inline bool IntervalHasBeenSet() const { return m_intervalHasBeenSet; } + + /** + *

The time period used to evaluate the SLO. It can be either a calendar + * interval or rolling interval.

If you omit this parameter, a rolling + * interval of 7 days is used.

+ */ + inline void SetInterval(const Interval& value) { m_intervalHasBeenSet = true; m_interval = value; } + + /** + *

The time period used to evaluate the SLO. It can be either a calendar + * interval or rolling interval.

If you omit this parameter, a rolling + * interval of 7 days is used.

+ */ + inline void SetInterval(Interval&& value) { m_intervalHasBeenSet = true; m_interval = std::move(value); } + + /** + *

The time period used to evaluate the SLO. It can be either a calendar + * interval or rolling interval.

If you omit this parameter, a rolling + * interval of 7 days is used.

+ */ + inline Goal& WithInterval(const Interval& value) { SetInterval(value); return *this;} + + /** + *

The time period used to evaluate the SLO. It can be either a calendar + * interval or rolling interval.

If you omit this parameter, a rolling + * interval of 7 days is used.

+ */ + inline Goal& WithInterval(Interval&& value) { SetInterval(std::move(value)); return *this;} + + + /** + *

The threshold that determines if the goal is being met. An attainment + * goal is the ratio of good periods that meet the threshold requirements to + * the total periods within the interval. For example, an attainment goal of 99.9% + * means that within your interval, you are targeting 99.9% of the periods to be in + * healthy state.

If you omit this parameter, 99 is used to represent 99% as + * the attainment goal.

+ */ + inline double GetAttainmentGoal() const{ return m_attainmentGoal; } + + /** + *

The threshold that determines if the goal is being met. An attainment + * goal is the ratio of good periods that meet the threshold requirements to + * the total periods within the interval. For example, an attainment goal of 99.9% + * means that within your interval, you are targeting 99.9% of the periods to be in + * healthy state.

If you omit this parameter, 99 is used to represent 99% as + * the attainment goal.

+ */ + inline bool AttainmentGoalHasBeenSet() const { return m_attainmentGoalHasBeenSet; } + + /** + *

The threshold that determines if the goal is being met. An attainment + * goal is the ratio of good periods that meet the threshold requirements to + * the total periods within the interval. For example, an attainment goal of 99.9% + * means that within your interval, you are targeting 99.9% of the periods to be in + * healthy state.

If you omit this parameter, 99 is used to represent 99% as + * the attainment goal.

+ */ + inline void SetAttainmentGoal(double value) { m_attainmentGoalHasBeenSet = true; m_attainmentGoal = value; } + + /** + *

The threshold that determines if the goal is being met. An attainment + * goal is the ratio of good periods that meet the threshold requirements to + * the total periods within the interval. For example, an attainment goal of 99.9% + * means that within your interval, you are targeting 99.9% of the periods to be in + * healthy state.

If you omit this parameter, 99 is used to represent 99% as + * the attainment goal.

+ */ + inline Goal& WithAttainmentGoal(double value) { SetAttainmentGoal(value); return *this;} + + + /** + *

The percentage of remaining budget over total budget that you want to get + * warnings for. If you omit this parameter, the default of 50.0 is used.

+ */ + inline double GetWarningThreshold() const{ return m_warningThreshold; } + + /** + *

The percentage of remaining budget over total budget that you want to get + * warnings for. If you omit this parameter, the default of 50.0 is used.

+ */ + inline bool WarningThresholdHasBeenSet() const { return m_warningThresholdHasBeenSet; } + + /** + *

The percentage of remaining budget over total budget that you want to get + * warnings for. If you omit this parameter, the default of 50.0 is used.

+ */ + inline void SetWarningThreshold(double value) { m_warningThresholdHasBeenSet = true; m_warningThreshold = value; } + + /** + *

The percentage of remaining budget over total budget that you want to get + * warnings for. If you omit this parameter, the default of 50.0 is used.

+ */ + inline Goal& WithWarningThreshold(double value) { SetWarningThreshold(value); return *this;} + + private: + + Interval m_interval; + bool m_intervalHasBeenSet = false; + + double m_attainmentGoal; + bool m_attainmentGoalHasBeenSet = false; + + double m_warningThreshold; + bool m_warningThresholdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Interval.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Interval.h new file mode 100644 index 00000000000..ea586d4e3ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Interval.h @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

The time period used to evaluate the SLO. It can be either a calendar + * interval or rolling interval.

See Also:

AWS + * API Reference

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

If the interval is a rolling interval, this structure contains the interval + * specifications.

+ */ + inline const RollingInterval& GetRollingInterval() const{ return m_rollingInterval; } + + /** + *

If the interval is a rolling interval, this structure contains the interval + * specifications.

+ */ + inline bool RollingIntervalHasBeenSet() const { return m_rollingIntervalHasBeenSet; } + + /** + *

If the interval is a rolling interval, this structure contains the interval + * specifications.

+ */ + inline void SetRollingInterval(const RollingInterval& value) { m_rollingIntervalHasBeenSet = true; m_rollingInterval = value; } + + /** + *

If the interval is a rolling interval, this structure contains the interval + * specifications.

+ */ + inline void SetRollingInterval(RollingInterval&& value) { m_rollingIntervalHasBeenSet = true; m_rollingInterval = std::move(value); } + + /** + *

If the interval is a rolling interval, this structure contains the interval + * specifications.

+ */ + inline Interval& WithRollingInterval(const RollingInterval& value) { SetRollingInterval(value); return *this;} + + /** + *

If the interval is a rolling interval, this structure contains the interval + * specifications.

+ */ + inline Interval& WithRollingInterval(RollingInterval&& value) { SetRollingInterval(std::move(value)); return *this;} + + + /** + *

If the interval is a calendar interval, this structure contains the interval + * specifications.

+ */ + inline const CalendarInterval& GetCalendarInterval() const{ return m_calendarInterval; } + + /** + *

If the interval is a calendar interval, this structure contains the interval + * specifications.

+ */ + inline bool CalendarIntervalHasBeenSet() const { return m_calendarIntervalHasBeenSet; } + + /** + *

If the interval is a calendar interval, this structure contains the interval + * specifications.

+ */ + inline void SetCalendarInterval(const CalendarInterval& value) { m_calendarIntervalHasBeenSet = true; m_calendarInterval = value; } + + /** + *

If the interval is a calendar interval, this structure contains the interval + * specifications.

+ */ + inline void SetCalendarInterval(CalendarInterval&& value) { m_calendarIntervalHasBeenSet = true; m_calendarInterval = std::move(value); } + + /** + *

If the interval is a calendar interval, this structure contains the interval + * specifications.

+ */ + inline Interval& WithCalendarInterval(const CalendarInterval& value) { SetCalendarInterval(value); return *this;} + + /** + *

If the interval is a calendar interval, this structure contains the interval + * specifications.

+ */ + inline Interval& WithCalendarInterval(CalendarInterval&& value) { SetCalendarInterval(std::move(value)); return *this;} + + private: + + RollingInterval m_rollingInterval; + bool m_rollingIntervalHasBeenSet = false; + + CalendarInterval m_calendarInterval; + bool m_calendarIntervalHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesRequest.h new file mode 100644 index 00000000000..1c048e2ac3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesRequest.h @@ -0,0 +1,483 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class ListServiceDependenciesRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API ListServiceDependenciesRequest(); + + // 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 "ListServiceDependencies"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + AWS_APPLICATIONSIGNALS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceDependenciesRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceDependenciesRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceDependenciesRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceDependenciesRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependenciesRequest& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline ListServiceDependenciesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependencies.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependencies.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependencies.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependencies.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependencies.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependencies.

+ */ + inline ListServiceDependenciesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependencies.

+ */ + inline ListServiceDependenciesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependencies.

+ */ + inline ListServiceDependenciesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesResult.h new file mode 100644 index 00000000000..69fd99dfc6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependenciesResult.h @@ -0,0 +1,232 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class ListServiceDependenciesResult + { + public: + AWS_APPLICATIONSIGNALS_API ListServiceDependenciesResult(); + AWS_APPLICATIONSIGNALS_API ListServiceDependenciesResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API ListServiceDependenciesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceDependenciesResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceDependenciesResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceDependenciesResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceDependenciesResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

An array, where each object in the array contains information about one of + * the dependencies of this service.

+ */ + inline const Aws::Vector& GetServiceDependencies() const{ return m_serviceDependencies; } + + /** + *

An array, where each object in the array contains information about one of + * the dependencies of this service.

+ */ + inline void SetServiceDependencies(const Aws::Vector& value) { m_serviceDependencies = value; } + + /** + *

An array, where each object in the array contains information about one of + * the dependencies of this service.

+ */ + inline void SetServiceDependencies(Aws::Vector&& value) { m_serviceDependencies = std::move(value); } + + /** + *

An array, where each object in the array contains information about one of + * the dependencies of this service.

+ */ + inline ListServiceDependenciesResult& WithServiceDependencies(const Aws::Vector& value) { SetServiceDependencies(value); return *this;} + + /** + *

An array, where each object in the array contains information about one of + * the dependencies of this service.

+ */ + inline ListServiceDependenciesResult& WithServiceDependencies(Aws::Vector&& value) { SetServiceDependencies(std::move(value)); return *this;} + + /** + *

An array, where each object in the array contains information about one of + * the dependencies of this service.

+ */ + inline ListServiceDependenciesResult& AddServiceDependencies(const ServiceDependency& value) { m_serviceDependencies.push_back(value); return *this; } + + /** + *

An array, where each object in the array contains information about one of + * the dependencies of this service.

+ */ + inline ListServiceDependenciesResult& AddServiceDependencies(ServiceDependency&& value) { m_serviceDependencies.push_back(std::move(value)); return *this; } + + + /** + *

Include this value in your next use of this API to get next set of service + * dependencies.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value in your next use of this API to get next set of service + * dependencies.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

Include this value in your next use of this API to get next set of service + * dependencies.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

Include this value in your next use of this API to get next set of service + * dependencies.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

Include this value in your next use of this API to get next set of service + * dependencies.

+ */ + inline ListServiceDependenciesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value in your next use of this API to get next set of service + * dependencies.

+ */ + inline ListServiceDependenciesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value in your next use of this API to get next set of service + * dependencies.

+ */ + inline ListServiceDependenciesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline ListServiceDependenciesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListServiceDependenciesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListServiceDependenciesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + + Aws::Utils::DateTime m_endTime; + + Aws::Vector m_serviceDependencies; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsRequest.h new file mode 100644 index 00000000000..867ca273491 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsRequest.h @@ -0,0 +1,483 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class ListServiceDependentsRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API ListServiceDependentsRequest(); + + // 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 "ListServiceDependents"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + AWS_APPLICATIONSIGNALS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceDependentsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceDependentsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceDependentsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceDependentsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceDependentsRequest& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline ListServiceDependentsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependents.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependents.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependents.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependents.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependents.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependents.

+ */ + inline ListServiceDependentsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependents.

+ */ + inline ListServiceDependentsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service dependents.

+ */ + inline ListServiceDependentsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsResult.h new file mode 100644 index 00000000000..a0604495998 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceDependentsResult.h @@ -0,0 +1,232 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class ListServiceDependentsResult + { + public: + AWS_APPLICATIONSIGNALS_API ListServiceDependentsResult(); + AWS_APPLICATIONSIGNALS_API ListServiceDependentsResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API ListServiceDependentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceDependentsResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceDependentsResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceDependentsResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceDependentsResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

An array, where each object in the array contains information about one of + * the dependents of this service.

+ */ + inline const Aws::Vector& GetServiceDependents() const{ return m_serviceDependents; } + + /** + *

An array, where each object in the array contains information about one of + * the dependents of this service.

+ */ + inline void SetServiceDependents(const Aws::Vector& value) { m_serviceDependents = value; } + + /** + *

An array, where each object in the array contains information about one of + * the dependents of this service.

+ */ + inline void SetServiceDependents(Aws::Vector&& value) { m_serviceDependents = std::move(value); } + + /** + *

An array, where each object in the array contains information about one of + * the dependents of this service.

+ */ + inline ListServiceDependentsResult& WithServiceDependents(const Aws::Vector& value) { SetServiceDependents(value); return *this;} + + /** + *

An array, where each object in the array contains information about one of + * the dependents of this service.

+ */ + inline ListServiceDependentsResult& WithServiceDependents(Aws::Vector&& value) { SetServiceDependents(std::move(value)); return *this;} + + /** + *

An array, where each object in the array contains information about one of + * the dependents of this service.

+ */ + inline ListServiceDependentsResult& AddServiceDependents(const ServiceDependent& value) { m_serviceDependents.push_back(value); return *this; } + + /** + *

An array, where each object in the array contains information about one of + * the dependents of this service.

+ */ + inline ListServiceDependentsResult& AddServiceDependents(ServiceDependent&& value) { m_serviceDependents.push_back(std::move(value)); return *this; } + + + /** + *

Include this value in your next use of this API to get next set of service + * dependents.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value in your next use of this API to get next set of service + * dependents.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

Include this value in your next use of this API to get next set of service + * dependents.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

Include this value in your next use of this API to get next set of service + * dependents.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

Include this value in your next use of this API to get next set of service + * dependents.

+ */ + inline ListServiceDependentsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value in your next use of this API to get next set of service + * dependents.

+ */ + inline ListServiceDependentsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value in your next use of this API to get next set of service + * dependents.

+ */ + inline ListServiceDependentsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline ListServiceDependentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListServiceDependentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListServiceDependentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + + Aws::Utils::DateTime m_endTime; + + Aws::Vector m_serviceDependents; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceLevelObjectivesRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceLevelObjectivesRequest.h new file mode 100644 index 00000000000..d38dd877f24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceLevelObjectivesRequest.h @@ -0,0 +1,421 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class ListServiceLevelObjectivesRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API ListServiceLevelObjectivesRequest(); + + // 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 "ListServiceLevelObjectives"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + AWS_APPLICATIONSIGNALS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

You can use this optional field to specify which services you want to + * retrieve SLO information for.

This is a string-to-string map. It can + * include the following fields.

  • Type designates the + * type of object this is.

  • ResourceType specifies + * the type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceLevelObjectivesRequest& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

The name of the operation that this SLO is associated with.

+ */ + inline const Aws::String& GetOperationName() const{ return m_operationName; } + + /** + *

The name of the operation that this SLO is associated with.

+ */ + inline bool OperationNameHasBeenSet() const { return m_operationNameHasBeenSet; } + + /** + *

The name of the operation that this SLO is associated with.

+ */ + inline void SetOperationName(const Aws::String& value) { m_operationNameHasBeenSet = true; m_operationName = value; } + + /** + *

The name of the operation that this SLO is associated with.

+ */ + inline void SetOperationName(Aws::String&& value) { m_operationNameHasBeenSet = true; m_operationName = std::move(value); } + + /** + *

The name of the operation that this SLO is associated with.

+ */ + inline void SetOperationName(const char* value) { m_operationNameHasBeenSet = true; m_operationName.assign(value); } + + /** + *

The name of the operation that this SLO is associated with.

+ */ + inline ListServiceLevelObjectivesRequest& WithOperationName(const Aws::String& value) { SetOperationName(value); return *this;} + + /** + *

The name of the operation that this SLO is associated with.

+ */ + inline ListServiceLevelObjectivesRequest& WithOperationName(Aws::String&& value) { SetOperationName(std::move(value)); return *this;} + + /** + *

The name of the operation that this SLO is associated with.

+ */ + inline ListServiceLevelObjectivesRequest& WithOperationName(const char* value) { SetOperationName(value); return *this;} + + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline ListServiceLevelObjectivesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service level objectives.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service level objectives.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service level objectives.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service level objectives.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service level objectives.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service level objectives.

+ */ + inline ListServiceLevelObjectivesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service level objectives.

+ */ + inline ListServiceLevelObjectivesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service level objectives.

+ */ + inline ListServiceLevelObjectivesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + Aws::String m_operationName; + bool m_operationNameHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceLevelObjectivesResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceLevelObjectivesResult.h new file mode 100644 index 00000000000..c1652685742 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceLevelObjectivesResult.h @@ -0,0 +1,155 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class ListServiceLevelObjectivesResult + { + public: + AWS_APPLICATIONSIGNALS_API ListServiceLevelObjectivesResult(); + AWS_APPLICATIONSIGNALS_API ListServiceLevelObjectivesResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API ListServiceLevelObjectivesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

An array of structures, where each structure contains information about one + * SLO.

+ */ + inline const Aws::Vector& GetSloSummaries() const{ return m_sloSummaries; } + + /** + *

An array of structures, where each structure contains information about one + * SLO.

+ */ + inline void SetSloSummaries(const Aws::Vector& value) { m_sloSummaries = value; } + + /** + *

An array of structures, where each structure contains information about one + * SLO.

+ */ + inline void SetSloSummaries(Aws::Vector&& value) { m_sloSummaries = std::move(value); } + + /** + *

An array of structures, where each structure contains information about one + * SLO.

+ */ + inline ListServiceLevelObjectivesResult& WithSloSummaries(const Aws::Vector& value) { SetSloSummaries(value); return *this;} + + /** + *

An array of structures, where each structure contains information about one + * SLO.

+ */ + inline ListServiceLevelObjectivesResult& WithSloSummaries(Aws::Vector&& value) { SetSloSummaries(std::move(value)); return *this;} + + /** + *

An array of structures, where each structure contains information about one + * SLO.

+ */ + inline ListServiceLevelObjectivesResult& AddSloSummaries(const ServiceLevelObjectiveSummary& value) { m_sloSummaries.push_back(value); return *this; } + + /** + *

An array of structures, where each structure contains information about one + * SLO.

+ */ + inline ListServiceLevelObjectivesResult& AddSloSummaries(ServiceLevelObjectiveSummary&& value) { m_sloSummaries.push_back(std::move(value)); return *this; } + + + /** + *

Include this value in your next use of this API to get next set of service + * level objectives.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value in your next use of this API to get next set of service + * level objectives.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

Include this value in your next use of this API to get next set of service + * level objectives.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

Include this value in your next use of this API to get next set of service + * level objectives.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

Include this value in your next use of this API to get next set of service + * level objectives.

+ */ + inline ListServiceLevelObjectivesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value in your next use of this API to get next set of service + * level objectives.

+ */ + inline ListServiceLevelObjectivesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value in your next use of this API to get next set of service + * level objectives.

+ */ + inline ListServiceLevelObjectivesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline ListServiceLevelObjectivesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListServiceLevelObjectivesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListServiceLevelObjectivesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_sloSummaries; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsRequest.h new file mode 100644 index 00000000000..dd357f4785f --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsRequest.h @@ -0,0 +1,483 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class ListServiceOperationsRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API ListServiceOperationsRequest(); + + // 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 "ListServiceOperations"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + AWS_APPLICATIONSIGNALS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceOperationsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceOperationsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceOperationsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServiceOperationsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

Use this field to specify which service you want to retrieve information for. + * You must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ListServiceOperationsRequest& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline ListServiceOperationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

+ */ + inline ListServiceOperationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

+ */ + inline ListServiceOperationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of service operations.

+ */ + inline ListServiceOperationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsResult.h new file mode 100644 index 00000000000..1fbf1dc579b --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServiceOperationsResult.h @@ -0,0 +1,232 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class ListServiceOperationsResult + { + public: + AWS_APPLICATIONSIGNALS_API ListServiceOperationsResult(); + AWS_APPLICATIONSIGNALS_API ListServiceOperationsResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API ListServiceOperationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceOperationsResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceOperationsResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceOperationsResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServiceOperationsResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

An array of structures that each contain information about one operation of + * this service.

+ */ + inline const Aws::Vector& GetServiceOperations() const{ return m_serviceOperations; } + + /** + *

An array of structures that each contain information about one operation of + * this service.

+ */ + inline void SetServiceOperations(const Aws::Vector& value) { m_serviceOperations = value; } + + /** + *

An array of structures that each contain information about one operation of + * this service.

+ */ + inline void SetServiceOperations(Aws::Vector&& value) { m_serviceOperations = std::move(value); } + + /** + *

An array of structures that each contain information about one operation of + * this service.

+ */ + inline ListServiceOperationsResult& WithServiceOperations(const Aws::Vector& value) { SetServiceOperations(value); return *this;} + + /** + *

An array of structures that each contain information about one operation of + * this service.

+ */ + inline ListServiceOperationsResult& WithServiceOperations(Aws::Vector&& value) { SetServiceOperations(std::move(value)); return *this;} + + /** + *

An array of structures that each contain information about one operation of + * this service.

+ */ + inline ListServiceOperationsResult& AddServiceOperations(const ServiceOperation& value) { m_serviceOperations.push_back(value); return *this; } + + /** + *

An array of structures that each contain information about one operation of + * this service.

+ */ + inline ListServiceOperationsResult& AddServiceOperations(ServiceOperation&& value) { m_serviceOperations.push_back(std::move(value)); return *this; } + + + /** + *

Include this value in your next use of this API to get next set of service + * operations.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value in your next use of this API to get next set of service + * operations.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

Include this value in your next use of this API to get next set of service + * operations.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

Include this value in your next use of this API to get next set of service + * operations.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

Include this value in your next use of this API to get next set of service + * operations.

+ */ + inline ListServiceOperationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value in your next use of this API to get next set of service + * operations.

+ */ + inline ListServiceOperationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value in your next use of this API to get next set of service + * operations.

+ */ + inline ListServiceOperationsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline ListServiceOperationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListServiceOperationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListServiceOperationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + + Aws::Utils::DateTime m_endTime; + + Aws::Vector m_serviceOperations; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesRequest.h new file mode 100644 index 00000000000..c7c469bab51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesRequest.h @@ -0,0 +1,218 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class ListServicesRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API ListServicesRequest(); + + // 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 "ListServices"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + AWS_APPLICATIONSIGNALS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServicesRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period to retrieve information about. When used in a + * raw HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServicesRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServicesRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period to retrieve information about. When used in a raw + * HTTP Query API, it is formatted as be epoch time in seconds. For example: + * 1698778057

+ */ + inline ListServicesRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + + /** + *

The maximum number of results to return in one operation. If you omit this + * parameter, the default of 50 is used.

+ */ + inline ListServicesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of services.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of services.

+ */ + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of services.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of services.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of services.

+ */ + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of services.

+ */ + inline ListServicesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of services.

+ */ + inline ListServicesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value, if it was returned by the previous operation, to get the + * next set of services.

+ */ + inline ListServicesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + bool m_startTimeHasBeenSet = false; + + Aws::Utils::DateTime m_endTime; + bool m_endTimeHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesResult.h new file mode 100644 index 00000000000..c6283c784de --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListServicesResult.h @@ -0,0 +1,239 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class ListServicesResult + { + public: + AWS_APPLICATIONSIGNALS_API ListServicesResult(); + AWS_APPLICATIONSIGNALS_API ListServicesResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API ListServicesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServicesResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} + + /** + *

The start of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServicesResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} + + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTime = value; } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTime = std::move(value); } + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServicesResult& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} + + /** + *

The end of the time period that the returned information applies to. When + * used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For + * example: 1698778057

+ */ + inline ListServicesResult& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} + + + /** + *

An array of structures, where each structure contains some information about + * a service. To get complete information about a service, use GetService.

+ */ + inline const Aws::Vector& GetServiceSummaries() const{ return m_serviceSummaries; } + + /** + *

An array of structures, where each structure contains some information about + * a service. To get complete information about a service, use GetService.

+ */ + inline void SetServiceSummaries(const Aws::Vector& value) { m_serviceSummaries = value; } + + /** + *

An array of structures, where each structure contains some information about + * a service. To get complete information about a service, use GetService.

+ */ + inline void SetServiceSummaries(Aws::Vector&& value) { m_serviceSummaries = std::move(value); } + + /** + *

An array of structures, where each structure contains some information about + * a service. To get complete information about a service, use GetService.

+ */ + inline ListServicesResult& WithServiceSummaries(const Aws::Vector& value) { SetServiceSummaries(value); return *this;} + + /** + *

An array of structures, where each structure contains some information about + * a service. To get complete information about a service, use GetService.

+ */ + inline ListServicesResult& WithServiceSummaries(Aws::Vector&& value) { SetServiceSummaries(std::move(value)); return *this;} + + /** + *

An array of structures, where each structure contains some information about + * a service. To get complete information about a service, use GetService.

+ */ + inline ListServicesResult& AddServiceSummaries(const ServiceSummary& value) { m_serviceSummaries.push_back(value); return *this; } + + /** + *

An array of structures, where each structure contains some information about + * a service. To get complete information about a service, use GetService.

+ */ + inline ListServicesResult& AddServiceSummaries(ServiceSummary&& value) { m_serviceSummaries.push_back(std::move(value)); return *this; } + + + /** + *

Include this value in your next use of this API to get next set of + * services.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + + /** + *

Include this value in your next use of this API to get next set of + * services.

+ */ + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + + /** + *

Include this value in your next use of this API to get next set of + * services.

+ */ + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + + /** + *

Include this value in your next use of this API to get next set of + * services.

+ */ + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + + /** + *

Include this value in your next use of this API to get next set of + * services.

+ */ + inline ListServicesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + + /** + *

Include this value in your next use of this API to get next set of + * services.

+ */ + inline ListServicesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + + /** + *

Include this value in your next use of this API to get next set of + * services.

+ */ + inline ListServicesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline ListServicesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListServicesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListServicesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Utils::DateTime m_startTime; + + Aws::Utils::DateTime m_endTime; + + Aws::Vector m_serviceSummaries; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListTagsForResourceRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListTagsForResourceRequest.h new file mode 100644 index 00000000000..4e59fe24256 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListTagsForResourceRequest.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class ListTagsForResourceRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API ListTagsForResourceRequest(); + + // 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 "ListTagsForResource"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + AWS_APPLICATIONSIGNALS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * view tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * view tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * view tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * view tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * view tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * view tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * view tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * view tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListTagsForResourceResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListTagsForResourceResult.h new file mode 100644 index 00000000000..143a1f84942 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ListTagsForResourceResult.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class ListTagsForResourceResult + { + public: + AWS_APPLICATIONSIGNALS_API ListTagsForResourceResult(); + AWS_APPLICATIONSIGNALS_API ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

The list of tag keys and values associated with the resource you + * specified.

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

The list of tag keys and values associated with the resource you + * specified.

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

The list of tag keys and values associated with the resource you + * specified.

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

The list of tag keys and values associated with the resource you + * specified.

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

The list of tag keys and values associated with the resource you + * specified.

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

The list of tag keys and values associated with the resource you + * specified.

+ */ + inline ListTagsForResourceResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } + + /** + *

The list of tag keys and values associated with the resource you + * specified.

+ */ + inline ListTagsForResourceResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline ListTagsForResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline ListTagsForResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::Vector m_tags; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Metric.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Metric.h new file mode 100644 index 00000000000..d12ac983541 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Metric.h @@ -0,0 +1,204 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure defines the metric used for a service level indicator, + * including the metric name, namespace, and dimensions

See Also:

+ * AWS + * API Reference

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

The namespace of the metric. For more information, see Namespaces.

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

The namespace of the metric. For more information, see Namespaces.

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

The namespace of the metric. For more information, see Namespaces.

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

The namespace of the metric. For more information, see Namespaces.

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

The namespace of the metric. For more information, see Namespaces.

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

The namespace of the metric. For more information, see Namespaces.

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

The namespace of the metric. For more information, see Namespaces.

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

The namespace of the metric. For more information, see Namespaces.

+ */ + inline Metric& WithNamespace(const char* value) { SetNamespace(value); return *this;} + + + /** + *

The name of the metric to use.

+ */ + inline const Aws::String& GetMetricName() const{ return m_metricName; } + + /** + *

The name of the metric to use.

+ */ + inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } + + /** + *

The name of the metric to use.

+ */ + inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; } + + /** + *

The name of the metric to use.

+ */ + inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } + + /** + *

The name of the metric to use.

+ */ + inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); } + + /** + *

The name of the metric to use.

+ */ + inline Metric& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;} + + /** + *

The name of the metric to use.

+ */ + inline Metric& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;} + + /** + *

The name of the metric to use.

+ */ + inline Metric& WithMetricName(const char* value) { SetMetricName(value); return *this;} + + + /** + *

An array of one or more dimensions to use to define the metric that you want + * to use. For more information, see Dimensions.

+ */ + inline const Aws::Vector& GetDimensions() const{ return m_dimensions; } + + /** + *

An array of one or more dimensions to use to define the metric that you want + * to use. For more information, see Dimensions.

+ */ + inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } + + /** + *

An array of one or more dimensions to use to define the metric that you want + * to use. For more information, see Dimensions.

+ */ + inline void SetDimensions(const Aws::Vector& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } + + /** + *

An array of one or more dimensions to use to define the metric that you want + * to use. For more information, see Dimensions.

+ */ + inline void SetDimensions(Aws::Vector&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } + + /** + *

An array of one or more dimensions to use to define the metric that you want + * to use. For more information, see Dimensions.

+ */ + inline Metric& WithDimensions(const Aws::Vector& value) { SetDimensions(value); return *this;} + + /** + *

An array of one or more dimensions to use to define the metric that you want + * to use. For more information, see Dimensions.

+ */ + inline Metric& WithDimensions(Aws::Vector&& value) { SetDimensions(std::move(value)); return *this;} + + /** + *

An array of one or more dimensions to use to define the metric that you want + * to use. For more information, see Dimensions.

+ */ + inline Metric& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; } + + /** + *

An array of one or more dimensions to use to define the metric that you want + * to use. For more information, see Dimensions.

+ */ + inline Metric& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_namespace; + bool m_namespaceHasBeenSet = false; + + Aws::String m_metricName; + bool m_metricNameHasBeenSet = false; + + Aws::Vector m_dimensions; + bool m_dimensionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricDataQuery.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricDataQuery.h new file mode 100644 index 00000000000..7f4d631e14c --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricDataQuery.h @@ -0,0 +1,585 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

Use this structure to define a metric or metric math expression that you want + * to use as for a service level objective.

Each + * MetricDataQuery in the MetricDataQueries array + * specifies either a metric to retrieve, or a metric math expression to be + * performed on retrieved metrics. A single MetricDataQueries array + * can include as many as 20 MetricDataQuery structures in the array. + * The 20 structures can include as many as 10 structures that contain a + * MetricStat parameter to retrieve a metric, and as many as 10 + * structures that contain the Expression parameter to perform a math + * expression. Of those Expression structures, exactly one must have + * true as the value for ReturnData. The result of this expression + * used for the SLO.

For more information about metric math expressions, see + * CloudWatchUse + * metric math.

Within each MetricDataQuery object, you + * must specify either Expression or MetricStat but not + * both.

See Also:

AWS + * API Reference

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

A short name used to tie this object to the results in the response. This + * Id must be unique within a MetricDataQueries array. If + * you are performing math expressions on this set of data, this name represents + * that data and can serve as a variable in the metric math expression. The valid + * characters are letters, numbers, and underscore. The first character must be a + * lowercase letter.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

A short name used to tie this object to the results in the response. This + * Id must be unique within a MetricDataQueries array. If + * you are performing math expressions on this set of data, this name represents + * that data and can serve as a variable in the metric math expression. The valid + * characters are letters, numbers, and underscore. The first character must be a + * lowercase letter.

+ */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

A short name used to tie this object to the results in the response. This + * Id must be unique within a MetricDataQueries array. If + * you are performing math expressions on this set of data, this name represents + * that data and can serve as a variable in the metric math expression. The valid + * characters are letters, numbers, and underscore. The first character must be a + * lowercase letter.

+ */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

A short name used to tie this object to the results in the response. This + * Id must be unique within a MetricDataQueries array. If + * you are performing math expressions on this set of data, this name represents + * that data and can serve as a variable in the metric math expression. The valid + * characters are letters, numbers, and underscore. The first character must be a + * lowercase letter.

+ */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

A short name used to tie this object to the results in the response. This + * Id must be unique within a MetricDataQueries array. If + * you are performing math expressions on this set of data, this name represents + * that data and can serve as a variable in the metric math expression. The valid + * characters are letters, numbers, and underscore. The first character must be a + * lowercase letter.

+ */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

A short name used to tie this object to the results in the response. This + * Id must be unique within a MetricDataQueries array. If + * you are performing math expressions on this set of data, this name represents + * that data and can serve as a variable in the metric math expression. The valid + * characters are letters, numbers, and underscore. The first character must be a + * lowercase letter.

+ */ + inline MetricDataQuery& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

A short name used to tie this object to the results in the response. This + * Id must be unique within a MetricDataQueries array. If + * you are performing math expressions on this set of data, this name represents + * that data and can serve as a variable in the metric math expression. The valid + * characters are letters, numbers, and underscore. The first character must be a + * lowercase letter.

+ */ + inline MetricDataQuery& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

A short name used to tie this object to the results in the response. This + * Id must be unique within a MetricDataQueries array. If + * you are performing math expressions on this set of data, this name represents + * that data and can serve as a variable in the metric math expression. The valid + * characters are letters, numbers, and underscore. The first character must be a + * lowercase letter.

+ */ + inline MetricDataQuery& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

A metric to be used directly for the SLO, or to be used in the math + * expression that will be used for the SLO.

Within one + * MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline const MetricStat& GetMetricStat() const{ return m_metricStat; } + + /** + *

A metric to be used directly for the SLO, or to be used in the math + * expression that will be used for the SLO.

Within one + * MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline bool MetricStatHasBeenSet() const { return m_metricStatHasBeenSet; } + + /** + *

A metric to be used directly for the SLO, or to be used in the math + * expression that will be used for the SLO.

Within one + * MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline void SetMetricStat(const MetricStat& value) { m_metricStatHasBeenSet = true; m_metricStat = value; } + + /** + *

A metric to be used directly for the SLO, or to be used in the math + * expression that will be used for the SLO.

Within one + * MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline void SetMetricStat(MetricStat&& value) { m_metricStatHasBeenSet = true; m_metricStat = std::move(value); } + + /** + *

A metric to be used directly for the SLO, or to be used in the math + * expression that will be used for the SLO.

Within one + * MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline MetricDataQuery& WithMetricStat(const MetricStat& value) { SetMetricStat(value); return *this;} + + /** + *

A metric to be used directly for the SLO, or to be used in the math + * expression that will be used for the SLO.

Within one + * MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline MetricDataQuery& WithMetricStat(MetricStat&& value) { SetMetricStat(std::move(value)); return *this;} + + + /** + *

This field can contain a metric math expression to be performed on the other + * metrics that you are retrieving within this MetricDataQueries + * structure.

A math expression can use the Id of the other + * metrics or queries to refer to those metrics, and can also use the + * Id of other expressions to use the result of those expressions. For + * more information about metric math expressions, see Metric + * Math Syntax and Functions in the Amazon CloudWatch User Guide.

+ *

Within each MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline const Aws::String& GetExpression() const{ return m_expression; } + + /** + *

This field can contain a metric math expression to be performed on the other + * metrics that you are retrieving within this MetricDataQueries + * structure.

A math expression can use the Id of the other + * metrics or queries to refer to those metrics, and can also use the + * Id of other expressions to use the result of those expressions. For + * more information about metric math expressions, see Metric + * Math Syntax and Functions in the Amazon CloudWatch User Guide.

+ *

Within each MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; } + + /** + *

This field can contain a metric math expression to be performed on the other + * metrics that you are retrieving within this MetricDataQueries + * structure.

A math expression can use the Id of the other + * metrics or queries to refer to those metrics, and can also use the + * Id of other expressions to use the result of those expressions. For + * more information about metric math expressions, see Metric + * Math Syntax and Functions in the Amazon CloudWatch User Guide.

+ *

Within each MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline void SetExpression(const Aws::String& value) { m_expressionHasBeenSet = true; m_expression = value; } + + /** + *

This field can contain a metric math expression to be performed on the other + * metrics that you are retrieving within this MetricDataQueries + * structure.

A math expression can use the Id of the other + * metrics or queries to refer to those metrics, and can also use the + * Id of other expressions to use the result of those expressions. For + * more information about metric math expressions, see Metric + * Math Syntax and Functions in the Amazon CloudWatch User Guide.

+ *

Within each MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline void SetExpression(Aws::String&& value) { m_expressionHasBeenSet = true; m_expression = std::move(value); } + + /** + *

This field can contain a metric math expression to be performed on the other + * metrics that you are retrieving within this MetricDataQueries + * structure.

A math expression can use the Id of the other + * metrics or queries to refer to those metrics, and can also use the + * Id of other expressions to use the result of those expressions. For + * more information about metric math expressions, see Metric + * Math Syntax and Functions in the Amazon CloudWatch User Guide.

+ *

Within each MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline void SetExpression(const char* value) { m_expressionHasBeenSet = true; m_expression.assign(value); } + + /** + *

This field can contain a metric math expression to be performed on the other + * metrics that you are retrieving within this MetricDataQueries + * structure.

A math expression can use the Id of the other + * metrics or queries to refer to those metrics, and can also use the + * Id of other expressions to use the result of those expressions. For + * more information about metric math expressions, see Metric + * Math Syntax and Functions in the Amazon CloudWatch User Guide.

+ *

Within each MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline MetricDataQuery& WithExpression(const Aws::String& value) { SetExpression(value); return *this;} + + /** + *

This field can contain a metric math expression to be performed on the other + * metrics that you are retrieving within this MetricDataQueries + * structure.

A math expression can use the Id of the other + * metrics or queries to refer to those metrics, and can also use the + * Id of other expressions to use the result of those expressions. For + * more information about metric math expressions, see Metric + * Math Syntax and Functions in the Amazon CloudWatch User Guide.

+ *

Within each MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline MetricDataQuery& WithExpression(Aws::String&& value) { SetExpression(std::move(value)); return *this;} + + /** + *

This field can contain a metric math expression to be performed on the other + * metrics that you are retrieving within this MetricDataQueries + * structure.

A math expression can use the Id of the other + * metrics or queries to refer to those metrics, and can also use the + * Id of other expressions to use the result of those expressions. For + * more information about metric math expressions, see Metric + * Math Syntax and Functions in the Amazon CloudWatch User Guide.

+ *

Within each MetricDataQuery object, you must specify either + * Expression or MetricStat but not both.

+ */ + inline MetricDataQuery& WithExpression(const char* value) { SetExpression(value); return *this;} + + + /** + *

A human-readable label for this metric or expression. This is especially + * useful if this is an expression, so that you know what the value represents. If + * the metric or expression is shown in a CloudWatch dashboard widget, the label is + * shown. If Label is omitted, CloudWatch generates a default.

+ *

You can put dynamic expressions into a label, so that it is more descriptive. + * For more information, see Using + * Dynamic Labels.

+ */ + inline const Aws::String& GetLabel() const{ return m_label; } + + /** + *

A human-readable label for this metric or expression. This is especially + * useful if this is an expression, so that you know what the value represents. If + * the metric or expression is shown in a CloudWatch dashboard widget, the label is + * shown. If Label is omitted, CloudWatch generates a default.

+ *

You can put dynamic expressions into a label, so that it is more descriptive. + * For more information, see Using + * Dynamic Labels.

+ */ + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + + /** + *

A human-readable label for this metric or expression. This is especially + * useful if this is an expression, so that you know what the value represents. If + * the metric or expression is shown in a CloudWatch dashboard widget, the label is + * shown. If Label is omitted, CloudWatch generates a default.

+ *

You can put dynamic expressions into a label, so that it is more descriptive. + * For more information, see Using + * Dynamic Labels.

+ */ + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + + /** + *

A human-readable label for this metric or expression. This is especially + * useful if this is an expression, so that you know what the value represents. If + * the metric or expression is shown in a CloudWatch dashboard widget, the label is + * shown. If Label is omitted, CloudWatch generates a default.

+ *

You can put dynamic expressions into a label, so that it is more descriptive. + * For more information, see Using + * Dynamic Labels.

+ */ + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + + /** + *

A human-readable label for this metric or expression. This is especially + * useful if this is an expression, so that you know what the value represents. If + * the metric or expression is shown in a CloudWatch dashboard widget, the label is + * shown. If Label is omitted, CloudWatch generates a default.

+ *

You can put dynamic expressions into a label, so that it is more descriptive. + * For more information, see Using + * Dynamic Labels.

+ */ + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + + /** + *

A human-readable label for this metric or expression. This is especially + * useful if this is an expression, so that you know what the value represents. If + * the metric or expression is shown in a CloudWatch dashboard widget, the label is + * shown. If Label is omitted, CloudWatch generates a default.

+ *

You can put dynamic expressions into a label, so that it is more descriptive. + * For more information, see Using + * Dynamic Labels.

+ */ + inline MetricDataQuery& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + + /** + *

A human-readable label for this metric or expression. This is especially + * useful if this is an expression, so that you know what the value represents. If + * the metric or expression is shown in a CloudWatch dashboard widget, the label is + * shown. If Label is omitted, CloudWatch generates a default.

+ *

You can put dynamic expressions into a label, so that it is more descriptive. + * For more information, see Using + * Dynamic Labels.

+ */ + inline MetricDataQuery& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + + /** + *

A human-readable label for this metric or expression. This is especially + * useful if this is an expression, so that you know what the value represents. If + * the metric or expression is shown in a CloudWatch dashboard widget, the label is + * shown. If Label is omitted, CloudWatch generates a default.

+ *

You can put dynamic expressions into a label, so that it is more descriptive. + * For more information, see Using + * Dynamic Labels.

+ */ + inline MetricDataQuery& WithLabel(const char* value) { SetLabel(value); return *this;} + + + /** + *

Use this only if you are using a metric math expression for the SLO. Specify + * true for ReturnData for only the one expression result + * to use as the alarm. For all other metrics and expressions in the same + * CreateServiceLevelObjective operation, specify + * ReturnData as false.

+ */ + inline bool GetReturnData() const{ return m_returnData; } + + /** + *

Use this only if you are using a metric math expression for the SLO. Specify + * true for ReturnData for only the one expression result + * to use as the alarm. For all other metrics and expressions in the same + * CreateServiceLevelObjective operation, specify + * ReturnData as false.

+ */ + inline bool ReturnDataHasBeenSet() const { return m_returnDataHasBeenSet; } + + /** + *

Use this only if you are using a metric math expression for the SLO. Specify + * true for ReturnData for only the one expression result + * to use as the alarm. For all other metrics and expressions in the same + * CreateServiceLevelObjective operation, specify + * ReturnData as false.

+ */ + inline void SetReturnData(bool value) { m_returnDataHasBeenSet = true; m_returnData = value; } + + /** + *

Use this only if you are using a metric math expression for the SLO. Specify + * true for ReturnData for only the one expression result + * to use as the alarm. For all other metrics and expressions in the same + * CreateServiceLevelObjective operation, specify + * ReturnData as false.

+ */ + inline MetricDataQuery& WithReturnData(bool value) { SetReturnData(value); return *this;} + + + /** + *

The granularity, in seconds, of the returned data points for this metric. For + * metrics with regular resolution, a period can be as short as one minute (60 + * seconds) and must be a multiple of 60. For high-resolution metrics that are + * collected at intervals of less than one minute, the period can be 1, 5, 10, 30, + * 60, or any multiple of 60. High-resolution metrics are those metrics stored by a + * PutMetricData call that includes a StorageResolution + * of 1 second.

If the StartTime parameter specifies a time + * stamp that is greater than 3 hours ago, you must specify the period as follows + * or no data points in that time range is returned:

  • Start time + * between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

    + *
  • Start time between 15 and 63 days ago - Use a multiple of 300 + * seconds (5 minutes).

  • Start time greater than 63 days ago - Use + * a multiple of 3600 seconds (1 hour).

+ */ + inline int GetPeriod() const{ return m_period; } + + /** + *

The granularity, in seconds, of the returned data points for this metric. For + * metrics with regular resolution, a period can be as short as one minute (60 + * seconds) and must be a multiple of 60. For high-resolution metrics that are + * collected at intervals of less than one minute, the period can be 1, 5, 10, 30, + * 60, or any multiple of 60. High-resolution metrics are those metrics stored by a + * PutMetricData call that includes a StorageResolution + * of 1 second.

If the StartTime parameter specifies a time + * stamp that is greater than 3 hours ago, you must specify the period as follows + * or no data points in that time range is returned:

  • Start time + * between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

    + *
  • Start time between 15 and 63 days ago - Use a multiple of 300 + * seconds (5 minutes).

  • Start time greater than 63 days ago - Use + * a multiple of 3600 seconds (1 hour).

+ */ + inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } + + /** + *

The granularity, in seconds, of the returned data points for this metric. For + * metrics with regular resolution, a period can be as short as one minute (60 + * seconds) and must be a multiple of 60. For high-resolution metrics that are + * collected at intervals of less than one minute, the period can be 1, 5, 10, 30, + * 60, or any multiple of 60. High-resolution metrics are those metrics stored by a + * PutMetricData call that includes a StorageResolution + * of 1 second.

If the StartTime parameter specifies a time + * stamp that is greater than 3 hours ago, you must specify the period as follows + * or no data points in that time range is returned:

  • Start time + * between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

    + *
  • Start time between 15 and 63 days ago - Use a multiple of 300 + * seconds (5 minutes).

  • Start time greater than 63 days ago - Use + * a multiple of 3600 seconds (1 hour).

+ */ + inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; } + + /** + *

The granularity, in seconds, of the returned data points for this metric. For + * metrics with regular resolution, a period can be as short as one minute (60 + * seconds) and must be a multiple of 60. For high-resolution metrics that are + * collected at intervals of less than one minute, the period can be 1, 5, 10, 30, + * 60, or any multiple of 60. High-resolution metrics are those metrics stored by a + * PutMetricData call that includes a StorageResolution + * of 1 second.

If the StartTime parameter specifies a time + * stamp that is greater than 3 hours ago, you must specify the period as follows + * or no data points in that time range is returned:

  • Start time + * between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

    + *
  • Start time between 15 and 63 days ago - Use a multiple of 300 + * seconds (5 minutes).

  • Start time greater than 63 days ago - Use + * a multiple of 3600 seconds (1 hour).

+ */ + inline MetricDataQuery& WithPeriod(int value) { SetPeriod(value); return *this;} + + + /** + *

The ID of the account where this metric is located. If you are performing + * this operatiion in a monitoring account, use this to specify which source + * account to retrieve this metric from.

+ */ + inline const Aws::String& GetAccountId() const{ return m_accountId; } + + /** + *

The ID of the account where this metric is located. If you are performing + * this operatiion in a monitoring account, use this to specify which source + * account to retrieve this metric from.

+ */ + inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } + + /** + *

The ID of the account where this metric is located. If you are performing + * this operatiion in a monitoring account, use this to specify which source + * account to retrieve this metric from.

+ */ + inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } + + /** + *

The ID of the account where this metric is located. If you are performing + * this operatiion in a monitoring account, use this to specify which source + * account to retrieve this metric from.

+ */ + inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } + + /** + *

The ID of the account where this metric is located. If you are performing + * this operatiion in a monitoring account, use this to specify which source + * account to retrieve this metric from.

+ */ + inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } + + /** + *

The ID of the account where this metric is located. If you are performing + * this operatiion in a monitoring account, use this to specify which source + * account to retrieve this metric from.

+ */ + inline MetricDataQuery& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} + + /** + *

The ID of the account where this metric is located. If you are performing + * this operatiion in a monitoring account, use this to specify which source + * account to retrieve this metric from.

+ */ + inline MetricDataQuery& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} + + /** + *

The ID of the account where this metric is located. If you are performing + * this operatiion in a monitoring account, use this to specify which source + * account to retrieve this metric from.

+ */ + inline MetricDataQuery& WithAccountId(const char* value) { SetAccountId(value); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + MetricStat m_metricStat; + bool m_metricStatHasBeenSet = false; + + Aws::String m_expression; + bool m_expressionHasBeenSet = false; + + Aws::String m_label; + bool m_labelHasBeenSet = false; + + bool m_returnData; + bool m_returnDataHasBeenSet = false; + + int m_period; + bool m_periodHasBeenSet = false; + + Aws::String m_accountId; + bool m_accountIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricReference.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricReference.h new file mode 100644 index 00000000000..2653b2ca245 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricReference.h @@ -0,0 +1,248 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains information about one CloudWatch metric associated + * with this entity discovered by Application Signals.

See Also:

+ * AWS + * API Reference

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

The namespace of the metric. For more information, see CloudWatchNamespaces.

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

The namespace of the metric. For more information, see CloudWatchNamespaces.

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

The namespace of the metric. For more information, see CloudWatchNamespaces.

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

The namespace of the metric. For more information, see CloudWatchNamespaces.

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

The namespace of the metric. For more information, see CloudWatchNamespaces.

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

The namespace of the metric. For more information, see CloudWatchNamespaces.

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

The namespace of the metric. For more information, see CloudWatchNamespaces.

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

The namespace of the metric. For more information, see CloudWatchNamespaces.

+ */ + inline MetricReference& WithNamespace(const char* value) { SetNamespace(value); return *this;} + + + /** + *

Used to display the appropriate statistics in the CloudWatch console.

+ */ + inline const Aws::String& GetMetricType() const{ return m_metricType; } + + /** + *

Used to display the appropriate statistics in the CloudWatch console.

+ */ + inline bool MetricTypeHasBeenSet() const { return m_metricTypeHasBeenSet; } + + /** + *

Used to display the appropriate statistics in the CloudWatch console.

+ */ + inline void SetMetricType(const Aws::String& value) { m_metricTypeHasBeenSet = true; m_metricType = value; } + + /** + *

Used to display the appropriate statistics in the CloudWatch console.

+ */ + inline void SetMetricType(Aws::String&& value) { m_metricTypeHasBeenSet = true; m_metricType = std::move(value); } + + /** + *

Used to display the appropriate statistics in the CloudWatch console.

+ */ + inline void SetMetricType(const char* value) { m_metricTypeHasBeenSet = true; m_metricType.assign(value); } + + /** + *

Used to display the appropriate statistics in the CloudWatch console.

+ */ + inline MetricReference& WithMetricType(const Aws::String& value) { SetMetricType(value); return *this;} + + /** + *

Used to display the appropriate statistics in the CloudWatch console.

+ */ + inline MetricReference& WithMetricType(Aws::String&& value) { SetMetricType(std::move(value)); return *this;} + + /** + *

Used to display the appropriate statistics in the CloudWatch console.

+ */ + inline MetricReference& WithMetricType(const char* value) { SetMetricType(value); return *this;} + + + /** + *

An array of one or more dimensions that further define the metric. For more + * information, see CloudWatchDimensions.

+ */ + inline const Aws::Vector& GetDimensions() const{ return m_dimensions; } + + /** + *

An array of one or more dimensions that further define the metric. For more + * information, see CloudWatchDimensions.

+ */ + inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } + + /** + *

An array of one or more dimensions that further define the metric. For more + * information, see CloudWatchDimensions.

+ */ + inline void SetDimensions(const Aws::Vector& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } + + /** + *

An array of one or more dimensions that further define the metric. For more + * information, see CloudWatchDimensions.

+ */ + inline void SetDimensions(Aws::Vector&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } + + /** + *

An array of one or more dimensions that further define the metric. For more + * information, see CloudWatchDimensions.

+ */ + inline MetricReference& WithDimensions(const Aws::Vector& value) { SetDimensions(value); return *this;} + + /** + *

An array of one or more dimensions that further define the metric. For more + * information, see CloudWatchDimensions.

+ */ + inline MetricReference& WithDimensions(Aws::Vector&& value) { SetDimensions(std::move(value)); return *this;} + + /** + *

An array of one or more dimensions that further define the metric. For more + * information, see CloudWatchDimensions.

+ */ + inline MetricReference& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; } + + /** + *

An array of one or more dimensions that further define the metric. For more + * information, see CloudWatchDimensions.

+ */ + inline MetricReference& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; } + + + /** + *

The name of the metric.

+ */ + inline const Aws::String& GetMetricName() const{ return m_metricName; } + + /** + *

The name of the metric.

+ */ + inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } + + /** + *

The name of the metric.

+ */ + inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; } + + /** + *

The name of the metric.

+ */ + inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } + + /** + *

The name of the metric.

+ */ + inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); } + + /** + *

The name of the metric.

+ */ + inline MetricReference& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;} + + /** + *

The name of the metric.

+ */ + inline MetricReference& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;} + + /** + *

The name of the metric.

+ */ + inline MetricReference& WithMetricName(const char* value) { SetMetricName(value); return *this;} + + private: + + Aws::String m_namespace; + bool m_namespaceHasBeenSet = false; + + Aws::String m_metricType; + bool m_metricTypeHasBeenSet = false; + + Aws::Vector m_dimensions; + bool m_dimensionsHasBeenSet = false; + + Aws::String m_metricName; + bool m_metricNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricStat.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricStat.h new file mode 100644 index 00000000000..55a7f289669 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/MetricStat.h @@ -0,0 +1,275 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure defines the metric to be used as the service level indicator, + * along with the statistics, period, and unit.

See Also:

AWS + * API Reference

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

The metric to use as the service level indicator, including the metric name, + * namespace, and dimensions.

+ */ + inline const Metric& GetMetric() const{ return m_metric; } + + /** + *

The metric to use as the service level indicator, including the metric name, + * namespace, and dimensions.

+ */ + inline bool MetricHasBeenSet() const { return m_metricHasBeenSet; } + + /** + *

The metric to use as the service level indicator, including the metric name, + * namespace, and dimensions.

+ */ + inline void SetMetric(const Metric& value) { m_metricHasBeenSet = true; m_metric = value; } + + /** + *

The metric to use as the service level indicator, including the metric name, + * namespace, and dimensions.

+ */ + inline void SetMetric(Metric&& value) { m_metricHasBeenSet = true; m_metric = std::move(value); } + + /** + *

The metric to use as the service level indicator, including the metric name, + * namespace, and dimensions.

+ */ + inline MetricStat& WithMetric(const Metric& value) { SetMetric(value); return *this;} + + /** + *

The metric to use as the service level indicator, including the metric name, + * namespace, and dimensions.

+ */ + inline MetricStat& WithMetric(Metric&& value) { SetMetric(std::move(value)); return *this;} + + + /** + *

The granularity, in seconds, to be used for the metric. For metrics with + * regular resolution, a period can be as short as one minute (60 seconds) and must + * be a multiple of 60. For high-resolution metrics that are collected at intervals + * of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of + * 60. High-resolution metrics are those metrics stored by a + * PutMetricData call that includes a StorageResolution + * of 1 second.

+ */ + inline int GetPeriod() const{ return m_period; } + + /** + *

The granularity, in seconds, to be used for the metric. For metrics with + * regular resolution, a period can be as short as one minute (60 seconds) and must + * be a multiple of 60. For high-resolution metrics that are collected at intervals + * of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of + * 60. High-resolution metrics are those metrics stored by a + * PutMetricData call that includes a StorageResolution + * of 1 second.

+ */ + inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } + + /** + *

The granularity, in seconds, to be used for the metric. For metrics with + * regular resolution, a period can be as short as one minute (60 seconds) and must + * be a multiple of 60. For high-resolution metrics that are collected at intervals + * of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of + * 60. High-resolution metrics are those metrics stored by a + * PutMetricData call that includes a StorageResolution + * of 1 second.

+ */ + inline void SetPeriod(int value) { m_periodHasBeenSet = true; m_period = value; } + + /** + *

The granularity, in seconds, to be used for the metric. For metrics with + * regular resolution, a period can be as short as one minute (60 seconds) and must + * be a multiple of 60. For high-resolution metrics that are collected at intervals + * of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of + * 60. High-resolution metrics are those metrics stored by a + * PutMetricData call that includes a StorageResolution + * of 1 second.

+ */ + inline MetricStat& WithPeriod(int value) { SetPeriod(value); return *this;} + + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline const Aws::String& GetStat() const{ return m_stat; } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline bool StatHasBeenSet() const { return m_statHasBeenSet; } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline void SetStat(const Aws::String& value) { m_statHasBeenSet = true; m_stat = value; } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline void SetStat(Aws::String&& value) { m_statHasBeenSet = true; m_stat = std::move(value); } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline void SetStat(const char* value) { m_statHasBeenSet = true; m_stat.assign(value); } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline MetricStat& WithStat(const Aws::String& value) { SetStat(value); return *this;} + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline MetricStat& WithStat(Aws::String&& value) { SetStat(std::move(value)); return *this;} + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline MetricStat& WithStat(const char* value) { SetStat(value); return *this;} + + + /** + *

If you omit Unit then all data that was collected with any unit + * is returned, along with the corresponding units that were specified when the + * data was reported to CloudWatch. If you specify a unit, the operation returns + * only data that was collected with that unit specified. If you specify a unit + * that does not match the data collected, the results of the operation are null. + * CloudWatch does not perform unit conversions.

+ */ + inline const StandardUnit& GetUnit() const{ return m_unit; } + + /** + *

If you omit Unit then all data that was collected with any unit + * is returned, along with the corresponding units that were specified when the + * data was reported to CloudWatch. If you specify a unit, the operation returns + * only data that was collected with that unit specified. If you specify a unit + * that does not match the data collected, the results of the operation are null. + * CloudWatch does not perform unit conversions.

+ */ + inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } + + /** + *

If you omit Unit then all data that was collected with any unit + * is returned, along with the corresponding units that were specified when the + * data was reported to CloudWatch. If you specify a unit, the operation returns + * only data that was collected with that unit specified. If you specify a unit + * that does not match the data collected, the results of the operation are null. + * CloudWatch does not perform unit conversions.

+ */ + inline void SetUnit(const StandardUnit& value) { m_unitHasBeenSet = true; m_unit = value; } + + /** + *

If you omit Unit then all data that was collected with any unit + * is returned, along with the corresponding units that were specified when the + * data was reported to CloudWatch. If you specify a unit, the operation returns + * only data that was collected with that unit specified. If you specify a unit + * that does not match the data collected, the results of the operation are null. + * CloudWatch does not perform unit conversions.

+ */ + inline void SetUnit(StandardUnit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } + + /** + *

If you omit Unit then all data that was collected with any unit + * is returned, along with the corresponding units that were specified when the + * data was reported to CloudWatch. If you specify a unit, the operation returns + * only data that was collected with that unit specified. If you specify a unit + * that does not match the data collected, the results of the operation are null. + * CloudWatch does not perform unit conversions.

+ */ + inline MetricStat& WithUnit(const StandardUnit& value) { SetUnit(value); return *this;} + + /** + *

If you omit Unit then all data that was collected with any unit + * is returned, along with the corresponding units that were specified when the + * data was reported to CloudWatch. If you specify a unit, the operation returns + * only data that was collected with that unit specified. If you specify a unit + * that does not match the data collected, the results of the operation are null. + * CloudWatch does not perform unit conversions.

+ */ + inline MetricStat& WithUnit(StandardUnit&& value) { SetUnit(std::move(value)); return *this;} + + private: + + Metric m_metric; + bool m_metricHasBeenSet = false; + + int m_period; + bool m_periodHasBeenSet = false; + + Aws::String m_stat; + bool m_statHasBeenSet = false; + + StandardUnit m_unit; + bool m_unitHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ResourceNotFoundException.h new file mode 100644 index 00000000000..79fd0847d98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ResourceNotFoundException.h @@ -0,0 +1,160 @@ +/** + * 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 ApplicationSignals +{ +namespace Model +{ + + /** + *

Resource not found.

See Also:

AWS + * API Reference

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

The resource type is not valid.

+ */ + inline const Aws::String& GetResourceType() const{ return m_resourceType; } + + /** + *

The resource type is not valid.

+ */ + inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } + + /** + *

The resource type is not valid.

+ */ + inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } + + /** + *

The resource type is not valid.

+ */ + inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } + + /** + *

The resource type is not valid.

+ */ + inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } + + /** + *

The resource type is not valid.

+ */ + inline ResourceNotFoundException& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} + + /** + *

The resource type is not valid.

+ */ + inline ResourceNotFoundException& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} + + /** + *

The resource type is not valid.

+ */ + inline ResourceNotFoundException& WithResourceType(const char* value) { SetResourceType(value); return *this;} + + + /** + *

Cannot find the resource id.

+ */ + inline const Aws::String& GetResourceId() const{ return m_resourceId; } + + /** + *

Cannot find the resource id.

+ */ + inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } + + /** + *

Cannot find the resource id.

+ */ + inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } + + /** + *

Cannot find the resource id.

+ */ + inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } + + /** + *

Cannot find the resource id.

+ */ + inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } + + /** + *

Cannot find the resource id.

+ */ + inline ResourceNotFoundException& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} + + /** + *

Cannot find the resource id.

+ */ + inline ResourceNotFoundException& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} + + /** + *

Cannot find the resource id.

+ */ + inline ResourceNotFoundException& WithResourceId(const char* value) { SetResourceId(value); return *this;} + + + + inline const Aws::String& GetMessage() const{ return m_message; } + + + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + + + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + + + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + + + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + + + inline ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + + + inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + + + inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;} + + private: + + Aws::String m_resourceType; + bool m_resourceTypeHasBeenSet = false; + + Aws::String m_resourceId; + bool m_resourceIdHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/RollingInterval.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/RollingInterval.h new file mode 100644 index 00000000000..0aa3d11d877 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/RollingInterval.h @@ -0,0 +1,111 @@ +/** + * 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 ApplicationSignals +{ +namespace Model +{ + + /** + *

If the interval for this SLO is a rolling interval, this structure contains + * the interval specifications.

See Also:

AWS + * API Reference

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

Specifies the rolling interval unit.

+ */ + inline const DurationUnit& GetDurationUnit() const{ return m_durationUnit; } + + /** + *

Specifies the rolling interval unit.

+ */ + inline bool DurationUnitHasBeenSet() const { return m_durationUnitHasBeenSet; } + + /** + *

Specifies the rolling interval unit.

+ */ + inline void SetDurationUnit(const DurationUnit& value) { m_durationUnitHasBeenSet = true; m_durationUnit = value; } + + /** + *

Specifies the rolling interval unit.

+ */ + inline void SetDurationUnit(DurationUnit&& value) { m_durationUnitHasBeenSet = true; m_durationUnit = std::move(value); } + + /** + *

Specifies the rolling interval unit.

+ */ + inline RollingInterval& WithDurationUnit(const DurationUnit& value) { SetDurationUnit(value); return *this;} + + /** + *

Specifies the rolling interval unit.

+ */ + inline RollingInterval& WithDurationUnit(DurationUnit&& value) { SetDurationUnit(std::move(value)); return *this;} + + + /** + *

Specifies the duration of each rolling interval. For example, if + * Duration is 7 and DurationUnit is + * DAY, each rolling interval is seven days.

+ */ + inline int GetDuration() const{ return m_duration; } + + /** + *

Specifies the duration of each rolling interval. For example, if + * Duration is 7 and DurationUnit is + * DAY, each rolling interval is seven days.

+ */ + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + + /** + *

Specifies the duration of each rolling interval. For example, if + * Duration is 7 and DurationUnit is + * DAY, each rolling interval is seven days.

+ */ + inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } + + /** + *

Specifies the duration of each rolling interval. For example, if + * Duration is 7 and DurationUnit is + * DAY, each rolling interval is seven days.

+ */ + inline RollingInterval& WithDuration(int value) { SetDuration(value); return *this;} + + private: + + DurationUnit m_durationUnit; + bool m_durationUnitHasBeenSet = false; + + int m_duration; + bool m_durationHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Service.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Service.h new file mode 100644 index 00000000000..13ff4839813 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Service.h @@ -0,0 +1,593 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains information about one of your services that was + * discovered by Application Signals.

See Also:

AWS + * API Reference

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

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline Service& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline const Aws::Vector>& GetAttributeMaps() const{ return m_attributeMaps; } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline bool AttributeMapsHasBeenSet() const { return m_attributeMapsHasBeenSet; } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline void SetAttributeMaps(const Aws::Vector>& value) { m_attributeMapsHasBeenSet = true; m_attributeMaps = value; } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline void SetAttributeMaps(Aws::Vector>&& value) { m_attributeMapsHasBeenSet = true; m_attributeMaps = std::move(value); } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline Service& WithAttributeMaps(const Aws::Vector>& value) { SetAttributeMaps(value); return *this;} + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline Service& WithAttributeMaps(Aws::Vector>&& value) { SetAttributeMaps(std::move(value)); return *this;} + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline Service& AddAttributeMaps(const Aws::Map& value) { m_attributeMapsHasBeenSet = true; m_attributeMaps.push_back(value); return *this; } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline Service& AddAttributeMaps(Aws::Map&& value) { m_attributeMapsHasBeenSet = true; m_attributeMaps.push_back(std::move(value)); return *this; } + + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline const Aws::Vector& GetMetricReferences() const{ return m_metricReferences; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline bool MetricReferencesHasBeenSet() const { return m_metricReferencesHasBeenSet; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline void SetMetricReferences(const Aws::Vector& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = value; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline void SetMetricReferences(Aws::Vector&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = std::move(value); } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline Service& WithMetricReferences(const Aws::Vector& value) { SetMetricReferences(value); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline Service& WithMetricReferences(Aws::Vector&& value) { SetMetricReferences(std::move(value)); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline Service& AddMetricReferences(const MetricReference& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(value); return *this; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline Service& AddMetricReferences(MetricReference&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(std::move(value)); return *this; } + + private: + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + Aws::Vector> m_attributeMaps; + bool m_attributeMapsHasBeenSet = false; + + Aws::Vector m_metricReferences; + bool m_metricReferencesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceDependency.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceDependency.h new file mode 100644 index 00000000000..9b83d69f51b --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceDependency.h @@ -0,0 +1,421 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains information about one dependency of this + * service.

See Also:

AWS + * API Reference

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

The name of the operation in this service that calls the dependency.

+ */ + inline const Aws::String& GetOperationName() const{ return m_operationName; } + + /** + *

The name of the operation in this service that calls the dependency.

+ */ + inline bool OperationNameHasBeenSet() const { return m_operationNameHasBeenSet; } + + /** + *

The name of the operation in this service that calls the dependency.

+ */ + inline void SetOperationName(const Aws::String& value) { m_operationNameHasBeenSet = true; m_operationName = value; } + + /** + *

The name of the operation in this service that calls the dependency.

+ */ + inline void SetOperationName(Aws::String&& value) { m_operationNameHasBeenSet = true; m_operationName = std::move(value); } + + /** + *

The name of the operation in this service that calls the dependency.

+ */ + inline void SetOperationName(const char* value) { m_operationNameHasBeenSet = true; m_operationName.assign(value); } + + /** + *

The name of the operation in this service that calls the dependency.

+ */ + inline ServiceDependency& WithOperationName(const Aws::String& value) { SetOperationName(value); return *this;} + + /** + *

The name of the operation in this service that calls the dependency.

+ */ + inline ServiceDependency& WithOperationName(Aws::String&& value) { SetOperationName(std::move(value)); return *this;} + + /** + *

The name of the operation in this service that calls the dependency.

+ */ + inline ServiceDependency& WithOperationName(const char* value) { SetOperationName(value); return *this;} + + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetDependencyKeyAttributes() const{ return m_dependencyKeyAttributes; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool DependencyKeyAttributesHasBeenSet() const { return m_dependencyKeyAttributesHasBeenSet; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetDependencyKeyAttributes(const Aws::Map& value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes = value; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetDependencyKeyAttributes(Aws::Map&& value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes = std::move(value); } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& WithDependencyKeyAttributes(const Aws::Map& value) { SetDependencyKeyAttributes(value); return *this;} + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& WithDependencyKeyAttributes(Aws::Map&& value) { SetDependencyKeyAttributes(std::move(value)); return *this;} + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& AddDependencyKeyAttributes(const Aws::String& key, const Aws::String& value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes.emplace(key, value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& AddDependencyKeyAttributes(Aws::String&& key, const Aws::String& value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& AddDependencyKeyAttributes(const Aws::String& key, Aws::String&& value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& AddDependencyKeyAttributes(Aws::String&& key, Aws::String&& value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& AddDependencyKeyAttributes(const char* key, Aws::String&& value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& AddDependencyKeyAttributes(Aws::String&& key, const char* value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependency& AddDependencyKeyAttributes(const char* key, const char* value) { m_dependencyKeyAttributesHasBeenSet = true; m_dependencyKeyAttributes.emplace(key, value); return *this; } + + + /** + *

The name of the called operation in the dependency.

+ */ + inline const Aws::String& GetDependencyOperationName() const{ return m_dependencyOperationName; } + + /** + *

The name of the called operation in the dependency.

+ */ + inline bool DependencyOperationNameHasBeenSet() const { return m_dependencyOperationNameHasBeenSet; } + + /** + *

The name of the called operation in the dependency.

+ */ + inline void SetDependencyOperationName(const Aws::String& value) { m_dependencyOperationNameHasBeenSet = true; m_dependencyOperationName = value; } + + /** + *

The name of the called operation in the dependency.

+ */ + inline void SetDependencyOperationName(Aws::String&& value) { m_dependencyOperationNameHasBeenSet = true; m_dependencyOperationName = std::move(value); } + + /** + *

The name of the called operation in the dependency.

+ */ + inline void SetDependencyOperationName(const char* value) { m_dependencyOperationNameHasBeenSet = true; m_dependencyOperationName.assign(value); } + + /** + *

The name of the called operation in the dependency.

+ */ + inline ServiceDependency& WithDependencyOperationName(const Aws::String& value) { SetDependencyOperationName(value); return *this;} + + /** + *

The name of the called operation in the dependency.

+ */ + inline ServiceDependency& WithDependencyOperationName(Aws::String&& value) { SetDependencyOperationName(std::move(value)); return *this;} + + /** + *

The name of the called operation in the dependency.

+ */ + inline ServiceDependency& WithDependencyOperationName(const char* value) { SetDependencyOperationName(value); return *this;} + + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependency that was discovered by Application + * Signals.

+ */ + inline const Aws::Vector& GetMetricReferences() const{ return m_metricReferences; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependency that was discovered by Application + * Signals.

+ */ + inline bool MetricReferencesHasBeenSet() const { return m_metricReferencesHasBeenSet; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependency that was discovered by Application + * Signals.

+ */ + inline void SetMetricReferences(const Aws::Vector& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = value; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependency that was discovered by Application + * Signals.

+ */ + inline void SetMetricReferences(Aws::Vector&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = std::move(value); } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependency that was discovered by Application + * Signals.

+ */ + inline ServiceDependency& WithMetricReferences(const Aws::Vector& value) { SetMetricReferences(value); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependency that was discovered by Application + * Signals.

+ */ + inline ServiceDependency& WithMetricReferences(Aws::Vector&& value) { SetMetricReferences(std::move(value)); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependency that was discovered by Application + * Signals.

+ */ + inline ServiceDependency& AddMetricReferences(const MetricReference& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(value); return *this; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependency that was discovered by Application + * Signals.

+ */ + inline ServiceDependency& AddMetricReferences(MetricReference&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_operationName; + bool m_operationNameHasBeenSet = false; + + Aws::Map m_dependencyKeyAttributes; + bool m_dependencyKeyAttributesHasBeenSet = false; + + Aws::String m_dependencyOperationName; + bool m_dependencyOperationNameHasBeenSet = false; + + Aws::Vector m_metricReferences; + bool m_metricReferencesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceDependent.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceDependent.h new file mode 100644 index 00000000000..20ea5c23a78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceDependent.h @@ -0,0 +1,440 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains information about a service dependent that was + * discovered by Application Signals. A dependent is an entity that invoked the + * specified service during the provided time range. Dependents include other + * services, CloudWatch Synthetics canaries, and clients that are instrumented with + * CloudWatch RUM app monitors.

See Also:

AWS + * API Reference

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

If the invoked entity is an operation on an entity, the name of that + * dependent operation is displayed here.

+ */ + inline const Aws::String& GetOperationName() const{ return m_operationName; } + + /** + *

If the invoked entity is an operation on an entity, the name of that + * dependent operation is displayed here.

+ */ + inline bool OperationNameHasBeenSet() const { return m_operationNameHasBeenSet; } + + /** + *

If the invoked entity is an operation on an entity, the name of that + * dependent operation is displayed here.

+ */ + inline void SetOperationName(const Aws::String& value) { m_operationNameHasBeenSet = true; m_operationName = value; } + + /** + *

If the invoked entity is an operation on an entity, the name of that + * dependent operation is displayed here.

+ */ + inline void SetOperationName(Aws::String&& value) { m_operationNameHasBeenSet = true; m_operationName = std::move(value); } + + /** + *

If the invoked entity is an operation on an entity, the name of that + * dependent operation is displayed here.

+ */ + inline void SetOperationName(const char* value) { m_operationNameHasBeenSet = true; m_operationName.assign(value); } + + /** + *

If the invoked entity is an operation on an entity, the name of that + * dependent operation is displayed here.

+ */ + inline ServiceDependent& WithOperationName(const Aws::String& value) { SetOperationName(value); return *this;} + + /** + *

If the invoked entity is an operation on an entity, the name of that + * dependent operation is displayed here.

+ */ + inline ServiceDependent& WithOperationName(Aws::String&& value) { SetOperationName(std::move(value)); return *this;} + + /** + *

If the invoked entity is an operation on an entity, the name of that + * dependent operation is displayed here.

+ */ + inline ServiceDependent& WithOperationName(const char* value) { SetOperationName(value); return *this;} + + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetDependentKeyAttributes() const{ return m_dependentKeyAttributes; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool DependentKeyAttributesHasBeenSet() const { return m_dependentKeyAttributesHasBeenSet; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetDependentKeyAttributes(const Aws::Map& value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes = value; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetDependentKeyAttributes(Aws::Map&& value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes = std::move(value); } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& WithDependentKeyAttributes(const Aws::Map& value) { SetDependentKeyAttributes(value); return *this;} + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& WithDependentKeyAttributes(Aws::Map&& value) { SetDependentKeyAttributes(std::move(value)); return *this;} + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& AddDependentKeyAttributes(const Aws::String& key, const Aws::String& value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes.emplace(key, value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& AddDependentKeyAttributes(Aws::String&& key, const Aws::String& value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& AddDependentKeyAttributes(const Aws::String& key, Aws::String&& value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& AddDependentKeyAttributes(Aws::String&& key, Aws::String&& value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& AddDependentKeyAttributes(const char* key, Aws::String&& value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& AddDependentKeyAttributes(Aws::String&& key, const char* value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this is.

  • + *

    ResourceType specifies the type of the resource. This field is + * used only when the value of the Type field is Resource + * or AWS::Resource.

  • Name specifies + * the name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceDependent& AddDependentKeyAttributes(const char* key, const char* value) { m_dependentKeyAttributesHasBeenSet = true; m_dependentKeyAttributes.emplace(key, value); return *this; } + + + /** + *

If the dependent invoker was a service that invoked it from an operation, the + * name of that dependent operation is displayed here.

+ */ + inline const Aws::String& GetDependentOperationName() const{ return m_dependentOperationName; } + + /** + *

If the dependent invoker was a service that invoked it from an operation, the + * name of that dependent operation is displayed here.

+ */ + inline bool DependentOperationNameHasBeenSet() const { return m_dependentOperationNameHasBeenSet; } + + /** + *

If the dependent invoker was a service that invoked it from an operation, the + * name of that dependent operation is displayed here.

+ */ + inline void SetDependentOperationName(const Aws::String& value) { m_dependentOperationNameHasBeenSet = true; m_dependentOperationName = value; } + + /** + *

If the dependent invoker was a service that invoked it from an operation, the + * name of that dependent operation is displayed here.

+ */ + inline void SetDependentOperationName(Aws::String&& value) { m_dependentOperationNameHasBeenSet = true; m_dependentOperationName = std::move(value); } + + /** + *

If the dependent invoker was a service that invoked it from an operation, the + * name of that dependent operation is displayed here.

+ */ + inline void SetDependentOperationName(const char* value) { m_dependentOperationNameHasBeenSet = true; m_dependentOperationName.assign(value); } + + /** + *

If the dependent invoker was a service that invoked it from an operation, the + * name of that dependent operation is displayed here.

+ */ + inline ServiceDependent& WithDependentOperationName(const Aws::String& value) { SetDependentOperationName(value); return *this;} + + /** + *

If the dependent invoker was a service that invoked it from an operation, the + * name of that dependent operation is displayed here.

+ */ + inline ServiceDependent& WithDependentOperationName(Aws::String&& value) { SetDependentOperationName(std::move(value)); return *this;} + + /** + *

If the dependent invoker was a service that invoked it from an operation, the + * name of that dependent operation is displayed here.

+ */ + inline ServiceDependent& WithDependentOperationName(const char* value) { SetDependentOperationName(value); return *this;} + + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependent that was discovered by Application + * Signals.

+ */ + inline const Aws::Vector& GetMetricReferences() const{ return m_metricReferences; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependent that was discovered by Application + * Signals.

+ */ + inline bool MetricReferencesHasBeenSet() const { return m_metricReferencesHasBeenSet; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependent that was discovered by Application + * Signals.

+ */ + inline void SetMetricReferences(const Aws::Vector& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = value; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependent that was discovered by Application + * Signals.

+ */ + inline void SetMetricReferences(Aws::Vector&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = std::move(value); } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependent that was discovered by Application + * Signals.

+ */ + inline ServiceDependent& WithMetricReferences(const Aws::Vector& value) { SetMetricReferences(value); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependent that was discovered by Application + * Signals.

+ */ + inline ServiceDependent& WithMetricReferences(Aws::Vector&& value) { SetMetricReferences(std::move(value)); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependent that was discovered by Application + * Signals.

+ */ + inline ServiceDependent& AddMetricReferences(const MetricReference& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(value); return *this; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service dependent that was discovered by Application + * Signals.

+ */ + inline ServiceDependent& AddMetricReferences(MetricReference&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_operationName; + bool m_operationNameHasBeenSet = false; + + Aws::Map m_dependentKeyAttributes; + bool m_dependentKeyAttributesHasBeenSet = false; + + Aws::String m_dependentOperationName; + bool m_dependentOperationNameHasBeenSet = false; + + Aws::Vector m_metricReferences; + bool m_metricReferencesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicator.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicator.h new file mode 100644 index 00000000000..34b35f3bb48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicator.h @@ -0,0 +1,150 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains information about the performance metric that an SLO + * monitors.

See Also:

AWS + * API Reference

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

A structure that contains information about the metric that the SLO monitors. + *

+ */ + inline const ServiceLevelIndicatorMetric& GetSliMetric() const{ return m_sliMetric; } + + /** + *

A structure that contains information about the metric that the SLO monitors. + *

+ */ + inline bool SliMetricHasBeenSet() const { return m_sliMetricHasBeenSet; } + + /** + *

A structure that contains information about the metric that the SLO monitors. + *

+ */ + inline void SetSliMetric(const ServiceLevelIndicatorMetric& value) { m_sliMetricHasBeenSet = true; m_sliMetric = value; } + + /** + *

A structure that contains information about the metric that the SLO monitors. + *

+ */ + inline void SetSliMetric(ServiceLevelIndicatorMetric&& value) { m_sliMetricHasBeenSet = true; m_sliMetric = std::move(value); } + + /** + *

A structure that contains information about the metric that the SLO monitors. + *

+ */ + inline ServiceLevelIndicator& WithSliMetric(const ServiceLevelIndicatorMetric& value) { SetSliMetric(value); return *this;} + + /** + *

A structure that contains information about the metric that the SLO monitors. + *

+ */ + inline ServiceLevelIndicator& WithSliMetric(ServiceLevelIndicatorMetric&& value) { SetSliMetric(std::move(value)); return *this;} + + + /** + *

The value that the SLI metric is compared to.

+ */ + inline double GetMetricThreshold() const{ return m_metricThreshold; } + + /** + *

The value that the SLI metric is compared to.

+ */ + inline bool MetricThresholdHasBeenSet() const { return m_metricThresholdHasBeenSet; } + + /** + *

The value that the SLI metric is compared to.

+ */ + inline void SetMetricThreshold(double value) { m_metricThresholdHasBeenSet = true; m_metricThreshold = value; } + + /** + *

The value that the SLI metric is compared to.

+ */ + inline ServiceLevelIndicator& WithMetricThreshold(double value) { SetMetricThreshold(value); return *this;} + + + /** + *

The arithmetic operation used when comparing the specified metric to the + * threshold.

+ */ + inline const ServiceLevelIndicatorComparisonOperator& GetComparisonOperator() const{ return m_comparisonOperator; } + + /** + *

The arithmetic operation used when comparing the specified metric to the + * threshold.

+ */ + inline bool ComparisonOperatorHasBeenSet() const { return m_comparisonOperatorHasBeenSet; } + + /** + *

The arithmetic operation used when comparing the specified metric to the + * threshold.

+ */ + inline void SetComparisonOperator(const ServiceLevelIndicatorComparisonOperator& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = value; } + + /** + *

The arithmetic operation used when comparing the specified metric to the + * threshold.

+ */ + inline void SetComparisonOperator(ServiceLevelIndicatorComparisonOperator&& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = std::move(value); } + + /** + *

The arithmetic operation used when comparing the specified metric to the + * threshold.

+ */ + inline ServiceLevelIndicator& WithComparisonOperator(const ServiceLevelIndicatorComparisonOperator& value) { SetComparisonOperator(value); return *this;} + + /** + *

The arithmetic operation used when comparing the specified metric to the + * threshold.

+ */ + inline ServiceLevelIndicator& WithComparisonOperator(ServiceLevelIndicatorComparisonOperator&& value) { SetComparisonOperator(std::move(value)); return *this;} + + private: + + ServiceLevelIndicatorMetric m_sliMetric; + bool m_sliMetricHasBeenSet = false; + + double m_metricThreshold; + bool m_metricThresholdHasBeenSet = false; + + ServiceLevelIndicatorComparisonOperator m_comparisonOperator; + bool m_comparisonOperatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorComparisonOperator.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorComparisonOperator.h new file mode 100644 index 00000000000..2e1a04cb71e --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorComparisonOperator.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + enum class ServiceLevelIndicatorComparisonOperator + { + NOT_SET, + GreaterThanOrEqualTo, + GreaterThan, + LessThan, + LessThanOrEqualTo + }; + +namespace ServiceLevelIndicatorComparisonOperatorMapper +{ +AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorComparisonOperator GetServiceLevelIndicatorComparisonOperatorForName(const Aws::String& name); + +AWS_APPLICATIONSIGNALS_API Aws::String GetNameForServiceLevelIndicatorComparisonOperator(ServiceLevelIndicatorComparisonOperator value); +} // namespace ServiceLevelIndicatorComparisonOperatorMapper +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorConfig.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorConfig.h new file mode 100644 index 00000000000..87bb13a4471 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorConfig.h @@ -0,0 +1,144 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure specifies the information about the service and the + * performance metric that an SLO is to monitor.

See Also:

AWS + * API Reference

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

Use this structure to specify the metric to be used for the SLO.

+ */ + inline const ServiceLevelIndicatorMetricConfig& GetSliMetricConfig() const{ return m_sliMetricConfig; } + + /** + *

Use this structure to specify the metric to be used for the SLO.

+ */ + inline bool SliMetricConfigHasBeenSet() const { return m_sliMetricConfigHasBeenSet; } + + /** + *

Use this structure to specify the metric to be used for the SLO.

+ */ + inline void SetSliMetricConfig(const ServiceLevelIndicatorMetricConfig& value) { m_sliMetricConfigHasBeenSet = true; m_sliMetricConfig = value; } + + /** + *

Use this structure to specify the metric to be used for the SLO.

+ */ + inline void SetSliMetricConfig(ServiceLevelIndicatorMetricConfig&& value) { m_sliMetricConfigHasBeenSet = true; m_sliMetricConfig = std::move(value); } + + /** + *

Use this structure to specify the metric to be used for the SLO.

+ */ + inline ServiceLevelIndicatorConfig& WithSliMetricConfig(const ServiceLevelIndicatorMetricConfig& value) { SetSliMetricConfig(value); return *this;} + + /** + *

Use this structure to specify the metric to be used for the SLO.

+ */ + inline ServiceLevelIndicatorConfig& WithSliMetricConfig(ServiceLevelIndicatorMetricConfig&& value) { SetSliMetricConfig(std::move(value)); return *this;} + + + /** + *

The value that the SLI metric is compared to.

+ */ + inline double GetMetricThreshold() const{ return m_metricThreshold; } + + /** + *

The value that the SLI metric is compared to.

+ */ + inline bool MetricThresholdHasBeenSet() const { return m_metricThresholdHasBeenSet; } + + /** + *

The value that the SLI metric is compared to.

+ */ + inline void SetMetricThreshold(double value) { m_metricThresholdHasBeenSet = true; m_metricThreshold = value; } + + /** + *

The value that the SLI metric is compared to.

+ */ + inline ServiceLevelIndicatorConfig& WithMetricThreshold(double value) { SetMetricThreshold(value); return *this;} + + + /** + *

The arithmetic operation to use when comparing the specified metric to the + * threshold.

+ */ + inline const ServiceLevelIndicatorComparisonOperator& GetComparisonOperator() const{ return m_comparisonOperator; } + + /** + *

The arithmetic operation to use when comparing the specified metric to the + * threshold.

+ */ + inline bool ComparisonOperatorHasBeenSet() const { return m_comparisonOperatorHasBeenSet; } + + /** + *

The arithmetic operation to use when comparing the specified metric to the + * threshold.

+ */ + inline void SetComparisonOperator(const ServiceLevelIndicatorComparisonOperator& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = value; } + + /** + *

The arithmetic operation to use when comparing the specified metric to the + * threshold.

+ */ + inline void SetComparisonOperator(ServiceLevelIndicatorComparisonOperator&& value) { m_comparisonOperatorHasBeenSet = true; m_comparisonOperator = std::move(value); } + + /** + *

The arithmetic operation to use when comparing the specified metric to the + * threshold.

+ */ + inline ServiceLevelIndicatorConfig& WithComparisonOperator(const ServiceLevelIndicatorComparisonOperator& value) { SetComparisonOperator(value); return *this;} + + /** + *

The arithmetic operation to use when comparing the specified metric to the + * threshold.

+ */ + inline ServiceLevelIndicatorConfig& WithComparisonOperator(ServiceLevelIndicatorComparisonOperator&& value) { SetComparisonOperator(std::move(value)); return *this;} + + private: + + ServiceLevelIndicatorMetricConfig m_sliMetricConfig; + bool m_sliMetricConfigHasBeenSet = false; + + double m_metricThreshold; + bool m_metricThresholdHasBeenSet = false; + + ServiceLevelIndicatorComparisonOperator m_comparisonOperator; + bool m_comparisonOperatorHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetric.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetric.h new file mode 100644 index 00000000000..dacbbcf38c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetric.h @@ -0,0 +1,445 @@ +/** + * 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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains the information about the metric that is used for the + * SLO.

See Also:

AWS + * API Reference

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

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map that contains information about the type of + * object that this SLO is related to. It can include the following fields.

+ *
  • Type designates the type of object that this SLO is + * related to.

  • ResourceType specifies the type of + * the resource. This field is used only when the value of the Type + * field is Resource or AWS::Resource.

  • + * Name specifies the name of the object. This is used only if the + * value of the Type field is Service, + * RemoteService, or AWS::Service.

  • + * Identifier identifies the resource objects of this resource. This + * is used only if the value of the Type field is + * Resource or AWS::Resource.

  • + * Environment specifies the location where this object is hosted, or + * what it belongs to.

+ */ + inline ServiceLevelIndicatorMetric& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

If the SLO monitors a specific operation of the service, this field displays + * that operation name.

+ */ + inline const Aws::String& GetOperationName() const{ return m_operationName; } + + /** + *

If the SLO monitors a specific operation of the service, this field displays + * that operation name.

+ */ + inline bool OperationNameHasBeenSet() const { return m_operationNameHasBeenSet; } + + /** + *

If the SLO monitors a specific operation of the service, this field displays + * that operation name.

+ */ + inline void SetOperationName(const Aws::String& value) { m_operationNameHasBeenSet = true; m_operationName = value; } + + /** + *

If the SLO monitors a specific operation of the service, this field displays + * that operation name.

+ */ + inline void SetOperationName(Aws::String&& value) { m_operationNameHasBeenSet = true; m_operationName = std::move(value); } + + /** + *

If the SLO monitors a specific operation of the service, this field displays + * that operation name.

+ */ + inline void SetOperationName(const char* value) { m_operationNameHasBeenSet = true; m_operationName.assign(value); } + + /** + *

If the SLO monitors a specific operation of the service, this field displays + * that operation name.

+ */ + inline ServiceLevelIndicatorMetric& WithOperationName(const Aws::String& value) { SetOperationName(value); return *this;} + + /** + *

If the SLO monitors a specific operation of the service, this field displays + * that operation name.

+ */ + inline ServiceLevelIndicatorMetric& WithOperationName(Aws::String&& value) { SetOperationName(std::move(value)); return *this;} + + /** + *

If the SLO monitors a specific operation of the service, this field displays + * that operation name.

+ */ + inline ServiceLevelIndicatorMetric& WithOperationName(const char* value) { SetOperationName(value); return *this;} + + + /** + *

If the SLO monitors either the LATENCY or + * AVAILABILITY metric that Application Signals collects, this field + * displays which of those metrics is used.

+ */ + inline const ServiceLevelIndicatorMetricType& GetMetricType() const{ return m_metricType; } + + /** + *

If the SLO monitors either the LATENCY or + * AVAILABILITY metric that Application Signals collects, this field + * displays which of those metrics is used.

+ */ + inline bool MetricTypeHasBeenSet() const { return m_metricTypeHasBeenSet; } + + /** + *

If the SLO monitors either the LATENCY or + * AVAILABILITY metric that Application Signals collects, this field + * displays which of those metrics is used.

+ */ + inline void SetMetricType(const ServiceLevelIndicatorMetricType& value) { m_metricTypeHasBeenSet = true; m_metricType = value; } + + /** + *

If the SLO monitors either the LATENCY or + * AVAILABILITY metric that Application Signals collects, this field + * displays which of those metrics is used.

+ */ + inline void SetMetricType(ServiceLevelIndicatorMetricType&& value) { m_metricTypeHasBeenSet = true; m_metricType = std::move(value); } + + /** + *

If the SLO monitors either the LATENCY or + * AVAILABILITY metric that Application Signals collects, this field + * displays which of those metrics is used.

+ */ + inline ServiceLevelIndicatorMetric& WithMetricType(const ServiceLevelIndicatorMetricType& value) { SetMetricType(value); return *this;} + + /** + *

If the SLO monitors either the LATENCY or + * AVAILABILITY metric that Application Signals collects, this field + * displays which of those metrics is used.

+ */ + inline ServiceLevelIndicatorMetric& WithMetricType(ServiceLevelIndicatorMetricType&& value) { SetMetricType(std::move(value)); return *this;} + + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, this structure includes the information about that metric or + * expression.

+ */ + inline const Aws::Vector& GetMetricDataQueries() const{ return m_metricDataQueries; } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, this structure includes the information about that metric or + * expression.

+ */ + inline bool MetricDataQueriesHasBeenSet() const { return m_metricDataQueriesHasBeenSet; } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, this structure includes the information about that metric or + * expression.

+ */ + inline void SetMetricDataQueries(const Aws::Vector& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries = value; } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, this structure includes the information about that metric or + * expression.

+ */ + inline void SetMetricDataQueries(Aws::Vector&& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries = std::move(value); } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, this structure includes the information about that metric or + * expression.

+ */ + inline ServiceLevelIndicatorMetric& WithMetricDataQueries(const Aws::Vector& value) { SetMetricDataQueries(value); return *this;} + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, this structure includes the information about that metric or + * expression.

+ */ + inline ServiceLevelIndicatorMetric& WithMetricDataQueries(Aws::Vector&& value) { SetMetricDataQueries(std::move(value)); return *this;} + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, this structure includes the information about that metric or + * expression.

+ */ + inline ServiceLevelIndicatorMetric& AddMetricDataQueries(const MetricDataQuery& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries.push_back(value); return *this; } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, this structure includes the information about that metric or + * expression.

+ */ + inline ServiceLevelIndicatorMetric& AddMetricDataQueries(MetricDataQuery&& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries.push_back(std::move(value)); return *this; } + + private: + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + Aws::String m_operationName; + bool m_operationNameHasBeenSet = false; + + ServiceLevelIndicatorMetricType m_metricType; + bool m_metricTypeHasBeenSet = false; + + Aws::Vector m_metricDataQueries; + bool m_metricDataQueriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetricConfig.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetricConfig.h new file mode 100644 index 00000000000..a245476d83b --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetricConfig.h @@ -0,0 +1,588 @@ +/** + * 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 + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

Use this structure to specify the information for the metric that the SLO + * will monitor.

See Also:

AWS + * API Reference

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

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

If this SLO is related to a metric collected by Application Signals, you must + * use this field to specify which service the SLO metric is related to. To do so, + * you must specify at least the Type, Name, and + * Environment attributes.

This is a string-to-string map. It + * can include the following fields.

  • Type designates + * the type of object this is.

  • ResourceType + * specifies the type of the resource. This field is used only when the value of + * the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelIndicatorMetricConfig& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

If the SLO is to monitor a specific operation of the service, use this field + * to specify the name of that operation.

+ */ + inline const Aws::String& GetOperationName() const{ return m_operationName; } + + /** + *

If the SLO is to monitor a specific operation of the service, use this field + * to specify the name of that operation.

+ */ + inline bool OperationNameHasBeenSet() const { return m_operationNameHasBeenSet; } + + /** + *

If the SLO is to monitor a specific operation of the service, use this field + * to specify the name of that operation.

+ */ + inline void SetOperationName(const Aws::String& value) { m_operationNameHasBeenSet = true; m_operationName = value; } + + /** + *

If the SLO is to monitor a specific operation of the service, use this field + * to specify the name of that operation.

+ */ + inline void SetOperationName(Aws::String&& value) { m_operationNameHasBeenSet = true; m_operationName = std::move(value); } + + /** + *

If the SLO is to monitor a specific operation of the service, use this field + * to specify the name of that operation.

+ */ + inline void SetOperationName(const char* value) { m_operationNameHasBeenSet = true; m_operationName.assign(value); } + + /** + *

If the SLO is to monitor a specific operation of the service, use this field + * to specify the name of that operation.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithOperationName(const Aws::String& value) { SetOperationName(value); return *this;} + + /** + *

If the SLO is to monitor a specific operation of the service, use this field + * to specify the name of that operation.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithOperationName(Aws::String&& value) { SetOperationName(std::move(value)); return *this;} + + /** + *

If the SLO is to monitor a specific operation of the service, use this field + * to specify the name of that operation.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithOperationName(const char* value) { SetOperationName(value); return *this;} + + + /** + *

If the SLO is to monitor either the LATENCY or + * AVAILABILITY metric that Application Signals collects, use this + * field to specify which of those metrics is used.

+ */ + inline const ServiceLevelIndicatorMetricType& GetMetricType() const{ return m_metricType; } + + /** + *

If the SLO is to monitor either the LATENCY or + * AVAILABILITY metric that Application Signals collects, use this + * field to specify which of those metrics is used.

+ */ + inline bool MetricTypeHasBeenSet() const { return m_metricTypeHasBeenSet; } + + /** + *

If the SLO is to monitor either the LATENCY or + * AVAILABILITY metric that Application Signals collects, use this + * field to specify which of those metrics is used.

+ */ + inline void SetMetricType(const ServiceLevelIndicatorMetricType& value) { m_metricTypeHasBeenSet = true; m_metricType = value; } + + /** + *

If the SLO is to monitor either the LATENCY or + * AVAILABILITY metric that Application Signals collects, use this + * field to specify which of those metrics is used.

+ */ + inline void SetMetricType(ServiceLevelIndicatorMetricType&& value) { m_metricTypeHasBeenSet = true; m_metricType = std::move(value); } + + /** + *

If the SLO is to monitor either the LATENCY or + * AVAILABILITY metric that Application Signals collects, use this + * field to specify which of those metrics is used.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithMetricType(const ServiceLevelIndicatorMetricType& value) { SetMetricType(value); return *this;} + + /** + *

If the SLO is to monitor either the LATENCY or + * AVAILABILITY metric that Application Signals collects, use this + * field to specify which of those metrics is used.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithMetricType(ServiceLevelIndicatorMetricType&& value) { SetMetricType(std::move(value)); return *this;} + + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline const Aws::String& GetStatistic() const{ return m_statistic; } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline bool StatisticHasBeenSet() const { return m_statisticHasBeenSet; } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline void SetStatistic(const Aws::String& value) { m_statisticHasBeenSet = true; m_statistic = value; } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline void SetStatistic(Aws::String&& value) { m_statisticHasBeenSet = true; m_statistic = std::move(value); } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline void SetStatistic(const char* value) { m_statisticHasBeenSet = true; m_statistic.assign(value); } + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithStatistic(const Aws::String& value) { SetStatistic(value); return *this;} + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithStatistic(Aws::String&& value) { SetStatistic(std::move(value)); return *this;} + + /** + *

The statistic to use for comparison to the threshold. It can be any + * CloudWatch statistic or extended statistic. For more information about + * statistics, see CloudWatch + * statistics definitions.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithStatistic(const char* value) { SetStatistic(value); return *this;} + + + /** + *

The number of seconds to use as the period for SLO evaluation. Your + * application's performance is compared to the SLI during each period. For each + * period, the application is determined to have either achieved or not achieved + * the necessary performance.

+ */ + inline int GetPeriodSeconds() const{ return m_periodSeconds; } + + /** + *

The number of seconds to use as the period for SLO evaluation. Your + * application's performance is compared to the SLI during each period. For each + * period, the application is determined to have either achieved or not achieved + * the necessary performance.

+ */ + inline bool PeriodSecondsHasBeenSet() const { return m_periodSecondsHasBeenSet; } + + /** + *

The number of seconds to use as the period for SLO evaluation. Your + * application's performance is compared to the SLI during each period. For each + * period, the application is determined to have either achieved or not achieved + * the necessary performance.

+ */ + inline void SetPeriodSeconds(int value) { m_periodSecondsHasBeenSet = true; m_periodSeconds = value; } + + /** + *

The number of seconds to use as the period for SLO evaluation. Your + * application's performance is compared to the SLI during each period. For each + * period, the application is determined to have either achieved or not achieved + * the necessary performance.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithPeriodSeconds(int value) { SetPeriodSeconds(value); return *this;} + + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, use this structure to specify that metric or expression.

+ */ + inline const Aws::Vector& GetMetricDataQueries() const{ return m_metricDataQueries; } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, use this structure to specify that metric or expression.

+ */ + inline bool MetricDataQueriesHasBeenSet() const { return m_metricDataQueriesHasBeenSet; } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, use this structure to specify that metric or expression.

+ */ + inline void SetMetricDataQueries(const Aws::Vector& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries = value; } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, use this structure to specify that metric or expression.

+ */ + inline void SetMetricDataQueries(Aws::Vector&& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries = std::move(value); } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, use this structure to specify that metric or expression.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithMetricDataQueries(const Aws::Vector& value) { SetMetricDataQueries(value); return *this;} + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, use this structure to specify that metric or expression.

+ */ + inline ServiceLevelIndicatorMetricConfig& WithMetricDataQueries(Aws::Vector&& value) { SetMetricDataQueries(std::move(value)); return *this;} + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, use this structure to specify that metric or expression.

+ */ + inline ServiceLevelIndicatorMetricConfig& AddMetricDataQueries(const MetricDataQuery& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries.push_back(value); return *this; } + + /** + *

If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric + * math expression, use this structure to specify that metric or expression.

+ */ + inline ServiceLevelIndicatorMetricConfig& AddMetricDataQueries(MetricDataQuery&& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries.push_back(std::move(value)); return *this; } + + private: + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + Aws::String m_operationName; + bool m_operationNameHasBeenSet = false; + + ServiceLevelIndicatorMetricType m_metricType; + bool m_metricTypeHasBeenSet = false; + + Aws::String m_statistic; + bool m_statisticHasBeenSet = false; + + int m_periodSeconds; + bool m_periodSecondsHasBeenSet = false; + + Aws::Vector m_metricDataQueries; + bool m_metricDataQueriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetricType.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetricType.h new file mode 100644 index 00000000000..41485831702 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelIndicatorMetricType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + enum class ServiceLevelIndicatorMetricType + { + NOT_SET, + LATENCY, + AVAILABILITY + }; + +namespace ServiceLevelIndicatorMetricTypeMapper +{ +AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetricType GetServiceLevelIndicatorMetricTypeForName(const Aws::String& name); + +AWS_APPLICATIONSIGNALS_API Aws::String GetNameForServiceLevelIndicatorMetricType(ServiceLevelIndicatorMetricType value); +} // namespace ServiceLevelIndicatorMetricTypeMapper +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjective.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjective.h new file mode 100644 index 00000000000..9fbd96dc786 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjective.h @@ -0,0 +1,340 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

A structure containing information about one service level objective (SLO) + * that has been created in Application Signals. Creating SLOs can help you ensure + * your services are performing to the level that you expect. SLOs help you set and + * track a specific target level for the reliability and availability of your + * applications and services. Each SLO uses a service level indicator (SLI), which + * is a key performance metric, to calculate how much underperformance can be + * tolerated before the goal that you set for the SLO is not + * achieved.

See Also:

AWS + * API Reference

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

The ARN of this SLO.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

The ARN of this SLO.

+ */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

The ARN of this SLO.

+ */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

The ARN of this SLO.

+ */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

The ARN of this SLO.

+ */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

The ARN of this SLO.

+ */ + inline ServiceLevelObjective& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

The ARN of this SLO.

+ */ + inline ServiceLevelObjective& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

The ARN of this SLO.

+ */ + inline ServiceLevelObjective& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

The name of this SLO.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The name of this SLO.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The name of this SLO.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The name of this SLO.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The name of this SLO.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The name of this SLO.

+ */ + inline ServiceLevelObjective& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The name of this SLO.

+ */ + inline ServiceLevelObjective& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The name of this SLO.

+ */ + inline ServiceLevelObjective& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

The description that you created for this SLO.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

The description that you created for this SLO.

+ */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

The description that you created for this SLO.

+ */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

The description that you created for this SLO.

+ */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

The description that you created for this SLO.

+ */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

The description that you created for this SLO.

+ */ + inline ServiceLevelObjective& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

The description that you created for this SLO.

+ */ + inline ServiceLevelObjective& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

The description that you created for this SLO.

+ */ + inline ServiceLevelObjective& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

The date and time that this SLO was created. When used in a raw HTTP Query + * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } + + /** + *

The date and time that this SLO was created. When used in a raw HTTP Query + * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } + + /** + *

The date and time that this SLO was created. When used in a raw HTTP Query + * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } + + /** + *

The date and time that this SLO was created. When used in a raw HTTP Query + * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } + + /** + *

The date and time that this SLO was created. When used in a raw HTTP Query + * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline ServiceLevelObjective& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} + + /** + *

The date and time that this SLO was created. When used in a raw HTTP Query + * API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline ServiceLevelObjective& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} + + + /** + *

The time that this SLO was most recently updated. When used in a raw HTTP + * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } + + /** + *

The time that this SLO was most recently updated. When used in a raw HTTP + * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } + + /** + *

The time that this SLO was most recently updated. When used in a raw HTTP + * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } + + /** + *

The time that this SLO was most recently updated. When used in a raw HTTP + * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } + + /** + *

The time that this SLO was most recently updated. When used in a raw HTTP + * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline ServiceLevelObjective& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} + + /** + *

The time that this SLO was most recently updated. When used in a raw HTTP + * Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, + * 2019-07-01T23:59:59.

+ */ + inline ServiceLevelObjective& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} + + + /** + *

A structure containing information about the performance metric that this SLO + * monitors.

+ */ + inline const ServiceLevelIndicator& GetSli() const{ return m_sli; } + + /** + *

A structure containing information about the performance metric that this SLO + * monitors.

+ */ + inline bool SliHasBeenSet() const { return m_sliHasBeenSet; } + + /** + *

A structure containing information about the performance metric that this SLO + * monitors.

+ */ + inline void SetSli(const ServiceLevelIndicator& value) { m_sliHasBeenSet = true; m_sli = value; } + + /** + *

A structure containing information about the performance metric that this SLO + * monitors.

+ */ + inline void SetSli(ServiceLevelIndicator&& value) { m_sliHasBeenSet = true; m_sli = std::move(value); } + + /** + *

A structure containing information about the performance metric that this SLO + * monitors.

+ */ + inline ServiceLevelObjective& WithSli(const ServiceLevelIndicator& value) { SetSli(value); return *this;} + + /** + *

A structure containing information about the performance metric that this SLO + * monitors.

+ */ + inline ServiceLevelObjective& WithSli(ServiceLevelIndicator&& value) { SetSli(std::move(value)); return *this;} + + + + inline const Goal& GetGoal() const{ return m_goal; } + + + inline bool GoalHasBeenSet() const { return m_goalHasBeenSet; } + + + inline void SetGoal(const Goal& value) { m_goalHasBeenSet = true; m_goal = value; } + + + inline void SetGoal(Goal&& value) { m_goalHasBeenSet = true; m_goal = std::move(value); } + + + inline ServiceLevelObjective& WithGoal(const Goal& value) { SetGoal(value); return *this;} + + + inline ServiceLevelObjective& WithGoal(Goal&& value) { SetGoal(std::move(value)); return *this;} + + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::Utils::DateTime m_createdTime; + bool m_createdTimeHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedTime; + bool m_lastUpdatedTimeHasBeenSet = false; + + ServiceLevelIndicator m_sli; + bool m_sliHasBeenSet = false; + + Goal m_goal; + bool m_goalHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetReport.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetReport.h new file mode 100644 index 00000000000..70cd5eb706c --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetReport.h @@ -0,0 +1,378 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

A structure containing an SLO budget report that you have + * requested.

See Also:

AWS + * API Reference

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

The ARN of the SLO that this report is for.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

The ARN of the SLO that this report is for.

+ */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

The ARN of the SLO that this report is for.

+ */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

The ARN of the SLO that this report is for.

+ */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

The ARN of the SLO that this report is for.

+ */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

The ARN of the SLO that this report is for.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

The ARN of the SLO that this report is for.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

The ARN of the SLO that this report is for.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

The name of the SLO that this report is for.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The name of the SLO that this report is for.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The name of the SLO that this report is for.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The name of the SLO that this report is for.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The name of the SLO that this report is for.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The name of the SLO that this report is for.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The name of the SLO that this report is for.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The name of the SLO that this report is for.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

The status of this SLO, as it relates to the error budget for the entire time + * interval.

  • OK means that the SLO had remaining + * budget above the warning threshold, as of the time that you specified in + * TimeStamp.

  • WARNING means that the + * SLO's remaining budget was below the warning threshold, as of the time that you + * specified in TimeStamp.

  • BREACHED + * means that the SLO's budget was exhausted, as of the time that you specified in + * TimeStamp.

  • INSUFFICIENT_DATA means + * that the specifed start and end times were before the SLO was created, or that + * attainment data is missing.

+ */ + inline const ServiceLevelObjectiveBudgetStatus& GetBudgetStatus() const{ return m_budgetStatus; } + + /** + *

The status of this SLO, as it relates to the error budget for the entire time + * interval.

  • OK means that the SLO had remaining + * budget above the warning threshold, as of the time that you specified in + * TimeStamp.

  • WARNING means that the + * SLO's remaining budget was below the warning threshold, as of the time that you + * specified in TimeStamp.

  • BREACHED + * means that the SLO's budget was exhausted, as of the time that you specified in + * TimeStamp.

  • INSUFFICIENT_DATA means + * that the specifed start and end times were before the SLO was created, or that + * attainment data is missing.

+ */ + inline bool BudgetStatusHasBeenSet() const { return m_budgetStatusHasBeenSet; } + + /** + *

The status of this SLO, as it relates to the error budget for the entire time + * interval.

  • OK means that the SLO had remaining + * budget above the warning threshold, as of the time that you specified in + * TimeStamp.

  • WARNING means that the + * SLO's remaining budget was below the warning threshold, as of the time that you + * specified in TimeStamp.

  • BREACHED + * means that the SLO's budget was exhausted, as of the time that you specified in + * TimeStamp.

  • INSUFFICIENT_DATA means + * that the specifed start and end times were before the SLO was created, or that + * attainment data is missing.

+ */ + inline void SetBudgetStatus(const ServiceLevelObjectiveBudgetStatus& value) { m_budgetStatusHasBeenSet = true; m_budgetStatus = value; } + + /** + *

The status of this SLO, as it relates to the error budget for the entire time + * interval.

  • OK means that the SLO had remaining + * budget above the warning threshold, as of the time that you specified in + * TimeStamp.

  • WARNING means that the + * SLO's remaining budget was below the warning threshold, as of the time that you + * specified in TimeStamp.

  • BREACHED + * means that the SLO's budget was exhausted, as of the time that you specified in + * TimeStamp.

  • INSUFFICIENT_DATA means + * that the specifed start and end times were before the SLO was created, or that + * attainment data is missing.

+ */ + inline void SetBudgetStatus(ServiceLevelObjectiveBudgetStatus&& value) { m_budgetStatusHasBeenSet = true; m_budgetStatus = std::move(value); } + + /** + *

The status of this SLO, as it relates to the error budget for the entire time + * interval.

  • OK means that the SLO had remaining + * budget above the warning threshold, as of the time that you specified in + * TimeStamp.

  • WARNING means that the + * SLO's remaining budget was below the warning threshold, as of the time that you + * specified in TimeStamp.

  • BREACHED + * means that the SLO's budget was exhausted, as of the time that you specified in + * TimeStamp.

  • INSUFFICIENT_DATA means + * that the specifed start and end times were before the SLO was created, or that + * attainment data is missing.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithBudgetStatus(const ServiceLevelObjectiveBudgetStatus& value) { SetBudgetStatus(value); return *this;} + + /** + *

The status of this SLO, as it relates to the error budget for the entire time + * interval.

  • OK means that the SLO had remaining + * budget above the warning threshold, as of the time that you specified in + * TimeStamp.

  • WARNING means that the + * SLO's remaining budget was below the warning threshold, as of the time that you + * specified in TimeStamp.

  • BREACHED + * means that the SLO's budget was exhausted, as of the time that you specified in + * TimeStamp.

  • INSUFFICIENT_DATA means + * that the specifed start and end times were before the SLO was created, or that + * attainment data is missing.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithBudgetStatus(ServiceLevelObjectiveBudgetStatus&& value) { SetBudgetStatus(std::move(value)); return *this;} + + + /** + *

A number between 0 and 100 that represents the percentage of time periods + * that the service has attained the SLO's attainment goal, as of the time of the + * request.

+ */ + inline double GetAttainment() const{ return m_attainment; } + + /** + *

A number between 0 and 100 that represents the percentage of time periods + * that the service has attained the SLO's attainment goal, as of the time of the + * request.

+ */ + inline bool AttainmentHasBeenSet() const { return m_attainmentHasBeenSet; } + + /** + *

A number between 0 and 100 that represents the percentage of time periods + * that the service has attained the SLO's attainment goal, as of the time of the + * request.

+ */ + inline void SetAttainment(double value) { m_attainmentHasBeenSet = true; m_attainment = value; } + + /** + *

A number between 0 and 100 that represents the percentage of time periods + * that the service has attained the SLO's attainment goal, as of the time of the + * request.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithAttainment(double value) { SetAttainment(value); return *this;} + + + /** + *

The total number of seconds in the error budget for the interval.

+ */ + inline int GetTotalBudgetSeconds() const{ return m_totalBudgetSeconds; } + + /** + *

The total number of seconds in the error budget for the interval.

+ */ + inline bool TotalBudgetSecondsHasBeenSet() const { return m_totalBudgetSecondsHasBeenSet; } + + /** + *

The total number of seconds in the error budget for the interval.

+ */ + inline void SetTotalBudgetSeconds(int value) { m_totalBudgetSecondsHasBeenSet = true; m_totalBudgetSeconds = value; } + + /** + *

The total number of seconds in the error budget for the interval.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithTotalBudgetSeconds(int value) { SetTotalBudgetSeconds(value); return *this;} + + + /** + *

The budget amount remaining before the SLO status becomes + * BREACHING, at the time specified in the Timestemp + * parameter of the request. If this value is negative, then the SLO is already in + * BREACHING status.

+ */ + inline int GetBudgetSecondsRemaining() const{ return m_budgetSecondsRemaining; } + + /** + *

The budget amount remaining before the SLO status becomes + * BREACHING, at the time specified in the Timestemp + * parameter of the request. If this value is negative, then the SLO is already in + * BREACHING status.

+ */ + inline bool BudgetSecondsRemainingHasBeenSet() const { return m_budgetSecondsRemainingHasBeenSet; } + + /** + *

The budget amount remaining before the SLO status becomes + * BREACHING, at the time specified in the Timestemp + * parameter of the request. If this value is negative, then the SLO is already in + * BREACHING status.

+ */ + inline void SetBudgetSecondsRemaining(int value) { m_budgetSecondsRemainingHasBeenSet = true; m_budgetSecondsRemaining = value; } + + /** + *

The budget amount remaining before the SLO status becomes + * BREACHING, at the time specified in the Timestemp + * parameter of the request. If this value is negative, then the SLO is already in + * BREACHING status.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithBudgetSecondsRemaining(int value) { SetBudgetSecondsRemaining(value); return *this;} + + + /** + *

A structure that contains information about the performance metric that this + * SLO monitors.

+ */ + inline const ServiceLevelIndicator& GetSli() const{ return m_sli; } + + /** + *

A structure that contains information about the performance metric that this + * SLO monitors.

+ */ + inline bool SliHasBeenSet() const { return m_sliHasBeenSet; } + + /** + *

A structure that contains information about the performance metric that this + * SLO monitors.

+ */ + inline void SetSli(const ServiceLevelIndicator& value) { m_sliHasBeenSet = true; m_sli = value; } + + /** + *

A structure that contains information about the performance metric that this + * SLO monitors.

+ */ + inline void SetSli(ServiceLevelIndicator&& value) { m_sliHasBeenSet = true; m_sli = std::move(value); } + + /** + *

A structure that contains information about the performance metric that this + * SLO monitors.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithSli(const ServiceLevelIndicator& value) { SetSli(value); return *this;} + + /** + *

A structure that contains information about the performance metric that this + * SLO monitors.

+ */ + inline ServiceLevelObjectiveBudgetReport& WithSli(ServiceLevelIndicator&& value) { SetSli(std::move(value)); return *this;} + + + + inline const Goal& GetGoal() const{ return m_goal; } + + + inline bool GoalHasBeenSet() const { return m_goalHasBeenSet; } + + + inline void SetGoal(const Goal& value) { m_goalHasBeenSet = true; m_goal = value; } + + + inline void SetGoal(Goal&& value) { m_goalHasBeenSet = true; m_goal = std::move(value); } + + + inline ServiceLevelObjectiveBudgetReport& WithGoal(const Goal& value) { SetGoal(value); return *this;} + + + inline ServiceLevelObjectiveBudgetReport& WithGoal(Goal&& value) { SetGoal(std::move(value)); return *this;} + + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + ServiceLevelObjectiveBudgetStatus m_budgetStatus; + bool m_budgetStatusHasBeenSet = false; + + double m_attainment; + bool m_attainmentHasBeenSet = false; + + int m_totalBudgetSeconds; + bool m_totalBudgetSecondsHasBeenSet = false; + + int m_budgetSecondsRemaining; + bool m_budgetSecondsRemainingHasBeenSet = false; + + ServiceLevelIndicator m_sli; + bool m_sliHasBeenSet = false; + + Goal m_goal; + bool m_goalHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetReportError.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetReportError.h new file mode 100644 index 00000000000..9cfe6eefb5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetReportError.h @@ -0,0 +1,222 @@ +/** + * 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 ApplicationSignals +{ +namespace Model +{ + + /** + *

A structure containing information about one error that occurred during a BatchGetServiceLevelObjectiveBudgetReport + * operation.

See Also:

AWS + * API Reference

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

The name of the SLO that this error is related to.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The name of the SLO that this error is related to.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The name of the SLO that this error is related to.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The name of the SLO that this error is related to.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The name of the SLO that this error is related to.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The name of the SLO that this error is related to.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The name of the SLO that this error is related to.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The name of the SLO that this error is related to.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

The ARN of the SLO that this error is related to.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

The ARN of the SLO that this error is related to.

+ */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

The ARN of the SLO that this error is related to.

+ */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

The ARN of the SLO that this error is related to.

+ */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

The ARN of the SLO that this error is related to.

+ */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

The ARN of the SLO that this error is related to.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

The ARN of the SLO that this error is related to.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

The ARN of the SLO that this error is related to.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

The error code for this error.

+ */ + inline const Aws::String& GetErrorCode() const{ return m_errorCode; } + + /** + *

The error code for this error.

+ */ + inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } + + /** + *

The error code for this error.

+ */ + inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } + + /** + *

The error code for this error.

+ */ + inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); } + + /** + *

The error code for this error.

+ */ + inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); } + + /** + *

The error code for this error.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;} + + /** + *

The error code for this error.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;} + + /** + *

The error code for this error.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithErrorCode(const char* value) { SetErrorCode(value); return *this;} + + + /** + *

The message for this error.

+ */ + inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; } + + /** + *

The message for this error.

+ */ + inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } + + /** + *

The message for this error.

+ */ + inline void SetErrorMessage(const Aws::String& value) { m_errorMessageHasBeenSet = true; m_errorMessage = value; } + + /** + *

The message for this error.

+ */ + inline void SetErrorMessage(Aws::String&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::move(value); } + + /** + *

The message for this error.

+ */ + inline void SetErrorMessage(const char* value) { m_errorMessageHasBeenSet = true; m_errorMessage.assign(value); } + + /** + *

The message for this error.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;} + + /** + *

The message for this error.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;} + + /** + *

The message for this error.

+ */ + inline ServiceLevelObjectiveBudgetReportError& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;} + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_errorCode; + bool m_errorCodeHasBeenSet = false; + + Aws::String m_errorMessage; + bool m_errorMessageHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetStatus.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetStatus.h new file mode 100644 index 00000000000..da08a5a01e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveBudgetStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + enum class ServiceLevelObjectiveBudgetStatus + { + NOT_SET, + OK, + WARNING, + BREACHED, + INSUFFICIENT_DATA + }; + +namespace ServiceLevelObjectiveBudgetStatusMapper +{ +AWS_APPLICATIONSIGNALS_API ServiceLevelObjectiveBudgetStatus GetServiceLevelObjectiveBudgetStatusForName(const Aws::String& name); + +AWS_APPLICATIONSIGNALS_API Aws::String GetNameForServiceLevelObjectiveBudgetStatus(ServiceLevelObjectiveBudgetStatus value); +} // namespace ServiceLevelObjectiveBudgetStatusMapper +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveSummary.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveSummary.h new file mode 100644 index 00000000000..c7fde0df981 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceLevelObjectiveSummary.h @@ -0,0 +1,465 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

A structure that contains information about one service level objective (SLO) + * created in Application Signals.

See Also:

AWS + * API Reference

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

The ARN of this service level objective.

+ */ + inline const Aws::String& GetArn() const{ return m_arn; } + + /** + *

The ARN of this service level objective.

+ */ + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + + /** + *

The ARN of this service level objective.

+ */ + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + + /** + *

The ARN of this service level objective.

+ */ + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + + /** + *

The ARN of this service level objective.

+ */ + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + + /** + *

The ARN of this service level objective.

+ */ + inline ServiceLevelObjectiveSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + + /** + *

The ARN of this service level objective.

+ */ + inline ServiceLevelObjectiveSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + + /** + *

The ARN of this service level objective.

+ */ + inline ServiceLevelObjectiveSummary& WithArn(const char* value) { SetArn(value); return *this;} + + + /** + *

The name of the service level objective.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The name of the service level objective.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The name of the service level objective.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The name of the service level objective.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The name of the service level objective.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The name of the service level objective.

+ */ + inline ServiceLevelObjectiveSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The name of the service level objective.

+ */ + inline ServiceLevelObjectiveSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The name of the service level objective.

+ */ + inline ServiceLevelObjectiveSummary& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map. It can include the following fields.

    + *
  • Type designates the type of object this service level + * objective is for.

  • ResourceType specifies the + * type of the resource. This field is used only when the value of the + * Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceLevelObjectiveSummary& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

If this service level objective is specific to a single operation, this field + * displays the name of that operation.

+ */ + inline const Aws::String& GetOperationName() const{ return m_operationName; } + + /** + *

If this service level objective is specific to a single operation, this field + * displays the name of that operation.

+ */ + inline bool OperationNameHasBeenSet() const { return m_operationNameHasBeenSet; } + + /** + *

If this service level objective is specific to a single operation, this field + * displays the name of that operation.

+ */ + inline void SetOperationName(const Aws::String& value) { m_operationNameHasBeenSet = true; m_operationName = value; } + + /** + *

If this service level objective is specific to a single operation, this field + * displays the name of that operation.

+ */ + inline void SetOperationName(Aws::String&& value) { m_operationNameHasBeenSet = true; m_operationName = std::move(value); } + + /** + *

If this service level objective is specific to a single operation, this field + * displays the name of that operation.

+ */ + inline void SetOperationName(const char* value) { m_operationNameHasBeenSet = true; m_operationName.assign(value); } + + /** + *

If this service level objective is specific to a single operation, this field + * displays the name of that operation.

+ */ + inline ServiceLevelObjectiveSummary& WithOperationName(const Aws::String& value) { SetOperationName(value); return *this;} + + /** + *

If this service level objective is specific to a single operation, this field + * displays the name of that operation.

+ */ + inline ServiceLevelObjectiveSummary& WithOperationName(Aws::String&& value) { SetOperationName(std::move(value)); return *this;} + + /** + *

If this service level objective is specific to a single operation, this field + * displays the name of that operation.

+ */ + inline ServiceLevelObjectiveSummary& WithOperationName(const char* value) { SetOperationName(value); return *this;} + + + /** + *

The date and time that this service level objective was created. It is + * expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } + + /** + *

The date and time that this service level objective was created. It is + * expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } + + /** + *

The date and time that this service level objective was created. It is + * expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } + + /** + *

The date and time that this service level objective was created. It is + * expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } + + /** + *

The date and time that this service level objective was created. It is + * expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline ServiceLevelObjectiveSummary& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} + + /** + *

The date and time that this service level objective was created. It is + * expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

+ */ + inline ServiceLevelObjectiveSummary& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} + + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + Aws::String m_operationName; + bool m_operationNameHasBeenSet = false; + + Aws::Utils::DateTime m_createdTime; + bool m_createdTimeHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceOperation.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceOperation.h new file mode 100644 index 00000000000..e4bf4b2d190 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceOperation.h @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains information about an operation discovered by + * Application Signals. An operation is a specific function performed by a service + * that was discovered by Application Signals, and is often an API that is called + * by an upstream dependent.

See Also:

AWS + * API Reference

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

The name of the operation, discovered by Application Signals.

+ */ + inline const Aws::String& GetName() const{ return m_name; } + + /** + *

The name of the operation, discovered by Application Signals.

+ */ + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + + /** + *

The name of the operation, discovered by Application Signals.

+ */ + inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } + + /** + *

The name of the operation, discovered by Application Signals.

+ */ + inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + + /** + *

The name of the operation, discovered by Application Signals.

+ */ + inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } + + /** + *

The name of the operation, discovered by Application Signals.

+ */ + inline ServiceOperation& WithName(const Aws::String& value) { SetName(value); return *this;} + + /** + *

The name of the operation, discovered by Application Signals.

+ */ + inline ServiceOperation& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + + /** + *

The name of the operation, discovered by Application Signals.

+ */ + inline ServiceOperation& WithName(const char* value) { SetName(value); return *this;} + + + /** + *

An array of structures that each contain information about one metric + * associated with this service operation that was discovered by Application + * Signals.

+ */ + inline const Aws::Vector& GetMetricReferences() const{ return m_metricReferences; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service operation that was discovered by Application + * Signals.

+ */ + inline bool MetricReferencesHasBeenSet() const { return m_metricReferencesHasBeenSet; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service operation that was discovered by Application + * Signals.

+ */ + inline void SetMetricReferences(const Aws::Vector& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = value; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service operation that was discovered by Application + * Signals.

+ */ + inline void SetMetricReferences(Aws::Vector&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = std::move(value); } + + /** + *

An array of structures that each contain information about one metric + * associated with this service operation that was discovered by Application + * Signals.

+ */ + inline ServiceOperation& WithMetricReferences(const Aws::Vector& value) { SetMetricReferences(value); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service operation that was discovered by Application + * Signals.

+ */ + inline ServiceOperation& WithMetricReferences(Aws::Vector&& value) { SetMetricReferences(std::move(value)); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service operation that was discovered by Application + * Signals.

+ */ + inline ServiceOperation& AddMetricReferences(const MetricReference& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(value); return *this; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service operation that was discovered by Application + * Signals.

+ */ + inline ServiceOperation& AddMetricReferences(MetricReference&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_metricReferences; + bool m_metricReferencesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceSummary.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceSummary.h new file mode 100644 index 00000000000..dfe8c876f0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/ServiceSummary.h @@ -0,0 +1,606 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + + /** + *

This structure contains information about one of your services that was + * discoverd by Application Signals

See Also:

AWS + * API Reference

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

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline const Aws::Map& GetKeyAttributes() const{ return m_keyAttributes; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(const Aws::Map& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = value; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline void SetKeyAttributes(Aws::Map&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::move(value); } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& WithKeyAttributes(const Aws::Map& value) { SetKeyAttributes(value); return *this;} + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& WithKeyAttributes(Aws::Map&& value) { SetKeyAttributes(std::move(value)); return *this;} + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& AddKeyAttributes(const Aws::String& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& AddKeyAttributes(Aws::String&& key, const Aws::String& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& AddKeyAttributes(const Aws::String& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& AddKeyAttributes(Aws::String&& key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), std::move(value)); return *this; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& AddKeyAttributes(const char* key, Aws::String&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, std::move(value)); return *this; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& AddKeyAttributes(Aws::String&& key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::move(key), value); return *this; } + + /** + *

This is a string-to-string map that help identify the objects discovered by + * Application Signals. It can include the following fields.

  • + * Type designates the type of object this is.

  • + * ResourceType specifies the type of the resource. This field is used + * only when the value of the Type field is Resource or + * AWS::Resource.

  • Name specifies the + * name of the object. This is used only if the value of the Type + * field is Service, RemoteService, or + * AWS::Service.

  • Identifier identifies + * the resource objects of this resource. This is used only if the value of the + * Type field is Resource or + * AWS::Resource.

  • Environment + * specifies the location where this object is hosted, or what it belongs to.

    + *
+ */ + inline ServiceSummary& AddKeyAttributes(const char* key, const char* value) { m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(key, value); return *this; } + + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline const Aws::Vector>& GetAttributeMaps() const{ return m_attributeMaps; } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline bool AttributeMapsHasBeenSet() const { return m_attributeMapsHasBeenSet; } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline void SetAttributeMaps(const Aws::Vector>& value) { m_attributeMapsHasBeenSet = true; m_attributeMaps = value; } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline void SetAttributeMaps(Aws::Vector>&& value) { m_attributeMapsHasBeenSet = true; m_attributeMaps = std::move(value); } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline ServiceSummary& WithAttributeMaps(const Aws::Vector>& value) { SetAttributeMaps(value); return *this;} + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline ServiceSummary& WithAttributeMaps(Aws::Vector>&& value) { SetAttributeMaps(std::move(value)); return *this;} + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline ServiceSummary& AddAttributeMaps(const Aws::Map& value) { m_attributeMapsHasBeenSet = true; m_attributeMaps.push_back(value); return *this; } + + /** + *

This structure contains one or more string-to-string maps that help identify + * this service. It can include platform attributes, application + * attributes, and telemetry attributes.

Platform attributes + * contain information the service's platform.

  • + * PlatformType defines the hosted-in platform.

  • + * EKS.Cluster is the name of the Amazon EKS cluster.

  • + *

    K8s.Cluster is the name of the self-hosted Kubernetes + * cluster.

  • K8s.Namespace is the name of the + * Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

  • + *

    K8s.Workload is the name of the Kubernetes workload in either + * Amazon EKS or Kubernetes clusters.

  • K8s.Node is + * the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

    + *
  • K8s.Pod is the name of the Kubernetes pod in either + * Amazon EKS or Kubernetes clusters.

  • + * EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling + * group.

  • EC2.InstanceId is the ID of the Amazon + * EC2 instance.

  • Host is the name of the host, for + * all platform types.

Applciation attributes contain + * information about the application.

  • + * AWS.Application is the application's name in Amazon Web Services + * Service Catalog AppRegistry.

  • AWS.Application.ARN + * is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

    + *

Telemetry attributes contain telemetry information.

  • + *

    Telemetry.SDK is the fingerprint of the OpenTelemetry SDK + * version for instrumented services.

  • + * Telemetry.Agent is the fingerprint of the agent used to collect and + * send telemetry data.

  • Telemetry.Source Specifies + * the point of application where the telemetry was collected or specifies what was + * used for the source of telemetry data.

+ */ + inline ServiceSummary& AddAttributeMaps(Aws::Map&& value) { m_attributeMapsHasBeenSet = true; m_attributeMaps.push_back(std::move(value)); return *this; } + + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline const Aws::Vector& GetMetricReferences() const{ return m_metricReferences; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline bool MetricReferencesHasBeenSet() const { return m_metricReferencesHasBeenSet; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline void SetMetricReferences(const Aws::Vector& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = value; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline void SetMetricReferences(Aws::Vector&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences = std::move(value); } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline ServiceSummary& WithMetricReferences(const Aws::Vector& value) { SetMetricReferences(value); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline ServiceSummary& WithMetricReferences(Aws::Vector&& value) { SetMetricReferences(std::move(value)); return *this;} + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline ServiceSummary& AddMetricReferences(const MetricReference& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(value); return *this; } + + /** + *

An array of structures that each contain information about one metric + * associated with this service.

+ */ + inline ServiceSummary& AddMetricReferences(MetricReference&& value) { m_metricReferencesHasBeenSet = true; m_metricReferences.push_back(std::move(value)); return *this; } + + private: + + Aws::Map m_keyAttributes; + bool m_keyAttributesHasBeenSet = false; + + Aws::Vector> m_attributeMaps; + bool m_attributeMapsHasBeenSet = false; + + Aws::Vector m_metricReferences; + bool m_metricReferencesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StandardUnit.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StandardUnit.h new file mode 100644 index 00000000000..7443d5c65d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StandardUnit.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + enum class StandardUnit + { + NOT_SET, + Microseconds, + Milliseconds, + Seconds, + Bytes, + Kilobytes, + Megabytes, + Gigabytes, + Terabytes, + Bits, + Kilobits, + Megabits, + Gigabits, + Terabits, + Percent, + Count, + Bytes_Second, + Kilobytes_Second, + Megabytes_Second, + Gigabytes_Second, + Terabytes_Second, + Bits_Second, + Kilobits_Second, + Megabits_Second, + Gigabits_Second, + Terabits_Second, + Count_Second, + None + }; + +namespace StandardUnitMapper +{ +AWS_APPLICATIONSIGNALS_API StandardUnit GetStandardUnitForName(const Aws::String& name); + +AWS_APPLICATIONSIGNALS_API Aws::String GetNameForStandardUnit(StandardUnit value); +} // namespace StandardUnitMapper +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StartDiscoveryRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StartDiscoveryRequest.h new file mode 100644 index 00000000000..b768d59fabd --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StartDiscoveryRequest.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class StartDiscoveryRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API StartDiscoveryRequest(); + + // 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 "StartDiscovery"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StartDiscoveryResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StartDiscoveryResult.h new file mode 100644 index 00000000000..b48cbd7d9ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/StartDiscoveryResult.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class StartDiscoveryResult + { + public: + AWS_APPLICATIONSIGNALS_API StartDiscoveryResult(); + AWS_APPLICATIONSIGNALS_API StartDiscoveryResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API StartDiscoveryResult& operator=(const Aws::AmazonWebServiceResult& result); + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline StartDiscoveryResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline StartDiscoveryResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline StartDiscoveryResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Tag.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Tag.h new file mode 100644 index 00000000000..162ab77587a --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/Tag.h @@ -0,0 +1,141 @@ +/** + * 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 ApplicationSignals +{ +namespace Model +{ + + /** + *

A key-value pair associated with a resource. Tags can help you organize and + * categorize your resources.

See Also:

AWS + * API Reference

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

A string that you can use to assign a value. The combination of tag keys and + * values can help you organize and categorize your resources.

+ */ + inline const Aws::String& GetKey() const{ return m_key; } + + /** + *

A string that you can use to assign a value. The combination of tag keys and + * values can help you organize and categorize your resources.

+ */ + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + + /** + *

A string that you can use to assign a value. The combination of tag keys and + * values can help you organize and categorize your resources.

+ */ + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + + /** + *

A string that you can use to assign a value. The combination of tag keys and + * values can help you organize and categorize your resources.

+ */ + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + + /** + *

A string that you can use to assign a value. The combination of tag keys and + * values can help you organize and categorize your resources.

+ */ + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + + /** + *

A string that you can use to assign a value. The combination of tag keys and + * values can help you organize and categorize your resources.

+ */ + inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;} + + /** + *

A string that you can use to assign a value. The combination of tag keys and + * values can help you organize and categorize your resources.

+ */ + inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + + /** + *

A string that you can use to assign a value. The combination of tag keys and + * values can help you organize and categorize your resources.

+ */ + inline Tag& WithKey(const char* value) { SetKey(value); return *this;} + + + /** + *

The value for the specified tag key.

+ */ + inline const Aws::String& GetValue() const{ return m_value; } + + /** + *

The value for the specified tag key.

+ */ + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + + /** + *

The value for the specified tag key.

+ */ + inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } + + /** + *

The value for the specified tag key.

+ */ + inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } + + /** + *

The value for the specified tag key.

+ */ + inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } + + /** + *

The value for the specified tag key.

+ */ + inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;} + + /** + *

The value for the specified tag key.

+ */ + inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + + /** + *

The value for the specified tag key.

+ */ + inline Tag& WithValue(const char* value) { SetValue(value); return *this;} + + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/TagResourceRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/TagResourceRequest.h new file mode 100644 index 00000000000..1bd7d0a4311 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/TagResourceRequest.h @@ -0,0 +1,177 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class TagResourceRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API TagResourceRequest(); + + // 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 "TagResource"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * set tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * set tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * set tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * set tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * set tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * set tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * set tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * set tags for.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

The list of key-value pairs to associate with the alarm.

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

The list of key-value pairs to associate with the alarm.

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

The list of key-value pairs to associate with the alarm.

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

The list of key-value pairs to associate with the alarm.

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

The list of key-value pairs to associate with the alarm.

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

The list of key-value pairs to associate with the alarm.

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

The list of key-value pairs to associate with the alarm.

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

The list of key-value pairs to associate with the alarm.

+ */ + inline TagResourceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/TagResourceResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/TagResourceResult.h new file mode 100644 index 00000000000..6fb9f49f895 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/TagResourceResult.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class TagResourceResult + { + public: + AWS_APPLICATIONSIGNALS_API TagResourceResult(); + AWS_APPLICATIONSIGNALS_API TagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API TagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline TagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline TagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline TagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UntagResourceRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UntagResourceRequest.h new file mode 100644 index 00000000000..2f5faa58aba --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UntagResourceRequest.h @@ -0,0 +1,181 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class UntagResourceRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API UntagResourceRequest(); + + // 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 "UntagResource"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * delete tags from.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * delete tags from.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * delete tags from.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * delete tags from.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * delete tags from.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * delete tags from.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * delete tags from.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) of the CloudWatch resource that you want to + * delete tags from.

The ARN format of an Application Signals SLO is + * arn:aws:cloudwatch:Region:account-id:slo:slo-name + *

For more information about ARN format, see + * Resource Types Defined by Amazon CloudWatch in the Amazon Web Services + * General Reference.

+ */ + inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} + + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline UntagResourceRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline UntagResourceRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } + + /** + *

The list of tag keys to remove from the resource.

+ */ + inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } + + private: + + Aws::String m_resourceArn; + bool m_resourceArnHasBeenSet = false; + + Aws::Vector m_tagKeys; + bool m_tagKeysHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UntagResourceResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UntagResourceResult.h new file mode 100644 index 00000000000..ebd72bc8b92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UntagResourceResult.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class UntagResourceResult + { + public: + AWS_APPLICATIONSIGNALS_API UntagResourceResult(); + AWS_APPLICATIONSIGNALS_API UntagResourceResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API UntagResourceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline UntagResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UntagResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UntagResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UpdateServiceLevelObjectiveRequest.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UpdateServiceLevelObjectiveRequest.h new file mode 100644 index 00000000000..0a95ec988ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UpdateServiceLevelObjectiveRequest.h @@ -0,0 +1,217 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + + /** + */ + class UpdateServiceLevelObjectiveRequest : public ApplicationSignalsRequest + { + public: + AWS_APPLICATIONSIGNALS_API UpdateServiceLevelObjectiveRequest(); + + // 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 "UpdateServiceLevelObjective"; } + + AWS_APPLICATIONSIGNALS_API Aws::String SerializePayload() const override; + + + /** + *

The Amazon Resource Name (ARN) or name of the service level objective that + * you want to update.

+ */ + inline const Aws::String& GetId() const{ return m_id; } + + /** + *

The Amazon Resource Name (ARN) or name of the service level objective that + * you want to update.

+ */ + inline bool IdHasBeenSet() const { return m_idHasBeenSet; } + + /** + *

The Amazon Resource Name (ARN) or name of the service level objective that + * you want to update.

+ */ + inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } + + /** + *

The Amazon Resource Name (ARN) or name of the service level objective that + * you want to update.

+ */ + inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } + + /** + *

The Amazon Resource Name (ARN) or name of the service level objective that + * you want to update.

+ */ + inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } + + /** + *

The Amazon Resource Name (ARN) or name of the service level objective that + * you want to update.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + + /** + *

The Amazon Resource Name (ARN) or name of the service level objective that + * you want to update.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + + /** + *

The Amazon Resource Name (ARN) or name of the service level objective that + * you want to update.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithId(const char* value) { SetId(value); return *this;} + + + /** + *

An optional description for the SLO.

+ */ + inline const Aws::String& GetDescription() const{ return m_description; } + + /** + *

An optional description for the SLO.

+ */ + inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } + + /** + *

An optional description for the SLO.

+ */ + inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } + + /** + *

An optional description for the SLO.

+ */ + inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } + + /** + *

An optional description for the SLO.

+ */ + inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } + + /** + *

An optional description for the SLO.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + + /** + *

An optional description for the SLO.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + + /** + *

An optional description for the SLO.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithDescription(const char* value) { SetDescription(value); return *this;} + + + /** + *

A structure that contains information about what performance metric this SLO + * will monitor.

+ */ + inline const ServiceLevelIndicatorConfig& GetSliConfig() const{ return m_sliConfig; } + + /** + *

A structure that contains information about what performance metric this SLO + * will monitor.

+ */ + inline bool SliConfigHasBeenSet() const { return m_sliConfigHasBeenSet; } + + /** + *

A structure that contains information about what performance metric this SLO + * will monitor.

+ */ + inline void SetSliConfig(const ServiceLevelIndicatorConfig& value) { m_sliConfigHasBeenSet = true; m_sliConfig = value; } + + /** + *

A structure that contains information about what performance metric this SLO + * will monitor.

+ */ + inline void SetSliConfig(ServiceLevelIndicatorConfig&& value) { m_sliConfigHasBeenSet = true; m_sliConfig = std::move(value); } + + /** + *

A structure that contains information about what performance metric this SLO + * will monitor.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithSliConfig(const ServiceLevelIndicatorConfig& value) { SetSliConfig(value); return *this;} + + /** + *

A structure that contains information about what performance metric this SLO + * will monitor.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithSliConfig(ServiceLevelIndicatorConfig&& value) { SetSliConfig(std::move(value)); return *this;} + + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline const Goal& GetGoal() const{ return m_goal; } + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline bool GoalHasBeenSet() const { return m_goalHasBeenSet; } + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline void SetGoal(const Goal& value) { m_goalHasBeenSet = true; m_goal = value; } + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline void SetGoal(Goal&& value) { m_goalHasBeenSet = true; m_goal = std::move(value); } + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithGoal(const Goal& value) { SetGoal(value); return *this;} + + /** + *

A structure that contains the attributes that determine the goal of the SLO. + * This includes the time period for evaluation and the attainment threshold.

+ */ + inline UpdateServiceLevelObjectiveRequest& WithGoal(Goal&& value) { SetGoal(std::move(value)); return *this;} + + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + ServiceLevelIndicatorConfig m_sliConfig; + bool m_sliConfigHasBeenSet = false; + + Goal m_goal; + bool m_goalHasBeenSet = false; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UpdateServiceLevelObjectiveResult.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UpdateServiceLevelObjectiveResult.h new file mode 100644 index 00000000000..24675ac3153 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/model/UpdateServiceLevelObjectiveResult.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ApplicationSignals +{ +namespace Model +{ + class UpdateServiceLevelObjectiveResult + { + public: + AWS_APPLICATIONSIGNALS_API UpdateServiceLevelObjectiveResult(); + AWS_APPLICATIONSIGNALS_API UpdateServiceLevelObjectiveResult(const Aws::AmazonWebServiceResult& result); + AWS_APPLICATIONSIGNALS_API UpdateServiceLevelObjectiveResult& operator=(const Aws::AmazonWebServiceResult& result); + + + /** + *

A structure that contains information about the SLO that you just + * updated.

+ */ + inline const ServiceLevelObjective& GetSlo() const{ return m_slo; } + + /** + *

A structure that contains information about the SLO that you just + * updated.

+ */ + inline void SetSlo(const ServiceLevelObjective& value) { m_slo = value; } + + /** + *

A structure that contains information about the SLO that you just + * updated.

+ */ + inline void SetSlo(ServiceLevelObjective&& value) { m_slo = std::move(value); } + + /** + *

A structure that contains information about the SLO that you just + * updated.

+ */ + inline UpdateServiceLevelObjectiveResult& WithSlo(const ServiceLevelObjective& value) { SetSlo(value); return *this;} + + /** + *

A structure that contains information about the SLO that you just + * updated.

+ */ + inline UpdateServiceLevelObjectiveResult& WithSlo(ServiceLevelObjective&& value) { SetSlo(std::move(value)); return *this;} + + + + inline const Aws::String& GetRequestId() const{ return m_requestId; } + + + inline void SetRequestId(const Aws::String& value) { m_requestId = value; } + + + inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } + + + inline void SetRequestId(const char* value) { m_requestId.assign(value); } + + + inline UpdateServiceLevelObjectiveResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + + + inline UpdateServiceLevelObjectiveResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + + + inline UpdateServiceLevelObjectiveResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + + private: + + ServiceLevelObjective m_slo; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClient.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClient.cpp new file mode 100644 index 00000000000..54cb9bf2262 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClient.cpp @@ -0,0 +1,657 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::ApplicationSignals; +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace ApplicationSignals + { + const char SERVICE_NAME[] = "application-signals"; + const char ALLOCATION_TAG[] = "ApplicationSignalsClient"; + } +} +const char* ApplicationSignalsClient::GetServiceName() {return SERVICE_NAME;} +const char* ApplicationSignalsClient::GetAllocationTag() {return ALLOCATION_TAG;} + +ApplicationSignalsClient::ApplicationSignalsClient(const ApplicationSignals::ApplicationSignalsClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +ApplicationSignalsClient::ApplicationSignalsClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const ApplicationSignals::ApplicationSignalsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +ApplicationSignalsClient::ApplicationSignalsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const ApplicationSignals::ApplicationSignalsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + ApplicationSignalsClient::ApplicationSignalsClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +ApplicationSignalsClient::ApplicationSignalsClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +ApplicationSignalsClient::ApplicationSignalsClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_executor(clientConfiguration.executor), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +ApplicationSignalsClient::~ApplicationSignalsClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& ApplicationSignalsClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void ApplicationSignalsClient::init(const ApplicationSignals::ApplicationSignalsClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Application Signals"); + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void ApplicationSignalsClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +BatchGetServiceLevelObjectiveBudgetReportOutcome ApplicationSignalsClient::BatchGetServiceLevelObjectiveBudgetReport(const BatchGetServiceLevelObjectiveBudgetReportRequest& request) const +{ + AWS_OPERATION_GUARD(BatchGetServiceLevelObjectiveBudgetReport); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, BatchGetServiceLevelObjectiveBudgetReport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, BatchGetServiceLevelObjectiveBudgetReport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, BatchGetServiceLevelObjectiveBudgetReport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".BatchGetServiceLevelObjectiveBudgetReport", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> BatchGetServiceLevelObjectiveBudgetReportOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, BatchGetServiceLevelObjectiveBudgetReport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/budget-report"); + return BatchGetServiceLevelObjectiveBudgetReportOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CreateServiceLevelObjectiveOutcome ApplicationSignalsClient::CreateServiceLevelObjective(const CreateServiceLevelObjectiveRequest& request) const +{ + AWS_OPERATION_GUARD(CreateServiceLevelObjective); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateServiceLevelObjective, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateServiceLevelObjective, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateServiceLevelObjective, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateServiceLevelObjective", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateServiceLevelObjectiveOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateServiceLevelObjective, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/slo"); + return CreateServiceLevelObjectiveOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteServiceLevelObjectiveOutcome ApplicationSignalsClient::DeleteServiceLevelObjective(const DeleteServiceLevelObjectiveRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteServiceLevelObjective); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteServiceLevelObjective, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteServiceLevelObjective", "Required field: Id, is not set"); + return DeleteServiceLevelObjectiveOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteServiceLevelObjective, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteServiceLevelObjective, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteServiceLevelObjective", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteServiceLevelObjectiveOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteServiceLevelObjective, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/slo/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return DeleteServiceLevelObjectiveOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetServiceOutcome ApplicationSignalsClient::GetService(const GetServiceRequest& request) const +{ + AWS_OPERATION_GUARD(GetService); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetService, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StartTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetService", "Required field: StartTime, is not set"); + return GetServiceOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [StartTime]", false)); + } + if (!request.EndTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetService", "Required field: EndTime, is not set"); + return GetServiceOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EndTime]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetService, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetService, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetService", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetServiceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetService, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/service"); + return GetServiceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetServiceLevelObjectiveOutcome ApplicationSignalsClient::GetServiceLevelObjective(const GetServiceLevelObjectiveRequest& request) const +{ + AWS_OPERATION_GUARD(GetServiceLevelObjective); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetServiceLevelObjective, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetServiceLevelObjective", "Required field: Id, is not set"); + return GetServiceLevelObjectiveOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetServiceLevelObjective, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetServiceLevelObjective, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetServiceLevelObjective", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetServiceLevelObjectiveOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetServiceLevelObjective, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/slo/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return GetServiceLevelObjectiveOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListServiceDependenciesOutcome ApplicationSignalsClient::ListServiceDependencies(const ListServiceDependenciesRequest& request) const +{ + AWS_OPERATION_GUARD(ListServiceDependencies); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListServiceDependencies, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StartTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServiceDependencies", "Required field: StartTime, is not set"); + return ListServiceDependenciesOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [StartTime]", false)); + } + if (!request.EndTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServiceDependencies", "Required field: EndTime, is not set"); + return ListServiceDependenciesOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EndTime]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListServiceDependencies, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListServiceDependencies, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListServiceDependencies", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListServiceDependenciesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListServiceDependencies, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/service-dependencies"); + return ListServiceDependenciesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListServiceDependentsOutcome ApplicationSignalsClient::ListServiceDependents(const ListServiceDependentsRequest& request) const +{ + AWS_OPERATION_GUARD(ListServiceDependents); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListServiceDependents, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StartTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServiceDependents", "Required field: StartTime, is not set"); + return ListServiceDependentsOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [StartTime]", false)); + } + if (!request.EndTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServiceDependents", "Required field: EndTime, is not set"); + return ListServiceDependentsOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EndTime]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListServiceDependents, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListServiceDependents, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListServiceDependents", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListServiceDependentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListServiceDependents, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/service-dependents"); + return ListServiceDependentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListServiceLevelObjectivesOutcome ApplicationSignalsClient::ListServiceLevelObjectives(const ListServiceLevelObjectivesRequest& request) const +{ + AWS_OPERATION_GUARD(ListServiceLevelObjectives); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListServiceLevelObjectives, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListServiceLevelObjectives, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListServiceLevelObjectives, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListServiceLevelObjectives", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListServiceLevelObjectivesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListServiceLevelObjectives, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/slos"); + return ListServiceLevelObjectivesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListServiceOperationsOutcome ApplicationSignalsClient::ListServiceOperations(const ListServiceOperationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListServiceOperations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListServiceOperations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StartTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServiceOperations", "Required field: StartTime, is not set"); + return ListServiceOperationsOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [StartTime]", false)); + } + if (!request.EndTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServiceOperations", "Required field: EndTime, is not set"); + return ListServiceOperationsOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EndTime]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListServiceOperations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListServiceOperations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListServiceOperations", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListServiceOperationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListServiceOperations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/service-operations"); + return ListServiceOperationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListServicesOutcome ApplicationSignalsClient::ListServices(const ListServicesRequest& request) const +{ + AWS_OPERATION_GUARD(ListServices); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListServices, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StartTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServices", "Required field: StartTime, is not set"); + return ListServicesOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [StartTime]", false)); + } + if (!request.EndTimeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListServices", "Required field: EndTime, is not set"); + return ListServicesOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [EndTime]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListServices, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListServices, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListServices", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListServicesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListServices, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/services"); + return ListServicesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListTagsForResourceOutcome ApplicationSignalsClient::ListTagsForResource(const ListTagsForResourceRequest& request) const +{ + AWS_OPERATION_GUARD(ListTagsForResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ResourceArnHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); + return ListTagsForResourceOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTagsForResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTagsForResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTagsForResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTagsForResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tags"); + return ListTagsForResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +StartDiscoveryOutcome ApplicationSignalsClient::StartDiscovery(const StartDiscoveryRequest& request) const +{ + AWS_OPERATION_GUARD(StartDiscovery); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, StartDiscovery, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, StartDiscovery, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, StartDiscovery, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".StartDiscovery", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> StartDiscoveryOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, StartDiscovery, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/start-discovery"); + return StartDiscoveryOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +TagResourceOutcome ApplicationSignalsClient::TagResource(const TagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(TagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, TagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".TagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> TagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, TagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tag-resource"); + return TagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UntagResourceOutcome ApplicationSignalsClient::UntagResource(const UntagResourceRequest& request) const +{ + AWS_OPERATION_GUARD(UntagResource); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UntagResource, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UntagResource", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UntagResourceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UntagResource, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/untag-resource"); + return UntagResourceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +UpdateServiceLevelObjectiveOutcome ApplicationSignalsClient::UpdateServiceLevelObjective(const UpdateServiceLevelObjectiveRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateServiceLevelObjective); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateServiceLevelObjective, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateServiceLevelObjective", "Required field: Id, is not set"); + return UpdateServiceLevelObjectiveOutcome(Aws::Client::AWSError(ApplicationSignalsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateServiceLevelObjective, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateServiceLevelObjective, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateServiceLevelObjective", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateServiceLevelObjectiveOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateServiceLevelObjective, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/slo/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return UpdateServiceLevelObjectiveOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointProvider.cpp new file mode 100644 index 00000000000..f713575e325 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointRules.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointRules.cpp new file mode 100644 index 00000000000..f2fde536f5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointRules.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +const size_t ApplicationSignalsEndpointRules::RulesBlobStrLen = 1650; +const size_t ApplicationSignalsEndpointRules::RulesBlobSize = 1651; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','F','I','P','S','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e','q','u','i','r','e', +'d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n',' ','t','r','u','e', +',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ','t','o',' ','t','h', +'e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g','i','o','n','a','l', +' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o','n','f','i','g','u', +'r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o','t',' ','h','a','v', +'e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e','n','d','p','o','i', +'n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e', +'s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"', +',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"','E','n','d','p','o', +'i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K',':',':','E','n','d', +'p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a','l','s','e',',','"', +'d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r','r','i','d','e',' ', +'t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o',' ','s','e','n','d', +' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e','"',':','"','S','t', +'r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u','i','l','t','I','n', +'"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q','u','i','r','e','d', +'"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"', +'T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ','t','o',' ','d','i', +'s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"',',','"','t','y','p', +'e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s','"',':','[','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n', +'t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a', +'l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a', +'n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o', +'t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o', +'r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', +'p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d', +'p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e', +'t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n', +'"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o', +'n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"', +'}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', +'u','r','l','"',':','"','h','t','t','p','s',':','/','/','a','p','p','l','i','c','a','t','i','o','n', +'-','s','i','g','n','a','l','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','a','p','p','l','i','c','a','t','i','o','n','-','s','i','g','n','a','l','s','.','{', +'R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#', +'d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':', +' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}', +'\0' +}}; + +const char* ApplicationSignalsEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsErrorMarshaller.cpp new file mode 100644 index 00000000000..25406b58c79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::ApplicationSignals; + +AWSError ApplicationSignalsErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = ApplicationSignalsErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsErrors.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsErrors.cpp new file mode 100644 index 00000000000..f0d43aeac06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsErrors.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::ApplicationSignals; +using namespace Aws::ApplicationSignals::Model; + +namespace Aws +{ +namespace ApplicationSignals +{ +template<> AWS_APPLICATIONSIGNALS_API ResourceNotFoundException ApplicationSignalsError::GetModeledError() +{ + assert(this->GetErrorType() == ApplicationSignalsErrors::RESOURCE_NOT_FOUND); + return ResourceNotFoundException(this->GetJsonPayload().View()); +} + +namespace ApplicationSignalsErrorMapper +{ + +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(ApplicationSignalsErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(ApplicationSignalsErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace ApplicationSignalsErrorMapper +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsRequest.cpp new file mode 100644 index 00000000000..e42b3164910 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace ApplicationSignals +{ +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/BatchGetServiceLevelObjectiveBudgetReportRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/BatchGetServiceLevelObjectiveBudgetReportRequest.cpp new file mode 100644 index 00000000000..da48690a647 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/BatchGetServiceLevelObjectiveBudgetReportRequest.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +BatchGetServiceLevelObjectiveBudgetReportRequest::BatchGetServiceLevelObjectiveBudgetReportRequest() : + m_timestampHasBeenSet(false), + m_sloIdsHasBeenSet(false) +{ +} + +Aws::String BatchGetServiceLevelObjectiveBudgetReportRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_timestampHasBeenSet) + { + payload.WithDouble("Timestamp", m_timestamp.SecondsWithMSPrecision()); + } + + if(m_sloIdsHasBeenSet) + { + Aws::Utils::Array sloIdsJsonList(m_sloIds.size()); + for(unsigned sloIdsIndex = 0; sloIdsIndex < sloIdsJsonList.GetLength(); ++sloIdsIndex) + { + sloIdsJsonList[sloIdsIndex].AsString(m_sloIds[sloIdsIndex]); + } + payload.WithArray("SloIds", std::move(sloIdsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/BatchGetServiceLevelObjectiveBudgetReportResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/BatchGetServiceLevelObjectiveBudgetReportResult.cpp new file mode 100644 index 00000000000..8d5355271dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/BatchGetServiceLevelObjectiveBudgetReportResult.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +BatchGetServiceLevelObjectiveBudgetReportResult::BatchGetServiceLevelObjectiveBudgetReportResult() +{ +} + +BatchGetServiceLevelObjectiveBudgetReportResult::BatchGetServiceLevelObjectiveBudgetReportResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +BatchGetServiceLevelObjectiveBudgetReportResult& BatchGetServiceLevelObjectiveBudgetReportResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Timestamp")) + { + m_timestamp = jsonValue.GetDouble("Timestamp"); + + } + + if(jsonValue.ValueExists("Reports")) + { + Aws::Utils::Array reportsJsonList = jsonValue.GetArray("Reports"); + for(unsigned reportsIndex = 0; reportsIndex < reportsJsonList.GetLength(); ++reportsIndex) + { + m_reports.push_back(reportsJsonList[reportsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("Errors")) + { + Aws::Utils::Array errorsJsonList = jsonValue.GetArray("Errors"); + for(unsigned errorsIndex = 0; errorsIndex < errorsJsonList.GetLength(); ++errorsIndex) + { + m_errors.push_back(errorsJsonList[errorsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/CalendarInterval.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/CalendarInterval.cpp new file mode 100644 index 00000000000..dd80f95478b --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/CalendarInterval.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +CalendarInterval::CalendarInterval() : + m_startTimeHasBeenSet(false), + m_durationUnit(DurationUnit::NOT_SET), + m_durationUnitHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false) +{ +} + +CalendarInterval::CalendarInterval(JsonView jsonValue) : + m_startTimeHasBeenSet(false), + m_durationUnit(DurationUnit::NOT_SET), + m_durationUnitHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false) +{ + *this = jsonValue; +} + +CalendarInterval& CalendarInterval::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartTime")) + { + m_startTime = jsonValue.GetDouble("StartTime"); + + m_startTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("DurationUnit")) + { + m_durationUnit = DurationUnitMapper::GetDurationUnitForName(jsonValue.GetString("DurationUnit")); + + m_durationUnitHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInteger("Duration"); + + m_durationHasBeenSet = true; + } + + return *this; +} + +JsonValue CalendarInterval::Jsonize() const +{ + JsonValue payload; + + if(m_startTimeHasBeenSet) + { + payload.WithDouble("StartTime", m_startTime.SecondsWithMSPrecision()); + } + + if(m_durationUnitHasBeenSet) + { + payload.WithString("DurationUnit", DurationUnitMapper::GetNameForDurationUnit(m_durationUnit)); + } + + if(m_durationHasBeenSet) + { + payload.WithInteger("Duration", m_duration); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/CreateServiceLevelObjectiveRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/CreateServiceLevelObjectiveRequest.cpp new file mode 100644 index 00000000000..12132390790 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/CreateServiceLevelObjectiveRequest.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateServiceLevelObjectiveRequest::CreateServiceLevelObjectiveRequest() : + m_nameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_sliConfigHasBeenSet(false), + m_goalHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateServiceLevelObjectiveRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_sliConfigHasBeenSet) + { + payload.WithObject("SliConfig", m_sliConfig.Jsonize()); + + } + + if(m_goalHasBeenSet) + { + payload.WithObject("Goal", m_goal.Jsonize()); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/CreateServiceLevelObjectiveResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/CreateServiceLevelObjectiveResult.cpp new file mode 100644 index 00000000000..055c0dd4fd4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/CreateServiceLevelObjectiveResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateServiceLevelObjectiveResult::CreateServiceLevelObjectiveResult() +{ +} + +CreateServiceLevelObjectiveResult::CreateServiceLevelObjectiveResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateServiceLevelObjectiveResult& CreateServiceLevelObjectiveResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Slo")) + { + m_slo = jsonValue.GetObject("Slo"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/DeleteServiceLevelObjectiveRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/DeleteServiceLevelObjectiveRequest.cpp new file mode 100644 index 00000000000..c3990167ad3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/DeleteServiceLevelObjectiveRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteServiceLevelObjectiveRequest::DeleteServiceLevelObjectiveRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String DeleteServiceLevelObjectiveRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/DeleteServiceLevelObjectiveResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/DeleteServiceLevelObjectiveResult.cpp new file mode 100644 index 00000000000..08ec9c496fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/DeleteServiceLevelObjectiveResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteServiceLevelObjectiveResult::DeleteServiceLevelObjectiveResult() +{ +} + +DeleteServiceLevelObjectiveResult::DeleteServiceLevelObjectiveResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteServiceLevelObjectiveResult& DeleteServiceLevelObjectiveResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/Dimension.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/Dimension.cpp new file mode 100644 index 00000000000..fd597d99c44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/Dimension.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +Dimension::Dimension() : + m_nameHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +Dimension::Dimension(JsonView jsonValue) : + m_nameHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +Dimension& Dimension::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue Dimension::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/DurationUnit.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/DurationUnit.cpp new file mode 100644 index 00000000000..d43f68c0fb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/DurationUnit.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ApplicationSignals + { + namespace Model + { + namespace DurationUnitMapper + { + + static const int DAY_HASH = HashingUtils::HashString("DAY"); + static const int MONTH_HASH = HashingUtils::HashString("MONTH"); + + + DurationUnit GetDurationUnitForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == DAY_HASH) + { + return DurationUnit::DAY; + } + else if (hashCode == MONTH_HASH) + { + return DurationUnit::MONTH; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DurationUnit::NOT_SET; + } + + Aws::String GetNameForDurationUnit(DurationUnit enumValue) + { + switch(enumValue) + { + case DurationUnit::NOT_SET: + return {}; + case DurationUnit::DAY: + return "DAY"; + case DurationUnit::MONTH: + return "MONTH"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DurationUnitMapper + } // namespace Model + } // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceLevelObjectiveRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceLevelObjectiveRequest.cpp new file mode 100644 index 00000000000..e784509035f --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceLevelObjectiveRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetServiceLevelObjectiveRequest::GetServiceLevelObjectiveRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String GetServiceLevelObjectiveRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceLevelObjectiveResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceLevelObjectiveResult.cpp new file mode 100644 index 00000000000..d54e0cd5bda --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceLevelObjectiveResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetServiceLevelObjectiveResult::GetServiceLevelObjectiveResult() +{ +} + +GetServiceLevelObjectiveResult::GetServiceLevelObjectiveResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetServiceLevelObjectiveResult& GetServiceLevelObjectiveResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Slo")) + { + m_slo = jsonValue.GetObject("Slo"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceRequest.cpp new file mode 100644 index 00000000000..e892fc43c30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceRequest.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetServiceRequest::GetServiceRequest() : + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_keyAttributesHasBeenSet(false) +{ +} + +Aws::String GetServiceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +void GetServiceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_startTimeHasBeenSet) + { + ss << m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("StartTime", ss.str()); + ss.str(""); + } + + if(m_endTimeHasBeenSet) + { + ss << m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("EndTime", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceResult.cpp new file mode 100644 index 00000000000..088b9c4bc55 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/GetServiceResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetServiceResult::GetServiceResult() +{ +} + +GetServiceResult::GetServiceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetServiceResult& GetServiceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Service")) + { + m_service = jsonValue.GetObject("Service"); + + } + + if(jsonValue.ValueExists("StartTime")) + { + m_startTime = jsonValue.GetDouble("StartTime"); + + } + + if(jsonValue.ValueExists("EndTime")) + { + m_endTime = jsonValue.GetDouble("EndTime"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/Goal.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/Goal.cpp new file mode 100644 index 00000000000..cc9f4a603e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/Goal.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +Goal::Goal() : + m_intervalHasBeenSet(false), + m_attainmentGoal(0.0), + m_attainmentGoalHasBeenSet(false), + m_warningThreshold(0.0), + m_warningThresholdHasBeenSet(false) +{ +} + +Goal::Goal(JsonView jsonValue) : + m_intervalHasBeenSet(false), + m_attainmentGoal(0.0), + m_attainmentGoalHasBeenSet(false), + m_warningThreshold(0.0), + m_warningThresholdHasBeenSet(false) +{ + *this = jsonValue; +} + +Goal& Goal::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Interval")) + { + m_interval = jsonValue.GetObject("Interval"); + + m_intervalHasBeenSet = true; + } + + if(jsonValue.ValueExists("AttainmentGoal")) + { + m_attainmentGoal = jsonValue.GetDouble("AttainmentGoal"); + + m_attainmentGoalHasBeenSet = true; + } + + if(jsonValue.ValueExists("WarningThreshold")) + { + m_warningThreshold = jsonValue.GetDouble("WarningThreshold"); + + m_warningThresholdHasBeenSet = true; + } + + return *this; +} + +JsonValue Goal::Jsonize() const +{ + JsonValue payload; + + if(m_intervalHasBeenSet) + { + payload.WithObject("Interval", m_interval.Jsonize()); + + } + + if(m_attainmentGoalHasBeenSet) + { + payload.WithDouble("AttainmentGoal", m_attainmentGoal); + + } + + if(m_warningThresholdHasBeenSet) + { + payload.WithDouble("WarningThreshold", m_warningThreshold); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/Interval.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/Interval.cpp new file mode 100644 index 00000000000..22e2d9f5b5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/Interval.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +Interval::Interval() : + m_rollingIntervalHasBeenSet(false), + m_calendarIntervalHasBeenSet(false) +{ +} + +Interval::Interval(JsonView jsonValue) : + m_rollingIntervalHasBeenSet(false), + m_calendarIntervalHasBeenSet(false) +{ + *this = jsonValue; +} + +Interval& Interval::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RollingInterval")) + { + m_rollingInterval = jsonValue.GetObject("RollingInterval"); + + m_rollingIntervalHasBeenSet = true; + } + + if(jsonValue.ValueExists("CalendarInterval")) + { + m_calendarInterval = jsonValue.GetObject("CalendarInterval"); + + m_calendarIntervalHasBeenSet = true; + } + + return *this; +} + +JsonValue Interval::Jsonize() const +{ + JsonValue payload; + + if(m_rollingIntervalHasBeenSet) + { + payload.WithObject("RollingInterval", m_rollingInterval.Jsonize()); + + } + + if(m_calendarIntervalHasBeenSet) + { + payload.WithObject("CalendarInterval", m_calendarInterval.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependenciesRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependenciesRequest.cpp new file mode 100644 index 00000000000..9d6c460815a --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependenciesRequest.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListServiceDependenciesRequest::ListServiceDependenciesRequest() : + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_keyAttributesHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListServiceDependenciesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +void ListServiceDependenciesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_startTimeHasBeenSet) + { + ss << m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("StartTime", ss.str()); + ss.str(""); + } + + if(m_endTimeHasBeenSet) + { + ss << m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("EndTime", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependenciesResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependenciesResult.cpp new file mode 100644 index 00000000000..41696bc9287 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependenciesResult.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListServiceDependenciesResult::ListServiceDependenciesResult() +{ +} + +ListServiceDependenciesResult::ListServiceDependenciesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListServiceDependenciesResult& ListServiceDependenciesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("StartTime")) + { + m_startTime = jsonValue.GetDouble("StartTime"); + + } + + if(jsonValue.ValueExists("EndTime")) + { + m_endTime = jsonValue.GetDouble("EndTime"); + + } + + if(jsonValue.ValueExists("ServiceDependencies")) + { + Aws::Utils::Array serviceDependenciesJsonList = jsonValue.GetArray("ServiceDependencies"); + for(unsigned serviceDependenciesIndex = 0; serviceDependenciesIndex < serviceDependenciesJsonList.GetLength(); ++serviceDependenciesIndex) + { + m_serviceDependencies.push_back(serviceDependenciesJsonList[serviceDependenciesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependentsRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependentsRequest.cpp new file mode 100644 index 00000000000..c0d0630eeed --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependentsRequest.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListServiceDependentsRequest::ListServiceDependentsRequest() : + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_keyAttributesHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListServiceDependentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +void ListServiceDependentsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_startTimeHasBeenSet) + { + ss << m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("StartTime", ss.str()); + ss.str(""); + } + + if(m_endTimeHasBeenSet) + { + ss << m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("EndTime", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependentsResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependentsResult.cpp new file mode 100644 index 00000000000..88d47254c8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceDependentsResult.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListServiceDependentsResult::ListServiceDependentsResult() +{ +} + +ListServiceDependentsResult::ListServiceDependentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListServiceDependentsResult& ListServiceDependentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("StartTime")) + { + m_startTime = jsonValue.GetDouble("StartTime"); + + } + + if(jsonValue.ValueExists("EndTime")) + { + m_endTime = jsonValue.GetDouble("EndTime"); + + } + + if(jsonValue.ValueExists("ServiceDependents")) + { + Aws::Utils::Array serviceDependentsJsonList = jsonValue.GetArray("ServiceDependents"); + for(unsigned serviceDependentsIndex = 0; serviceDependentsIndex < serviceDependentsJsonList.GetLength(); ++serviceDependentsIndex) + { + m_serviceDependents.push_back(serviceDependentsJsonList[serviceDependentsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceLevelObjectivesRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceLevelObjectivesRequest.cpp new file mode 100644 index 00000000000..c3bd40aa45a --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceLevelObjectivesRequest.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListServiceLevelObjectivesRequest::ListServiceLevelObjectivesRequest() : + m_keyAttributesHasBeenSet(false), + m_operationNameHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListServiceLevelObjectivesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +void ListServiceLevelObjectivesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_operationNameHasBeenSet) + { + ss << m_operationName; + uri.AddQueryStringParameter("OperationName", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceLevelObjectivesResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceLevelObjectivesResult.cpp new file mode 100644 index 00000000000..c92554ab219 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceLevelObjectivesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListServiceLevelObjectivesResult::ListServiceLevelObjectivesResult() +{ +} + +ListServiceLevelObjectivesResult::ListServiceLevelObjectivesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListServiceLevelObjectivesResult& ListServiceLevelObjectivesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("SloSummaries")) + { + Aws::Utils::Array sloSummariesJsonList = jsonValue.GetArray("SloSummaries"); + for(unsigned sloSummariesIndex = 0; sloSummariesIndex < sloSummariesJsonList.GetLength(); ++sloSummariesIndex) + { + m_sloSummaries.push_back(sloSummariesJsonList[sloSummariesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceOperationsRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceOperationsRequest.cpp new file mode 100644 index 00000000000..80af1fd9696 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceOperationsRequest.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListServiceOperationsRequest::ListServiceOperationsRequest() : + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_keyAttributesHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListServiceOperationsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + return payload.View().WriteReadable(); +} + +void ListServiceOperationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_startTimeHasBeenSet) + { + ss << m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("StartTime", ss.str()); + ss.str(""); + } + + if(m_endTimeHasBeenSet) + { + ss << m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("EndTime", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceOperationsResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceOperationsResult.cpp new file mode 100644 index 00000000000..e8d0f1eda0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServiceOperationsResult.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListServiceOperationsResult::ListServiceOperationsResult() +{ +} + +ListServiceOperationsResult::ListServiceOperationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListServiceOperationsResult& ListServiceOperationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("StartTime")) + { + m_startTime = jsonValue.GetDouble("StartTime"); + + } + + if(jsonValue.ValueExists("EndTime")) + { + m_endTime = jsonValue.GetDouble("EndTime"); + + } + + if(jsonValue.ValueExists("ServiceOperations")) + { + Aws::Utils::Array serviceOperationsJsonList = jsonValue.GetArray("ServiceOperations"); + for(unsigned serviceOperationsIndex = 0; serviceOperationsIndex < serviceOperationsJsonList.GetLength(); ++serviceOperationsIndex) + { + m_serviceOperations.push_back(serviceOperationsJsonList[serviceOperationsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServicesRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServicesRequest.cpp new file mode 100644 index 00000000000..5d52af4b005 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServicesRequest.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListServicesRequest::ListServicesRequest() : + m_startTimeHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_nextTokenHasBeenSet(false) +{ +} + +Aws::String ListServicesRequest::SerializePayload() const +{ + return {}; +} + +void ListServicesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_startTimeHasBeenSet) + { + ss << m_startTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("StartTime", ss.str()); + ss.str(""); + } + + if(m_endTimeHasBeenSet) + { + ss << m_endTime.ToGmtString(Aws::Utils::DateFormat::ISO_8601); + uri.AddQueryStringParameter("EndTime", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("MaxResults", ss.str()); + ss.str(""); + } + + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("NextToken", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListServicesResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServicesResult.cpp new file mode 100644 index 00000000000..63d79b9db1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListServicesResult.cpp @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListServicesResult::ListServicesResult() +{ +} + +ListServicesResult::ListServicesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListServicesResult& ListServicesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("StartTime")) + { + m_startTime = jsonValue.GetDouble("StartTime"); + + } + + if(jsonValue.ValueExists("EndTime")) + { + m_endTime = jsonValue.GetDouble("EndTime"); + + } + + if(jsonValue.ValueExists("ServiceSummaries")) + { + Aws::Utils::Array serviceSummariesJsonList = jsonValue.GetArray("ServiceSummaries"); + for(unsigned serviceSummariesIndex = 0; serviceSummariesIndex < serviceSummariesJsonList.GetLength(); ++serviceSummariesIndex) + { + m_serviceSummaries.push_back(serviceSummariesJsonList[serviceSummariesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListTagsForResourceRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListTagsForResourceRequest.cpp new file mode 100644 index 00000000000..ddce2c9d031 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListTagsForResourceRequest.cpp @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListTagsForResourceRequest::ListTagsForResourceRequest() : + m_resourceArnHasBeenSet(false) +{ +} + +Aws::String ListTagsForResourceRequest::SerializePayload() const +{ + return {}; +} + +void ListTagsForResourceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_resourceArnHasBeenSet) + { + ss << m_resourceArn; + uri.AddQueryStringParameter("ResourceArn", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ListTagsForResourceResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ListTagsForResourceResult.cpp new file mode 100644 index 00000000000..82b7142d197 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ListTagsForResourceResult.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTagsForResourceResult::ListTagsForResourceResult() +{ +} + +ListTagsForResourceResult::ListTagsForResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTagsForResourceResult& ListTagsForResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Tags")) + { + Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/Metric.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/Metric.cpp new file mode 100644 index 00000000000..54291125d34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/Metric.cpp @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +Metric::Metric() : + m_namespaceHasBeenSet(false), + m_metricNameHasBeenSet(false), + m_dimensionsHasBeenSet(false) +{ +} + +Metric::Metric(JsonView jsonValue) : + m_namespaceHasBeenSet(false), + m_metricNameHasBeenSet(false), + m_dimensionsHasBeenSet(false) +{ + *this = jsonValue; +} + +Metric& Metric::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Namespace")) + { + m_namespace = jsonValue.GetString("Namespace"); + + m_namespaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricName")) + { + m_metricName = jsonValue.GetString("MetricName"); + + m_metricNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Dimensions")) + { + Aws::Utils::Array dimensionsJsonList = jsonValue.GetArray("Dimensions"); + for(unsigned dimensionsIndex = 0; dimensionsIndex < dimensionsJsonList.GetLength(); ++dimensionsIndex) + { + m_dimensions.push_back(dimensionsJsonList[dimensionsIndex].AsObject()); + } + m_dimensionsHasBeenSet = true; + } + + return *this; +} + +JsonValue Metric::Jsonize() const +{ + JsonValue payload; + + if(m_namespaceHasBeenSet) + { + payload.WithString("Namespace", m_namespace); + + } + + if(m_metricNameHasBeenSet) + { + payload.WithString("MetricName", m_metricName); + + } + + if(m_dimensionsHasBeenSet) + { + Aws::Utils::Array dimensionsJsonList(m_dimensions.size()); + for(unsigned dimensionsIndex = 0; dimensionsIndex < dimensionsJsonList.GetLength(); ++dimensionsIndex) + { + dimensionsJsonList[dimensionsIndex].AsObject(m_dimensions[dimensionsIndex].Jsonize()); + } + payload.WithArray("Dimensions", std::move(dimensionsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/MetricDataQuery.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/MetricDataQuery.cpp new file mode 100644 index 00000000000..3f2584b3f80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/MetricDataQuery.cpp @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +MetricDataQuery::MetricDataQuery() : + m_idHasBeenSet(false), + m_metricStatHasBeenSet(false), + m_expressionHasBeenSet(false), + m_labelHasBeenSet(false), + m_returnData(false), + m_returnDataHasBeenSet(false), + m_period(0), + m_periodHasBeenSet(false), + m_accountIdHasBeenSet(false) +{ +} + +MetricDataQuery::MetricDataQuery(JsonView jsonValue) : + m_idHasBeenSet(false), + m_metricStatHasBeenSet(false), + m_expressionHasBeenSet(false), + m_labelHasBeenSet(false), + m_returnData(false), + m_returnDataHasBeenSet(false), + m_period(0), + m_periodHasBeenSet(false), + m_accountIdHasBeenSet(false) +{ + *this = jsonValue; +} + +MetricDataQuery& MetricDataQuery::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricStat")) + { + m_metricStat = jsonValue.GetObject("MetricStat"); + + m_metricStatHasBeenSet = true; + } + + if(jsonValue.ValueExists("Expression")) + { + m_expression = jsonValue.GetString("Expression"); + + m_expressionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Label")) + { + m_label = jsonValue.GetString("Label"); + + m_labelHasBeenSet = true; + } + + if(jsonValue.ValueExists("ReturnData")) + { + m_returnData = jsonValue.GetBool("ReturnData"); + + m_returnDataHasBeenSet = true; + } + + if(jsonValue.ValueExists("Period")) + { + m_period = jsonValue.GetInteger("Period"); + + m_periodHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccountId")) + { + m_accountId = jsonValue.GetString("AccountId"); + + m_accountIdHasBeenSet = true; + } + + return *this; +} + +JsonValue MetricDataQuery::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_metricStatHasBeenSet) + { + payload.WithObject("MetricStat", m_metricStat.Jsonize()); + + } + + if(m_expressionHasBeenSet) + { + payload.WithString("Expression", m_expression); + + } + + if(m_labelHasBeenSet) + { + payload.WithString("Label", m_label); + + } + + if(m_returnDataHasBeenSet) + { + payload.WithBool("ReturnData", m_returnData); + + } + + if(m_periodHasBeenSet) + { + payload.WithInteger("Period", m_period); + + } + + if(m_accountIdHasBeenSet) + { + payload.WithString("AccountId", m_accountId); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/MetricReference.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/MetricReference.cpp new file mode 100644 index 00000000000..caaa4e8b02b --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/MetricReference.cpp @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +MetricReference::MetricReference() : + m_namespaceHasBeenSet(false), + m_metricTypeHasBeenSet(false), + m_dimensionsHasBeenSet(false), + m_metricNameHasBeenSet(false) +{ +} + +MetricReference::MetricReference(JsonView jsonValue) : + m_namespaceHasBeenSet(false), + m_metricTypeHasBeenSet(false), + m_dimensionsHasBeenSet(false), + m_metricNameHasBeenSet(false) +{ + *this = jsonValue; +} + +MetricReference& MetricReference::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Namespace")) + { + m_namespace = jsonValue.GetString("Namespace"); + + m_namespaceHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricType")) + { + m_metricType = jsonValue.GetString("MetricType"); + + m_metricTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Dimensions")) + { + Aws::Utils::Array dimensionsJsonList = jsonValue.GetArray("Dimensions"); + for(unsigned dimensionsIndex = 0; dimensionsIndex < dimensionsJsonList.GetLength(); ++dimensionsIndex) + { + m_dimensions.push_back(dimensionsJsonList[dimensionsIndex].AsObject()); + } + m_dimensionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricName")) + { + m_metricName = jsonValue.GetString("MetricName"); + + m_metricNameHasBeenSet = true; + } + + return *this; +} + +JsonValue MetricReference::Jsonize() const +{ + JsonValue payload; + + if(m_namespaceHasBeenSet) + { + payload.WithString("Namespace", m_namespace); + + } + + if(m_metricTypeHasBeenSet) + { + payload.WithString("MetricType", m_metricType); + + } + + if(m_dimensionsHasBeenSet) + { + Aws::Utils::Array dimensionsJsonList(m_dimensions.size()); + for(unsigned dimensionsIndex = 0; dimensionsIndex < dimensionsJsonList.GetLength(); ++dimensionsIndex) + { + dimensionsJsonList[dimensionsIndex].AsObject(m_dimensions[dimensionsIndex].Jsonize()); + } + payload.WithArray("Dimensions", std::move(dimensionsJsonList)); + + } + + if(m_metricNameHasBeenSet) + { + payload.WithString("MetricName", m_metricName); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/MetricStat.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/MetricStat.cpp new file mode 100644 index 00000000000..f9d1b596318 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/MetricStat.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +MetricStat::MetricStat() : + m_metricHasBeenSet(false), + m_period(0), + m_periodHasBeenSet(false), + m_statHasBeenSet(false), + m_unit(StandardUnit::NOT_SET), + m_unitHasBeenSet(false) +{ +} + +MetricStat::MetricStat(JsonView jsonValue) : + m_metricHasBeenSet(false), + m_period(0), + m_periodHasBeenSet(false), + m_statHasBeenSet(false), + m_unit(StandardUnit::NOT_SET), + m_unitHasBeenSet(false) +{ + *this = jsonValue; +} + +MetricStat& MetricStat::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Metric")) + { + m_metric = jsonValue.GetObject("Metric"); + + m_metricHasBeenSet = true; + } + + if(jsonValue.ValueExists("Period")) + { + m_period = jsonValue.GetInteger("Period"); + + m_periodHasBeenSet = true; + } + + if(jsonValue.ValueExists("Stat")) + { + m_stat = jsonValue.GetString("Stat"); + + m_statHasBeenSet = true; + } + + if(jsonValue.ValueExists("Unit")) + { + m_unit = StandardUnitMapper::GetStandardUnitForName(jsonValue.GetString("Unit")); + + m_unitHasBeenSet = true; + } + + return *this; +} + +JsonValue MetricStat::Jsonize() const +{ + JsonValue payload; + + if(m_metricHasBeenSet) + { + payload.WithObject("Metric", m_metric.Jsonize()); + + } + + if(m_periodHasBeenSet) + { + payload.WithInteger("Period", m_period); + + } + + if(m_statHasBeenSet) + { + payload.WithString("Stat", m_stat); + + } + + if(m_unitHasBeenSet) + { + payload.WithString("Unit", StandardUnitMapper::GetNameForStandardUnit(m_unit)); + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ResourceNotFoundException.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ResourceNotFoundException.cpp new file mode 100644 index 00000000000..ebf1337488c --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ResourceNotFoundException.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ResourceNotFoundException::ResourceNotFoundException() : + m_resourceTypeHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ResourceNotFoundException::ResourceNotFoundException(JsonView jsonValue) : + m_resourceTypeHasBeenSet(false), + m_resourceIdHasBeenSet(false), + m_messageHasBeenSet(false) +{ + *this = jsonValue; +} + +ResourceNotFoundException& ResourceNotFoundException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ResourceType")) + { + m_resourceType = jsonValue.GetString("ResourceType"); + + m_resourceTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("ResourceId")) + { + m_resourceId = jsonValue.GetString("ResourceId"); + + m_resourceIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Message")) + { + m_message = jsonValue.GetString("Message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ResourceNotFoundException::Jsonize() const +{ + JsonValue payload; + + if(m_resourceTypeHasBeenSet) + { + payload.WithString("ResourceType", m_resourceType); + + } + + if(m_resourceIdHasBeenSet) + { + payload.WithString("ResourceId", m_resourceId); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("Message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/RollingInterval.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/RollingInterval.cpp new file mode 100644 index 00000000000..b7804fc85a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/RollingInterval.cpp @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +RollingInterval::RollingInterval() : + m_durationUnit(DurationUnit::NOT_SET), + m_durationUnitHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false) +{ +} + +RollingInterval::RollingInterval(JsonView jsonValue) : + m_durationUnit(DurationUnit::NOT_SET), + m_durationUnitHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false) +{ + *this = jsonValue; +} + +RollingInterval& RollingInterval::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DurationUnit")) + { + m_durationUnit = DurationUnitMapper::GetDurationUnitForName(jsonValue.GetString("DurationUnit")); + + m_durationUnitHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInteger("Duration"); + + m_durationHasBeenSet = true; + } + + return *this; +} + +JsonValue RollingInterval::Jsonize() const +{ + JsonValue payload; + + if(m_durationUnitHasBeenSet) + { + payload.WithString("DurationUnit", DurationUnitMapper::GetNameForDurationUnit(m_durationUnit)); + } + + if(m_durationHasBeenSet) + { + payload.WithInteger("Duration", m_duration); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/Service.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/Service.cpp new file mode 100644 index 00000000000..ddb1c28fbb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/Service.cpp @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +Service::Service() : + m_keyAttributesHasBeenSet(false), + m_attributeMapsHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ +} + +Service::Service(JsonView jsonValue) : + m_keyAttributesHasBeenSet(false), + m_attributeMapsHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ + *this = jsonValue; +} + +Service& Service::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("KeyAttributes")) + { + Aws::Map keyAttributesJsonMap = jsonValue.GetObject("KeyAttributes").GetAllObjects(); + for(auto& keyAttributesItem : keyAttributesJsonMap) + { + m_keyAttributes[keyAttributesItem.first] = keyAttributesItem.second.AsString(); + } + m_keyAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("AttributeMaps")) + { + Aws::Utils::Array attributeMapsJsonList = jsonValue.GetArray("AttributeMaps"); + for(unsigned attributeMapsIndex = 0; attributeMapsIndex < attributeMapsJsonList.GetLength(); ++attributeMapsIndex) + { + Aws::Map attributeMapJsonMap = attributeMapsJsonList[attributeMapsIndex].GetAllObjects(); + Aws::Map attributeMapMap; + for(auto& attributeMapItem : attributeMapJsonMap) + { + attributeMapMap[attributeMapItem.first] = attributeMapItem.second.AsString(); + } + m_attributeMaps.push_back(std::move(attributeMapMap)); + } + m_attributeMapsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricReferences")) + { + Aws::Utils::Array metricReferencesJsonList = jsonValue.GetArray("MetricReferences"); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + m_metricReferences.push_back(metricReferencesJsonList[metricReferencesIndex].AsObject()); + } + m_metricReferencesHasBeenSet = true; + } + + return *this; +} + +JsonValue Service::Jsonize() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + if(m_attributeMapsHasBeenSet) + { + Aws::Utils::Array attributeMapsJsonList(m_attributeMaps.size()); + for(unsigned attributeMapsIndex = 0; attributeMapsIndex < attributeMapsJsonList.GetLength(); ++attributeMapsIndex) + { + JsonValue attributeMapJsonMap; + for(auto& attributeMapItem : m_attributeMaps[attributeMapsIndex]) + { + attributeMapJsonMap.WithString(attributeMapItem.first, attributeMapItem.second); + } + attributeMapsJsonList[attributeMapsIndex].AsObject(std::move(attributeMapJsonMap)); + } + payload.WithArray("AttributeMaps", std::move(attributeMapsJsonList)); + + } + + if(m_metricReferencesHasBeenSet) + { + Aws::Utils::Array metricReferencesJsonList(m_metricReferences.size()); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + metricReferencesJsonList[metricReferencesIndex].AsObject(m_metricReferences[metricReferencesIndex].Jsonize()); + } + payload.WithArray("MetricReferences", std::move(metricReferencesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceDependency.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceDependency.cpp new file mode 100644 index 00000000000..56650d9cab8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceDependency.cpp @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceDependency::ServiceDependency() : + m_operationNameHasBeenSet(false), + m_dependencyKeyAttributesHasBeenSet(false), + m_dependencyOperationNameHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ +} + +ServiceDependency::ServiceDependency(JsonView jsonValue) : + m_operationNameHasBeenSet(false), + m_dependencyKeyAttributesHasBeenSet(false), + m_dependencyOperationNameHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceDependency& ServiceDependency::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("OperationName")) + { + m_operationName = jsonValue.GetString("OperationName"); + + m_operationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("DependencyKeyAttributes")) + { + Aws::Map dependencyKeyAttributesJsonMap = jsonValue.GetObject("DependencyKeyAttributes").GetAllObjects(); + for(auto& dependencyKeyAttributesItem : dependencyKeyAttributesJsonMap) + { + m_dependencyKeyAttributes[dependencyKeyAttributesItem.first] = dependencyKeyAttributesItem.second.AsString(); + } + m_dependencyKeyAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("DependencyOperationName")) + { + m_dependencyOperationName = jsonValue.GetString("DependencyOperationName"); + + m_dependencyOperationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricReferences")) + { + Aws::Utils::Array metricReferencesJsonList = jsonValue.GetArray("MetricReferences"); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + m_metricReferences.push_back(metricReferencesJsonList[metricReferencesIndex].AsObject()); + } + m_metricReferencesHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceDependency::Jsonize() const +{ + JsonValue payload; + + if(m_operationNameHasBeenSet) + { + payload.WithString("OperationName", m_operationName); + + } + + if(m_dependencyKeyAttributesHasBeenSet) + { + JsonValue dependencyKeyAttributesJsonMap; + for(auto& dependencyKeyAttributesItem : m_dependencyKeyAttributes) + { + dependencyKeyAttributesJsonMap.WithString(dependencyKeyAttributesItem.first, dependencyKeyAttributesItem.second); + } + payload.WithObject("DependencyKeyAttributes", std::move(dependencyKeyAttributesJsonMap)); + + } + + if(m_dependencyOperationNameHasBeenSet) + { + payload.WithString("DependencyOperationName", m_dependencyOperationName); + + } + + if(m_metricReferencesHasBeenSet) + { + Aws::Utils::Array metricReferencesJsonList(m_metricReferences.size()); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + metricReferencesJsonList[metricReferencesIndex].AsObject(m_metricReferences[metricReferencesIndex].Jsonize()); + } + payload.WithArray("MetricReferences", std::move(metricReferencesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceDependent.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceDependent.cpp new file mode 100644 index 00000000000..08f24078bc6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceDependent.cpp @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceDependent::ServiceDependent() : + m_operationNameHasBeenSet(false), + m_dependentKeyAttributesHasBeenSet(false), + m_dependentOperationNameHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ +} + +ServiceDependent::ServiceDependent(JsonView jsonValue) : + m_operationNameHasBeenSet(false), + m_dependentKeyAttributesHasBeenSet(false), + m_dependentOperationNameHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceDependent& ServiceDependent::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("OperationName")) + { + m_operationName = jsonValue.GetString("OperationName"); + + m_operationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("DependentKeyAttributes")) + { + Aws::Map dependentKeyAttributesJsonMap = jsonValue.GetObject("DependentKeyAttributes").GetAllObjects(); + for(auto& dependentKeyAttributesItem : dependentKeyAttributesJsonMap) + { + m_dependentKeyAttributes[dependentKeyAttributesItem.first] = dependentKeyAttributesItem.second.AsString(); + } + m_dependentKeyAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("DependentOperationName")) + { + m_dependentOperationName = jsonValue.GetString("DependentOperationName"); + + m_dependentOperationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricReferences")) + { + Aws::Utils::Array metricReferencesJsonList = jsonValue.GetArray("MetricReferences"); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + m_metricReferences.push_back(metricReferencesJsonList[metricReferencesIndex].AsObject()); + } + m_metricReferencesHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceDependent::Jsonize() const +{ + JsonValue payload; + + if(m_operationNameHasBeenSet) + { + payload.WithString("OperationName", m_operationName); + + } + + if(m_dependentKeyAttributesHasBeenSet) + { + JsonValue dependentKeyAttributesJsonMap; + for(auto& dependentKeyAttributesItem : m_dependentKeyAttributes) + { + dependentKeyAttributesJsonMap.WithString(dependentKeyAttributesItem.first, dependentKeyAttributesItem.second); + } + payload.WithObject("DependentKeyAttributes", std::move(dependentKeyAttributesJsonMap)); + + } + + if(m_dependentOperationNameHasBeenSet) + { + payload.WithString("DependentOperationName", m_dependentOperationName); + + } + + if(m_metricReferencesHasBeenSet) + { + Aws::Utils::Array metricReferencesJsonList(m_metricReferences.size()); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + metricReferencesJsonList[metricReferencesIndex].AsObject(m_metricReferences[metricReferencesIndex].Jsonize()); + } + payload.WithArray("MetricReferences", std::move(metricReferencesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicator.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicator.cpp new file mode 100644 index 00000000000..ea56fb4da1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicator.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceLevelIndicator::ServiceLevelIndicator() : + m_sliMetricHasBeenSet(false), + m_metricThreshold(0.0), + m_metricThresholdHasBeenSet(false), + m_comparisonOperator(ServiceLevelIndicatorComparisonOperator::NOT_SET), + m_comparisonOperatorHasBeenSet(false) +{ +} + +ServiceLevelIndicator::ServiceLevelIndicator(JsonView jsonValue) : + m_sliMetricHasBeenSet(false), + m_metricThreshold(0.0), + m_metricThresholdHasBeenSet(false), + m_comparisonOperator(ServiceLevelIndicatorComparisonOperator::NOT_SET), + m_comparisonOperatorHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceLevelIndicator& ServiceLevelIndicator::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SliMetric")) + { + m_sliMetric = jsonValue.GetObject("SliMetric"); + + m_sliMetricHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricThreshold")) + { + m_metricThreshold = jsonValue.GetDouble("MetricThreshold"); + + m_metricThresholdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ComparisonOperator")) + { + m_comparisonOperator = ServiceLevelIndicatorComparisonOperatorMapper::GetServiceLevelIndicatorComparisonOperatorForName(jsonValue.GetString("ComparisonOperator")); + + m_comparisonOperatorHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceLevelIndicator::Jsonize() const +{ + JsonValue payload; + + if(m_sliMetricHasBeenSet) + { + payload.WithObject("SliMetric", m_sliMetric.Jsonize()); + + } + + if(m_metricThresholdHasBeenSet) + { + payload.WithDouble("MetricThreshold", m_metricThreshold); + + } + + if(m_comparisonOperatorHasBeenSet) + { + payload.WithString("ComparisonOperator", ServiceLevelIndicatorComparisonOperatorMapper::GetNameForServiceLevelIndicatorComparisonOperator(m_comparisonOperator)); + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorComparisonOperator.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorComparisonOperator.cpp new file mode 100644 index 00000000000..dce70a25af9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorComparisonOperator.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ApplicationSignals + { + namespace Model + { + namespace ServiceLevelIndicatorComparisonOperatorMapper + { + + static const int GreaterThanOrEqualTo_HASH = HashingUtils::HashString("GreaterThanOrEqualTo"); + static const int GreaterThan_HASH = HashingUtils::HashString("GreaterThan"); + static const int LessThan_HASH = HashingUtils::HashString("LessThan"); + static const int LessThanOrEqualTo_HASH = HashingUtils::HashString("LessThanOrEqualTo"); + + + ServiceLevelIndicatorComparisonOperator GetServiceLevelIndicatorComparisonOperatorForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GreaterThanOrEqualTo_HASH) + { + return ServiceLevelIndicatorComparisonOperator::GreaterThanOrEqualTo; + } + else if (hashCode == GreaterThan_HASH) + { + return ServiceLevelIndicatorComparisonOperator::GreaterThan; + } + else if (hashCode == LessThan_HASH) + { + return ServiceLevelIndicatorComparisonOperator::LessThan; + } + else if (hashCode == LessThanOrEqualTo_HASH) + { + return ServiceLevelIndicatorComparisonOperator::LessThanOrEqualTo; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceLevelIndicatorComparisonOperator::NOT_SET; + } + + Aws::String GetNameForServiceLevelIndicatorComparisonOperator(ServiceLevelIndicatorComparisonOperator enumValue) + { + switch(enumValue) + { + case ServiceLevelIndicatorComparisonOperator::NOT_SET: + return {}; + case ServiceLevelIndicatorComparisonOperator::GreaterThanOrEqualTo: + return "GreaterThanOrEqualTo"; + case ServiceLevelIndicatorComparisonOperator::GreaterThan: + return "GreaterThan"; + case ServiceLevelIndicatorComparisonOperator::LessThan: + return "LessThan"; + case ServiceLevelIndicatorComparisonOperator::LessThanOrEqualTo: + return "LessThanOrEqualTo"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceLevelIndicatorComparisonOperatorMapper + } // namespace Model + } // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorConfig.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorConfig.cpp new file mode 100644 index 00000000000..06a6ec161e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorConfig.cpp @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceLevelIndicatorConfig::ServiceLevelIndicatorConfig() : + m_sliMetricConfigHasBeenSet(false), + m_metricThreshold(0.0), + m_metricThresholdHasBeenSet(false), + m_comparisonOperator(ServiceLevelIndicatorComparisonOperator::NOT_SET), + m_comparisonOperatorHasBeenSet(false) +{ +} + +ServiceLevelIndicatorConfig::ServiceLevelIndicatorConfig(JsonView jsonValue) : + m_sliMetricConfigHasBeenSet(false), + m_metricThreshold(0.0), + m_metricThresholdHasBeenSet(false), + m_comparisonOperator(ServiceLevelIndicatorComparisonOperator::NOT_SET), + m_comparisonOperatorHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceLevelIndicatorConfig& ServiceLevelIndicatorConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SliMetricConfig")) + { + m_sliMetricConfig = jsonValue.GetObject("SliMetricConfig"); + + m_sliMetricConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricThreshold")) + { + m_metricThreshold = jsonValue.GetDouble("MetricThreshold"); + + m_metricThresholdHasBeenSet = true; + } + + if(jsonValue.ValueExists("ComparisonOperator")) + { + m_comparisonOperator = ServiceLevelIndicatorComparisonOperatorMapper::GetServiceLevelIndicatorComparisonOperatorForName(jsonValue.GetString("ComparisonOperator")); + + m_comparisonOperatorHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceLevelIndicatorConfig::Jsonize() const +{ + JsonValue payload; + + if(m_sliMetricConfigHasBeenSet) + { + payload.WithObject("SliMetricConfig", m_sliMetricConfig.Jsonize()); + + } + + if(m_metricThresholdHasBeenSet) + { + payload.WithDouble("MetricThreshold", m_metricThreshold); + + } + + if(m_comparisonOperatorHasBeenSet) + { + payload.WithString("ComparisonOperator", ServiceLevelIndicatorComparisonOperatorMapper::GetNameForServiceLevelIndicatorComparisonOperator(m_comparisonOperator)); + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetric.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetric.cpp new file mode 100644 index 00000000000..bbee76a99c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetric.cpp @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceLevelIndicatorMetric::ServiceLevelIndicatorMetric() : + m_keyAttributesHasBeenSet(false), + m_operationNameHasBeenSet(false), + m_metricType(ServiceLevelIndicatorMetricType::NOT_SET), + m_metricTypeHasBeenSet(false), + m_metricDataQueriesHasBeenSet(false) +{ +} + +ServiceLevelIndicatorMetric::ServiceLevelIndicatorMetric(JsonView jsonValue) : + m_keyAttributesHasBeenSet(false), + m_operationNameHasBeenSet(false), + m_metricType(ServiceLevelIndicatorMetricType::NOT_SET), + m_metricTypeHasBeenSet(false), + m_metricDataQueriesHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceLevelIndicatorMetric& ServiceLevelIndicatorMetric::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("KeyAttributes")) + { + Aws::Map keyAttributesJsonMap = jsonValue.GetObject("KeyAttributes").GetAllObjects(); + for(auto& keyAttributesItem : keyAttributesJsonMap) + { + m_keyAttributes[keyAttributesItem.first] = keyAttributesItem.second.AsString(); + } + m_keyAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("OperationName")) + { + m_operationName = jsonValue.GetString("OperationName"); + + m_operationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricType")) + { + m_metricType = ServiceLevelIndicatorMetricTypeMapper::GetServiceLevelIndicatorMetricTypeForName(jsonValue.GetString("MetricType")); + + m_metricTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricDataQueries")) + { + Aws::Utils::Array metricDataQueriesJsonList = jsonValue.GetArray("MetricDataQueries"); + for(unsigned metricDataQueriesIndex = 0; metricDataQueriesIndex < metricDataQueriesJsonList.GetLength(); ++metricDataQueriesIndex) + { + m_metricDataQueries.push_back(metricDataQueriesJsonList[metricDataQueriesIndex].AsObject()); + } + m_metricDataQueriesHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceLevelIndicatorMetric::Jsonize() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + if(m_operationNameHasBeenSet) + { + payload.WithString("OperationName", m_operationName); + + } + + if(m_metricTypeHasBeenSet) + { + payload.WithString("MetricType", ServiceLevelIndicatorMetricTypeMapper::GetNameForServiceLevelIndicatorMetricType(m_metricType)); + } + + if(m_metricDataQueriesHasBeenSet) + { + Aws::Utils::Array metricDataQueriesJsonList(m_metricDataQueries.size()); + for(unsigned metricDataQueriesIndex = 0; metricDataQueriesIndex < metricDataQueriesJsonList.GetLength(); ++metricDataQueriesIndex) + { + metricDataQueriesJsonList[metricDataQueriesIndex].AsObject(m_metricDataQueries[metricDataQueriesIndex].Jsonize()); + } + payload.WithArray("MetricDataQueries", std::move(metricDataQueriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetricConfig.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetricConfig.cpp new file mode 100644 index 00000000000..696cbcecef5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetricConfig.cpp @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceLevelIndicatorMetricConfig::ServiceLevelIndicatorMetricConfig() : + m_keyAttributesHasBeenSet(false), + m_operationNameHasBeenSet(false), + m_metricType(ServiceLevelIndicatorMetricType::NOT_SET), + m_metricTypeHasBeenSet(false), + m_statisticHasBeenSet(false), + m_periodSeconds(0), + m_periodSecondsHasBeenSet(false), + m_metricDataQueriesHasBeenSet(false) +{ +} + +ServiceLevelIndicatorMetricConfig::ServiceLevelIndicatorMetricConfig(JsonView jsonValue) : + m_keyAttributesHasBeenSet(false), + m_operationNameHasBeenSet(false), + m_metricType(ServiceLevelIndicatorMetricType::NOT_SET), + m_metricTypeHasBeenSet(false), + m_statisticHasBeenSet(false), + m_periodSeconds(0), + m_periodSecondsHasBeenSet(false), + m_metricDataQueriesHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceLevelIndicatorMetricConfig& ServiceLevelIndicatorMetricConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("KeyAttributes")) + { + Aws::Map keyAttributesJsonMap = jsonValue.GetObject("KeyAttributes").GetAllObjects(); + for(auto& keyAttributesItem : keyAttributesJsonMap) + { + m_keyAttributes[keyAttributesItem.first] = keyAttributesItem.second.AsString(); + } + m_keyAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("OperationName")) + { + m_operationName = jsonValue.GetString("OperationName"); + + m_operationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricType")) + { + m_metricType = ServiceLevelIndicatorMetricTypeMapper::GetServiceLevelIndicatorMetricTypeForName(jsonValue.GetString("MetricType")); + + m_metricTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Statistic")) + { + m_statistic = jsonValue.GetString("Statistic"); + + m_statisticHasBeenSet = true; + } + + if(jsonValue.ValueExists("PeriodSeconds")) + { + m_periodSeconds = jsonValue.GetInteger("PeriodSeconds"); + + m_periodSecondsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricDataQueries")) + { + Aws::Utils::Array metricDataQueriesJsonList = jsonValue.GetArray("MetricDataQueries"); + for(unsigned metricDataQueriesIndex = 0; metricDataQueriesIndex < metricDataQueriesJsonList.GetLength(); ++metricDataQueriesIndex) + { + m_metricDataQueries.push_back(metricDataQueriesJsonList[metricDataQueriesIndex].AsObject()); + } + m_metricDataQueriesHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceLevelIndicatorMetricConfig::Jsonize() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + if(m_operationNameHasBeenSet) + { + payload.WithString("OperationName", m_operationName); + + } + + if(m_metricTypeHasBeenSet) + { + payload.WithString("MetricType", ServiceLevelIndicatorMetricTypeMapper::GetNameForServiceLevelIndicatorMetricType(m_metricType)); + } + + if(m_statisticHasBeenSet) + { + payload.WithString("Statistic", m_statistic); + + } + + if(m_periodSecondsHasBeenSet) + { + payload.WithInteger("PeriodSeconds", m_periodSeconds); + + } + + if(m_metricDataQueriesHasBeenSet) + { + Aws::Utils::Array metricDataQueriesJsonList(m_metricDataQueries.size()); + for(unsigned metricDataQueriesIndex = 0; metricDataQueriesIndex < metricDataQueriesJsonList.GetLength(); ++metricDataQueriesIndex) + { + metricDataQueriesJsonList[metricDataQueriesIndex].AsObject(m_metricDataQueries[metricDataQueriesIndex].Jsonize()); + } + payload.WithArray("MetricDataQueries", std::move(metricDataQueriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetricType.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetricType.cpp new file mode 100644 index 00000000000..3ebf690b7de --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelIndicatorMetricType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ApplicationSignals + { + namespace Model + { + namespace ServiceLevelIndicatorMetricTypeMapper + { + + static const int LATENCY_HASH = HashingUtils::HashString("LATENCY"); + static const int AVAILABILITY_HASH = HashingUtils::HashString("AVAILABILITY"); + + + ServiceLevelIndicatorMetricType GetServiceLevelIndicatorMetricTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == LATENCY_HASH) + { + return ServiceLevelIndicatorMetricType::LATENCY; + } + else if (hashCode == AVAILABILITY_HASH) + { + return ServiceLevelIndicatorMetricType::AVAILABILITY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceLevelIndicatorMetricType::NOT_SET; + } + + Aws::String GetNameForServiceLevelIndicatorMetricType(ServiceLevelIndicatorMetricType enumValue) + { + switch(enumValue) + { + case ServiceLevelIndicatorMetricType::NOT_SET: + return {}; + case ServiceLevelIndicatorMetricType::LATENCY: + return "LATENCY"; + case ServiceLevelIndicatorMetricType::AVAILABILITY: + return "AVAILABILITY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceLevelIndicatorMetricTypeMapper + } // namespace Model + } // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjective.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjective.cpp new file mode 100644 index 00000000000..160f61dba9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjective.cpp @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceLevelObjective::ServiceLevelObjective() : + m_arnHasBeenSet(false), + m_nameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_createdTimeHasBeenSet(false), + m_lastUpdatedTimeHasBeenSet(false), + m_sliHasBeenSet(false), + m_goalHasBeenSet(false) +{ +} + +ServiceLevelObjective::ServiceLevelObjective(JsonView jsonValue) : + m_arnHasBeenSet(false), + m_nameHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_createdTimeHasBeenSet(false), + m_lastUpdatedTimeHasBeenSet(false), + m_sliHasBeenSet(false), + m_goalHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceLevelObjective& ServiceLevelObjective::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedTime")) + { + m_createdTime = jsonValue.GetDouble("CreatedTime"); + + m_createdTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("LastUpdatedTime")) + { + m_lastUpdatedTime = jsonValue.GetDouble("LastUpdatedTime"); + + m_lastUpdatedTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Sli")) + { + m_sli = jsonValue.GetObject("Sli"); + + m_sliHasBeenSet = true; + } + + if(jsonValue.ValueExists("Goal")) + { + m_goal = jsonValue.GetObject("Goal"); + + m_goalHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceLevelObjective::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_createdTimeHasBeenSet) + { + payload.WithDouble("CreatedTime", m_createdTime.SecondsWithMSPrecision()); + } + + if(m_lastUpdatedTimeHasBeenSet) + { + payload.WithDouble("LastUpdatedTime", m_lastUpdatedTime.SecondsWithMSPrecision()); + } + + if(m_sliHasBeenSet) + { + payload.WithObject("Sli", m_sli.Jsonize()); + + } + + if(m_goalHasBeenSet) + { + payload.WithObject("Goal", m_goal.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetReport.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetReport.cpp new file mode 100644 index 00000000000..8288162172b --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetReport.cpp @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceLevelObjectiveBudgetReport::ServiceLevelObjectiveBudgetReport() : + m_arnHasBeenSet(false), + m_nameHasBeenSet(false), + m_budgetStatus(ServiceLevelObjectiveBudgetStatus::NOT_SET), + m_budgetStatusHasBeenSet(false), + m_attainment(0.0), + m_attainmentHasBeenSet(false), + m_totalBudgetSeconds(0), + m_totalBudgetSecondsHasBeenSet(false), + m_budgetSecondsRemaining(0), + m_budgetSecondsRemainingHasBeenSet(false), + m_sliHasBeenSet(false), + m_goalHasBeenSet(false) +{ +} + +ServiceLevelObjectiveBudgetReport::ServiceLevelObjectiveBudgetReport(JsonView jsonValue) : + m_arnHasBeenSet(false), + m_nameHasBeenSet(false), + m_budgetStatus(ServiceLevelObjectiveBudgetStatus::NOT_SET), + m_budgetStatusHasBeenSet(false), + m_attainment(0.0), + m_attainmentHasBeenSet(false), + m_totalBudgetSeconds(0), + m_totalBudgetSecondsHasBeenSet(false), + m_budgetSecondsRemaining(0), + m_budgetSecondsRemainingHasBeenSet(false), + m_sliHasBeenSet(false), + m_goalHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceLevelObjectiveBudgetReport& ServiceLevelObjectiveBudgetReport::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("BudgetStatus")) + { + m_budgetStatus = ServiceLevelObjectiveBudgetStatusMapper::GetServiceLevelObjectiveBudgetStatusForName(jsonValue.GetString("BudgetStatus")); + + m_budgetStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("Attainment")) + { + m_attainment = jsonValue.GetDouble("Attainment"); + + m_attainmentHasBeenSet = true; + } + + if(jsonValue.ValueExists("TotalBudgetSeconds")) + { + m_totalBudgetSeconds = jsonValue.GetInteger("TotalBudgetSeconds"); + + m_totalBudgetSecondsHasBeenSet = true; + } + + if(jsonValue.ValueExists("BudgetSecondsRemaining")) + { + m_budgetSecondsRemaining = jsonValue.GetInteger("BudgetSecondsRemaining"); + + m_budgetSecondsRemainingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Sli")) + { + m_sli = jsonValue.GetObject("Sli"); + + m_sliHasBeenSet = true; + } + + if(jsonValue.ValueExists("Goal")) + { + m_goal = jsonValue.GetObject("Goal"); + + m_goalHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceLevelObjectiveBudgetReport::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_budgetStatusHasBeenSet) + { + payload.WithString("BudgetStatus", ServiceLevelObjectiveBudgetStatusMapper::GetNameForServiceLevelObjectiveBudgetStatus(m_budgetStatus)); + } + + if(m_attainmentHasBeenSet) + { + payload.WithDouble("Attainment", m_attainment); + + } + + if(m_totalBudgetSecondsHasBeenSet) + { + payload.WithInteger("TotalBudgetSeconds", m_totalBudgetSeconds); + + } + + if(m_budgetSecondsRemainingHasBeenSet) + { + payload.WithInteger("BudgetSecondsRemaining", m_budgetSecondsRemaining); + + } + + if(m_sliHasBeenSet) + { + payload.WithObject("Sli", m_sli.Jsonize()); + + } + + if(m_goalHasBeenSet) + { + payload.WithObject("Goal", m_goal.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetReportError.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetReportError.cpp new file mode 100644 index 00000000000..9e1453e4198 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetReportError.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceLevelObjectiveBudgetReportError::ServiceLevelObjectiveBudgetReportError() : + m_nameHasBeenSet(false), + m_arnHasBeenSet(false), + m_errorCodeHasBeenSet(false), + m_errorMessageHasBeenSet(false) +{ +} + +ServiceLevelObjectiveBudgetReportError::ServiceLevelObjectiveBudgetReportError(JsonView jsonValue) : + m_nameHasBeenSet(false), + m_arnHasBeenSet(false), + m_errorCodeHasBeenSet(false), + m_errorMessageHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceLevelObjectiveBudgetReportError& ServiceLevelObjectiveBudgetReportError::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("ErrorCode")) + { + m_errorCode = jsonValue.GetString("ErrorCode"); + + m_errorCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("ErrorMessage")) + { + m_errorMessage = jsonValue.GetString("ErrorMessage"); + + m_errorMessageHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceLevelObjectiveBudgetReportError::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_errorCodeHasBeenSet) + { + payload.WithString("ErrorCode", m_errorCode); + + } + + if(m_errorMessageHasBeenSet) + { + payload.WithString("ErrorMessage", m_errorMessage); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetStatus.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetStatus.cpp new file mode 100644 index 00000000000..c3e9c56b2d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveBudgetStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ApplicationSignals + { + namespace Model + { + namespace ServiceLevelObjectiveBudgetStatusMapper + { + + static const int OK_HASH = HashingUtils::HashString("OK"); + static const int WARNING_HASH = HashingUtils::HashString("WARNING"); + static const int BREACHED_HASH = HashingUtils::HashString("BREACHED"); + static const int INSUFFICIENT_DATA_HASH = HashingUtils::HashString("INSUFFICIENT_DATA"); + + + ServiceLevelObjectiveBudgetStatus GetServiceLevelObjectiveBudgetStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == OK_HASH) + { + return ServiceLevelObjectiveBudgetStatus::OK; + } + else if (hashCode == WARNING_HASH) + { + return ServiceLevelObjectiveBudgetStatus::WARNING; + } + else if (hashCode == BREACHED_HASH) + { + return ServiceLevelObjectiveBudgetStatus::BREACHED; + } + else if (hashCode == INSUFFICIENT_DATA_HASH) + { + return ServiceLevelObjectiveBudgetStatus::INSUFFICIENT_DATA; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceLevelObjectiveBudgetStatus::NOT_SET; + } + + Aws::String GetNameForServiceLevelObjectiveBudgetStatus(ServiceLevelObjectiveBudgetStatus enumValue) + { + switch(enumValue) + { + case ServiceLevelObjectiveBudgetStatus::NOT_SET: + return {}; + case ServiceLevelObjectiveBudgetStatus::OK: + return "OK"; + case ServiceLevelObjectiveBudgetStatus::WARNING: + return "WARNING"; + case ServiceLevelObjectiveBudgetStatus::BREACHED: + return "BREACHED"; + case ServiceLevelObjectiveBudgetStatus::INSUFFICIENT_DATA: + return "INSUFFICIENT_DATA"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceLevelObjectiveBudgetStatusMapper + } // namespace Model + } // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveSummary.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveSummary.cpp new file mode 100644 index 00000000000..318fa418628 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceLevelObjectiveSummary.cpp @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceLevelObjectiveSummary::ServiceLevelObjectiveSummary() : + m_arnHasBeenSet(false), + m_nameHasBeenSet(false), + m_keyAttributesHasBeenSet(false), + m_operationNameHasBeenSet(false), + m_createdTimeHasBeenSet(false) +{ +} + +ServiceLevelObjectiveSummary::ServiceLevelObjectiveSummary(JsonView jsonValue) : + m_arnHasBeenSet(false), + m_nameHasBeenSet(false), + m_keyAttributesHasBeenSet(false), + m_operationNameHasBeenSet(false), + m_createdTimeHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceLevelObjectiveSummary& ServiceLevelObjectiveSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arn")) + { + m_arn = jsonValue.GetString("Arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("KeyAttributes")) + { + Aws::Map keyAttributesJsonMap = jsonValue.GetObject("KeyAttributes").GetAllObjects(); + for(auto& keyAttributesItem : keyAttributesJsonMap) + { + m_keyAttributes[keyAttributesItem.first] = keyAttributesItem.second.AsString(); + } + m_keyAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("OperationName")) + { + m_operationName = jsonValue.GetString("OperationName"); + + m_operationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("CreatedTime")) + { + m_createdTime = jsonValue.GetDouble("CreatedTime"); + + m_createdTimeHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceLevelObjectiveSummary::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("Arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + if(m_operationNameHasBeenSet) + { + payload.WithString("OperationName", m_operationName); + + } + + if(m_createdTimeHasBeenSet) + { + payload.WithDouble("CreatedTime", m_createdTime.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceOperation.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceOperation.cpp new file mode 100644 index 00000000000..d17e6dfb791 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceOperation.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceOperation::ServiceOperation() : + m_nameHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ +} + +ServiceOperation::ServiceOperation(JsonView jsonValue) : + m_nameHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceOperation& ServiceOperation::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricReferences")) + { + Aws::Utils::Array metricReferencesJsonList = jsonValue.GetArray("MetricReferences"); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + m_metricReferences.push_back(metricReferencesJsonList[metricReferencesIndex].AsObject()); + } + m_metricReferencesHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceOperation::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_metricReferencesHasBeenSet) + { + Aws::Utils::Array metricReferencesJsonList(m_metricReferences.size()); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + metricReferencesJsonList[metricReferencesIndex].AsObject(m_metricReferences[metricReferencesIndex].Jsonize()); + } + payload.WithArray("MetricReferences", std::move(metricReferencesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceSummary.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceSummary.cpp new file mode 100644 index 00000000000..2b6de30139e --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/ServiceSummary.cpp @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +ServiceSummary::ServiceSummary() : + m_keyAttributesHasBeenSet(false), + m_attributeMapsHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ +} + +ServiceSummary::ServiceSummary(JsonView jsonValue) : + m_keyAttributesHasBeenSet(false), + m_attributeMapsHasBeenSet(false), + m_metricReferencesHasBeenSet(false) +{ + *this = jsonValue; +} + +ServiceSummary& ServiceSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("KeyAttributes")) + { + Aws::Map keyAttributesJsonMap = jsonValue.GetObject("KeyAttributes").GetAllObjects(); + for(auto& keyAttributesItem : keyAttributesJsonMap) + { + m_keyAttributes[keyAttributesItem.first] = keyAttributesItem.second.AsString(); + } + m_keyAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("AttributeMaps")) + { + Aws::Utils::Array attributeMapsJsonList = jsonValue.GetArray("AttributeMaps"); + for(unsigned attributeMapsIndex = 0; attributeMapsIndex < attributeMapsJsonList.GetLength(); ++attributeMapsIndex) + { + Aws::Map attributeMapJsonMap = attributeMapsJsonList[attributeMapsIndex].GetAllObjects(); + Aws::Map attributeMapMap; + for(auto& attributeMapItem : attributeMapJsonMap) + { + attributeMapMap[attributeMapItem.first] = attributeMapItem.second.AsString(); + } + m_attributeMaps.push_back(std::move(attributeMapMap)); + } + m_attributeMapsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MetricReferences")) + { + Aws::Utils::Array metricReferencesJsonList = jsonValue.GetArray("MetricReferences"); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + m_metricReferences.push_back(metricReferencesJsonList[metricReferencesIndex].AsObject()); + } + m_metricReferencesHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceSummary::Jsonize() const +{ + JsonValue payload; + + if(m_keyAttributesHasBeenSet) + { + JsonValue keyAttributesJsonMap; + for(auto& keyAttributesItem : m_keyAttributes) + { + keyAttributesJsonMap.WithString(keyAttributesItem.first, keyAttributesItem.second); + } + payload.WithObject("KeyAttributes", std::move(keyAttributesJsonMap)); + + } + + if(m_attributeMapsHasBeenSet) + { + Aws::Utils::Array attributeMapsJsonList(m_attributeMaps.size()); + for(unsigned attributeMapsIndex = 0; attributeMapsIndex < attributeMapsJsonList.GetLength(); ++attributeMapsIndex) + { + JsonValue attributeMapJsonMap; + for(auto& attributeMapItem : m_attributeMaps[attributeMapsIndex]) + { + attributeMapJsonMap.WithString(attributeMapItem.first, attributeMapItem.second); + } + attributeMapsJsonList[attributeMapsIndex].AsObject(std::move(attributeMapJsonMap)); + } + payload.WithArray("AttributeMaps", std::move(attributeMapsJsonList)); + + } + + if(m_metricReferencesHasBeenSet) + { + Aws::Utils::Array metricReferencesJsonList(m_metricReferences.size()); + for(unsigned metricReferencesIndex = 0; metricReferencesIndex < metricReferencesJsonList.GetLength(); ++metricReferencesIndex) + { + metricReferencesJsonList[metricReferencesIndex].AsObject(m_metricReferences[metricReferencesIndex].Jsonize()); + } + payload.WithArray("MetricReferences", std::move(metricReferencesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/StandardUnit.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/StandardUnit.cpp new file mode 100644 index 00000000000..4e56448351d --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/StandardUnit.cpp @@ -0,0 +1,247 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ApplicationSignals + { + namespace Model + { + namespace StandardUnitMapper + { + + static const int Microseconds_HASH = HashingUtils::HashString("Microseconds"); + static const int Milliseconds_HASH = HashingUtils::HashString("Milliseconds"); + static const int Seconds_HASH = HashingUtils::HashString("Seconds"); + static const int Bytes_HASH = HashingUtils::HashString("Bytes"); + static const int Kilobytes_HASH = HashingUtils::HashString("Kilobytes"); + static const int Megabytes_HASH = HashingUtils::HashString("Megabytes"); + static const int Gigabytes_HASH = HashingUtils::HashString("Gigabytes"); + static const int Terabytes_HASH = HashingUtils::HashString("Terabytes"); + static const int Bits_HASH = HashingUtils::HashString("Bits"); + static const int Kilobits_HASH = HashingUtils::HashString("Kilobits"); + static const int Megabits_HASH = HashingUtils::HashString("Megabits"); + static const int Gigabits_HASH = HashingUtils::HashString("Gigabits"); + static const int Terabits_HASH = HashingUtils::HashString("Terabits"); + static const int Percent_HASH = HashingUtils::HashString("Percent"); + static const int Count_HASH = HashingUtils::HashString("Count"); + static const int Bytes_Second_HASH = HashingUtils::HashString("Bytes/Second"); + static const int Kilobytes_Second_HASH = HashingUtils::HashString("Kilobytes/Second"); + static const int Megabytes_Second_HASH = HashingUtils::HashString("Megabytes/Second"); + static const int Gigabytes_Second_HASH = HashingUtils::HashString("Gigabytes/Second"); + static const int Terabytes_Second_HASH = HashingUtils::HashString("Terabytes/Second"); + static const int Bits_Second_HASH = HashingUtils::HashString("Bits/Second"); + static const int Kilobits_Second_HASH = HashingUtils::HashString("Kilobits/Second"); + static const int Megabits_Second_HASH = HashingUtils::HashString("Megabits/Second"); + static const int Gigabits_Second_HASH = HashingUtils::HashString("Gigabits/Second"); + static const int Terabits_Second_HASH = HashingUtils::HashString("Terabits/Second"); + static const int Count_Second_HASH = HashingUtils::HashString("Count/Second"); + static const int None_HASH = HashingUtils::HashString("None"); + + + StandardUnit GetStandardUnitForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Microseconds_HASH) + { + return StandardUnit::Microseconds; + } + else if (hashCode == Milliseconds_HASH) + { + return StandardUnit::Milliseconds; + } + else if (hashCode == Seconds_HASH) + { + return StandardUnit::Seconds; + } + else if (hashCode == Bytes_HASH) + { + return StandardUnit::Bytes; + } + else if (hashCode == Kilobytes_HASH) + { + return StandardUnit::Kilobytes; + } + else if (hashCode == Megabytes_HASH) + { + return StandardUnit::Megabytes; + } + else if (hashCode == Gigabytes_HASH) + { + return StandardUnit::Gigabytes; + } + else if (hashCode == Terabytes_HASH) + { + return StandardUnit::Terabytes; + } + else if (hashCode == Bits_HASH) + { + return StandardUnit::Bits; + } + else if (hashCode == Kilobits_HASH) + { + return StandardUnit::Kilobits; + } + else if (hashCode == Megabits_HASH) + { + return StandardUnit::Megabits; + } + else if (hashCode == Gigabits_HASH) + { + return StandardUnit::Gigabits; + } + else if (hashCode == Terabits_HASH) + { + return StandardUnit::Terabits; + } + else if (hashCode == Percent_HASH) + { + return StandardUnit::Percent; + } + else if (hashCode == Count_HASH) + { + return StandardUnit::Count; + } + else if (hashCode == Bytes_Second_HASH) + { + return StandardUnit::Bytes_Second; + } + else if (hashCode == Kilobytes_Second_HASH) + { + return StandardUnit::Kilobytes_Second; + } + else if (hashCode == Megabytes_Second_HASH) + { + return StandardUnit::Megabytes_Second; + } + else if (hashCode == Gigabytes_Second_HASH) + { + return StandardUnit::Gigabytes_Second; + } + else if (hashCode == Terabytes_Second_HASH) + { + return StandardUnit::Terabytes_Second; + } + else if (hashCode == Bits_Second_HASH) + { + return StandardUnit::Bits_Second; + } + else if (hashCode == Kilobits_Second_HASH) + { + return StandardUnit::Kilobits_Second; + } + else if (hashCode == Megabits_Second_HASH) + { + return StandardUnit::Megabits_Second; + } + else if (hashCode == Gigabits_Second_HASH) + { + return StandardUnit::Gigabits_Second; + } + else if (hashCode == Terabits_Second_HASH) + { + return StandardUnit::Terabits_Second; + } + else if (hashCode == Count_Second_HASH) + { + return StandardUnit::Count_Second; + } + else if (hashCode == None_HASH) + { + return StandardUnit::None; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return StandardUnit::NOT_SET; + } + + Aws::String GetNameForStandardUnit(StandardUnit enumValue) + { + switch(enumValue) + { + case StandardUnit::NOT_SET: + return {}; + case StandardUnit::Microseconds: + return "Microseconds"; + case StandardUnit::Milliseconds: + return "Milliseconds"; + case StandardUnit::Seconds: + return "Seconds"; + case StandardUnit::Bytes: + return "Bytes"; + case StandardUnit::Kilobytes: + return "Kilobytes"; + case StandardUnit::Megabytes: + return "Megabytes"; + case StandardUnit::Gigabytes: + return "Gigabytes"; + case StandardUnit::Terabytes: + return "Terabytes"; + case StandardUnit::Bits: + return "Bits"; + case StandardUnit::Kilobits: + return "Kilobits"; + case StandardUnit::Megabits: + return "Megabits"; + case StandardUnit::Gigabits: + return "Gigabits"; + case StandardUnit::Terabits: + return "Terabits"; + case StandardUnit::Percent: + return "Percent"; + case StandardUnit::Count: + return "Count"; + case StandardUnit::Bytes_Second: + return "Bytes/Second"; + case StandardUnit::Kilobytes_Second: + return "Kilobytes/Second"; + case StandardUnit::Megabytes_Second: + return "Megabytes/Second"; + case StandardUnit::Gigabytes_Second: + return "Gigabytes/Second"; + case StandardUnit::Terabytes_Second: + return "Terabytes/Second"; + case StandardUnit::Bits_Second: + return "Bits/Second"; + case StandardUnit::Kilobits_Second: + return "Kilobits/Second"; + case StandardUnit::Megabits_Second: + return "Megabits/Second"; + case StandardUnit::Gigabits_Second: + return "Gigabits/Second"; + case StandardUnit::Terabits_Second: + return "Terabits/Second"; + case StandardUnit::Count_Second: + return "Count/Second"; + case StandardUnit::None: + return "None"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StandardUnitMapper + } // namespace Model + } // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/StartDiscoveryRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/StartDiscoveryRequest.cpp new file mode 100644 index 00000000000..1e697d2300d --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/StartDiscoveryRequest.cpp @@ -0,0 +1,26 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +StartDiscoveryRequest::StartDiscoveryRequest() +{ +} + +Aws::String StartDiscoveryRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/StartDiscoveryResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/StartDiscoveryResult.cpp new file mode 100644 index 00000000000..39c1b04937d --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/StartDiscoveryResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +StartDiscoveryResult::StartDiscoveryResult() +{ +} + +StartDiscoveryResult::StartDiscoveryResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +StartDiscoveryResult& StartDiscoveryResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/Tag.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/Tag.cpp new file mode 100644 index 00000000000..8627abdad88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/Tag.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ApplicationSignals +{ +namespace Model +{ + +Tag::Tag() : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +Tag::Tag(JsonView jsonValue) : + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ + *this = jsonValue; +} + +Tag& Tag::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Key")) + { + m_key = jsonValue.GetString("Key"); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue Tag::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("Key", m_key); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/TagResourceRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/TagResourceRequest.cpp new file mode 100644 index 00000000000..5ffe2f4332c --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/TagResourceRequest.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +TagResourceRequest::TagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String TagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_tagsHasBeenSet) + { + Aws::Utils::Array tagsJsonList(m_tags.size()); + for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) + { + tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize()); + } + payload.WithArray("Tags", std::move(tagsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/TagResourceResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/TagResourceResult.cpp new file mode 100644 index 00000000000..62e9e6f3069 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/TagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +TagResourceResult::TagResourceResult() +{ +} + +TagResourceResult::TagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +TagResourceResult& TagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/UntagResourceRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/UntagResourceRequest.cpp new file mode 100644 index 00000000000..b52fd68cbdc --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/UntagResourceRequest.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UntagResourceRequest::UntagResourceRequest() : + m_resourceArnHasBeenSet(false), + m_tagKeysHasBeenSet(false) +{ +} + +Aws::String UntagResourceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_resourceArnHasBeenSet) + { + payload.WithString("ResourceArn", m_resourceArn); + + } + + if(m_tagKeysHasBeenSet) + { + Aws::Utils::Array tagKeysJsonList(m_tagKeys.size()); + for(unsigned tagKeysIndex = 0; tagKeysIndex < tagKeysJsonList.GetLength(); ++tagKeysIndex) + { + tagKeysJsonList[tagKeysIndex].AsString(m_tagKeys[tagKeysIndex]); + } + payload.WithArray("TagKeys", std::move(tagKeysJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/UntagResourceResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/UntagResourceResult.cpp new file mode 100644 index 00000000000..c05fff60add --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/UntagResourceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UntagResourceResult::UntagResourceResult() +{ +} + +UntagResourceResult::UntagResourceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UntagResourceResult& UntagResourceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/UpdateServiceLevelObjectiveRequest.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/UpdateServiceLevelObjectiveRequest.cpp new file mode 100644 index 00000000000..898a1e73141 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/UpdateServiceLevelObjectiveRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateServiceLevelObjectiveRequest::UpdateServiceLevelObjectiveRequest() : + m_idHasBeenSet(false), + m_descriptionHasBeenSet(false), + m_sliConfigHasBeenSet(false), + m_goalHasBeenSet(false) +{ +} + +Aws::String UpdateServiceLevelObjectiveRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_sliConfigHasBeenSet) + { + payload.WithObject("SliConfig", m_sliConfig.Jsonize()); + + } + + if(m_goalHasBeenSet) + { + payload.WithObject("Goal", m_goal.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-application-signals/source/model/UpdateServiceLevelObjectiveResult.cpp b/generated/src/aws-cpp-sdk-application-signals/source/model/UpdateServiceLevelObjectiveResult.cpp new file mode 100644 index 00000000000..c5d6b05cb33 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/model/UpdateServiceLevelObjectiveResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ApplicationSignals::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateServiceLevelObjectiveResult::UpdateServiceLevelObjectiveResult() +{ +} + +UpdateServiceLevelObjectiveResult::UpdateServiceLevelObjectiveResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateServiceLevelObjectiveResult& UpdateServiceLevelObjectiveResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Slo")) + { + m_slo = jsonValue.GetObject("Slo"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h index b908876e7e3..3a160d4d74e 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h @@ -1519,10 +1519,13 @@ namespace ECS * SIGTERM value and a default 30-second timeout, after which the * SIGKILL value is sent and the containers are forcibly stopped. If * the container handles the SIGTERM value gracefully and exits within - * 30 seconds from receiving it, no SIGKILL value is sent.

- *

The default 30-second timeout can be configured on the Amazon ECS container - * agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more - * information, see SIGKILL value is sent.

For + * Windows containers, POSIX signals do not work and runtime stops the container by + * sending a CTRL_SHUTDOWN_EVENT. For more information, see Unable to react to graceful + * shutdown of (Windows) container #25982 on GitHub.

The default + * 30-second timeout can be configured on the Amazon ECS container agent with the + * ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see Amazon * ECS Container Agent Configuration in the Amazon Elastic Container Service * Developer Guide.

See Also:

FARGATE or FARGATE_SPOT * capacity providers. The Fargate capacity providers are available to all accounts * and only need to be associated with a cluster to be used in a capacity provider - * strategy.

A capacity provider strategy may contain a maximum of 6 - * capacity providers.

See Also:

With FARGATE_SPOT, you can run interruption + * tolerant tasks at a rate that's discounted compared to the FARGATE + * price. FARGATE_SPOT runs tasks on spare compute capacity. When + * Amazon Web Services needs the capacity back, your tasks are interrupted with a + * two-minute warning. FARGATE_SPOT only supports Linux tasks with the + * X86_64 architecture on platform version 1.3.0 or later.

A capacity + * provider strategy may contain a maximum of 6 capacity providers.

See + * Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ClusterConfiguration.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ClusterConfiguration.h index c46c8f8eb7d..fc30f269d0c 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ClusterConfiguration.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ClusterConfiguration.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include namespace Aws @@ -24,8 +25,8 @@ namespace Model { /** - *

The execute command configuration for the cluster.

See Also:

- * The execute command and managed storage configuration for the + * cluster.

See Also:

AWS * API Reference

*/ @@ -68,10 +69,44 @@ namespace Model */ inline ClusterConfiguration& WithExecuteCommandConfiguration(ExecuteCommandConfiguration&& value) { SetExecuteCommandConfiguration(std::move(value)); return *this;} + + /** + *

The details of the managed storage configuration.

+ */ + inline const ManagedStorageConfiguration& GetManagedStorageConfiguration() const{ return m_managedStorageConfiguration; } + + /** + *

The details of the managed storage configuration.

+ */ + inline bool ManagedStorageConfigurationHasBeenSet() const { return m_managedStorageConfigurationHasBeenSet; } + + /** + *

The details of the managed storage configuration.

+ */ + inline void SetManagedStorageConfiguration(const ManagedStorageConfiguration& value) { m_managedStorageConfigurationHasBeenSet = true; m_managedStorageConfiguration = value; } + + /** + *

The details of the managed storage configuration.

+ */ + inline void SetManagedStorageConfiguration(ManagedStorageConfiguration&& value) { m_managedStorageConfigurationHasBeenSet = true; m_managedStorageConfiguration = std::move(value); } + + /** + *

The details of the managed storage configuration.

+ */ + inline ClusterConfiguration& WithManagedStorageConfiguration(const ManagedStorageConfiguration& value) { SetManagedStorageConfiguration(value); return *this;} + + /** + *

The details of the managed storage configuration.

+ */ + inline ClusterConfiguration& WithManagedStorageConfiguration(ManagedStorageConfiguration&& value) { SetManagedStorageConfiguration(std::move(value)); return *this;} + private: ExecuteCommandConfiguration m_executeCommandConfiguration; bool m_executeCommandConfigurationHasBeenSet = false; + + ManagedStorageConfiguration m_managedStorageConfiguration; + bool m_managedStorageConfigurationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Deployment.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Deployment.h index cdb891b9831..0a83d98c33d 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Deployment.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Deployment.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -1064,6 +1065,37 @@ namespace Model */ inline Deployment& AddVolumeConfigurations(ServiceVolumeConfiguration&& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations.push_back(std::move(value)); return *this; } + + /** + *

The Fargate ephemeral storage settings for the deployment.

+ */ + inline const DeploymentEphemeralStorage& GetFargateEphemeralStorage() const{ return m_fargateEphemeralStorage; } + + /** + *

The Fargate ephemeral storage settings for the deployment.

+ */ + inline bool FargateEphemeralStorageHasBeenSet() const { return m_fargateEphemeralStorageHasBeenSet; } + + /** + *

The Fargate ephemeral storage settings for the deployment.

+ */ + inline void SetFargateEphemeralStorage(const DeploymentEphemeralStorage& value) { m_fargateEphemeralStorageHasBeenSet = true; m_fargateEphemeralStorage = value; } + + /** + *

The Fargate ephemeral storage settings for the deployment.

+ */ + inline void SetFargateEphemeralStorage(DeploymentEphemeralStorage&& value) { m_fargateEphemeralStorageHasBeenSet = true; m_fargateEphemeralStorage = std::move(value); } + + /** + *

The Fargate ephemeral storage settings for the deployment.

+ */ + inline Deployment& WithFargateEphemeralStorage(const DeploymentEphemeralStorage& value) { SetFargateEphemeralStorage(value); return *this;} + + /** + *

The Fargate ephemeral storage settings for the deployment.

+ */ + inline Deployment& WithFargateEphemeralStorage(DeploymentEphemeralStorage&& value) { SetFargateEphemeralStorage(std::move(value)); return *this;} + private: Aws::String m_id; @@ -1122,6 +1154,9 @@ namespace Model Aws::Vector m_volumeConfigurations; bool m_volumeConfigurationsHasBeenSet = false; + + DeploymentEphemeralStorage m_fargateEphemeralStorage; + bool m_fargateEphemeralStorageHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentEphemeralStorage.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentEphemeralStorage.h new file mode 100644 index 00000000000..a3375d0ffc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentEphemeralStorage.h @@ -0,0 +1,97 @@ +/** + * 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 +{ + + /** + *

The amount of ephemeral storage to allocate for the deployment.

See + * Also:

AWS + * API Reference

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

Specify an Key Management Service key ID to encrypt the ephemeral storage for + * deployment.

+ */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + + /** + *

Specify an Key Management Service key ID to encrypt the ephemeral storage for + * deployment.

+ */ + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + + /** + *

Specify an Key Management Service key ID to encrypt the ephemeral storage for + * deployment.

+ */ + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } + + /** + *

Specify an Key Management Service key ID to encrypt the ephemeral storage for + * deployment.

+ */ + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } + + /** + *

Specify an Key Management Service key ID to encrypt the ephemeral storage for + * deployment.

+ */ + inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } + + /** + *

Specify an Key Management Service key ID to encrypt the ephemeral storage for + * deployment.

+ */ + inline DeploymentEphemeralStorage& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + + /** + *

Specify an Key Management Service key ID to encrypt the ephemeral storage for + * deployment.

+ */ + inline DeploymentEphemeralStorage& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + + /** + *

Specify an Key Management Service key ID to encrypt the ephemeral storage for + * deployment.

+ */ + inline DeploymentEphemeralStorage& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + + private: + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/HealthCheck.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/HealthCheck.h index e971753bebe..e26998f5b90 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/HealthCheck.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/HealthCheck.h @@ -84,13 +84,17 @@ namespace Model * continue its lifecycle regardless of its health status. For tasks that are part * of a service, if the task reports as unhealthy then the task will be stopped and * the service scheduler will replace it.

The following are notes about - * container health check support:

  • When the Amazon ECS agent - * cannot connect to the Amazon ECS service, the service reports the container as - * UNHEALTHY.

  • The health check statuses are the - * "last heard from" response from the Amazon ECS agent. There are no assumptions - * made about the status of the container health checks.

  • - *

    Container health checks require version 1.17.0 or greater of the Amazon ECS - * container agent. For more information, see

    • If the Amazon ECS container + * agent becomes disconnected from the Amazon ECS service, this won't cause a + * container to transition to an UNHEALTHY status. This is by design, + * to ensure that containers remain running during agent restarts or temporary + * unavailability. The health check status is the "last heard from" response from + * the Amazon ECS agent, so if the container was considered HEALTHY + * prior to the disconnect, that status will remain until the agent reconnects and + * another health check occurs. There are no assumptions made about the status of + * the container health checks.

    • Container health checks require + * version 1.17.0 or greater of the Amazon ECS container agent. For + * more information, see Updating * the Amazon ECS container agent.

    • Container health checks * are supported for Fargate tasks if you're using platform version diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedStorageConfiguration.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedStorageConfiguration.h new file mode 100644 index 00000000000..ea6abe1ae20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedStorageConfiguration.h @@ -0,0 +1,141 @@ +/** + * 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 +{ + + /** + *

      The managed storage configuration for the cluster.

      See Also:

      + * AWS + * API Reference

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

      Specify a Key Management Service key ID to encrypt the managed storage.

      + */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + + /** + *

      Specify a Key Management Service key ID to encrypt the managed storage.

      + */ + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + + /** + *

      Specify a Key Management Service key ID to encrypt the managed storage.

      + */ + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } + + /** + *

      Specify a Key Management Service key ID to encrypt the managed storage.

      + */ + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } + + /** + *

      Specify a Key Management Service key ID to encrypt the managed storage.

      + */ + inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } + + /** + *

      Specify a Key Management Service key ID to encrypt the managed storage.

      + */ + inline ManagedStorageConfiguration& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + + /** + *

      Specify a Key Management Service key ID to encrypt the managed storage.

      + */ + inline ManagedStorageConfiguration& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + + /** + *

      Specify a Key Management Service key ID to encrypt the managed storage.

      + */ + inline ManagedStorageConfiguration& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + + + /** + *

      Specify the Key Management Service key ID for the Fargate ephemeral + * storage.

      + */ + inline const Aws::String& GetFargateEphemeralStorageKmsKeyId() const{ return m_fargateEphemeralStorageKmsKeyId; } + + /** + *

      Specify the Key Management Service key ID for the Fargate ephemeral + * storage.

      + */ + inline bool FargateEphemeralStorageKmsKeyIdHasBeenSet() const { return m_fargateEphemeralStorageKmsKeyIdHasBeenSet; } + + /** + *

      Specify the Key Management Service key ID for the Fargate ephemeral + * storage.

      + */ + inline void SetFargateEphemeralStorageKmsKeyId(const Aws::String& value) { m_fargateEphemeralStorageKmsKeyIdHasBeenSet = true; m_fargateEphemeralStorageKmsKeyId = value; } + + /** + *

      Specify the Key Management Service key ID for the Fargate ephemeral + * storage.

      + */ + inline void SetFargateEphemeralStorageKmsKeyId(Aws::String&& value) { m_fargateEphemeralStorageKmsKeyIdHasBeenSet = true; m_fargateEphemeralStorageKmsKeyId = std::move(value); } + + /** + *

      Specify the Key Management Service key ID for the Fargate ephemeral + * storage.

      + */ + inline void SetFargateEphemeralStorageKmsKeyId(const char* value) { m_fargateEphemeralStorageKmsKeyIdHasBeenSet = true; m_fargateEphemeralStorageKmsKeyId.assign(value); } + + /** + *

      Specify the Key Management Service key ID for the Fargate ephemeral + * storage.

      + */ + inline ManagedStorageConfiguration& WithFargateEphemeralStorageKmsKeyId(const Aws::String& value) { SetFargateEphemeralStorageKmsKeyId(value); return *this;} + + /** + *

      Specify the Key Management Service key ID for the Fargate ephemeral + * storage.

      + */ + inline ManagedStorageConfiguration& WithFargateEphemeralStorageKmsKeyId(Aws::String&& value) { SetFargateEphemeralStorageKmsKeyId(std::move(value)); return *this;} + + /** + *

      Specify the Key Management Service key ID for the Fargate ephemeral + * storage.

      + */ + inline ManagedStorageConfiguration& WithFargateEphemeralStorageKmsKeyId(const char* value) { SetFargateEphemeralStorageKmsKeyId(value); return *this;} + + private: + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + + Aws::String m_fargateEphemeralStorageKmsKeyId; + bool m_fargateEphemeralStorageKmsKeyIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RegisterTaskDefinitionRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RegisterTaskDefinitionRequest.h index f1f41d35b72..6c5c0308c56 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RegisterTaskDefinitionRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RegisterTaskDefinitionRequest.h @@ -1909,49 +1909,37 @@ namespace Model /** *

      The operating system that your tasks definitions run on. A platform family is - * specified only for tasks using the Fargate launch type.

      When you specify - * a task definition in a service, this value must match the - * runtimePlatform value of the service.

      + * specified only for tasks using the Fargate launch type.

      */ inline const RuntimePlatform& GetRuntimePlatform() const{ return m_runtimePlatform; } /** *

      The operating system that your tasks definitions run on. A platform family is - * specified only for tasks using the Fargate launch type.

      When you specify - * a task definition in a service, this value must match the - * runtimePlatform value of the service.

      + * specified only for tasks using the Fargate launch type.

      */ inline bool RuntimePlatformHasBeenSet() const { return m_runtimePlatformHasBeenSet; } /** *

      The operating system that your tasks definitions run on. A platform family is - * specified only for tasks using the Fargate launch type.

      When you specify - * a task definition in a service, this value must match the - * runtimePlatform value of the service.

      + * specified only for tasks using the Fargate launch type.

      */ inline void SetRuntimePlatform(const RuntimePlatform& value) { m_runtimePlatformHasBeenSet = true; m_runtimePlatform = value; } /** *

      The operating system that your tasks definitions run on. A platform family is - * specified only for tasks using the Fargate launch type.

      When you specify - * a task definition in a service, this value must match the - * runtimePlatform value of the service.

      + * specified only for tasks using the Fargate launch type.

      */ inline void SetRuntimePlatform(RuntimePlatform&& value) { m_runtimePlatformHasBeenSet = true; m_runtimePlatform = std::move(value); } /** *

      The operating system that your tasks definitions run on. A platform family is - * specified only for tasks using the Fargate launch type.

      When you specify - * a task definition in a service, this value must match the - * runtimePlatform value of the service.

      + * specified only for tasks using the Fargate launch type.

      */ inline RegisterTaskDefinitionRequest& WithRuntimePlatform(const RuntimePlatform& value) { SetRuntimePlatform(value); return *this;} /** *

      The operating system that your tasks definitions run on. A platform family is - * specified only for tasks using the Fargate launch type.

      When you specify - * a task definition in a service, this value must match the - * runtimePlatform value of the service.

      + * specified only for tasks using the Fargate launch type.

      */ inline RegisterTaskDefinitionRequest& WithRuntimePlatform(RuntimePlatform&& value) { SetRuntimePlatform(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ResourceRequirement.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ResourceRequirement.h index d91d686eafd..51a61fb748e 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ResourceRequirement.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ResourceRequirement.h @@ -46,104 +46,104 @@ namespace Model /** - *

      The value for the specified resource type.

      If the GPU - * type is used, the value is the number of physical GPUs the Amazon - * ECS container agent reserves for the container. The number of GPUs that's + *

      The value for the specified resource type.

      When the type is + * GPU, the value is the number of physical GPUs the + * Amazon ECS container agent reserves for the container. The number of GPUs that's * reserved for all containers in a task can't exceed the number of available GPUs - * on the container instance that the task is launched on.

      If the - * InferenceAccelerator type is used, the value matches - * the deviceName for an

      When the type is + * InferenceAccelerator, the value matches the + * deviceName for an InferenceAccelerator * specified in a task definition.

      */ inline const Aws::String& GetValue() const{ return m_value; } /** - *

      The value for the specified resource type.

      If the GPU - * type is used, the value is the number of physical GPUs the Amazon - * ECS container agent reserves for the container. The number of GPUs that's + *

      The value for the specified resource type.

      When the type is + * GPU, the value is the number of physical GPUs the + * Amazon ECS container agent reserves for the container. The number of GPUs that's * reserved for all containers in a task can't exceed the number of available GPUs - * on the container instance that the task is launched on.

      If the - * InferenceAccelerator type is used, the value matches - * the deviceName for an

      When the type is + * InferenceAccelerator, the value matches the + * deviceName for an InferenceAccelerator * specified in a task definition.

      */ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** - *

      The value for the specified resource type.

      If the GPU - * type is used, the value is the number of physical GPUs the Amazon - * ECS container agent reserves for the container. The number of GPUs that's + *

      The value for the specified resource type.

      When the type is + * GPU, the value is the number of physical GPUs the + * Amazon ECS container agent reserves for the container. The number of GPUs that's * reserved for all containers in a task can't exceed the number of available GPUs - * on the container instance that the task is launched on.

      If the - * InferenceAccelerator type is used, the value matches - * the deviceName for an

      When the type is + * InferenceAccelerator, the value matches the + * deviceName for an InferenceAccelerator * specified in a task definition.

      */ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** - *

      The value for the specified resource type.

      If the GPU - * type is used, the value is the number of physical GPUs the Amazon - * ECS container agent reserves for the container. The number of GPUs that's + *

      The value for the specified resource type.

      When the type is + * GPU, the value is the number of physical GPUs the + * Amazon ECS container agent reserves for the container. The number of GPUs that's * reserved for all containers in a task can't exceed the number of available GPUs - * on the container instance that the task is launched on.

      If the - * InferenceAccelerator type is used, the value matches - * the deviceName for an

      When the type is + * InferenceAccelerator, the value matches the + * deviceName for an InferenceAccelerator * specified in a task definition.

      */ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** - *

      The value for the specified resource type.

      If the GPU - * type is used, the value is the number of physical GPUs the Amazon - * ECS container agent reserves for the container. The number of GPUs that's + *

      The value for the specified resource type.

      When the type is + * GPU, the value is the number of physical GPUs the + * Amazon ECS container agent reserves for the container. The number of GPUs that's * reserved for all containers in a task can't exceed the number of available GPUs - * on the container instance that the task is launched on.

      If the - * InferenceAccelerator type is used, the value matches - * the deviceName for an

      When the type is + * InferenceAccelerator, the value matches the + * deviceName for an InferenceAccelerator * specified in a task definition.

      */ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** - *

      The value for the specified resource type.

      If the GPU - * type is used, the value is the number of physical GPUs the Amazon - * ECS container agent reserves for the container. The number of GPUs that's + *

      The value for the specified resource type.

      When the type is + * GPU, the value is the number of physical GPUs the + * Amazon ECS container agent reserves for the container. The number of GPUs that's * reserved for all containers in a task can't exceed the number of available GPUs - * on the container instance that the task is launched on.

      If the - * InferenceAccelerator type is used, the value matches - * the deviceName for an

      When the type is + * InferenceAccelerator, the value matches the + * deviceName for an InferenceAccelerator * specified in a task definition.

      */ inline ResourceRequirement& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** - *

      The value for the specified resource type.

      If the GPU - * type is used, the value is the number of physical GPUs the Amazon - * ECS container agent reserves for the container. The number of GPUs that's + *

      The value for the specified resource type.

      When the type is + * GPU, the value is the number of physical GPUs the + * Amazon ECS container agent reserves for the container. The number of GPUs that's * reserved for all containers in a task can't exceed the number of available GPUs - * on the container instance that the task is launched on.

      If the - * InferenceAccelerator type is used, the value matches - * the deviceName for an

      When the type is + * InferenceAccelerator, the value matches the + * deviceName for an InferenceAccelerator * specified in a task definition.

      */ inline ResourceRequirement& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** - *

      The value for the specified resource type.

      If the GPU - * type is used, the value is the number of physical GPUs the Amazon - * ECS container agent reserves for the container. The number of GPUs that's + *

      The value for the specified resource type.

      When the type is + * GPU, the value is the number of physical GPUs the + * Amazon ECS container agent reserves for the container. The number of GPUs that's * reserved for all containers in a task can't exceed the number of available GPUs - * on the container instance that the task is launched on.

      If the - * InferenceAccelerator type is used, the value matches - * the deviceName for an

      When the type is + * InferenceAccelerator, the value matches the + * deviceName for an InferenceAccelerator * specified in a task definition.

      */ @@ -151,38 +151,32 @@ namespace Model /** - *

      The type of resource to assign to a container. The supported values are - * GPU or InferenceAccelerator.

      + *

      The type of resource to assign to a container.

      */ inline const ResourceType& GetType() const{ return m_type; } /** - *

      The type of resource to assign to a container. The supported values are - * GPU or InferenceAccelerator.

      + *

      The type of resource to assign to a container.

      */ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** - *

      The type of resource to assign to a container. The supported values are - * GPU or InferenceAccelerator.

      + *

      The type of resource to assign to a container.

      */ inline void SetType(const ResourceType& value) { m_typeHasBeenSet = true; m_type = value; } /** - *

      The type of resource to assign to a container. The supported values are - * GPU or InferenceAccelerator.

      + *

      The type of resource to assign to a container.

      */ inline void SetType(ResourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** - *

      The type of resource to assign to a container. The supported values are - * GPU or InferenceAccelerator.

      + *

      The type of resource to assign to a container.

      */ inline ResourceRequirement& WithType(const ResourceType& value) { SetType(value); return *this;} /** - *

      The type of resource to assign to a container. The supported values are - * GPU or InferenceAccelerator.

      + *

      The type of resource to assign to a container.

      */ inline ResourceRequirement& WithType(ResourceType&& value) { SetType(std::move(value)); return *this;} diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceConnectTlsCertificateAuthority.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceConnectTlsCertificateAuthority.h index 2b4640b967e..ed0075b84a4 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceConnectTlsCertificateAuthority.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceConnectTlsCertificateAuthority.h @@ -24,8 +24,8 @@ namespace Model { /** - *

      An object that represents the Amazon Web Services Private Certificate - * Authority certificate.

      See Also:

      The certificate root authority that secures your service.

      See + * Also:

      AWS * API Reference

      */ diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceConnectTlsConfiguration.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceConnectTlsConfiguration.h index 18fee17bee1..bad3377cb43 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceConnectTlsConfiguration.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceConnectTlsConfiguration.h @@ -25,7 +25,7 @@ namespace Model { /** - *

      An object that represents the configuration for Service Connect + *

      The key that encrypts and decrypts your resources for Service Connect * TLS.

      See Also:

      AWS * API Reference

      diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Task.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Task.h index 0aa384c5fc5..f4f7f34562d 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Task.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Task.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -2137,6 +2138,37 @@ namespace Model */ inline Task& WithEphemeralStorage(EphemeralStorage&& value) { SetEphemeralStorage(std::move(value)); return *this;} + + /** + *

      The Fargate ephemeral storage settings for the task.

      + */ + inline const TaskEphemeralStorage& GetFargateEphemeralStorage() const{ return m_fargateEphemeralStorage; } + + /** + *

      The Fargate ephemeral storage settings for the task.

      + */ + inline bool FargateEphemeralStorageHasBeenSet() const { return m_fargateEphemeralStorageHasBeenSet; } + + /** + *

      The Fargate ephemeral storage settings for the task.

      + */ + inline void SetFargateEphemeralStorage(const TaskEphemeralStorage& value) { m_fargateEphemeralStorageHasBeenSet = true; m_fargateEphemeralStorage = value; } + + /** + *

      The Fargate ephemeral storage settings for the task.

      + */ + inline void SetFargateEphemeralStorage(TaskEphemeralStorage&& value) { m_fargateEphemeralStorageHasBeenSet = true; m_fargateEphemeralStorage = std::move(value); } + + /** + *

      The Fargate ephemeral storage settings for the task.

      + */ + inline Task& WithFargateEphemeralStorage(const TaskEphemeralStorage& value) { SetFargateEphemeralStorage(value); return *this;} + + /** + *

      The Fargate ephemeral storage settings for the task.

      + */ + inline Task& WithFargateEphemeralStorage(TaskEphemeralStorage&& value) { SetFargateEphemeralStorage(std::move(value)); return *this;} + private: Aws::Vector m_attachments; @@ -2246,6 +2278,9 @@ namespace Model EphemeralStorage m_ephemeralStorage; bool m_ephemeralStorageHasBeenSet = false; + + TaskEphemeralStorage m_fargateEphemeralStorage; + bool m_fargateEphemeralStorageHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskEphemeralStorage.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskEphemeralStorage.h new file mode 100644 index 00000000000..46018df0bdc --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskEphemeralStorage.h @@ -0,0 +1,129 @@ +/** + * 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 +{ + + /** + *

      The amount of ephemeral storage to allocate for the task.

      See + * Also:

      AWS + * API Reference

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

      The total amount, in GiB, of the ephemeral storage to set for the task. The + * minimum supported value is 20 GiB and the maximum supported value + * is
 200 GiB.

      + */ + inline int GetSizeInGiB() const{ return m_sizeInGiB; } + + /** + *

      The total amount, in GiB, of the ephemeral storage to set for the task. The + * minimum supported value is 20 GiB and the maximum supported value + * is
 200 GiB.

      + */ + inline bool SizeInGiBHasBeenSet() const { return m_sizeInGiBHasBeenSet; } + + /** + *

      The total amount, in GiB, of the ephemeral storage to set for the task. The + * minimum supported value is 20 GiB and the maximum supported value + * is
 200 GiB.

      + */ + inline void SetSizeInGiB(int value) { m_sizeInGiBHasBeenSet = true; m_sizeInGiB = value; } + + /** + *

      The total amount, in GiB, of the ephemeral storage to set for the task. The + * minimum supported value is 20 GiB and the maximum supported value + * is
 200 GiB.

      + */ + inline TaskEphemeralStorage& WithSizeInGiB(int value) { SetSizeInGiB(value); return *this;} + + + /** + *

      Specify an Key Management Service key ID to encrypt the ephemeral storage for + * the task.

      + */ + inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } + + /** + *

      Specify an Key Management Service key ID to encrypt the ephemeral storage for + * the task.

      + */ + inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } + + /** + *

      Specify an Key Management Service key ID to encrypt the ephemeral storage for + * the task.

      + */ + inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } + + /** + *

      Specify an Key Management Service key ID to encrypt the ephemeral storage for + * the task.

      + */ + inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } + + /** + *

      Specify an Key Management Service key ID to encrypt the ephemeral storage for + * the task.

      + */ + inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } + + /** + *

      Specify an Key Management Service key ID to encrypt the ephemeral storage for + * the task.

      + */ + inline TaskEphemeralStorage& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} + + /** + *

      Specify an Key Management Service key ID to encrypt the ephemeral storage for + * the task.

      + */ + inline TaskEphemeralStorage& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} + + /** + *

      Specify an Key Management Service key ID to encrypt the ephemeral storage for + * the task.

      + */ + inline TaskEphemeralStorage& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} + + private: + + int m_sizeInGiB; + bool m_sizeInGiBHasBeenSet = false; + + Aws::String m_kmsKeyId; + bool m_kmsKeyIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskSet.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskSet.h index 6ffd43701cf..4775aa94a62 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskSet.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskSet.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -1341,6 +1342,37 @@ namespace Model */ inline TaskSet& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } + + /** + *

      The Fargate ephemeral storage settings for the task set.

      + */ + inline const DeploymentEphemeralStorage& GetFargateEphemeralStorage() const{ return m_fargateEphemeralStorage; } + + /** + *

      The Fargate ephemeral storage settings for the task set.

      + */ + inline bool FargateEphemeralStorageHasBeenSet() const { return m_fargateEphemeralStorageHasBeenSet; } + + /** + *

      The Fargate ephemeral storage settings for the task set.

      + */ + inline void SetFargateEphemeralStorage(const DeploymentEphemeralStorage& value) { m_fargateEphemeralStorageHasBeenSet = true; m_fargateEphemeralStorage = value; } + + /** + *

      The Fargate ephemeral storage settings for the task set.

      + */ + inline void SetFargateEphemeralStorage(DeploymentEphemeralStorage&& value) { m_fargateEphemeralStorageHasBeenSet = true; m_fargateEphemeralStorage = std::move(value); } + + /** + *

      The Fargate ephemeral storage settings for the task set.

      + */ + inline TaskSet& WithFargateEphemeralStorage(const DeploymentEphemeralStorage& value) { SetFargateEphemeralStorage(value); return *this;} + + /** + *

      The Fargate ephemeral storage settings for the task set.

      + */ + inline TaskSet& WithFargateEphemeralStorage(DeploymentEphemeralStorage&& value) { SetFargateEphemeralStorage(std::move(value)); return *this;} + private: Aws::String m_id; @@ -1414,6 +1446,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + DeploymentEphemeralStorage m_fargateEphemeralStorage; + bool m_fargateEphemeralStorageHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ClusterConfiguration.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ClusterConfiguration.cpp index 42f86293ea6..954f11300ab 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/ClusterConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ClusterConfiguration.cpp @@ -19,12 +19,14 @@ namespace Model { ClusterConfiguration::ClusterConfiguration() : - m_executeCommandConfigurationHasBeenSet(false) + m_executeCommandConfigurationHasBeenSet(false), + m_managedStorageConfigurationHasBeenSet(false) { } ClusterConfiguration::ClusterConfiguration(JsonView jsonValue) : - m_executeCommandConfigurationHasBeenSet(false) + m_executeCommandConfigurationHasBeenSet(false), + m_managedStorageConfigurationHasBeenSet(false) { *this = jsonValue; } @@ -38,6 +40,13 @@ ClusterConfiguration& ClusterConfiguration::operator =(JsonView jsonValue) m_executeCommandConfigurationHasBeenSet = true; } + if(jsonValue.ValueExists("managedStorageConfiguration")) + { + m_managedStorageConfiguration = jsonValue.GetObject("managedStorageConfiguration"); + + m_managedStorageConfigurationHasBeenSet = true; + } + return *this; } @@ -51,6 +60,12 @@ JsonValue ClusterConfiguration::Jsonize() const } + if(m_managedStorageConfigurationHasBeenSet) + { + payload.WithObject("managedStorageConfiguration", m_managedStorageConfiguration.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/Deployment.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/Deployment.cpp index c63c1c4b2f3..eb913d6f75c 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/Deployment.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/Deployment.cpp @@ -43,7 +43,8 @@ Deployment::Deployment() : m_rolloutStateReasonHasBeenSet(false), m_serviceConnectConfigurationHasBeenSet(false), m_serviceConnectResourcesHasBeenSet(false), - m_volumeConfigurationsHasBeenSet(false) + m_volumeConfigurationsHasBeenSet(false), + m_fargateEphemeralStorageHasBeenSet(false) { } @@ -72,7 +73,8 @@ Deployment::Deployment(JsonView jsonValue) : m_rolloutStateReasonHasBeenSet(false), m_serviceConnectConfigurationHasBeenSet(false), m_serviceConnectResourcesHasBeenSet(false), - m_volumeConfigurationsHasBeenSet(false) + m_volumeConfigurationsHasBeenSet(false), + m_fargateEphemeralStorageHasBeenSet(false) { *this = jsonValue; } @@ -221,6 +223,13 @@ Deployment& Deployment::operator =(JsonView jsonValue) m_volumeConfigurationsHasBeenSet = true; } + if(jsonValue.ValueExists("fargateEphemeralStorage")) + { + m_fargateEphemeralStorage = jsonValue.GetObject("fargateEphemeralStorage"); + + m_fargateEphemeralStorageHasBeenSet = true; + } + return *this; } @@ -353,6 +362,12 @@ JsonValue Deployment::Jsonize() const } + if(m_fargateEphemeralStorageHasBeenSet) + { + payload.WithObject("fargateEphemeralStorage", m_fargateEphemeralStorage.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/DeploymentEphemeralStorage.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/DeploymentEphemeralStorage.cpp new file mode 100644 index 00000000000..4c2489a40e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/DeploymentEphemeralStorage.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +DeploymentEphemeralStorage::DeploymentEphemeralStorage() : + m_kmsKeyIdHasBeenSet(false) +{ +} + +DeploymentEphemeralStorage::DeploymentEphemeralStorage(JsonView jsonValue) : + m_kmsKeyIdHasBeenSet(false) +{ + *this = jsonValue; +} + +DeploymentEphemeralStorage& DeploymentEphemeralStorage::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("kmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("kmsKeyId"); + + m_kmsKeyIdHasBeenSet = true; + } + + return *this; +} + +JsonValue DeploymentEphemeralStorage::Jsonize() const +{ + JsonValue payload; + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("kmsKeyId", m_kmsKeyId); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ManagedStorageConfiguration.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ManagedStorageConfiguration.cpp new file mode 100644 index 00000000000..a5109236d1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ManagedStorageConfiguration.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +ManagedStorageConfiguration::ManagedStorageConfiguration() : + m_kmsKeyIdHasBeenSet(false), + m_fargateEphemeralStorageKmsKeyIdHasBeenSet(false) +{ +} + +ManagedStorageConfiguration::ManagedStorageConfiguration(JsonView jsonValue) : + m_kmsKeyIdHasBeenSet(false), + m_fargateEphemeralStorageKmsKeyIdHasBeenSet(false) +{ + *this = jsonValue; +} + +ManagedStorageConfiguration& ManagedStorageConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("kmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("kmsKeyId"); + + m_kmsKeyIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("fargateEphemeralStorageKmsKeyId")) + { + m_fargateEphemeralStorageKmsKeyId = jsonValue.GetString("fargateEphemeralStorageKmsKeyId"); + + m_fargateEphemeralStorageKmsKeyIdHasBeenSet = true; + } + + return *this; +} + +JsonValue ManagedStorageConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("kmsKeyId", m_kmsKeyId); + + } + + if(m_fargateEphemeralStorageKmsKeyIdHasBeenSet) + { + payload.WithString("fargateEphemeralStorageKmsKeyId", m_fargateEphemeralStorageKmsKeyId); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/Task.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/Task.cpp index 97bb4ab4ecc..13d2b5cee05 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/Task.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/Task.cpp @@ -60,7 +60,8 @@ Task::Task() : m_taskDefinitionArnHasBeenSet(false), m_version(0), m_versionHasBeenSet(false), - m_ephemeralStorageHasBeenSet(false) + m_ephemeralStorageHasBeenSet(false), + m_fargateEphemeralStorageHasBeenSet(false) { } @@ -106,7 +107,8 @@ Task::Task(JsonView jsonValue) : m_taskDefinitionArnHasBeenSet(false), m_version(0), m_versionHasBeenSet(false), - m_ephemeralStorageHasBeenSet(false) + m_ephemeralStorageHasBeenSet(false), + m_fargateEphemeralStorageHasBeenSet(false) { *this = jsonValue; } @@ -380,6 +382,13 @@ Task& Task::operator =(JsonView jsonValue) m_ephemeralStorageHasBeenSet = true; } + if(jsonValue.ValueExists("fargateEphemeralStorage")) + { + m_fargateEphemeralStorage = jsonValue.GetObject("fargateEphemeralStorage"); + + m_fargateEphemeralStorageHasBeenSet = true; + } + return *this; } @@ -616,6 +625,12 @@ JsonValue Task::Jsonize() const } + if(m_fargateEphemeralStorageHasBeenSet) + { + payload.WithObject("fargateEphemeralStorage", m_fargateEphemeralStorage.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/TaskEphemeralStorage.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/TaskEphemeralStorage.cpp new file mode 100644 index 00000000000..488278a0267 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/TaskEphemeralStorage.cpp @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +TaskEphemeralStorage::TaskEphemeralStorage() : + m_sizeInGiB(0), + m_sizeInGiBHasBeenSet(false), + m_kmsKeyIdHasBeenSet(false) +{ +} + +TaskEphemeralStorage::TaskEphemeralStorage(JsonView jsonValue) : + m_sizeInGiB(0), + m_sizeInGiBHasBeenSet(false), + m_kmsKeyIdHasBeenSet(false) +{ + *this = jsonValue; +} + +TaskEphemeralStorage& TaskEphemeralStorage::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("sizeInGiB")) + { + m_sizeInGiB = jsonValue.GetInteger("sizeInGiB"); + + m_sizeInGiBHasBeenSet = true; + } + + if(jsonValue.ValueExists("kmsKeyId")) + { + m_kmsKeyId = jsonValue.GetString("kmsKeyId"); + + m_kmsKeyIdHasBeenSet = true; + } + + return *this; +} + +JsonValue TaskEphemeralStorage::Jsonize() const +{ + JsonValue payload; + + if(m_sizeInGiBHasBeenSet) + { + payload.WithInteger("sizeInGiB", m_sizeInGiB); + + } + + if(m_kmsKeyIdHasBeenSet) + { + payload.WithString("kmsKeyId", m_kmsKeyId); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/TaskSet.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/TaskSet.cpp index 87c0ee262e7..69725128d58 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/TaskSet.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/TaskSet.cpp @@ -47,7 +47,8 @@ TaskSet::TaskSet() : m_stabilityStatus(StabilityStatus::NOT_SET), m_stabilityStatusHasBeenSet(false), m_stabilityStatusAtHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_fargateEphemeralStorageHasBeenSet(false) { } @@ -80,7 +81,8 @@ TaskSet::TaskSet(JsonView jsonValue) : m_stabilityStatus(StabilityStatus::NOT_SET), m_stabilityStatusHasBeenSet(false), m_stabilityStatusAtHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_fargateEphemeralStorageHasBeenSet(false) { *this = jsonValue; } @@ -267,6 +269,13 @@ TaskSet& TaskSet::operator =(JsonView jsonValue) m_tagsHasBeenSet = true; } + if(jsonValue.ValueExists("fargateEphemeralStorage")) + { + m_fargateEphemeralStorage = jsonValue.GetObject("fargateEphemeralStorage"); + + m_fargateEphemeralStorageHasBeenSet = true; + } + return *this; } @@ -433,6 +442,12 @@ JsonValue TaskSet::Jsonize() const } + if(m_fargateEphemeralStorageHasBeenSet) + { + payload.WithObject("fargateEphemeralStorage", m_fargateEphemeralStorage.Jsonize()); + + } + return payload; } diff --git a/generated/tests/application-signals-gen-tests/ApplicationSignalsEndpointProviderTests.cpp b/generated/tests/application-signals-gen-tests/ApplicationSignalsEndpointProviderTests.cpp new file mode 100644 index 00000000000..befbd4f2933 --- /dev/null +++ b/generated/tests/application-signals-gen-tests/ApplicationSignalsEndpointProviderTests.cpp @@ -0,0 +1,371 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSApplicationSignalsEndpointProviderTests"; +using ApplicationSignalsEndpointProvider = Aws::ApplicationSignals::Endpoint::ApplicationSignalsEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct ApplicationSignalsEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class ApplicationSignalsEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> ApplicationSignalsEndpointProviderTests::TEST_CASES; +const size_t ApplicationSignalsEndpointProviderTests::TEST_CASES_SZ = 17; + +Aws::Vector ApplicationSignalsEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals-fips.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals.us-east-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals-fips.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals.us-gov-west-1.api.aws", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1")}, // params + {}, // tags + {{/*epUrl*/"https://application-signals.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 16*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const ApplicationSignalsEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(ApplicationSignalsEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const ApplicationSignalsEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/ApplicationSignalsEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize ApplicationSignalsEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + ApplicationSignalsEndpointProviderTests, + ::testing::Range((size_t) 0u, ApplicationSignalsEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/application-signals-gen-tests/CMakeLists.txt b/generated/tests/application-signals-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..265e047b60c --- /dev/null +++ b/generated/tests/application-signals-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(application-signals-gen-tests + "Tests for the AWS APPLICATION-SIGNALS C++ SDK" + testing-resources + aws-cpp-sdk-application-signals + aws-cpp-sdk-core) + +file(GLOB AWS_APPLICATION-SIGNALS_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_APPLICATION-SIGNALS_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_APPLICATION-SIGNALS_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/application-signals-gen-tests/RunTests.cpp b/generated/tests/application-signals-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/application-signals-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 3645ca30183..76f4449e7d3 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.345" +#define AWS_SDK_VERSION_STRING "1.11.346" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 345 +#define AWS_SDK_VERSION_PATCH 346 diff --git a/tools/code-generation/api-descriptions/application-signals-2024-04-15.normal.json b/tools/code-generation/api-descriptions/application-signals-2024-04-15.normal.json new file mode 100644 index 00000000000..43dffbe492b --- /dev/null +++ b/tools/code-generation/api-descriptions/application-signals-2024-04-15.normal.json @@ -0,0 +1,1811 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2024-04-15", + "endpointPrefix":"application-signals", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"Amazon CloudWatch Application Signals", + "serviceId":"Application Signals", + "signatureVersion":"v4", + "signingName":"application-signals", + "uid":"application-signals-2024-04-15" + }, + "operations":{ + "BatchGetServiceLevelObjectiveBudgetReport":{ + "name":"BatchGetServiceLevelObjectiveBudgetReport", + "http":{ + "method":"POST", + "requestUri":"/budget-report", + "responseCode":200 + }, + "input":{"shape":"BatchGetServiceLevelObjectiveBudgetReportInput"}, + "output":{"shape":"BatchGetServiceLevelObjectiveBudgetReportOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Use this operation to retrieve one or more service level objective (SLO) budget reports.

      An error budget is the amount of time in unhealthy periods that your service can accumulate during an interval before your overall SLO budget health is breached and the SLO is considered to be unmet. For example, an SLO with a threshold of 99.95% and a monthly interval translates to an error budget of 21.9 minutes of downtime in a 30-day month.

      Budget reports include a health indicator, the attainment value, and remaining budget.

      For more information about SLO error budgets, see SLO concepts.

      " + }, + "CreateServiceLevelObjective":{ + "name":"CreateServiceLevelObjective", + "http":{ + "method":"POST", + "requestUri":"/slo", + "responseCode":200 + }, + "input":{"shape":"CreateServiceLevelObjectiveInput"}, + "output":{"shape":"CreateServiceLevelObjectiveOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "documentation":"

      Creates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations. Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

      Create an SLO to set a target for a service or operation’s availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

      When you create an SLO, you set an attainment goal for it. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.

      After you have created an SLO, you can retrieve error budget reports for it. An error budget is the number of periods or amount of time that your service can accumulate during an interval before your overall SLO budget health is breached and the SLO is considered to be unmet. for example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.

      When you call this operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

      • xray:GetServiceGraph

      • logs:StartQuery

      • logs:GetQueryResults

      • cloudwatch:GetMetricData

      • cloudwatch:ListMetrics

      • tag:GetResources

      • autoscaling:DescribeAutoScalingGroups

      You can easily set SLO targets for your applications that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

      For more information about SLOs, see Service level objectives (SLOs).

      " + }, + "DeleteServiceLevelObjective":{ + "name":"DeleteServiceLevelObjective", + "http":{ + "method":"DELETE", + "requestUri":"/slo/{Id}", + "responseCode":200 + }, + "input":{"shape":"DeleteServiceLevelObjectiveInput"}, + "output":{"shape":"DeleteServiceLevelObjectiveOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Deletes the specified service level objective.

      ", + "idempotent":true + }, + "GetService":{ + "name":"GetService", + "http":{ + "method":"POST", + "requestUri":"/service", + "responseCode":200 + }, + "input":{"shape":"GetServiceInput"}, + "output":{"shape":"GetServiceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns information about a service discovered by Application Signals.

      " + }, + "GetServiceLevelObjective":{ + "name":"GetServiceLevelObjective", + "http":{ + "method":"GET", + "requestUri":"/slo/{Id}", + "responseCode":200 + }, + "input":{"shape":"GetServiceLevelObjectiveInput"}, + "output":{"shape":"GetServiceLevelObjectiveOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns information about one SLO created in the account.

      " + }, + "ListServiceDependencies":{ + "name":"ListServiceDependencies", + "http":{ + "method":"POST", + "requestUri":"/service-dependencies", + "responseCode":200 + }, + "input":{"shape":"ListServiceDependenciesInput"}, + "output":{"shape":"ListServiceDependenciesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of service dependencies of the service that you specify. A dependency is an infrastructure component that an operation of this service connects with. Dependencies can include Amazon Web Services services, Amazon Web Services resources, and third-party services.

      " + }, + "ListServiceDependents":{ + "name":"ListServiceDependents", + "http":{ + "method":"POST", + "requestUri":"/service-dependents", + "responseCode":200 + }, + "input":{"shape":"ListServiceDependentsInput"}, + "output":{"shape":"ListServiceDependentsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns the list of dependents that invoked the specified service during the provided time range. Dependents include other services, CloudWatch Synthetics canaries, and clients that are instrumented with CloudWatch RUM app monitors.

      " + }, + "ListServiceLevelObjectives":{ + "name":"ListServiceLevelObjectives", + "http":{ + "method":"POST", + "requestUri":"/slos", + "responseCode":200 + }, + "input":{"shape":"ListServiceLevelObjectivesInput"}, + "output":{"shape":"ListServiceLevelObjectivesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of SLOs created in this account.

      " + }, + "ListServiceOperations":{ + "name":"ListServiceOperations", + "http":{ + "method":"POST", + "requestUri":"/service-operations", + "responseCode":200 + }, + "input":{"shape":"ListServiceOperationsInput"}, + "output":{"shape":"ListServiceOperationsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of the operations of this service that have been discovered by Application Signals. Only the operations that were invoked during the specified time range are returned.

      " + }, + "ListServices":{ + "name":"ListServices", + "http":{ + "method":"GET", + "requestUri":"/services", + "responseCode":200 + }, + "input":{"shape":"ListServicesInput"}, + "output":{"shape":"ListServicesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of services that have been discovered by Application Signals. A service represents a minimum logical and transactional unit that completes a business function. Services are discovered through Application Signals instrumentation.

      " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Displays the tags associated with a CloudWatch resource. Tags can be assigned to service level objectives.

      " + }, + "StartDiscovery":{ + "name":"StartDiscovery", + "http":{ + "method":"POST", + "requestUri":"/start-discovery", + "responseCode":200 + }, + "input":{"shape":"StartDiscoveryInput"}, + "output":{"shape":"StartDiscoveryOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Enables this Amazon Web Services account to be able to use CloudWatch Application Signals by creating the AWSServiceRoleForCloudWatchApplicationSignals service-linked role. This service- linked role has the following permissions:

      • xray:GetServiceGraph

      • logs:StartQuery

      • logs:GetQueryResults

      • cloudwatch:GetMetricData

      • cloudwatch:ListMetrics

      • tag:GetResources

      • autoscaling:DescribeAutoScalingGroups

      After completing this step, you still need to instrument your Java and Python applications to send data to Application Signals. For more information, see Enabling Application Signals.

      " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tag-resource", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

      Assigns one or more tags (key-value pairs) to the specified CloudWatch resource, such as a service level objective.

      Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

      Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

      You can use the TagResource action with an alarm that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag.

      You can associate as many as 50 tags with a CloudWatch resource.

      " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/untag-resource", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Removes one or more tags from the specified resource.

      " + }, + "UpdateServiceLevelObjective":{ + "name":"UpdateServiceLevelObjective", + "http":{ + "method":"PATCH", + "requestUri":"/slo/{Id}", + "responseCode":200 + }, + "input":{"shape":"UpdateServiceLevelObjectiveInput"}, + "output":{"shape":"UpdateServiceLevelObjectiveOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Updates an existing service level objective (SLO). If you omit parameters, the previous values of those parameters are retained.

      " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ServiceErrorMessage"} + }, + "documentation":"

      You don't have sufficient permissions to perform this action.

      ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccountId":{ + "type":"string", + "max":255, + "min":1 + }, + "AmazonResourceName":{ + "type":"string", + "max":1024, + "min":1 + }, + "Attainment":{ + "type":"double", + "box":true + }, + "AttainmentGoal":{ + "type":"double", + "box":true + }, + "AttributeMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "AttributeMaps":{ + "type":"list", + "member":{"shape":"AttributeMap"} + }, + "Attributes":{ + "type":"map", + "key":{"shape":"KeyAttributeName"}, + "value":{"shape":"KeyAttributeValue"}, + "max":3, + "min":1 + }, + "BatchGetServiceLevelObjectiveBudgetReportInput":{ + "type":"structure", + "required":[ + "Timestamp", + "SloIds" + ], + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

      The date and time that you want the report to be for. It is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

      " + }, + "SloIds":{ + "shape":"ServiceLevelObjectiveIds", + "documentation":"

      An array containing the IDs of the service level objectives that you want to include in the report.

      " + } + } + }, + "BatchGetServiceLevelObjectiveBudgetReportOutput":{ + "type":"structure", + "required":[ + "Timestamp", + "Reports", + "Errors" + ], + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

      The date and time that the report is for. It is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

      " + }, + "Reports":{ + "shape":"ServiceLevelObjectiveBudgetReports", + "documentation":"

      An array of structures, where each structure is one budget report.

      " + }, + "Errors":{ + "shape":"ServiceLevelObjectiveBudgetReportErrors", + "documentation":"

      An array of structures, where each structure includes an error indicating that one of the requests in the array was not valid.

      " + } + } + }, + "BudgetSecondsRemaining":{ + "type":"integer", + "box":true + }, + "CalendarInterval":{ + "type":"structure", + "required":[ + "StartTime", + "DurationUnit", + "Duration" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time when you want the first interval to start. Be sure to choose a time that configures the intervals the way that you want. For example, if you want weekly intervals starting on Mondays at 6 a.m., be sure to specify a start time that is a Monday at 6 a.m.

      When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      As soon as one calendar interval ends, another automatically begins.

      " + }, + "DurationUnit":{ + "shape":"DurationUnit", + "documentation":"

      Specifies the calendar interval unit.

      " + }, + "Duration":{ + "shape":"CalendarIntervalDuration", + "documentation":"

      Specifies the duration of each calendar interval. For example, if Duration is 1 and DurationUnit is MONTH, each interval is one month, aligned with the calendar.

      " + } + }, + "documentation":"

      If the interval for this service level objective is a calendar interval, this structure contains the interval specifications.

      " + }, + "CalendarIntervalDuration":{ + "type":"integer", + "box":true, + "min":1 + }, + "ConflictException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

      This operation attempted to create a resource that already exists.

      ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateServiceLevelObjectiveInput":{ + "type":"structure", + "required":[ + "Name", + "SliConfig" + ], + "members":{ + "Name":{ + "shape":"ServiceLevelObjectiveName", + "documentation":"

      A name for this SLO.

      " + }, + "Description":{ + "shape":"ServiceLevelObjectiveDescription", + "documentation":"

      An optional description for this SLO.

      " + }, + "SliConfig":{ + "shape":"ServiceLevelIndicatorConfig", + "documentation":"

      A structure that contains information about what service and what performance metric that this SLO will monitor.

      " + }, + "Goal":{ + "shape":"Goal", + "documentation":"

      A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission.

      Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

      " + } + } + }, + "CreateServiceLevelObjectiveOutput":{ + "type":"structure", + "required":["Slo"], + "members":{ + "Slo":{ + "shape":"ServiceLevelObjective", + "documentation":"

      A structure that contains information about the SLO that you just created.

      " + } + } + }, + "DeleteServiceLevelObjectiveInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ServiceLevelObjectiveId", + "documentation":"

      The ARN or name of the service level objective to delete.

      ", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteServiceLevelObjectiveOutput":{ + "type":"structure", + "members":{ + } + }, + "Dimension":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"DimensionName", + "documentation":"

      The name of the dimension. Dimension names must contain only ASCII characters, must include at least one non-whitespace character, and cannot start with a colon (:). ASCII control characters are not supported as part of dimension names.

      " + }, + "Value":{ + "shape":"DimensionValue", + "documentation":"

      The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values.

      " + } + }, + "documentation":"

      A dimension is a name/value pair that is part of the identity of a metric. Because dimensions are part of the unique identifier for a metric, whenever you add a unique name/value pair to one of your metrics, you are creating a new variation of that metric. For example, many Amazon EC2 metrics publish InstanceId as a dimension name, and the actual instance ID as the value for that dimension.

      You can assign up to 30 dimensions to a metric.

      " + }, + "DimensionName":{ + "type":"string", + "max":255, + "min":1 + }, + "DimensionValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "Dimensions":{ + "type":"list", + "member":{"shape":"Dimension"}, + "max":30, + "min":0 + }, + "DurationUnit":{ + "type":"string", + "enum":[ + "DAY", + "MONTH" + ] + }, + "FaultDescription":{"type":"string"}, + "GetServiceInput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime", + "KeyAttributes" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"StartTime" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"EndTime" + }, + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes.

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + } + } + }, + "GetServiceLevelObjectiveInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ServiceLevelObjectiveId", + "documentation":"

      The ARN or name of the SLO that you want to retrieve information about. You can find the ARNs of SLOs by using the ListServiceLevelObjectives operation.

      ", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetServiceLevelObjectiveOutput":{ + "type":"structure", + "required":["Slo"], + "members":{ + "Slo":{ + "shape":"ServiceLevelObjective", + "documentation":"

      A structure containing the information about the SLO.

      " + } + } + }, + "GetServiceOutput":{ + "type":"structure", + "required":[ + "Service", + "StartTime", + "EndTime" + ], + "members":{ + "Service":{ + "shape":"Service", + "documentation":"

      A structure containing information about the service.

      " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start time of the data included in the response. In a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057.

      " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end time of the data included in the response. In a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057.

      " + } + } + }, + "Goal":{ + "type":"structure", + "members":{ + "Interval":{ + "shape":"Interval", + "documentation":"

      The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.

      If you omit this parameter, a rolling interval of 7 days is used.

      " + }, + "AttainmentGoal":{ + "shape":"AttainmentGoal", + "documentation":"

      The threshold that determines if the goal is being met. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.

      If you omit this parameter, 99 is used to represent 99% as the attainment goal.

      " + }, + "WarningThreshold":{ + "shape":"WarningThreshold", + "documentation":"

      The percentage of remaining budget over total budget that you want to get warnings for. If you omit this parameter, the default of 50.0 is used.

      " + } + }, + "documentation":"

      This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold.

      " + }, + "Interval":{ + "type":"structure", + "members":{ + "RollingInterval":{ + "shape":"RollingInterval", + "documentation":"

      If the interval is a rolling interval, this structure contains the interval specifications.

      " + }, + "CalendarInterval":{ + "shape":"CalendarInterval", + "documentation":"

      If the interval is a calendar interval, this structure contains the interval specifications.

      " + } + }, + "documentation":"

      The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.

      ", + "union":true + }, + "KeyAttributeName":{ + "type":"string", + "pattern":"[a-zA-Z]{1,50}" + }, + "KeyAttributeValue":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[ -~]*[!-~]+[ -~]*" + }, + "ListServiceDependenciesInput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime", + "KeyAttributes" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"StartTime" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"EndTime" + }, + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes.

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "MaxResults":{ + "shape":"ListServiceDependenciesMaxResults", + "documentation":"

      The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.

      ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value, if it was returned by the previous operation, to get the next set of service dependencies.

      ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListServiceDependenciesMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListServiceDependenciesOutput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime", + "ServiceDependencies" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      " + }, + "ServiceDependencies":{ + "shape":"ServiceDependencies", + "documentation":"

      An array, where each object in the array contains information about one of the dependencies of this service.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value in your next use of this API to get next set of service dependencies.

      " + } + } + }, + "ListServiceDependentsInput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime", + "KeyAttributes" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"StartTime" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"EndTime" + }, + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes.

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "MaxResults":{ + "shape":"ListServiceDependentsMaxResults", + "documentation":"

      The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.

      ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value, if it was returned by the previous operation, to get the next set of service dependents.

      ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListServiceDependentsMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListServiceDependentsOutput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime", + "ServiceDependents" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      " + }, + "ServiceDependents":{ + "shape":"ServiceDependents", + "documentation":"

      An array, where each object in the array contains information about one of the dependents of this service.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value in your next use of this API to get next set of service dependents.

      " + } + } + }, + "ListServiceLevelObjectivesInput":{ + "type":"structure", + "members":{ + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      You can use this optional field to specify which services you want to retrieve SLO information for.

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "OperationName":{ + "shape":"OperationName", + "documentation":"

      The name of the operation that this SLO is associated with.

      ", + "location":"querystring", + "locationName":"OperationName" + }, + "MaxResults":{ + "shape":"ListServiceLevelObjectivesMaxResults", + "documentation":"

      The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.

      ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value, if it was returned by the previous operation, to get the next set of service level objectives.

      ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListServiceLevelObjectivesMaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListServiceLevelObjectivesOutput":{ + "type":"structure", + "members":{ + "SloSummaries":{ + "shape":"ServiceLevelObjectiveSummaries", + "documentation":"

      An array of structures, where each structure contains information about one SLO.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value in your next use of this API to get next set of service level objectives.

      " + } + } + }, + "ListServiceOperationMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListServiceOperationsInput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime", + "KeyAttributes" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"StartTime" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"EndTime" + }, + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes.

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "MaxResults":{ + "shape":"ListServiceOperationMaxResults", + "documentation":"

      The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.

      ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value, if it was returned by the previous operation, to get the next set of service operations.

      ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListServiceOperationsOutput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime", + "ServiceOperations" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      " + }, + "ServiceOperations":{ + "shape":"ServiceOperations", + "documentation":"

      An array of structures that each contain information about one operation of this service.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value in your next use of this API to get next set of service operations.

      " + } + } + }, + "ListServicesInput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"StartTime" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      ", + "location":"querystring", + "locationName":"EndTime" + }, + "MaxResults":{ + "shape":"ListServicesMaxResults", + "documentation":"

      The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.

      ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value, if it was returned by the previous operation, to get the next set of services.

      ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListServicesMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListServicesOutput":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime", + "ServiceSummaries" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as be epoch time in seconds. For example: 1698778057

      " + }, + "ServiceSummaries":{ + "shape":"ServiceSummaries", + "documentation":"

      An array of structures, where each structure contains some information about a service. To get complete information about a service, use GetService.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      Include this value in your next use of this API to get next set of services.

      " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

      The Amazon Resource Name (ARN) of the CloudWatch resource that you want to view tags for.

      The ARN format of an Application Signals SLO is arn:aws:cloudwatch:Region:account-id:slo:slo-name

      For more information about ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.

      ", + "location":"querystring", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

      The list of tag keys and values associated with the resource you specified.

      " + } + } + }, + "Metric":{ + "type":"structure", + "members":{ + "Namespace":{ + "shape":"Namespace", + "documentation":"

      The namespace of the metric. For more information, see Namespaces.

      " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

      The name of the metric to use.

      " + }, + "Dimensions":{ + "shape":"Dimensions", + "documentation":"

      An array of one or more dimensions to use to define the metric that you want to use. For more information, see Dimensions.

      " + } + }, + "documentation":"

      This structure defines the metric used for a service level indicator, including the metric name, namespace, and dimensions

      " + }, + "MetricDataQueries":{ + "type":"list", + "member":{"shape":"MetricDataQuery"} + }, + "MetricDataQuery":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"MetricId", + "documentation":"

      A short name used to tie this object to the results in the response. This Id must be unique within a MetricDataQueries array. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the metric math expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.

      " + }, + "MetricStat":{ + "shape":"MetricStat", + "documentation":"

      A metric to be used directly for the SLO, or to be used in the math expression that will be used for the SLO.

      Within one MetricDataQuery object, you must specify either Expression or MetricStat but not both.

      " + }, + "Expression":{ + "shape":"MetricExpression", + "documentation":"

      This field can contain a metric math expression to be performed on the other metrics that you are retrieving within this MetricDataQueries structure.

      A math expression can use the Id of the other metrics or queries to refer to those metrics, and can also use the Id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

      Within each MetricDataQuery object, you must specify either Expression or MetricStat but not both.

      " + }, + "Label":{ + "shape":"MetricLabel", + "documentation":"

      A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.

      You can put dynamic expressions into a label, so that it is more descriptive. For more information, see Using Dynamic Labels.

      " + }, + "ReturnData":{ + "shape":"ReturnData", + "documentation":"

      Use this only if you are using a metric math expression for the SLO. Specify true for ReturnData for only the one expression result to use as the alarm. For all other metrics and expressions in the same CreateServiceLevelObjective operation, specify ReturnData as false.

      " + }, + "Period":{ + "shape":"Period", + "documentation":"

      The granularity, in seconds, of the returned data points for this metric. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a StorageResolution of 1 second.

      If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:

      • Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

      • Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).

      • Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).

      " + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

      The ID of the account where this metric is located. If you are performing this operatiion in a monitoring account, use this to specify which source account to retrieve this metric from.

      " + } + }, + "documentation":"

      Use this structure to define a metric or metric math expression that you want to use as for a service level objective.

      Each MetricDataQuery in the MetricDataQueries array specifies either a metric to retrieve, or a metric math expression to be performed on retrieved metrics. A single MetricDataQueries array can include as many as 20 MetricDataQuery structures in the array. The 20 structures can include as many as 10 structures that contain a MetricStat parameter to retrieve a metric, and as many as 10 structures that contain the Expression parameter to perform a math expression. Of those Expression structures, exactly one must have true as the value for ReturnData. The result of this expression used for the SLO.

      For more information about metric math expressions, see CloudWatchUse metric math.

      Within each MetricDataQuery object, you must specify either Expression or MetricStat but not both.

      " + }, + "MetricExpression":{ + "type":"string", + "max":2048, + "min":1 + }, + "MetricId":{ + "type":"string", + "max":255, + "min":1 + }, + "MetricLabel":{"type":"string"}, + "MetricName":{ + "type":"string", + "max":255, + "min":1 + }, + "MetricReference":{ + "type":"structure", + "required":[ + "Namespace", + "MetricType", + "MetricName" + ], + "members":{ + "Namespace":{ + "shape":"Namespace", + "documentation":"

      The namespace of the metric. For more information, see CloudWatchNamespaces.

      " + }, + "MetricType":{ + "shape":"MetricType", + "documentation":"

      Used to display the appropriate statistics in the CloudWatch console.

      " + }, + "Dimensions":{ + "shape":"Dimensions", + "documentation":"

      An array of one or more dimensions that further define the metric. For more information, see CloudWatchDimensions.

      " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

      The name of the metric.

      " + } + }, + "documentation":"

      This structure contains information about one CloudWatch metric associated with this entity discovered by Application Signals.

      " + }, + "MetricReferences":{ + "type":"list", + "member":{"shape":"MetricReference"} + }, + "MetricStat":{ + "type":"structure", + "required":[ + "Metric", + "Period", + "Stat" + ], + "members":{ + "Metric":{ + "shape":"Metric", + "documentation":"

      The metric to use as the service level indicator, including the metric name, namespace, and dimensions.

      " + }, + "Period":{ + "shape":"Period", + "documentation":"

      The granularity, in seconds, to be used for the metric. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a StorageResolution of 1 second.

      " + }, + "Stat":{ + "shape":"Stat", + "documentation":"

      The statistic to use for comparison to the threshold. It can be any CloudWatch statistic or extended statistic. For more information about statistics, see CloudWatch statistics definitions.

      " + }, + "Unit":{ + "shape":"StandardUnit", + "documentation":"

      If you omit Unit then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

      " + } + }, + "documentation":"

      This structure defines the metric to be used as the service level indicator, along with the statistics, period, and unit.

      " + }, + "MetricType":{ + "type":"string", + "pattern":"[A-Za-z0-9 -]+" + }, + "Namespace":{ + "type":"string", + "max":255, + "min":1, + "pattern":".*[^:].*" + }, + "NextToken":{"type":"string"}, + "OperationName":{ + "type":"string", + "max":255, + "min":1 + }, + "Period":{ + "type":"integer", + "box":true, + "min":1 + }, + "ResourceId":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "ResourceType", + "ResourceId", + "Message" + ], + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

      The resource type is not valid.

      " + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

      Cannot find the resource id.

      " + }, + "Message":{"shape":"FaultDescription"} + }, + "documentation":"

      Resource not found.

      ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourceType":{"type":"string"}, + "ReturnData":{ + "type":"boolean", + "box":true + }, + "RollingInterval":{ + "type":"structure", + "required":[ + "DurationUnit", + "Duration" + ], + "members":{ + "DurationUnit":{ + "shape":"DurationUnit", + "documentation":"

      Specifies the rolling interval unit.

      " + }, + "Duration":{ + "shape":"RollingIntervalDuration", + "documentation":"

      Specifies the duration of each rolling interval. For example, if Duration is 7 and DurationUnit is DAY, each rolling interval is seven days.

      " + } + }, + "documentation":"

      If the interval for this SLO is a rolling interval, this structure contains the interval specifications.

      " + }, + "RollingIntervalDuration":{ + "type":"integer", + "box":true, + "min":1 + }, + "SLIPeriodSeconds":{ + "type":"integer", + "box":true, + "max":900, + "min":60 + }, + "Service":{ + "type":"structure", + "required":[ + "KeyAttributes", + "MetricReferences" + ], + "members":{ + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "AttributeMaps":{ + "shape":"AttributeMaps", + "documentation":"

      This structure contains one or more string-to-string maps that help identify this service. It can include platform attributes, application attributes, and telemetry attributes.

      Platform attributes contain information the service's platform.

      • PlatformType defines the hosted-in platform.

      • EKS.Cluster is the name of the Amazon EKS cluster.

      • K8s.Cluster is the name of the self-hosted Kubernetes cluster.

      • K8s.Namespace is the name of the Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

      • K8s.Workload is the name of the Kubernetes workload in either Amazon EKS or Kubernetes clusters.

      • K8s.Node is the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

      • K8s.Pod is the name of the Kubernetes pod in either Amazon EKS or Kubernetes clusters.

      • EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling group.

      • EC2.InstanceId is the ID of the Amazon EC2 instance.

      • Host is the name of the host, for all platform types.

      Applciation attributes contain information about the application.

      • AWS.Application is the application's name in Amazon Web Services Service Catalog AppRegistry.

      • AWS.Application.ARN is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

      Telemetry attributes contain telemetry information.

      • Telemetry.SDK is the fingerprint of the OpenTelemetry SDK version for instrumented services.

      • Telemetry.Agent is the fingerprint of the agent used to collect and send telemetry data.

      • Telemetry.Source Specifies the point of application where the telemetry was collected or specifies what was used for the source of telemetry data.

      " + }, + "MetricReferences":{ + "shape":"MetricReferences", + "documentation":"

      An array of structures that each contain information about one metric associated with this service.

      " + } + }, + "documentation":"

      This structure contains information about one of your services that was discovered by Application Signals.

      " + }, + "ServiceDependencies":{ + "type":"list", + "member":{"shape":"ServiceDependency"}, + "max":100, + "min":0 + }, + "ServiceDependency":{ + "type":"structure", + "required":[ + "OperationName", + "DependencyKeyAttributes", + "DependencyOperationName", + "MetricReferences" + ], + "members":{ + "OperationName":{ + "shape":"OperationName", + "documentation":"

      The name of the operation in this service that calls the dependency.

      " + }, + "DependencyKeyAttributes":{ + "shape":"Attributes", + "documentation":"

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "DependencyOperationName":{ + "shape":"OperationName", + "documentation":"

      The name of the called operation in the dependency.

      " + }, + "MetricReferences":{ + "shape":"MetricReferences", + "documentation":"

      An array of structures that each contain information about one metric associated with this service dependency that was discovered by Application Signals.

      " + } + }, + "documentation":"

      This structure contains information about one dependency of this service.

      " + }, + "ServiceDependent":{ + "type":"structure", + "required":[ + "DependentKeyAttributes", + "MetricReferences" + ], + "members":{ + "OperationName":{ + "shape":"OperationName", + "documentation":"

      If the invoked entity is an operation on an entity, the name of that dependent operation is displayed here.

      " + }, + "DependentKeyAttributes":{ + "shape":"Attributes", + "documentation":"

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "DependentOperationName":{ + "shape":"OperationName", + "documentation":"

      If the dependent invoker was a service that invoked it from an operation, the name of that dependent operation is displayed here.

      " + }, + "MetricReferences":{ + "shape":"MetricReferences", + "documentation":"

      An array of structures that each contain information about one metric associated with this service dependent that was discovered by Application Signals.

      " + } + }, + "documentation":"

      This structure contains information about a service dependent that was discovered by Application Signals. A dependent is an entity that invoked the specified service during the provided time range. Dependents include other services, CloudWatch Synthetics canaries, and clients that are instrumented with CloudWatch RUM app monitors.

      " + }, + "ServiceDependents":{ + "type":"list", + "member":{"shape":"ServiceDependent"}, + "max":100, + "min":0 + }, + "ServiceErrorMessage":{"type":"string"}, + "ServiceLevelIndicator":{ + "type":"structure", + "required":[ + "SliMetric", + "MetricThreshold", + "ComparisonOperator" + ], + "members":{ + "SliMetric":{ + "shape":"ServiceLevelIndicatorMetric", + "documentation":"

      A structure that contains information about the metric that the SLO monitors.

      " + }, + "MetricThreshold":{ + "shape":"ServiceLevelIndicatorMetricThreshold", + "documentation":"

      The value that the SLI metric is compared to.

      " + }, + "ComparisonOperator":{ + "shape":"ServiceLevelIndicatorComparisonOperator", + "documentation":"

      The arithmetic operation used when comparing the specified metric to the threshold.

      " + } + }, + "documentation":"

      This structure contains information about the performance metric that an SLO monitors.

      " + }, + "ServiceLevelIndicatorComparisonOperator":{ + "type":"string", + "enum":[ + "GreaterThanOrEqualTo", + "GreaterThan", + "LessThan", + "LessThanOrEqualTo" + ] + }, + "ServiceLevelIndicatorConfig":{ + "type":"structure", + "required":[ + "SliMetricConfig", + "MetricThreshold", + "ComparisonOperator" + ], + "members":{ + "SliMetricConfig":{ + "shape":"ServiceLevelIndicatorMetricConfig", + "documentation":"

      Use this structure to specify the metric to be used for the SLO.

      " + }, + "MetricThreshold":{ + "shape":"ServiceLevelIndicatorMetricThreshold", + "documentation":"

      The value that the SLI metric is compared to.

      " + }, + "ComparisonOperator":{ + "shape":"ServiceLevelIndicatorComparisonOperator", + "documentation":"

      The arithmetic operation to use when comparing the specified metric to the threshold.

      " + } + }, + "documentation":"

      This structure specifies the information about the service and the performance metric that an SLO is to monitor.

      " + }, + "ServiceLevelIndicatorMetric":{ + "type":"structure", + "required":["MetricDataQueries"], + "members":{ + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields.

      • Type designates the type of object that this SLO is related to.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "OperationName":{ + "shape":"OperationName", + "documentation":"

      If the SLO monitors a specific operation of the service, this field displays that operation name.

      " + }, + "MetricType":{ + "shape":"ServiceLevelIndicatorMetricType", + "documentation":"

      If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used.

      " + }, + "MetricDataQueries":{ + "shape":"MetricDataQueries", + "documentation":"

      If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.

      " + } + }, + "documentation":"

      This structure contains the information about the metric that is used for the SLO.

      " + }, + "ServiceLevelIndicatorMetricConfig":{ + "type":"structure", + "members":{ + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      If this SLO is related to a metric collected by Application Signals, you must use this field to specify which service the SLO metric is related to. To do so, you must specify at least the Type, Name, and Environment attributes.

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "OperationName":{ + "shape":"OperationName", + "documentation":"

      If the SLO is to monitor a specific operation of the service, use this field to specify the name of that operation.

      " + }, + "MetricType":{ + "shape":"ServiceLevelIndicatorMetricType", + "documentation":"

      If the SLO is to monitor either the LATENCY or AVAILABILITY metric that Application Signals collects, use this field to specify which of those metrics is used.

      " + }, + "Statistic":{ + "shape":"ServiceLevelIndicatorStatistic", + "documentation":"

      The statistic to use for comparison to the threshold. It can be any CloudWatch statistic or extended statistic. For more information about statistics, see CloudWatch statistics definitions.

      " + }, + "PeriodSeconds":{ + "shape":"SLIPeriodSeconds", + "documentation":"

      The number of seconds to use as the period for SLO evaluation. Your application's performance is compared to the SLI during each period. For each period, the application is determined to have either achieved or not achieved the necessary performance.

      " + }, + "MetricDataQueries":{ + "shape":"MetricDataQueries", + "documentation":"

      If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, use this structure to specify that metric or expression.

      " + } + }, + "documentation":"

      Use this structure to specify the information for the metric that the SLO will monitor.

      " + }, + "ServiceLevelIndicatorMetricThreshold":{ + "type":"double", + "box":true + }, + "ServiceLevelIndicatorMetricType":{ + "type":"string", + "enum":[ + "LATENCY", + "AVAILABILITY" + ] + }, + "ServiceLevelIndicatorStatistic":{ + "type":"string", + "max":20, + "min":1, + "pattern":"[a-zA-Z0-9.]+" + }, + "ServiceLevelObjective":{ + "type":"structure", + "required":[ + "Arn", + "Name", + "CreatedTime", + "LastUpdatedTime", + "Sli", + "Goal" + ], + "members":{ + "Arn":{ + "shape":"ServiceLevelObjectiveArn", + "documentation":"

      The ARN of this SLO.

      " + }, + "Name":{ + "shape":"ServiceLevelObjectiveName", + "documentation":"

      The name of this SLO.

      " + }, + "Description":{ + "shape":"ServiceLevelObjectiveDescription", + "documentation":"

      The description that you created for this SLO.

      " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time that this SLO was created. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

      " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

      The time that this SLO was most recently updated. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

      " + }, + "Sli":{ + "shape":"ServiceLevelIndicator", + "documentation":"

      A structure containing information about the performance metric that this SLO monitors.

      " + }, + "Goal":{"shape":"Goal"} + }, + "documentation":"

      A structure containing information about one service level objective (SLO) that has been created in Application Signals. Creating SLOs can help you ensure your services are performing to the level that you expect. SLOs help you set and track a specific target level for the reliability and availability of your applications and services. Each SLO uses a service level indicator (SLI), which is a key performance metric, to calculate how much underperformance can be tolerated before the goal that you set for the SLO is not achieved.

      " + }, + "ServiceLevelObjectiveArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws:application-signals:[^:]*:[^:]*:slo/[0-9A-Za-z][-._0-9A-Za-z ]{0,126}[0-9A-Za-z]" + }, + "ServiceLevelObjectiveBudgetReport":{ + "type":"structure", + "required":[ + "Arn", + "Name", + "BudgetStatus" + ], + "members":{ + "Arn":{ + "shape":"ServiceLevelObjectiveArn", + "documentation":"

      The ARN of the SLO that this report is for.

      " + }, + "Name":{ + "shape":"ServiceLevelObjectiveName", + "documentation":"

      The name of the SLO that this report is for.

      " + }, + "BudgetStatus":{ + "shape":"ServiceLevelObjectiveBudgetStatus", + "documentation":"

      The status of this SLO, as it relates to the error budget for the entire time interval.

      • OK means that the SLO had remaining budget above the warning threshold, as of the time that you specified in TimeStamp.

      • WARNING means that the SLO's remaining budget was below the warning threshold, as of the time that you specified in TimeStamp.

      • BREACHED means that the SLO's budget was exhausted, as of the time that you specified in TimeStamp.

      • INSUFFICIENT_DATA means that the specifed start and end times were before the SLO was created, or that attainment data is missing.

      " + }, + "Attainment":{ + "shape":"Attainment", + "documentation":"

      A number between 0 and 100 that represents the percentage of time periods that the service has attained the SLO's attainment goal, as of the time of the request.

      " + }, + "TotalBudgetSeconds":{ + "shape":"TotalBudgetSeconds", + "documentation":"

      The total number of seconds in the error budget for the interval.

      " + }, + "BudgetSecondsRemaining":{ + "shape":"BudgetSecondsRemaining", + "documentation":"

      The budget amount remaining before the SLO status becomes BREACHING, at the time specified in the Timestemp parameter of the request. If this value is negative, then the SLO is already in BREACHING status.

      " + }, + "Sli":{ + "shape":"ServiceLevelIndicator", + "documentation":"

      A structure that contains information about the performance metric that this SLO monitors.

      " + }, + "Goal":{"shape":"Goal"} + }, + "documentation":"

      A structure containing an SLO budget report that you have requested.

      " + }, + "ServiceLevelObjectiveBudgetReportError":{ + "type":"structure", + "required":[ + "Name", + "Arn", + "ErrorCode", + "ErrorMessage" + ], + "members":{ + "Name":{ + "shape":"ServiceLevelObjectiveName", + "documentation":"

      The name of the SLO that this error is related to.

      " + }, + "Arn":{ + "shape":"ServiceLevelObjectiveArn", + "documentation":"

      The ARN of the SLO that this error is related to.

      " + }, + "ErrorCode":{ + "shape":"ServiceLevelObjectiveBudgetReportErrorCode", + "documentation":"

      The error code for this error.

      " + }, + "ErrorMessage":{ + "shape":"ServiceLevelObjectiveBudgetReportErrorMessage", + "documentation":"

      The message for this error.

      " + } + }, + "documentation":"

      A structure containing information about one error that occurred during a BatchGetServiceLevelObjectiveBudgetReport operation.

      " + }, + "ServiceLevelObjectiveBudgetReportErrorCode":{"type":"string"}, + "ServiceLevelObjectiveBudgetReportErrorMessage":{"type":"string"}, + "ServiceLevelObjectiveBudgetReportErrors":{ + "type":"list", + "member":{"shape":"ServiceLevelObjectiveBudgetReportError"}, + "max":50, + "min":0 + }, + "ServiceLevelObjectiveBudgetReports":{ + "type":"list", + "member":{"shape":"ServiceLevelObjectiveBudgetReport"}, + "max":50, + "min":0 + }, + "ServiceLevelObjectiveBudgetStatus":{ + "type":"string", + "enum":[ + "OK", + "WARNING", + "BREACHED", + "INSUFFICIENT_DATA" + ] + }, + "ServiceLevelObjectiveDescription":{ + "type":"string", + "max":1024, + "min":1 + }, + "ServiceLevelObjectiveId":{ + "type":"string", + "pattern":"[0-9A-Za-z][-._0-9A-Za-z ]{0,126}[0-9A-Za-z]$|^arn:aws:application-signals:[^:]*:[^:]*:slo/[0-9A-Za-z][-._0-9A-Za-z ]{0,126}[0-9A-Za-z]" + }, + "ServiceLevelObjectiveIds":{ + "type":"list", + "member":{"shape":"String"}, + "max":50, + "min":1 + }, + "ServiceLevelObjectiveName":{ + "type":"string", + "pattern":"[0-9A-Za-z][-._0-9A-Za-z ]{0,126}[0-9A-Za-z]" + }, + "ServiceLevelObjectiveSummaries":{ + "type":"list", + "member":{"shape":"ServiceLevelObjectiveSummary"} + }, + "ServiceLevelObjectiveSummary":{ + "type":"structure", + "required":[ + "Arn", + "Name" + ], + "members":{ + "Arn":{ + "shape":"ServiceLevelObjectiveArn", + "documentation":"

      The ARN of this service level objective.

      " + }, + "Name":{ + "shape":"ServiceLevelObjectiveName", + "documentation":"

      The name of the service level objective.

      " + }, + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      This is a string-to-string map. It can include the following fields.

      • Type designates the type of object this service level objective is for.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "OperationName":{ + "shape":"OperationName", + "documentation":"

      If this service level objective is specific to a single operation, this field displays the name of that operation.

      " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

      The date and time that this service level objective was created. It is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

      " + } + }, + "documentation":"

      A structure that contains information about one service level objective (SLO) created in Application Signals.

      " + }, + "ServiceOperation":{ + "type":"structure", + "required":[ + "Name", + "MetricReferences" + ], + "members":{ + "Name":{ + "shape":"OperationName", + "documentation":"

      The name of the operation, discovered by Application Signals.

      " + }, + "MetricReferences":{ + "shape":"MetricReferences", + "documentation":"

      An array of structures that each contain information about one metric associated with this service operation that was discovered by Application Signals.

      " + } + }, + "documentation":"

      This structure contains information about an operation discovered by Application Signals. An operation is a specific function performed by a service that was discovered by Application Signals, and is often an API that is called by an upstream dependent.

      " + }, + "ServiceOperations":{ + "type":"list", + "member":{"shape":"ServiceOperation"}, + "max":100, + "min":0 + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

      This request exceeds a service quota.

      ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "ServiceSummaries":{ + "type":"list", + "member":{"shape":"ServiceSummary"} + }, + "ServiceSummary":{ + "type":"structure", + "required":[ + "KeyAttributes", + "MetricReferences" + ], + "members":{ + "KeyAttributes":{ + "shape":"Attributes", + "documentation":"

      This is a string-to-string map that help identify the objects discovered by Application Signals. It can include the following fields.

      • Type designates the type of object this is.

      • ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource.

      • Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service.

      • Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource.

      • Environment specifies the location where this object is hosted, or what it belongs to.

      " + }, + "AttributeMaps":{ + "shape":"AttributeMaps", + "documentation":"

      This structure contains one or more string-to-string maps that help identify this service. It can include platform attributes, application attributes, and telemetry attributes.

      Platform attributes contain information the service's platform.

      • PlatformType defines the hosted-in platform.

      • EKS.Cluster is the name of the Amazon EKS cluster.

      • K8s.Cluster is the name of the self-hosted Kubernetes cluster.

      • K8s.Namespace is the name of the Kubernetes namespace in either Amazon EKS or Kubernetes clusters.

      • K8s.Workload is the name of the Kubernetes workload in either Amazon EKS or Kubernetes clusters.

      • K8s.Node is the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters.

      • K8s.Pod is the name of the Kubernetes pod in either Amazon EKS or Kubernetes clusters.

      • EC2.AutoScalingGroup is the name of the Amazon EC2 Auto Scaling group.

      • EC2.InstanceId is the ID of the Amazon EC2 instance.

      • Host is the name of the host, for all platform types.

      Applciation attributes contain information about the application.

      • AWS.Application is the application's name in Amazon Web Services Service Catalog AppRegistry.

      • AWS.Application.ARN is the application's ARN in Amazon Web Services Service Catalog AppRegistry.

      Telemetry attributes contain telemetry information.

      • Telemetry.SDK is the fingerprint of the OpenTelemetry SDK version for instrumented services.

      • Telemetry.Agent is the fingerprint of the agent used to collect and send telemetry data.

      • Telemetry.Source Specifies the point of application where the telemetry was collected or specifies what was used for the source of telemetry data.

      " + }, + "MetricReferences":{ + "shape":"MetricReferences", + "documentation":"

      An array of structures that each contain information about one metric associated with this service.

      " + } + }, + "documentation":"

      This structure contains information about one of your services that was discoverd by Application Signals

      " + }, + "StandardUnit":{ + "type":"string", + "enum":[ + "Microseconds", + "Milliseconds", + "Seconds", + "Bytes", + "Kilobytes", + "Megabytes", + "Gigabytes", + "Terabytes", + "Bits", + "Kilobits", + "Megabits", + "Gigabits", + "Terabits", + "Percent", + "Count", + "Bytes/Second", + "Kilobytes/Second", + "Megabytes/Second", + "Gigabytes/Second", + "Terabytes/Second", + "Bits/Second", + "Kilobits/Second", + "Megabits/Second", + "Gigabits/Second", + "Terabits/Second", + "Count/Second", + "None" + ] + }, + "StartDiscoveryInput":{ + "type":"structure", + "members":{ + } + }, + "StartDiscoveryOutput":{ + "type":"structure", + "members":{ + } + }, + "Stat":{"type":"string"}, + "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

      A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.

      " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

      The value for the specified tag key.

      " + } + }, + "documentation":"

      A key-value pair associated with a resource. Tags can help you organize and categorize your resources.

      " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

      The Amazon Resource Name (ARN) of the CloudWatch resource that you want to set tags for.

      The ARN format of an Application Signals SLO is arn:aws:cloudwatch:Region:account-id:slo:slo-name

      For more information about ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The list of key-value pairs to associate with the alarm.

      " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

      The request was throttled because of quota limits.

      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TotalBudgetSeconds":{ + "type":"integer", + "box":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

      The Amazon Resource Name (ARN) of the CloudWatch resource that you want to delete tags from.

      The ARN format of an Application Signals SLO is arn:aws:cloudwatch:Region:account-id:slo:slo-name

      For more information about ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.

      " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

      The list of tag keys to remove from the resource.

      " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateServiceLevelObjectiveInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ServiceLevelObjectiveId", + "documentation":"

      The Amazon Resource Name (ARN) or name of the service level objective that you want to update.

      ", + "location":"uri", + "locationName":"Id" + }, + "Description":{ + "shape":"ServiceLevelObjectiveDescription", + "documentation":"

      An optional description for the SLO.

      " + }, + "SliConfig":{ + "shape":"ServiceLevelIndicatorConfig", + "documentation":"

      A structure that contains information about what performance metric this SLO will monitor.

      " + }, + "Goal":{ + "shape":"Goal", + "documentation":"

      A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.

      " + } + } + }, + "UpdateServiceLevelObjectiveOutput":{ + "type":"structure", + "required":["Slo"], + "members":{ + "Slo":{ + "shape":"ServiceLevelObjective", + "documentation":"

      A structure that contains information about the SLO that you just updated.

      " + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ValidationExceptionMessage"} + }, + "documentation":"

      The resource is not valid.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionMessage":{"type":"string"}, + "WarningThreshold":{ + "type":"double", + "box":true + } + }, + "documentation":"

      This is a Preview release of the Application Signals API Reference. Operations and parameters are subject to change before the general availability release.

      Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications. It enables real-time service health dashboards and helps you track long-term performance trends against your business goals. The application-centric view provides you with unified visibility across your applications, services, and dependencies, so you can proactively monitor and efficiently triage any issues that may arise, ensuring optimal customer experience.

      Application Signals provides the following benefits:

      • Automatically collect metrics and traces from your applications, and display key metrics such as call volume, availability, latency, faults, and errors.

      • Create and monitor service level objectives (SLOs).

      • See a map of your application topology that Application Signals automatically discovers, that gives you a visual representation of your applications, dependencies, and their connectivity.

      " +} diff --git a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json index 756316e421e..c55ec166d41 100644 --- a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json +++ b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json @@ -5,12 +5,14 @@ "endpointPrefix":"ecs", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"Amazon ECS", "serviceFullName":"Amazon EC2 Container Service", "serviceId":"ECS", "signatureVersion":"v4", "targetPrefix":"AmazonEC2ContainerServiceV20141113", - "uid":"ecs-2014-11-13" + "uid":"ecs-2014-11-13", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateCapacityProvider":{ @@ -706,7 +708,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

      Stops a running task. Any tags associated with the task will be deleted.

      When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM value and a default 30-second timeout, after which the SIGKILL value is sent and the containers are forcibly stopped. If the container handles the SIGTERM value gracefully and exits within 30 seconds from receiving it, no SIGKILL value is sent.

      The default 30-second timeout can be configured on the Amazon ECS container agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

      " + "documentation":"

      Stops a running task. Any tags associated with the task will be deleted.

      When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM value and a default 30-second timeout, after which the SIGKILL value is sent and the containers are forcibly stopped. If the container handles the SIGTERM value gracefully and exits within 30 seconds from receiving it, no SIGKILL value is sent.

      For Windows containers, POSIX signals do not work and runtime stops the container by sending a CTRL_SHUTDOWN_EVENT. For more information, see Unable to react to graceful shutdown of (Windows) container #25982 on GitHub.

      The default 30-second timeout can be configured on the Amazon ECS container agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

      " }, "SubmitAttachmentStateChanges":{ "name":"SubmitAttachmentStateChanges", @@ -1230,7 +1232,7 @@ "documentation":"

      The base value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0 is used.

      " } }, - "documentation":"

      The details of a capacity provider strategy. A capacity provider strategy can be set when using the RunTask or CreateCluster APIs or as the default capacity provider strategy for a cluster with the CreateCluster API.

      Only capacity providers that are already associated with a cluster and have an ACTIVE or UPDATING status can be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster.

      If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.

      To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.

      A capacity provider strategy may contain a maximum of 6 capacity providers.

      " + "documentation":"

      The details of a capacity provider strategy. A capacity provider strategy can be set when using the RunTask or CreateCluster APIs or as the default capacity provider strategy for a cluster with the CreateCluster API.

      Only capacity providers that are already associated with a cluster and have an ACTIVE or UPDATING status can be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster.

      If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.

      To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.

      With FARGATE_SPOT, you can run interruption tolerant tasks at a rate that's discounted compared to the FARGATE price. FARGATE_SPOT runs tasks on spare compute capacity. When Amazon Web Services needs the capacity back, your tasks are interrupted with a two-minute warning. FARGATE_SPOT only supports Linux tasks with the X86_64 architecture on platform version 1.3.0 or later.

      A capacity provider strategy may contain a maximum of 6 capacity providers.

      " }, "CapacityProviderStrategyItemBase":{ "type":"integer", @@ -1344,9 +1346,13 @@ "executeCommandConfiguration":{ "shape":"ExecuteCommandConfiguration", "documentation":"

      The details of the execute command configuration.

      " + }, + "managedStorageConfiguration":{ + "shape":"ManagedStorageConfiguration", + "documentation":"

      The details of the managed storage configuration.

      " } }, - "documentation":"

      The execute command configuration for the cluster.

      " + "documentation":"

      The execute command and managed storage configuration for the cluster.

      " }, "ClusterContainsContainerInstancesException":{ "type":"structure", @@ -2444,6 +2450,10 @@ "volumeConfigurations":{ "shape":"ServiceVolumeConfigurations", "documentation":"

      The details of the volume that was configuredAtLaunch. You can configure different settings like the size, throughput, volumeType, and ecryption in ServiceManagedEBSVolumeConfiguration. The name of the volume must match the name from the task definition.

      " + }, + "fargateEphemeralStorage":{ + "shape":"DeploymentEphemeralStorage", + "documentation":"

      The Fargate ephemeral storage settings for the deployment.

      " } }, "documentation":"

      The details of an Amazon ECS service deployment. This is used only when a service uses the ECS deployment controller type.

      " @@ -2530,6 +2540,16 @@ "EXTERNAL" ] }, + "DeploymentEphemeralStorage":{ + "type":"structure", + "members":{ + "kmsKeyId":{ + "shape":"String", + "documentation":"

      Specify an Key Management Service key ID to encrypt the ephemeral storage for deployment.

      " + } + }, + "documentation":"

      The amount of ephemeral storage to allocate for the deployment.

      " + }, "DeploymentRolloutState":{ "type":"string", "enum":[ @@ -3304,7 +3324,7 @@ "documentation":"

      The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the startPeriod is off.

      If a health check succeeds within the startPeriod, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.

      " } }, - "documentation":"

      An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the HEALTHCHECK parameter of docker run.

      The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

      You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

      The health check is designed to make sure that your containers survive agent restarts, upgrades, or temporary unavailability.

      Amazon ECS performs health checks on containers with the default that launched the container instance or the task.

      The following describes the possible healthStatus values for a container:

      • HEALTHY-The container health check has passed successfully.

      • UNHEALTHY-The container health check has failed.

      • UNKNOWN-The container health check is being evaluated, there's no container health check defined, or Amazon ECS doesn't have the health status of the container.

      The following describes the possible healthStatus values based on the container health checker status of essential containers in the task with the following priority order (high to low):

      • UNHEALTHY-One or more essential containers have failed their health check.

      • UNKNOWN-Any essential container running within the task is in an UNKNOWN state and no other essential containers have an UNHEALTHY state.

      • HEALTHY-All essential containers within the task have passed their health checks.

      Consider the following task health example with 2 containers.

      • If Container1 is UNHEALTHY and Container2 is UNKNOWN, the task health is UNHEALTHY.

      • If Container1 is UNHEALTHY and Container2 is HEALTHY, the task health is UNHEALTHY.

      • If Container1 is HEALTHY and Container2 is UNKNOWN, the task health is UNKNOWN.

      • If Container1 is HEALTHY and Container2 is HEALTHY, the task health is HEALTHY.

      Consider the following task health example with 3 containers.

      • If Container1 is UNHEALTHY and Container2 is UNKNOWN, and Container3 is UNKNOWN, the task health is UNHEALTHY.

      • If Container1 is UNHEALTHY and Container2 is UNKNOWN, and Container3 is HEALTHY, the task health is UNHEALTHY.

      • If Container1 is UNHEALTHY and Container2 is HEALTHY, and Container3 is HEALTHY, the task health is UNHEALTHY.

      • If Container1 is HEALTHY and Container2 is UNKNOWN, and Container3 is HEALTHY, the task health is UNKNOWN.

      • If Container1 is HEALTHY and Container2 is UNKNOWN, and Container3 is UNKNOWN, the task health is UNKNOWN.

      • If Container1 is HEALTHY and Container2 is HEALTHY, and Container3 is HEALTHY, the task health is HEALTHY.

      If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

      The following are notes about container health check support:

      • When the Amazon ECS agent cannot connect to the Amazon ECS service, the service reports the container as UNHEALTHY.

      • The health check statuses are the \"last heard from\" response from the Amazon ECS agent. There are no assumptions made about the status of the container health checks.

      • Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see Updating the Amazon ECS container agent.

      • Container health checks are supported for Fargate tasks if you're using platform version 1.1.0 or greater. For more information, see Fargate platform versions.

      • Container health checks aren't supported for tasks that are part of a service that's configured to use a Classic Load Balancer.

      " + "documentation":"

      An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile). This configuration maps to the HEALTHCHECK parameter of docker run.

      The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

      You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

      The health check is designed to make sure that your containers survive agent restarts, upgrades, or temporary unavailability.

      Amazon ECS performs health checks on containers with the default that launched the container instance or the task.

      The following describes the possible healthStatus values for a container:

      • HEALTHY-The container health check has passed successfully.

      • UNHEALTHY-The container health check has failed.

      • UNKNOWN-The container health check is being evaluated, there's no container health check defined, or Amazon ECS doesn't have the health status of the container.

      The following describes the possible healthStatus values based on the container health checker status of essential containers in the task with the following priority order (high to low):

      • UNHEALTHY-One or more essential containers have failed their health check.

      • UNKNOWN-Any essential container running within the task is in an UNKNOWN state and no other essential containers have an UNHEALTHY state.

      • HEALTHY-All essential containers within the task have passed their health checks.

      Consider the following task health example with 2 containers.

      • If Container1 is UNHEALTHY and Container2 is UNKNOWN, the task health is UNHEALTHY.

      • If Container1 is UNHEALTHY and Container2 is HEALTHY, the task health is UNHEALTHY.

      • If Container1 is HEALTHY and Container2 is UNKNOWN, the task health is UNKNOWN.

      • If Container1 is HEALTHY and Container2 is HEALTHY, the task health is HEALTHY.

      Consider the following task health example with 3 containers.

      • If Container1 is UNHEALTHY and Container2 is UNKNOWN, and Container3 is UNKNOWN, the task health is UNHEALTHY.

      • If Container1 is UNHEALTHY and Container2 is UNKNOWN, and Container3 is HEALTHY, the task health is UNHEALTHY.

      • If Container1 is UNHEALTHY and Container2 is HEALTHY, and Container3 is HEALTHY, the task health is UNHEALTHY.

      • If Container1 is HEALTHY and Container2 is UNKNOWN, and Container3 is HEALTHY, the task health is UNKNOWN.

      • If Container1 is HEALTHY and Container2 is UNKNOWN, and Container3 is UNKNOWN, the task health is UNKNOWN.

      • If Container1 is HEALTHY and Container2 is HEALTHY, and Container3 is HEALTHY, the task health is HEALTHY.

      If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

      The following are notes about container health check support:

      • If the Amazon ECS container agent becomes disconnected from the Amazon ECS service, this won't cause a container to transition to an UNHEALTHY status. This is by design, to ensure that containers remain running during agent restarts or temporary unavailability. The health check status is the \"last heard from\" response from the Amazon ECS agent, so if the container was considered HEALTHY prior to the disconnect, that status will remain until the agent reconnects and another health check occurs. There are no assumptions made about the status of the container health checks.

      • Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see Updating the Amazon ECS container agent.

      • Container health checks are supported for Fargate tasks if you're using platform version 1.1.0 or greater. For more information, see Fargate platform versions.

      • Container health checks aren't supported for tasks that are part of a service that's configured to use a Classic Load Balancer.

      " }, "HealthStatus":{ "type":"string", @@ -4062,6 +4082,20 @@ "max":100, "min":1 }, + "ManagedStorageConfiguration":{ + "type":"structure", + "members":{ + "kmsKeyId":{ + "shape":"String", + "documentation":"

      Specify a Key Management Service key ID to encrypt the managed storage.

      " + }, + "fargateEphemeralStorageKmsKeyId":{ + "shape":"String", + "documentation":"

      Specify the Key Management Service key ID for the Fargate ephemeral storage.

      " + } + }, + "documentation":"

      The managed storage configuration for the cluster.

      " + }, "ManagedTerminationProtection":{ "type":"string", "enum":[ @@ -4628,7 +4662,7 @@ }, "runtimePlatform":{ "shape":"RuntimePlatform", - "documentation":"

      The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.

      When you specify a task definition in a service, this value must match the runtimePlatform value of the service.

      " + "documentation":"

      The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.

      " } } }, @@ -4717,11 +4751,11 @@ "members":{ "value":{ "shape":"String", - "documentation":"

      The value for the specified resource type.

      If the GPU type is used, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.

      If the InferenceAccelerator type is used, the value matches the deviceName for an InferenceAccelerator specified in a task definition.

      " + "documentation":"

      The value for the specified resource type.

      When the type is GPU, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.

      When the type is InferenceAccelerator, the value matches the deviceName for an InferenceAccelerator specified in a task definition.

      " }, "type":{ "shape":"ResourceType", - "documentation":"

      The type of resource to assign to a container. The supported values are GPU or InferenceAccelerator.

      " + "documentation":"

      The type of resource to assign to a container.

      " } }, "documentation":"

      The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see Working with GPUs on Amazon ECS or Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide

      " @@ -5151,7 +5185,7 @@ "documentation":"

      The ARN of the Amazon Web Services Private Certificate Authority certificate.

      " } }, - "documentation":"

      An object that represents the Amazon Web Services Private Certificate Authority certificate.

      " + "documentation":"

      The certificate root authority that secures your service.

      " }, "ServiceConnectTlsConfiguration":{ "type":"structure", @@ -5170,7 +5204,7 @@ "documentation":"

      The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.

      " } }, - "documentation":"

      An object that represents the configuration for Service Connect TLS.

      " + "documentation":"

      The key that encrypts and decrypts your resources for Service Connect TLS.

      " }, "ServiceEvent":{ "type":"structure", @@ -5869,6 +5903,10 @@ "ephemeralStorage":{ "shape":"EphemeralStorage", "documentation":"

      The ephemeral storage settings for the task.

      " + }, + "fargateEphemeralStorage":{ + "shape":"TaskEphemeralStorage", + "documentation":"

      The Fargate ephemeral storage settings for the task.

      " } }, "documentation":"

      Details on a task in a cluster.

      " @@ -6025,6 +6063,20 @@ "DELETE_IN_PROGRESS" ] }, + "TaskEphemeralStorage":{ + "type":"structure", + "members":{ + "sizeInGiB":{ + "shape":"Integer", + "documentation":"

      The total amount, in GiB, of the ephemeral storage to set for the task. The minimum supported value is 20 GiB and the maximum supported value is
 200 GiB.

      " + }, + "kmsKeyId":{ + "shape":"String", + "documentation":"

      Specify an Key Management Service key ID to encrypt the ephemeral storage for the task.

      " + } + }, + "documentation":"

      The amount of ephemeral storage to allocate for the task.

      " + }, "TaskField":{ "type":"string", "enum":["TAGS"] @@ -6235,6 +6287,10 @@ "tags":{ "shape":"Tags", "documentation":"

      The metadata that you apply to the task set to help you categorize and organize them. Each tag consists of a key and an optional value. You define both.

      The following basic restrictions apply to tags:

      • Maximum number of tags per resource - 50

      • For each resource, each tag key must be unique, and each tag key can have only one value.

      • Maximum key length - 128 Unicode characters in UTF-8

      • Maximum value length - 256 Unicode characters in UTF-8

      • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

      • Tag keys and values are case-sensitive.

      • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

      " + }, + "fargateEphemeralStorage":{ + "shape":"DeploymentEphemeralStorage", + "documentation":"

      The Fargate ephemeral storage settings for the task set.

      " } }, "documentation":"

      Information about a set of Amazon ECS tasks in either an CodeDeploy or an EXTERNAL deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.

      " diff --git a/tools/code-generation/api-descriptions/imagebuilder-2019-12-02.normal.json b/tools/code-generation/api-descriptions/imagebuilder-2019-12-02.normal.json index 3e67a6dd619..b3751ef1666 100644 --- a/tools/code-generation/api-descriptions/imagebuilder-2019-12-02.normal.json +++ b/tools/code-generation/api-descriptions/imagebuilder-2019-12-02.normal.json @@ -5,6 +5,7 @@ "endpointPrefix":"imagebuilder", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"imagebuilder", "serviceFullName":"EC2 Image Builder", "serviceId":"imagebuilder", @@ -1705,7 +1706,7 @@ }, "ComponentBuildVersionArn":{ "type":"string", - "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):component/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$" + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):component/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$" }, "ComponentConfiguration":{ "type":"structure", @@ -1947,11 +1948,11 @@ }, "ComponentVersionArn":{ "type":"string", - "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):component/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$" + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):component/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$" }, "ComponentVersionArnOrBuildVersionArn":{ "type":"string", - "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):component/[a-z0-9-_]+/(?:(?:([0-9]+|x)\\.([0-9]+|x)\\.([0-9]+|x))|(?:[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+))$" + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):component/[a-z0-9-_]+/(?:(?:([0-9]+|x)\\.([0-9]+|x)\\.([0-9]+|x))|(?:[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+))$" }, "ComponentVersionList":{ "type":"list", @@ -4043,11 +4044,11 @@ }, "ImageBuildVersionArn":{ "type":"string", - "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):image/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$" + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):image/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$" }, "ImageBuilderArn":{ "type":"string", - "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):(?:image-recipe|container-recipe|infrastructure-configuration|distribution-configuration|component|image|image-pipeline|lifecycle-policy|workflow\\/(?:build|test|distribution))/[a-z0-9-_]+(?:/(?:(?:x|[0-9]+)\\.(?:x|[0-9]+)\\.(?:x|[0-9]+))(?:/[0-9]+)?)?$" + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):(?:image-recipe|container-recipe|infrastructure-configuration|distribution-configuration|component|image|image-pipeline|lifecycle-policy|workflow\\/(?:build|test|distribution))/[a-z0-9-_]+(?:/(?:(?:x|[0-9]+)\\.(?:x|[0-9]+)\\.(?:x|[0-9]+))(?:/[0-9]+)?)?$" }, "ImagePackage":{ "type":"structure", @@ -4622,11 +4623,11 @@ }, "ImageVersionArn":{ "type":"string", - "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):image/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$" + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):image/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$" }, "ImageVersionArnOrBuildVersionArn":{ "type":"string", - "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):image/[a-z0-9-_]+/(?:(?:([0-9]+|x)\\.([0-9]+|x)\\.([0-9]+|x))|(?:[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+))$" + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):image/[a-z0-9-_]+/(?:(?:([0-9]+|x)\\.([0-9]+|x)\\.([0-9]+|x))|(?:[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+))$" }, "ImageVersionList":{ "type":"list", @@ -7641,7 +7642,7 @@ "WorkflowBuildVersionArn":{ "type":"string", "max":1024, - "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$" + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):workflow/(build|test|distribution)/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$" }, "WorkflowConfiguration":{ "type":"structure", @@ -7753,7 +7754,7 @@ }, "WorkflowNameArn":{ "type":"string", - "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/x\\.x\\.x$" + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):workflow/(build|test|distribution)/[a-z0-9-_]+/x\\.x\\.x$" }, "WorkflowParameter":{ "type":"structure", @@ -8096,11 +8097,11 @@ }, "WorkflowVersionArn":{ "type":"string", - "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$" + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):workflow/(build|test|distribution)/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$" }, "WorkflowVersionArnOrBuildVersionArn":{ "type":"string", - "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/(?:(?:([0-9]+|x)\\.([0-9]+|x)\\.([0-9]+|x))|(?:[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+))$" + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):workflow/(build|test|distribution)/[a-z0-9-_]+/(?:(?:([0-9]+|x)\\.([0-9]+|x)\\.([0-9]+|x))|(?:[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+))$" }, "WorkflowVersionList":{ "type":"list", @@ -8108,7 +8109,7 @@ }, "WorkflowWildcardVersionArn":{ "type":"string", - "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/(?:[0-9]+|x)\\.(?:[0-9]+|x)\\.(?:[0-9]+|x)$" + "pattern":"^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):workflow/(build|test|distribution)/[a-z0-9-_]+/(?:[0-9]+|x)\\.(?:[0-9]+|x)\\.(?:[0-9]+|x)$" } }, "documentation":"

      EC2 Image Builder is a fully managed Amazon Web Services service that makes it easier to automate the creation, management, and deployment of customized, secure, and up-to-date \"golden\" server images that are pre-installed and pre-configured with software and settings to meet specific IT standards.

      " diff --git a/tools/code-generation/endpoints/application-signals-2024-04-15.endpoint-rule-set.json b/tools/code-generation/endpoints/application-signals-2024-04-15.endpoint-rule-set.json new file mode 100644 index 00000000000..7ec23c86b67 --- /dev/null +++ b/tools/code-generation/endpoints/application-signals-2024-04-15.endpoint-rule-set.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "parameters": { + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "endpoint": { + "url": "https://application-signals-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://application-signals.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/application-signals-2024-04-15.endpoint-tests.json b/tools/code-generation/endpoints/application-signals-2024-04-15.endpoint-tests.json new file mode 100644 index 00000000000..5c4d5d9e24e --- /dev/null +++ b/tools/code-generation/endpoints/application-signals-2024-04-15.endpoint-tests.json @@ -0,0 +1,201 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-signals.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file