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

io.cloudshiftdev.awscdk.services.robomaker.CfnRobotApplication.kt Maven / Gradle / Ivy

There is a newer version: 0.10.0
Show newest version
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")

package io.cloudshiftdev.awscdk.services.robomaker

import io.cloudshiftdev.awscdk.CfnResource
import io.cloudshiftdev.awscdk.IInspectable
import io.cloudshiftdev.awscdk.IResolvable
import io.cloudshiftdev.awscdk.ITaggable
import io.cloudshiftdev.awscdk.TagManager
import io.cloudshiftdev.awscdk.TreeInspector
import io.cloudshiftdev.awscdk.common.CdkDslMarker
import io.cloudshiftdev.awscdk.common.CdkObject
import io.cloudshiftdev.awscdk.common.CdkObjectWrappers
import kotlin.Any
import kotlin.String
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
import io.cloudshiftdev.constructs.Construct as CloudshiftdevConstructsConstruct
import software.constructs.Construct as SoftwareConstructsConstruct

/**
 * The `AWS::RoboMaker::RobotApplication` resource creates an AWS RoboMaker robot application.
 *
 * 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.robomaker.*;
 * CfnRobotApplication cfnRobotApplication = CfnRobotApplication.Builder.create(this,
 * "MyCfnRobotApplication")
 * .robotSoftwareSuite(RobotSoftwareSuiteProperty.builder()
 * .name("name")
 * // the properties below are optional
 * .version("version")
 * .build())
 * // the properties below are optional
 * .currentRevisionId("currentRevisionId")
 * .environment("environment")
 * .name("name")
 * .sources(List.of(SourceConfigProperty.builder()
 * .architecture("architecture")
 * .s3Bucket("s3Bucket")
 * .s3Key("s3Key")
 * .build()))
 * .tags(Map.of(
 * "tagsKey", "tags"))
 * .build();
 * ```
 *
 * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)
 */
