/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A document specifying changes to a sampling rule's
* configuration.See Also:
AWS
* API Reference
The name of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline const Aws::String& GetRuleName() const{ return m_ruleName; } /** *The name of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; } /** *The name of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline void SetRuleName(const Aws::String& value) { m_ruleNameHasBeenSet = true; m_ruleName = value; } /** *The name of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline void SetRuleName(Aws::String&& value) { m_ruleNameHasBeenSet = true; m_ruleName = std::move(value); } /** *The name of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline void SetRuleName(const char* value) { m_ruleNameHasBeenSet = true; m_ruleName.assign(value); } /** *The name of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline SamplingRuleUpdate& WithRuleName(const Aws::String& value) { SetRuleName(value); return *this;} /** *The name of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline SamplingRuleUpdate& WithRuleName(Aws::String&& value) { SetRuleName(std::move(value)); return *this;} /** *The name of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline SamplingRuleUpdate& WithRuleName(const char* value) { SetRuleName(value); return *this;} /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline const Aws::String& GetRuleARN() const{ return m_ruleARN; } /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline bool RuleARNHasBeenSet() const { return m_ruleARNHasBeenSet; } /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline void SetRuleARN(const Aws::String& value) { m_ruleARNHasBeenSet = true; m_ruleARN = value; } /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline void SetRuleARN(Aws::String&& value) { m_ruleARNHasBeenSet = true; m_ruleARN = std::move(value); } /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline void SetRuleARN(const char* value) { m_ruleARNHasBeenSet = true; m_ruleARN.assign(value); } /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline SamplingRuleUpdate& WithRuleARN(const Aws::String& value) { SetRuleARN(value); return *this;} /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline SamplingRuleUpdate& WithRuleARN(Aws::String&& value) { SetRuleARN(std::move(value)); return *this;} /** *The ARN of the sampling rule. Specify a rule by either name or ARN, but not * both.
*/ inline SamplingRuleUpdate& WithRuleARN(const char* value) { SetRuleARN(value); return *this;} /** *Matches the ARN of the Amazon Web Services resource on which the service * runs.
*/ inline const Aws::String& GetResourceARN() const{ return m_resourceARN; } /** *Matches the ARN of the Amazon Web Services resource on which the service * runs.
*/ inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; } /** *Matches the ARN of the Amazon Web Services resource on which the service * runs.
*/ inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; } /** *Matches the ARN of the Amazon Web Services resource on which the service * runs.
*/ inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); } /** *Matches the ARN of the Amazon Web Services resource on which the service * runs.
*/ inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); } /** *Matches the ARN of the Amazon Web Services resource on which the service * runs.
*/ inline SamplingRuleUpdate& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;} /** *Matches the ARN of the Amazon Web Services resource on which the service * runs.
*/ inline SamplingRuleUpdate& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;} /** *Matches the ARN of the Amazon Web Services resource on which the service * runs.
*/ inline SamplingRuleUpdate& WithResourceARN(const char* value) { SetResourceARN(value); return *this;} /** *The priority of the sampling rule.
*/ inline int GetPriority() const{ return m_priority; } /** *The priority of the sampling rule.
*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *The priority of the sampling rule.
*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *The priority of the sampling rule.
*/ inline SamplingRuleUpdate& WithPriority(int value) { SetPriority(value); return *this;} /** *The percentage of matching requests to instrument, after the reservoir is * exhausted.
*/ inline double GetFixedRate() const{ return m_fixedRate; } /** *The percentage of matching requests to instrument, after the reservoir is * exhausted.
*/ inline bool FixedRateHasBeenSet() const { return m_fixedRateHasBeenSet; } /** *The percentage of matching requests to instrument, after the reservoir is * exhausted.
*/ inline void SetFixedRate(double value) { m_fixedRateHasBeenSet = true; m_fixedRate = value; } /** *The percentage of matching requests to instrument, after the reservoir is * exhausted.
*/ inline SamplingRuleUpdate& WithFixedRate(double value) { SetFixedRate(value); return *this;} /** *A fixed number of matching requests to instrument per second, prior to * applying the fixed rate. The reservoir is not used directly by services, but * applies to all services using the rule collectively.
*/ inline int GetReservoirSize() const{ return m_reservoirSize; } /** *A fixed number of matching requests to instrument per second, prior to * applying the fixed rate. The reservoir is not used directly by services, but * applies to all services using the rule collectively.
*/ inline bool ReservoirSizeHasBeenSet() const { return m_reservoirSizeHasBeenSet; } /** *A fixed number of matching requests to instrument per second, prior to * applying the fixed rate. The reservoir is not used directly by services, but * applies to all services using the rule collectively.
*/ inline void SetReservoirSize(int value) { m_reservoirSizeHasBeenSet = true; m_reservoirSize = value; } /** *A fixed number of matching requests to instrument per second, prior to * applying the fixed rate. The reservoir is not used directly by services, but * applies to all services using the rule collectively.
*/ inline SamplingRuleUpdate& WithReservoirSize(int value) { SetReservoirSize(value); return *this;} /** *Matches the hostname from a request URL.
*/ inline const Aws::String& GetHost() const{ return m_host; } /** *Matches the hostname from a request URL.
*/ inline bool HostHasBeenSet() const { return m_hostHasBeenSet; } /** *Matches the hostname from a request URL.
*/ inline void SetHost(const Aws::String& value) { m_hostHasBeenSet = true; m_host = value; } /** *Matches the hostname from a request URL.
*/ inline void SetHost(Aws::String&& value) { m_hostHasBeenSet = true; m_host = std::move(value); } /** *Matches the hostname from a request URL.
*/ inline void SetHost(const char* value) { m_hostHasBeenSet = true; m_host.assign(value); } /** *Matches the hostname from a request URL.
*/ inline SamplingRuleUpdate& WithHost(const Aws::String& value) { SetHost(value); return *this;} /** *Matches the hostname from a request URL.
*/ inline SamplingRuleUpdate& WithHost(Aws::String&& value) { SetHost(std::move(value)); return *this;} /** *Matches the hostname from a request URL.
*/ inline SamplingRuleUpdate& WithHost(const char* value) { SetHost(value); return *this;} /** *Matches the name
that the service uses to identify itself in
* segments.
Matches the name
that the service uses to identify itself in
* segments.
Matches the name
that the service uses to identify itself in
* segments.
Matches the name
that the service uses to identify itself in
* segments.
Matches the name
that the service uses to identify itself in
* segments.
Matches the name
that the service uses to identify itself in
* segments.
Matches the name
that the service uses to identify itself in
* segments.
Matches the name
that the service uses to identify itself in
* segments.
Matches the origin
that the service uses to identify its type in
* segments.
Matches the origin
that the service uses to identify its type in
* segments.
Matches the origin
that the service uses to identify its type in
* segments.
Matches the origin
that the service uses to identify its type in
* segments.
Matches the origin
that the service uses to identify its type in
* segments.
Matches the origin
that the service uses to identify its type in
* segments.
Matches the origin
that the service uses to identify its type in
* segments.
Matches the origin
that the service uses to identify its type in
* segments.
Matches the HTTP method of a request.
*/ inline const Aws::String& GetHTTPMethod() const{ return m_hTTPMethod; } /** *Matches the HTTP method of a request.
*/ inline bool HTTPMethodHasBeenSet() const { return m_hTTPMethodHasBeenSet; } /** *Matches the HTTP method of a request.
*/ inline void SetHTTPMethod(const Aws::String& value) { m_hTTPMethodHasBeenSet = true; m_hTTPMethod = value; } /** *Matches the HTTP method of a request.
*/ inline void SetHTTPMethod(Aws::String&& value) { m_hTTPMethodHasBeenSet = true; m_hTTPMethod = std::move(value); } /** *Matches the HTTP method of a request.
*/ inline void SetHTTPMethod(const char* value) { m_hTTPMethodHasBeenSet = true; m_hTTPMethod.assign(value); } /** *Matches the HTTP method of a request.
*/ inline SamplingRuleUpdate& WithHTTPMethod(const Aws::String& value) { SetHTTPMethod(value); return *this;} /** *Matches the HTTP method of a request.
*/ inline SamplingRuleUpdate& WithHTTPMethod(Aws::String&& value) { SetHTTPMethod(std::move(value)); return *this;} /** *Matches the HTTP method of a request.
*/ inline SamplingRuleUpdate& WithHTTPMethod(const char* value) { SetHTTPMethod(value); return *this;} /** *Matches the path from a request URL.
*/ inline const Aws::String& GetURLPath() const{ return m_uRLPath; } /** *Matches the path from a request URL.
*/ inline bool URLPathHasBeenSet() const { return m_uRLPathHasBeenSet; } /** *Matches the path from a request URL.
*/ inline void SetURLPath(const Aws::String& value) { m_uRLPathHasBeenSet = true; m_uRLPath = value; } /** *Matches the path from a request URL.
*/ inline void SetURLPath(Aws::String&& value) { m_uRLPathHasBeenSet = true; m_uRLPath = std::move(value); } /** *Matches the path from a request URL.
*/ inline void SetURLPath(const char* value) { m_uRLPathHasBeenSet = true; m_uRLPath.assign(value); } /** *Matches the path from a request URL.
*/ inline SamplingRuleUpdate& WithURLPath(const Aws::String& value) { SetURLPath(value); return *this;} /** *Matches the path from a request URL.
*/ inline SamplingRuleUpdate& WithURLPath(Aws::String&& value) { SetURLPath(std::move(value)); return *this;} /** *Matches the path from a request URL.
*/ inline SamplingRuleUpdate& WithURLPath(const char* value) { SetURLPath(value); return *this;} /** *Matches attributes derived from the request.
*/ inline const Aws::MapMatches attributes derived from the request.
*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *Matches attributes derived from the request.
*/ inline void SetAttributes(const Aws::MapMatches attributes derived from the request.
*/ inline void SetAttributes(Aws::MapMatches attributes derived from the request.
*/ inline SamplingRuleUpdate& WithAttributes(const Aws::MapMatches attributes derived from the request.
*/ inline SamplingRuleUpdate& WithAttributes(Aws::MapMatches attributes derived from the request.
*/ inline SamplingRuleUpdate& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *Matches attributes derived from the request.
*/ inline SamplingRuleUpdate& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *Matches attributes derived from the request.
*/ inline SamplingRuleUpdate& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *Matches attributes derived from the request.
*/ inline SamplingRuleUpdate& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *Matches attributes derived from the request.
*/ inline SamplingRuleUpdate& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *Matches attributes derived from the request.
*/ inline SamplingRuleUpdate& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *Matches attributes derived from the request.
*/ inline SamplingRuleUpdate& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } private: Aws::String m_ruleName; bool m_ruleNameHasBeenSet = false; Aws::String m_ruleARN; bool m_ruleARNHasBeenSet = false; Aws::String m_resourceARN; bool m_resourceARNHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; double m_fixedRate; bool m_fixedRateHasBeenSet = false; int m_reservoirSize; bool m_reservoirSizeHasBeenSet = false; Aws::String m_host; bool m_hostHasBeenSet = false; Aws::String m_serviceName; bool m_serviceNameHasBeenSet = false; Aws::String m_serviceType; bool m_serviceTypeHasBeenSet = false; Aws::String m_hTTPMethod; bool m_hTTPMethodHasBeenSet = false; Aws::String m_uRLPath; bool m_uRLPathHasBeenSet = false; Aws::Map