Class CfnSamplingRule

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:36.672Z") @Stability(Stable) public class CfnSamplingRule extends CfnResource implements IInspectable
A CloudFormation AWS::XRay::SamplingRule.

Use the AWS::XRay::SamplingRule resource to specify a sampling rule, which controls sampling behavior for instrumented applications. Include a SamplingRule entity to create or update a sampling rule.

SamplingRule.Version can only be set when creating a sampling rule. Updating the version will cause the update to fail.

Services retrieve rules with GetSamplingRules , and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.xray.*;
 Object tags;
 CfnSamplingRule cfnSamplingRule = CfnSamplingRule.Builder.create(this, "MyCfnSamplingRule")
         .samplingRule(SamplingRuleProperty.builder()
                 .fixedRate(123)
                 .host("host")
                 .httpMethod("httpMethod")
                 .priority(123)
                 .reservoirSize(123)
                 .resourceArn("resourceArn")
                 .serviceName("serviceName")
                 .serviceType("serviceType")
                 .urlPath("urlPath")
                 // the properties below are optional
                 .attributes(Map.of(
                         "attributesKey", "attributes"))
                 .ruleArn("ruleArn")
                 .ruleName("ruleName")
                 .version(123)
                 .build())
         .tags(List.of(tags))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnSamplingRule

      protected CfnSamplingRule(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnSamplingRule

      protected CfnSamplingRule(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnSamplingRule

      @Stability(Stable) public CfnSamplingRule(@NotNull Construct scope, @NotNull String id, @Nullable CfnSamplingRuleProps props)
      Create a new AWS::XRay::SamplingRule.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
    • CfnSamplingRule

      @Stability(Stable) public CfnSamplingRule(@NotNull Construct scope, @NotNull String id)
      Create a new AWS::XRay::SamplingRule.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrRuleArn

      @Stability(Stable) @NotNull public String getAttrRuleArn()
      The sampling rule ARN that was created or updated.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getSamplingRule

      @Stability(Stable) @Nullable public Object getSamplingRule()
      The sampling rule to be created or updated.
    • setSamplingRule

      @Stability(Stable) public void setSamplingRule(@Nullable IResolvable value)
      The sampling rule to be created or updated.
    • setSamplingRule

      @Stability(Stable) public void setSamplingRule(@Nullable CfnSamplingRule.SamplingRuleProperty value)
      The sampling rule to be created or updated.
    • getTags

      @Stability(Stable) @Nullable public List<Object> getTags()
      An array of key-value pairs to apply to this resource.
    • setTags

      @Stability(Stable) public void setTags(@Nullable List<Object> value)
      An array of key-value pairs to apply to this resource.