All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.cloudshiftdev.awscdk.services.greengrass.CfnGroupVersionProps.kt Maven / Gradle / Ivy

The newest version!
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")

package io.cloudshiftdev.awscdk.services.greengrass

import io.cloudshiftdev.awscdk.common.CdkDslMarker
import io.cloudshiftdev.awscdk.common.CdkObject
import io.cloudshiftdev.awscdk.common.CdkObjectWrappers
import kotlin.String
import kotlin.Unit

/**
 * Properties for defining a `CfnGroupVersion`.
 *
 * Example:
 *
 * ```
 * // The code below shows an example of how to instantiate this type.
 * // The values are placeholders you should change.
 * import io.cloudshiftdev.awscdk.services.greengrass.*;
 * CfnGroupVersionProps cfnGroupVersionProps = CfnGroupVersionProps.builder()
 * .groupId("groupId")
 * // the properties below are optional
 * .connectorDefinitionVersionArn("connectorDefinitionVersionArn")
 * .coreDefinitionVersionArn("coreDefinitionVersionArn")
 * .deviceDefinitionVersionArn("deviceDefinitionVersionArn")
 * .functionDefinitionVersionArn("functionDefinitionVersionArn")
 * .loggerDefinitionVersionArn("loggerDefinitionVersionArn")
 * .resourceDefinitionVersionArn("resourceDefinitionVersionArn")
 * .subscriptionDefinitionVersionArn("subscriptionDefinitionVersionArn")
 * .build();
 * ```
 *
 * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)
 */
public interface CfnGroupVersionProps {
  /**
   * The Amazon Resource Name (ARN) of the connector definition version that contains the connectors
   * you want to deploy with the group version.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-connectordefinitionversionarn)
   */
  public fun connectorDefinitionVersionArn(): String? =
      unwrap(this).getConnectorDefinitionVersionArn()

  /**
   * The ARN of the core definition version that contains the core you want to deploy with the group
   * version.
   *
   * Currently, the core definition version can contain only one core.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-coredefinitionversionarn)
   */
  public fun coreDefinitionVersionArn(): String? = unwrap(this).getCoreDefinitionVersionArn()

  /**
   * The ARN of the device definition version that contains the devices you want to deploy with the
   * group version.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-devicedefinitionversionarn)
   */
  public fun deviceDefinitionVersionArn(): String? = unwrap(this).getDeviceDefinitionVersionArn()

  /**
   * The ARN of the function definition version that contains the functions you want to deploy with
   * the group version.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-functiondefinitionversionarn)
   */
  public fun functionDefinitionVersionArn(): String? =
      unwrap(this).getFunctionDefinitionVersionArn()

  /**
   * The ID of the group associated with this version.
   *
   * This value is a GUID.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-groupid)
   */
  public fun groupId(): String

  /**
   * The ARN of the logger definition version that contains the loggers you want to deploy with the
   * group version.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-loggerdefinitionversionarn)
   */
  public fun loggerDefinitionVersionArn(): String? = unwrap(this).getLoggerDefinitionVersionArn()

  /**
   * The ARN of the resource definition version that contains the resources you want to deploy with
   * the group version.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-resourcedefinitionversionarn)
   */
  public fun resourceDefinitionVersionArn(): String? =
      unwrap(this).getResourceDefinitionVersionArn()

  /**
   * The ARN of the subscription definition version that contains the subscriptions you want to
   * deploy with the group version.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-subscriptiondefinitionversionarn)
   */
  public fun subscriptionDefinitionVersionArn(): String? =
      unwrap(this).getSubscriptionDefinitionVersionArn()

  /**
   * A builder for [CfnGroupVersionProps]
   */
  @CdkDslMarker
  public interface Builder {
    /**
     * @param connectorDefinitionVersionArn The Amazon Resource Name (ARN) of the connector
     * definition version that contains the connectors you want to deploy with the group version.
     */
    public fun connectorDefinitionVersionArn(connectorDefinitionVersionArn: String)

    /**
     * @param coreDefinitionVersionArn The ARN of the core definition version that contains the core
     * you want to deploy with the group version.
     * Currently, the core definition version can contain only one core.
     */
    public fun coreDefinitionVersionArn(coreDefinitionVersionArn: String)

    /**
     * @param deviceDefinitionVersionArn The ARN of the device definition version that contains the
     * devices you want to deploy with the group version.
     */
    public fun deviceDefinitionVersionArn(deviceDefinitionVersionArn: String)

    /**
     * @param functionDefinitionVersionArn The ARN of the function definition version that contains
     * the functions you want to deploy with the group version.
     */
    public fun functionDefinitionVersionArn(functionDefinitionVersionArn: String)

    /**
     * @param groupId The ID of the group associated with this version. 
     * This value is a GUID.
     */
    public fun groupId(groupId: String)

    /**
     * @param loggerDefinitionVersionArn The ARN of the logger definition version that contains the
     * loggers you want to deploy with the group version.
     */
    public fun loggerDefinitionVersionArn(loggerDefinitionVersionArn: String)

    /**
     * @param resourceDefinitionVersionArn The ARN of the resource definition version that contains
     * the resources you want to deploy with the group version.
     */
    public fun resourceDefinitionVersionArn(resourceDefinitionVersionArn: String)

    /**
     * @param subscriptionDefinitionVersionArn The ARN of the subscription definition version that
     * contains the subscriptions you want to deploy with the group version.
     */
    public fun subscriptionDefinitionVersionArn(subscriptionDefinitionVersionArn: String)
  }

  private class BuilderImpl : Builder {
    private val cdkBuilder: software.amazon.awscdk.services.greengrass.CfnGroupVersionProps.Builder
        = software.amazon.awscdk.services.greengrass.CfnGroupVersionProps.builder()

