예제 #1
0
        public AwsBootstrapOptionsBuilder(string bootstrapId)
        {
            _values = new AwsBootstrapOptionsValues(bootstrapId);
            _values.InstanceRequest.ClientToken = bootstrapId;

            _image    = new AwsBootstrapImageOptionsBuilder(_values.Image, this);
            _userData = new AwsBootstrapUserDataOptionsBuilder(_values.InstanceRequest, this);

            _values.NetworkInterfaceValues = new AwsBootstrapNetworkInterfaceOptionsValues(_values.InstanceRequest.NetworkInterfaces);

            _networkInterfaces = new AwsBootstrapNetworkInterfacesOptionsBuilder(_values.NetworkInterfaceValues, this);
            _disks             = new AwsBootstrapDisksOptionsBuilder(_values.InstanceRequest.BlockDeviceMappings, this);
            _tags = new AwsBootstrapTagOptionsBuilder(_values.Tags);
        }
예제 #2
0
        public AwsBootstrapOptionsBuilder(Action <IOfferAwsTagOptions> tags)
        {
            _values = new AwsBootstrapOptionsValues();

            var idempotenseTagBuilder = new AwsBootstrapTagOptionsBuilder(_values.IdempotencyTags);
            var tagBuilder            = new AwsBootstrapTagOptionsBuilder(_values.Tags);

            tags(idempotenseTagBuilder);
            tags(tagBuilder);

            _image    = new AwsBootstrapImageOptionsBuilder(_values.Image, this);
            _userData = new AwsBootstrapUserDataOptionsBuilder(_values.InstanceRequest, this);

            _values.NetworkInterfaceValues = new AwsBootstrapNetworkInterfaceOptionsValues(_values.InstanceRequest.NetworkInterfaces);

            _networkInterfaces = new AwsBootstrapNetworkInterfacesOptionsBuilder(_values.NetworkInterfaceValues, this);
            _disks             = new AwsBootstrapDisksOptionsBuilder(_values.InstanceRequest.BlockDeviceMappings, this);
        }