com.aliyun.ros.cdk.cms.MonitoringAgent Maven / Gradle / Ivy
Show all versions of ros-cdk-cms Show documentation
package com.aliyun.ros.cdk.cms;
/**
* This class encapsulates and extends the ROS resource type ALIYUN::CMS::MonitoringAgent
, which is used to install the CloudMonitor agent on Alibaba Cloud hosts.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-12-13T06:45:05.673Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.cms.$Module.class, fqn = "@alicloud/ros-cdk-cms.MonitoringAgent")
public class MonitoringAgent extends com.aliyun.ros.cdk.core.Resource {
protected MonitoringAgent(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected MonitoringAgent(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.
*
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props
* @param enableResourcePropertyConstraint
*/
public MonitoringAgent(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.cms.MonitoringAgentProps props, final @org.jetbrains.annotations.Nullable java.lang.Boolean enableResourcePropertyConstraint) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), props, enableResourcePropertyConstraint });
}
/**
* Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.
*
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props
*/
public MonitoringAgent(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.cms.MonitoringAgentProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), props });
}
/**
* Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.
*
* @param scope This parameter is required.
* @param id This parameter is required.
*/
public MonitoringAgent(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required") });
}
protected @org.jetbrains.annotations.NotNull java.lang.Boolean getEnableResourcePropertyConstraint() {
return software.amazon.jsii.Kernel.get(this, "enableResourcePropertyConstraint", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
}
protected void setEnableResourcePropertyConstraint(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) {
software.amazon.jsii.Kernel.set(this, "enableResourcePropertyConstraint", java.util.Objects.requireNonNull(value, "enableResourcePropertyConstraint is required"));
}
protected @org.jetbrains.annotations.NotNull java.lang.String getId() {
return software.amazon.jsii.Kernel.get(this, "id", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
protected void setId(final @org.jetbrains.annotations.NotNull java.lang.String value) {
software.amazon.jsii.Kernel.set(this, "id", java.util.Objects.requireNonNull(value, "id is required"));
}
protected @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.cms.MonitoringAgentProps getProps() {
return software.amazon.jsii.Kernel.get(this, "props", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.cms.MonitoringAgentProps.class));
}
protected void setProps(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.cms.MonitoringAgentProps value) {
software.amazon.jsii.Kernel.set(this, "props", java.util.Objects.requireNonNull(value, "props is required"));
}
protected @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct getScope() {
return software.amazon.jsii.Kernel.get(this, "scope", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.Construct.class));
}
protected void setScope(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct value) {
software.amazon.jsii.Kernel.set(this, "scope", java.util.Objects.requireNonNull(value, "scope is required"));
}
/**
* A fluent builder for {@link com.aliyun.ros.cdk.cms.MonitoringAgent}.
*/
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope This parameter is required.
* @param id This parameter is required.
* @param enableResourcePropertyConstraint
*/
public static Builder create(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) {
return new Builder(scope, id, enableResourcePropertyConstraint);
}
/**
* @return a new instance of {@link Builder}.
* @param scope This parameter is required.
* @param id This parameter is required.
*/
public static Builder create(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id) {
return new Builder(scope, id, null);
}
private final com.aliyun.ros.cdk.core.Construct scope;
private final java.lang.String id;
private final java.lang.Boolean enableResourcePropertyConstraint;
private com.aliyun.ros.cdk.cms.MonitoringAgentProps.Builder props;
private Builder(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) {
this.scope = scope;
this.id = id;
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
}
/**
* Property force: Specifies whether to install the CloudMonitor agent.
*
* Valid values:
* true (default value): yes
* false: no
*
* @return {@code this}
* @param force Property force: Specifies whether to install the CloudMonitor agent. This parameter is required.
*/
public Builder force(final java.lang.Boolean force) {
this.props().force(force);
return this;
}
/**
* Property force: Specifies whether to install the CloudMonitor agent.
*
* Valid values:
* true (default value): yes
* false: no
*
* @return {@code this}
* @param force Property force: Specifies whether to install the CloudMonitor agent. This parameter is required.
*/
public Builder force(final com.aliyun.ros.cdk.core.IResolvable force) {
this.props().force(force);
return this;
}
/**
* Property installCommand: Specifies whether to install the CloudMonitor agent on all ECS instances that belong to the current Alibaba Cloud account.
*
* Valid values:
* onlyInstallNotHasAgent: installs the latest version of the CloudMonitor agent only on ECS instances on which the agent is not installed.
* onlyUpgradeAgent: upgrades the CloudMonitor agent to the latest version only for ECS instances on which an earlier version of the agent is installed.
* installAndUpgrade: installs the latest version of the CloudMonitor agent on ECS instances on which the agent is not installed, and upgrades the CloudMonitor agent to the latest version for ECS instances on which an earlier version of the agent is installed.
* Note If you set the InstallCommand parameter, the InstanceIds parameter does not take effect.
*
* @return {@code this}
* @param installCommand Property installCommand: Specifies whether to install the CloudMonitor agent on all ECS instances that belong to the current Alibaba Cloud account. This parameter is required.
*/
public Builder installCommand(final java.lang.String installCommand) {
this.props().installCommand(installCommand);
return this;
}
/**
* Property installCommand: Specifies whether to install the CloudMonitor agent on all ECS instances that belong to the current Alibaba Cloud account.
*
* Valid values:
* onlyInstallNotHasAgent: installs the latest version of the CloudMonitor agent only on ECS instances on which the agent is not installed.
* onlyUpgradeAgent: upgrades the CloudMonitor agent to the latest version only for ECS instances on which an earlier version of the agent is installed.
* installAndUpgrade: installs the latest version of the CloudMonitor agent on ECS instances on which the agent is not installed, and upgrades the CloudMonitor agent to the latest version for ECS instances on which an earlier version of the agent is installed.
* Note If you set the InstallCommand parameter, the InstanceIds parameter does not take effect.
*
* @return {@code this}
* @param installCommand Property installCommand: Specifies whether to install the CloudMonitor agent on all ECS instances that belong to the current Alibaba Cloud account. This parameter is required.
*/
public Builder installCommand(final com.aliyun.ros.cdk.core.IResolvable installCommand) {
this.props().installCommand(installCommand);
return this;
}
/**
* Property instanceIds: Alibaba Cloud host ID.
*
* The range of n: 1 ~ 10.
* Explain that InstallCommand and InstanceIds must be selected one by one.
*
* @return {@code this}
* @param instanceIds Property instanceIds: Alibaba Cloud host ID. This parameter is required.
*/
public Builder instanceIds(final java.util.List extends java.lang.Object> instanceIds) {
this.props().instanceIds(instanceIds);
return this;
}
/**
* Property instanceIds: Alibaba Cloud host ID.
*
* The range of n: 1 ~ 10.
* Explain that InstallCommand and InstanceIds must be selected one by one.
*
* @return {@code this}
* @param instanceIds Property instanceIds: Alibaba Cloud host ID. This parameter is required.
*/
public Builder instanceIds(final com.aliyun.ros.cdk.core.IResolvable instanceIds) {
this.props().instanceIds(instanceIds);
return this;
}
/**
* @return a newly built instance of {@link com.aliyun.ros.cdk.cms.MonitoringAgent}.
*/
@Override
public com.aliyun.ros.cdk.cms.MonitoringAgent build() {
return new com.aliyun.ros.cdk.cms.MonitoringAgent(
this.scope,
this.id,
this.props != null ? this.props.build() : null,
this.enableResourcePropertyConstraint
);
}
private com.aliyun.ros.cdk.cms.MonitoringAgentProps.Builder props() {
if (this.props == null) {
this.props = new com.aliyun.ros.cdk.cms.MonitoringAgentProps.Builder();
}
return this.props;
}
}
}