public open class CfnRobotApplication(
  cdkObject: software.amazon.awscdk.services.robomaker.CfnRobotApplication,
) : CfnResource(cdkObject),
    IInspectable,
    ITaggable {
  public constructor(
    scope: CloudshiftdevConstructsConstruct,
    id: String,
    props: CfnRobotApplicationProps,
  ) :
      this(software.amazon.awscdk.services.robomaker.CfnRobotApplication(scope.let(CloudshiftdevConstructsConstruct.Companion::unwrap),
      id, props.let(CfnRobotApplicationProps.Companion::unwrap))
  )

  public constructor(
    scope: CloudshiftdevConstructsConstruct,
    id: String,
    props: CfnRobotApplicationProps.Builder.() -> Unit,
  ) : this(scope, id, CfnRobotApplicationProps(props)
  )

  /**
   * The Amazon Resource Name (ARN) of the robot application.
   */
  public open fun attrArn(): String = unwrap(this).getAttrArn()

  /**
   * The current revision id.
   */
  public open fun attrCurrentRevisionId(): String = unwrap(this).getAttrCurrentRevisionId()

  /**
   * The current revision id.
   */
  public open fun currentRevisionId(): String? = unwrap(this).getCurrentRevisionId()

  /**
   * The current revision id.
   */
  public open fun currentRevisionId(`value`: String) {
    unwrap(this).setCurrentRevisionId(`value`)
  }

  /**
   * The environment of the robot application.
   */
  public open fun environment(): String? = unwrap(this).getEnvironment()

  /**
   * The environment of the robot application.
   */
  public open fun environment(`value`: String) {
    unwrap(this).setEnvironment(`value`)
  }

  /**
   * Examines the CloudFormation resource and discloses attributes.
   *
   * @param inspector tree inspector to collect and process attributes. 
   */
  public override fun inspect(inspector: TreeInspector) {
    unwrap(this).inspect(inspector.let(TreeInspector.Companion::unwrap))
  }

  /**
   * The name of the robot application.
   */
  public open fun name(): String? = unwrap(this).getName()

  /**
   * The name of the robot application.
   */
  public open fun name(`value`: String) {
    unwrap(this).setName(`value`)
  }

  /**
   * The robot software suite used by the robot application.
   */
  public open fun robotSoftwareSuite(): Any = unwrap(this).getRobotSoftwareSuite()

  /**
   * The robot software suite used by the robot application.
   */
  public open fun robotSoftwareSuite(`value`: IResolvable) {
    unwrap(this).setRobotSoftwareSuite(`value`.let(IResolvable.Companion::unwrap))
  }

  /**
   * The robot software suite used by the robot application.
   */
  public open fun robotSoftwareSuite(`value`: RobotSoftwareSuiteProperty) {
    unwrap(this).setRobotSoftwareSuite(`value`.let(RobotSoftwareSuiteProperty.Companion::unwrap))
  }

  /**
   * The robot software suite used by the robot application.
   */
  @kotlin.Suppress("INAPPLICABLE_JVM_NAME")
  @JvmName("9629a4b2ece0c3797b9240c742d188b1480cff0907299bd33e095e17687f819d")
  public open fun robotSoftwareSuite(`value`: RobotSoftwareSuiteProperty.Builder.() -> Unit): Unit =
      robotSoftwareSuite(RobotSoftwareSuiteProperty(`value`))

  /**
   * The sources of the robot application.
   */
  public open fun sources(): Any? = unwrap(this).getSources()

  /**
   * The sources of the robot application.
   */
  public open fun sources(`value`: IResolvable) {
    unwrap(this).setSources(`value`.let(IResolvable.Companion::unwrap))
  }

  /**
   * The sources of the robot application.
   */
  public open fun sources(`value`: List) {
    unwrap(this).setSources(`value`.map{CdkObjectWrappers.unwrap(it)})
  }

  /**
   * The sources of the robot application.
   */
  public open fun sources(vararg `value`: Any): Unit = sources(`value`.toList())

  /**
   * Tag Manager which manages the tags for this resource.
   */
  public override fun tags(): TagManager = unwrap(this).getTags().let(TagManager::wrap)

  /**
   * A map that contains tag keys and tag values that are attached to the robot application.
   */
  public open fun tagsRaw(): Map = unwrap(this).getTagsRaw() ?: emptyMap()

  /**
   * A map that contains tag keys and tag values that are attached to the robot application.
   */
  public open fun tagsRaw(`value`: Map) {
    unwrap(this).setTagsRaw(`value`)
  }

  /**
   * A fluent builder for [io.cloudshiftdev.awscdk.services.robomaker.CfnRobotApplication].
   */
  @CdkDslMarker
  public interface Builder {
    /**
     * The current revision id.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-currentrevisionid)
     * @param currentRevisionId The current revision id. 
     */
    public fun currentRevisionId(currentRevisionId: String)

    /**
     * The environment of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-environment)
     * @param environment The environment of the robot application. 
     */
    public fun environment(environment: String)

    /**
     * The name of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-name)
     * @param name The name of the robot application. 
     */
    public fun name(name: String)

    /**
     * The robot software suite used by the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-robotsoftwaresuite)
     * @param robotSoftwareSuite The robot software suite used by the robot application. 
     */
    public fun robotSoftwareSuite(robotSoftwareSuite: IResolvable)

    /**
     * The robot software suite used by the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-robotsoftwaresuite)
     * @param robotSoftwareSuite The robot software suite used by the robot application. 
     */
    public fun robotSoftwareSuite(robotSoftwareSuite: RobotSoftwareSuiteProperty)

    /**
     * The robot software suite used by the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-robotsoftwaresuite)
     * @param robotSoftwareSuite The robot software suite used by the robot application. 
     */
    @kotlin.Suppress("INAPPLICABLE_JVM_NAME")
    @JvmName("2583dcdb755019492ee29651e3bdb83602ccc234c931d0a3c30cf9f9d07eb52b")
    public fun robotSoftwareSuite(robotSoftwareSuite: RobotSoftwareSuiteProperty.Builder.() -> Unit)

    /**
     * The sources of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-sources)
     * @param sources The sources of the robot application. 
     */
    public fun sources(sources: IResolvable)

    /**
     * The sources of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-sources)
     * @param sources The sources of the robot application. 
     */
    public fun sources(sources: List)

    /**
     * The sources of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-sources)
     * @param sources The sources of the robot application. 
     */
    public fun sources(vararg sources: Any)

    /**
     * A map that contains tag keys and tag values that are attached to the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-tags)
     * @param tags A map that contains tag keys and tag values that are attached to the robot
     * application. 
     */
    public fun tags(tags: Map)
  }

  private class BuilderImpl(
    scope: SoftwareConstructsConstruct,
    id: String,
  ) : Builder {
    private val cdkBuilder: software.amazon.awscdk.services.robomaker.CfnRobotApplication.Builder =
        software.amazon.awscdk.services.robomaker.CfnRobotApplication.Builder.create(scope, id)

    /**
     * The current revision id.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-currentrevisionid)
     * @param currentRevisionId The current revision id. 
     */
    override fun currentRevisionId(currentRevisionId: String) {
      cdkBuilder.currentRevisionId(currentRevisionId)
    }

    /**
     * The environment of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-environment)
     * @param environment The environment of the robot application. 
     */
    override fun environment(environment: String) {
      cdkBuilder.environment(environment)
    }

    /**
     * The name of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-name)
     * @param name The name of the robot application. 
     */
    override fun name(name: String) {
      cdkBuilder.name(name)
    }

    /**
     * The robot software suite used by the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-robotsoftwaresuite)
     * @param robotSoftwareSuite The robot software suite used by the robot application. 
     */
    override fun robotSoftwareSuite(robotSoftwareSuite: IResolvable) {
      cdkBuilder.robotSoftwareSuite(robotSoftwareSuite.let(IResolvable.Companion::unwrap))
    }

    /**
     * The robot software suite used by the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-robotsoftwaresuite)
     * @param robotSoftwareSuite The robot software suite used by the robot application. 
     */
    override fun robotSoftwareSuite(robotSoftwareSuite: RobotSoftwareSuiteProperty) {
      cdkBuilder.robotSoftwareSuite(robotSoftwareSuite.let(RobotSoftwareSuiteProperty.Companion::unwrap))
    }

    /**
     * The robot software suite used by the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-robotsoftwaresuite)
     * @param robotSoftwareSuite The robot software suite used by the robot application. 
     */
    @kotlin.Suppress("INAPPLICABLE_JVM_NAME")
    @JvmName("2583dcdb755019492ee29651e3bdb83602ccc234c931d0a3c30cf9f9d07eb52b")
    override
        fun robotSoftwareSuite(robotSoftwareSuite: RobotSoftwareSuiteProperty.Builder.() -> Unit):
        Unit = robotSoftwareSuite(RobotSoftwareSuiteProperty(robotSoftwareSuite))

    /**
     * The sources of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-sources)
     * @param sources The sources of the robot application. 
     */
    override fun sources(sources: IResolvable) {
      cdkBuilder.sources(sources.let(IResolvable.Companion::unwrap))
    }

    /**
     * The sources of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-sources)
     * @param sources The sources of the robot application. 
     */
    override fun sources(sources: List) {
      cdkBuilder.sources(sources.map{CdkObjectWrappers.unwrap(it)})
    }

    /**
     * The sources of the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-sources)
     * @param sources The sources of the robot application. 
     */
    override fun sources(vararg sources: Any): Unit = sources(sources.toList())

    /**
     * A map that contains tag keys and tag values that are attached to the robot application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-tags)
     * @param tags A map that contains tag keys and tag values that are attached to the robot
     * application. 
     */
    override fun tags(tags: Map) {
      cdkBuilder.tags(tags)
    }

    public fun build(): software.amazon.awscdk.services.robomaker.CfnRobotApplication =
        cdkBuilder.build()
  }

  public companion object {
    public val CFN_RESOURCE_TYPE_NAME: String =
        software.amazon.awscdk.services.robomaker.CfnRobotApplication.CFN_RESOURCE_TYPE_NAME

    public operator fun invoke(
      scope: CloudshiftdevConstructsConstruct,
      id: String,
      block: Builder.() -> Unit = {},
    ): CfnRobotApplication {
      val builderImpl = BuilderImpl(CloudshiftdevConstructsConstruct.unwrap(scope), id)
      return CfnRobotApplication(builderImpl.apply(block).build())
    }

    internal fun wrap(cdkObject: software.amazon.awscdk.services.robomaker.CfnRobotApplication):
        CfnRobotApplication = CfnRobotApplication(cdkObject)

    internal fun unwrap(wrapped: CfnRobotApplication):
        software.amazon.awscdk.services.robomaker.CfnRobotApplication = wrapped.cdkObject as
        software.amazon.awscdk.services.robomaker.CfnRobotApplication
  }

  /**
   * Information about a robot software suite.
   *
   * 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.robomaker.*;
   * RobotSoftwareSuiteProperty robotSoftwareSuiteProperty = RobotSoftwareSuiteProperty.builder()
   * .name("name")
   * // the properties below are optional
   * .version("version")
   * .build();
   * ```
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html)
   */
  public interface RobotSoftwareSuiteProperty {
    /**
     * The name of the robot software suite.
     *
     * `General` is the only supported value.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html#cfn-robomaker-robotapplication-robotsoftwaresuite-name)
     */
    public fun name(): String

    /**
     * The version of the robot software suite.
     *
     * Not applicable for General software suite.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html#cfn-robomaker-robotapplication-robotsoftwaresuite-version)
     */
    public fun version(): String? = unwrap(this).getVersion()

    /**
     * A builder for [RobotSoftwareSuiteProperty]
     */
    @CdkDslMarker
    public interface Builder {
      /**
       * @param name The name of the robot software suite. 
       * `General` is the only supported value.
       */
      public fun name(name: String)

      /**
       * @param version The version of the robot software suite.
       * Not applicable for General software suite.
       */
      public fun version(version: String)
    }

    private class BuilderImpl : Builder {
      private val cdkBuilder:
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.RobotSoftwareSuiteProperty.Builder
          =
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.RobotSoftwareSuiteProperty.builder()

      /**
       * @param name The name of the robot software suite. 
       * `General` is the only supported value.
       */
      override fun name(name: String) {
        cdkBuilder.name(name)
      }

      /**
       * @param version The version of the robot software suite.
       * Not applicable for General software suite.
       */
      override fun version(version: String) {
        cdkBuilder.version(version)
      }

      public fun build():
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.RobotSoftwareSuiteProperty =
          cdkBuilder.build()
    }

    private class Wrapper(
      cdkObject: software.amazon.awscdk.services.robomaker.CfnRobotApplication.RobotSoftwareSuiteProperty,
    ) : CdkObject(cdkObject),
        RobotSoftwareSuiteProperty {
      /**
       * The name of the robot software suite.
       *
       * `General` is the only supported value.
       *
       * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html#cfn-robomaker-robotapplication-robotsoftwaresuite-name)
       */
      override fun name(): String = unwrap(this).getName()

      /**
       * The version of the robot software suite.
       *
       * Not applicable for General software suite.
       *
       * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html#cfn-robomaker-robotapplication-robotsoftwaresuite-version)
       */
      override fun version(): String? = unwrap(this).getVersion()
    }

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

      internal
          fun wrap(cdkObject: software.amazon.awscdk.services.robomaker.CfnRobotApplication.RobotSoftwareSuiteProperty):
          RobotSoftwareSuiteProperty = CdkObjectWrappers.wrap(cdkObject) as?
          RobotSoftwareSuiteProperty ?: Wrapper(cdkObject)

      internal fun unwrap(wrapped: RobotSoftwareSuiteProperty):
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.RobotSoftwareSuiteProperty =
          (wrapped as CdkObject).cdkObject as
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.RobotSoftwareSuiteProperty
    }
  }

  /**
   * Information about a source configuration.
   *
   * 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.robomaker.*;
   * SourceConfigProperty sourceConfigProperty = SourceConfigProperty.builder()
   * .architecture("architecture")
   * .s3Bucket("s3Bucket")
   * .s3Key("s3Key")
   * .build();
   * ```
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html)
   */
  public interface SourceConfigProperty {
    /**
     * The target processor architecture for the application.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-architecture)
     */
    public fun architecture(): String

    /**
     * The Amazon S3 bucket name.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-s3bucket)
     */
    public fun s3Bucket(): String

    /**
     * The s3 object key.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-s3key)
     */
    public fun s3Key(): String

    /**
     * A builder for [SourceConfigProperty]
     */
    @CdkDslMarker
    public interface Builder {
      /**
       * @param architecture The target processor architecture for the application. 
       */
      public fun architecture(architecture: String)

      /**
       * @param s3Bucket The Amazon S3 bucket name. 
       */
      public fun s3Bucket(s3Bucket: String)

      /**
       * @param s3Key The s3 object key. 
       */
      public fun s3Key(s3Key: String)
    }

    private class BuilderImpl : Builder {
      private val cdkBuilder:
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.SourceConfigProperty.Builder
          =
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.SourceConfigProperty.builder()

      /**
       * @param architecture The target processor architecture for the application. 
       */
      override fun architecture(architecture: String) {
        cdkBuilder.architecture(architecture)
      }

      /**
       * @param s3Bucket The Amazon S3 bucket name. 
       */
      override fun s3Bucket(s3Bucket: String) {
        cdkBuilder.s3Bucket(s3Bucket)
      }

      /**
       * @param s3Key The s3 object key. 
       */
      override fun s3Key(s3Key: String) {
        cdkBuilder.s3Key(s3Key)
      }

      public fun build():
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.SourceConfigProperty =
          cdkBuilder.build()
    }

    private class Wrapper(
      cdkObject: software.amazon.awscdk.services.robomaker.CfnRobotApplication.SourceConfigProperty,
    ) : CdkObject(cdkObject),
        SourceConfigProperty {
      /**
       * The target processor architecture for the application.
       *
       * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-architecture)
       */
      override fun architecture(): String = unwrap(this).getArchitecture()

      /**
       * The Amazon S3 bucket name.
       *
       * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-s3bucket)
       */
      override fun s3Bucket(): String = unwrap(this).getS3Bucket()

      /**
       * The s3 object key.
       *
       * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-s3key)
       */
      override fun s3Key(): String = unwrap(this).getS3Key()
    }

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

      internal
          fun wrap(cdkObject: software.amazon.awscdk.services.robomaker.CfnRobotApplication.SourceConfigProperty):
          SourceConfigProperty = CdkObjectWrappers.wrap(cdkObject) as? SourceConfigProperty ?:
          Wrapper(cdkObject)

      internal fun unwrap(wrapped: SourceConfigProperty):
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.SourceConfigProperty =
          (wrapped as CdkObject).cdkObject as
          software.amazon.awscdk.services.robomaker.CfnRobotApplication.SourceConfigProperty
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy