ResourceDataSyncArgs

data class ResourceDataSyncArgs(val name: Output<String>? = null, val s3Destination: Output<ResourceDataSyncS3DestinationArgs>? = null) : ConvertibleToJava<ResourceDataSyncArgs>

Provides a SSM resource data sync.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.s3.BucketPolicy;
import com.pulumi.aws.s3.BucketPolicyArgs;
import com.pulumi.aws.ssm.ResourceDataSync;
import com.pulumi.aws.ssm.ResourceDataSyncArgs;
import com.pulumi.aws.ssm.inputs.ResourceDataSyncS3DestinationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var hogeBucketV2 = new BucketV2("hogeBucketV2");
final var hogePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(
GetPolicyDocumentStatementArgs.builder()
.sid("SSMBucketPermissionsCheck")
.effect("Allow")
.principals(GetPolicyDocumentStatementPrincipalArgs.builder()
.type("Service")
.identifiers("ssm.amazonaws.com")
.build())
.actions("s3:GetBucketAcl")
.resources("arn:aws:s3:::tf-test-bucket-1234")
.build(),
GetPolicyDocumentStatementArgs.builder()
.sid("SSMBucketDelivery")
.effect("Allow")
.principals(GetPolicyDocumentStatementPrincipalArgs.builder()
.type("Service")
.identifiers("ssm.amazonaws.com")
.build())
.actions("s3:PutObject")
.resources("arn:aws:s3:::tf-test-bucket-1234/*")
.conditions(GetPolicyDocumentStatementConditionArgs.builder()
.test("StringEquals")
.variable("s3:x-amz-acl")
.values("bucket-owner-full-control")
.build())
.build())
.build());
var hogeBucketPolicy = new BucketPolicy("hogeBucketPolicy", BucketPolicyArgs.builder()
.bucket(hogeBucketV2.id())
.policy(hogePolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
.build());
var foo = new ResourceDataSync("foo", ResourceDataSyncArgs.builder()
.s3Destination(ResourceDataSyncS3DestinationArgs.builder()
.bucketName(hogeBucketV2.bucket())
.region(hogeBucketV2.region())
.build())
.build());
}
}

Import

SSM resource data sync can be imported using the name, e.g.,

$ pulumi import aws:ssm/resourceDataSync:ResourceDataSync example example-name

Constructors

Link copied to clipboard
constructor(name: Output<String>? = null, s3Destination: Output<ResourceDataSyncS3DestinationArgs>? = null)

Properties

Link copied to clipboard
val name: Output<String>? = null

Name for the configuration.

Link copied to clipboard

Amazon S3 configuration details for the sync. */

Functions

Link copied to clipboard
open override fun toJava(): ResourceDataSyncArgs