Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.lambda.LayerVersionPermissionArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.lambda;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class LayerVersionPermissionArgs extends com.pulumi.resources.ResourceArgs {
public static final LayerVersionPermissionArgs Empty = new LayerVersionPermissionArgs();
/**
* Action, which will be allowed. `lambda:GetLayerVersion` value is suggested by AWS documantation.
*
*/
@Import(name="action", required=true)
private Output action;
/**
* @return Action, which will be allowed. `lambda:GetLayerVersion` value is suggested by AWS documantation.
*
*/
public Output action() {
return this.action;
}
/**
* The name or ARN of the Lambda Layer, which you want to grant access to.
*
*/
@Import(name="layerName", required=true)
private Output layerName;
/**
* @return The name or ARN of the Lambda Layer, which you want to grant access to.
*
*/
public Output layerName() {
return this.layerName;
}
/**
* An identifier of AWS Organization, which should be able to use your Lambda Layer. `principal` should be equal to `*` if `organization_id` provided.
*
*/
@Import(name="organizationId")
private @Nullable Output organizationId;
/**
* @return An identifier of AWS Organization, which should be able to use your Lambda Layer. `principal` should be equal to `*` if `organization_id` provided.
*
*/
public Optional> organizationId() {
return Optional.ofNullable(this.organizationId);
}
/**
* AWS account ID which should be able to use your Lambda Layer. `*` can be used here, if you want to share your Lambda Layer widely.
*
*/
@Import(name="principal", required=true)
private Output principal;
/**
* @return AWS account ID which should be able to use your Lambda Layer. `*` can be used here, if you want to share your Lambda Layer widely.
*
*/
public Output principal() {
return this.principal;
}
/**
* Whether to retain the old version of a previously deployed Lambda Layer. Default is `false`. When this is not set to `true`, changing any of `compatible_architectures`, `compatible_runtimes`, `description`, `filename`, `layer_name`, `license_info`, `s3_bucket`, `s3_key`, `s3_object_version`, or `source_code_hash` forces deletion of the existing layer version and creation of a new layer version.
*
*/
@Import(name="skipDestroy")
private @Nullable Output skipDestroy;
/**
* @return Whether to retain the old version of a previously deployed Lambda Layer. Default is `false`. When this is not set to `true`, changing any of `compatible_architectures`, `compatible_runtimes`, `description`, `filename`, `layer_name`, `license_info`, `s3_bucket`, `s3_key`, `s3_object_version`, or `source_code_hash` forces deletion of the existing layer version and creation of a new layer version.
*
*/
public Optional> skipDestroy() {
return Optional.ofNullable(this.skipDestroy);
}
/**
* The name of Lambda Layer Permission, for example `dev-account` - human readable note about what is this permission for.
*
*/
@Import(name="statementId", required=true)
private Output statementId;
/**
* @return The name of Lambda Layer Permission, for example `dev-account` - human readable note about what is this permission for.
*
*/
public Output statementId() {
return this.statementId;
}
/**
* Version of Lambda Layer, which you want to grant access to. Note: permissions only apply to a single version of a layer.
*
*/
@Import(name="versionNumber", required=true)
private Output versionNumber;
/**
* @return Version of Lambda Layer, which you want to grant access to. Note: permissions only apply to a single version of a layer.
*
*/
public Output versionNumber() {
return this.versionNumber;
}
private LayerVersionPermissionArgs() {}
private LayerVersionPermissionArgs(LayerVersionPermissionArgs $) {
this.action = $.action;
this.layerName = $.layerName;
this.organizationId = $.organizationId;
this.principal = $.principal;
this.skipDestroy = $.skipDestroy;
this.statementId = $.statementId;
this.versionNumber = $.versionNumber;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(LayerVersionPermissionArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private LayerVersionPermissionArgs $;
public Builder() {
$ = new LayerVersionPermissionArgs();
}
public Builder(LayerVersionPermissionArgs defaults) {
$ = new LayerVersionPermissionArgs(Objects.requireNonNull(defaults));
}
/**
* @param action Action, which will be allowed. `lambda:GetLayerVersion` value is suggested by AWS documantation.
*
* @return builder
*
*/
public Builder action(Output action) {
$.action = action;
return this;
}
/**
* @param action Action, which will be allowed. `lambda:GetLayerVersion` value is suggested by AWS documantation.
*
* @return builder
*
*/
public Builder action(String action) {
return action(Output.of(action));
}
/**
* @param layerName The name or ARN of the Lambda Layer, which you want to grant access to.
*
* @return builder
*
*/
public Builder layerName(Output layerName) {
$.layerName = layerName;
return this;
}
/**
* @param layerName The name or ARN of the Lambda Layer, which you want to grant access to.
*
* @return builder
*
*/
public Builder layerName(String layerName) {
return layerName(Output.of(layerName));
}
/**
* @param organizationId An identifier of AWS Organization, which should be able to use your Lambda Layer. `principal` should be equal to `*` if `organization_id` provided.
*
* @return builder
*
*/
public Builder organizationId(@Nullable Output organizationId) {
$.organizationId = organizationId;
return this;
}
/**
* @param organizationId An identifier of AWS Organization, which should be able to use your Lambda Layer. `principal` should be equal to `*` if `organization_id` provided.
*
* @return builder
*
*/
public Builder organizationId(String organizationId) {
return organizationId(Output.of(organizationId));
}
/**
* @param principal AWS account ID which should be able to use your Lambda Layer. `*` can be used here, if you want to share your Lambda Layer widely.
*
* @return builder
*
*/
public Builder principal(Output principal) {
$.principal = principal;
return this;
}
/**
* @param principal AWS account ID which should be able to use your Lambda Layer. `*` can be used here, if you want to share your Lambda Layer widely.
*
* @return builder
*
*/
public Builder principal(String principal) {
return principal(Output.of(principal));
}
/**
* @param skipDestroy Whether to retain the old version of a previously deployed Lambda Layer. Default is `false`. When this is not set to `true`, changing any of `compatible_architectures`, `compatible_runtimes`, `description`, `filename`, `layer_name`, `license_info`, `s3_bucket`, `s3_key`, `s3_object_version`, or `source_code_hash` forces deletion of the existing layer version and creation of a new layer version.
*
* @return builder
*
*/
public Builder skipDestroy(@Nullable Output skipDestroy) {
$.skipDestroy = skipDestroy;
return this;
}
/**
* @param skipDestroy Whether to retain the old version of a previously deployed Lambda Layer. Default is `false`. When this is not set to `true`, changing any of `compatible_architectures`, `compatible_runtimes`, `description`, `filename`, `layer_name`, `license_info`, `s3_bucket`, `s3_key`, `s3_object_version`, or `source_code_hash` forces deletion of the existing layer version and creation of a new layer version.
*
* @return builder
*
*/
public Builder skipDestroy(Boolean skipDestroy) {
return skipDestroy(Output.of(skipDestroy));
}
/**
* @param statementId The name of Lambda Layer Permission, for example `dev-account` - human readable note about what is this permission for.
*
* @return builder
*
*/
public Builder statementId(Output statementId) {
$.statementId = statementId;
return this;
}
/**
* @param statementId The name of Lambda Layer Permission, for example `dev-account` - human readable note about what is this permission for.
*
* @return builder
*
*/
public Builder statementId(String statementId) {
return statementId(Output.of(statementId));
}
/**
* @param versionNumber Version of Lambda Layer, which you want to grant access to. Note: permissions only apply to a single version of a layer.
*
* @return builder
*
*/
public Builder versionNumber(Output versionNumber) {
$.versionNumber = versionNumber;
return this;
}
/**
* @param versionNumber Version of Lambda Layer, which you want to grant access to. Note: permissions only apply to a single version of a layer.
*
* @return builder
*
*/
public Builder versionNumber(Integer versionNumber) {
return versionNumber(Output.of(versionNumber));
}
public LayerVersionPermissionArgs build() {
if ($.action == null) {
throw new MissingRequiredPropertyException("LayerVersionPermissionArgs", "action");
}
if ($.layerName == null) {
throw new MissingRequiredPropertyException("LayerVersionPermissionArgs", "layerName");
}
if ($.principal == null) {
throw new MissingRequiredPropertyException("LayerVersionPermissionArgs", "principal");
}
if ($.statementId == null) {
throw new MissingRequiredPropertyException("LayerVersionPermissionArgs", "statementId");
}
if ($.versionNumber == null) {
throw new MissingRequiredPropertyException("LayerVersionPermissionArgs", "versionNumber");
}
return $;
}
}
}