    /**
     * @param connectorDefinitionVersionArn The Amazon Resource Name (ARN) of the connector
     * definition version that contains the connectors you want to deploy with the group version.
     */
    override fun connectorDefinitionVersionArn(connectorDefinitionVersionArn: String) {
      cdkBuilder.connectorDefinitionVersionArn(connectorDefinitionVersionArn)
    }

    /**
     * @param coreDefinitionVersionArn The ARN of the core definition version that contains the core
     * you want to deploy with the group version.
     * Currently, the core definition version can contain only one core.
     */
    override fun coreDefinitionVersionArn(coreDefinitionVersionArn: String) {
      cdkBuilder.coreDefinitionVersionArn(coreDefinitionVersionArn)
    }

    /**
     * @param deviceDefinitionVersionArn The ARN of the device definition version that contains the
     * devices you want to deploy with the group version.
     */
    override fun deviceDefinitionVersionArn(deviceDefinitionVersionArn: String) {
      cdkBuilder.deviceDefinitionVersionArn(deviceDefinitionVersionArn)
    }

    /**
     * @param functionDefinitionVersionArn The ARN of the function definition version that contains
     * the functions you want to deploy with the group version.
     */
    override fun functionDefinitionVersionArn(functionDefinitionVersionArn: String) {
      cdkBuilder.functionDefinitionVersionArn(functionDefinitionVersionArn)
    }

    /**
     * @param groupId The ID of the group associated with this version. 
     * This value is a GUID.
     */
    override fun groupId(groupId: String) {
      cdkBuilder.groupId(groupId)
    }

    /**
     * @param loggerDefinitionVersionArn The ARN of the logger definition version that contains the
     * loggers you want to deploy with the group version.
     */
    override fun loggerDefinitionVersionArn(loggerDefinitionVersionArn: String) {
      cdkBuilder.loggerDefinitionVersionArn(loggerDefinitionVersionArn)
    }

    /**
     * @param resourceDefinitionVersionArn The ARN of the resource definition version that contains
     * the resources you want to deploy with the group version.
     */
    override fun resourceDefinitionVersionArn(resourceDefinitionVersionArn: String) {
      cdkBuilder.resourceDefinitionVersionArn(resourceDefinitionVersionArn)
    }

    /**
     * @param subscriptionDefinitionVersionArn The ARN of the subscription definition version that
     * contains the subscriptions you want to deploy with the group version.
     */
    override fun subscriptionDefinitionVersionArn(subscriptionDefinitionVersionArn: String) {
      cdkBuilder.subscriptionDefinitionVersionArn(subscriptionDefinitionVersionArn)
    }

    public fun build(): software.amazon.awscdk.services.greengrass.CfnGroupVersionProps =
        cdkBuilder.build()
  }

  private class Wrapper(
    cdkObject: software.amazon.awscdk.services.greengrass.CfnGroupVersionProps,
  ) : CdkObject(cdkObject),
      CfnGroupVersionProps {
    /**
     * The Amazon Resource Name (ARN) of the connector definition version that contains the
     * connectors you want to deploy with the group version.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-connectordefinitionversionarn)
     */
    override fun connectorDefinitionVersionArn(): String? =
        unwrap(this).getConnectorDefinitionVersionArn()

    /**
     * The ARN of the core definition version that contains the core you want to deploy with the
     * group version.
     *
     * Currently, the core definition version can contain only one core.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-coredefinitionversionarn)
     */
    override fun coreDefinitionVersionArn(): String? = unwrap(this).getCoreDefinitionVersionArn()

    /**
     * The ARN of the device definition version that contains the devices you want to deploy with
     * the group version.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-devicedefinitionversionarn)
     */
    override fun deviceDefinitionVersionArn(): String? =
        unwrap(this).getDeviceDefinitionVersionArn()

    /**
     * The ARN of the function definition version that contains the functions you want to deploy
     * with the group version.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-functiondefinitionversionarn)
     */
    override fun functionDefinitionVersionArn(): String? =
        unwrap(this).getFunctionDefinitionVersionArn()

    /**
     * The ID of the group associated with this version.
     *
     * This value is a GUID.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-groupid)
     */
    override fun groupId(): String = unwrap(this).getGroupId()

    /**
     * The ARN of the logger definition version that contains the loggers you want to deploy with
     * the group version.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-loggerdefinitionversionarn)
     */
    override fun loggerDefinitionVersionArn(): String? =
        unwrap(this).getLoggerDefinitionVersionArn()

    /**
     * The ARN of the resource definition version that contains the resources you want to deploy
     * with the group version.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-resourcedefinitionversionarn)
     */
    override fun resourceDefinitionVersionArn(): String? =
        unwrap(this).getResourceDefinitionVersionArn()

    /**
     * The ARN of the subscription definition version that contains the subscriptions you want to
     * deploy with the group version.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-subscriptiondefinitionversionarn)
     */
    override fun subscriptionDefinitionVersionArn(): String? =
        unwrap(this).getSubscriptionDefinitionVersionArn()
  }

  public companion object {
    public operator fun invoke(block: Builder.() -> Unit = {}): CfnGroupVersionProps {
      val builderImpl = BuilderImpl()
      return Wrapper(builderImpl.apply(block).build())
    }

    internal fun wrap(cdkObject: software.amazon.awscdk.services.greengrass.CfnGroupVersionProps):
        CfnGroupVersionProps = CdkObjectWrappers.wrap(cdkObject) as? CfnGroupVersionProps ?:
        Wrapper(cdkObject)

    internal fun unwrap(wrapped: CfnGroupVersionProps):
        software.amazon.awscdk.services.greengrass.CfnGroupVersionProps = (wrapped as
        CdkObject).cdkObject as software.amazon.awscdk.services.greengrass.CfnGroupVersionProps
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy