当前位置: 首页>>代码示例>>Golang>>正文


Golang EC2.RequestSpotInstances方法代码示例

本文整理汇总了Golang中github.com/aws/aws-sdk-go/service/ec2.EC2.RequestSpotInstances方法的典型用法代码示例。如果您正苦于以下问题:Golang EC2.RequestSpotInstances方法的具体用法?Golang EC2.RequestSpotInstances怎么用?Golang EC2.RequestSpotInstances使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/aws/aws-sdk-go/service/ec2.EC2的用法示例。


在下文中一共展示了EC2.RequestSpotInstances方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: RequestSpotInstances

// Creates a Spot instance request by using Price, imageId, instance and zone.
// Other input parameters can be configured by uncommenting the appropriate portion of the code
func (p *Parameters) RequestSpotInstances(svc *ec2.EC2, imageId string) (string, error) {
	paramsForReq := &ec2.RequestSpotInstancesInput{
		SpotPrice: aws.String(p.Price), // Required
		//		AvailabilityZoneGroup: aws.String(p.Zone),
		//		BlockDurationMinutes:  aws.Int64(1),
		//		ClientToken:           aws.String("String"),
		//		DryRun:                aws.Bool(true),
		//		InstanceCount:         aws.Int64(1),
		//		LaunchGroup:           aws.String("String"),
		LaunchSpecification: &ec2.RequestSpotLaunchSpecification{
			//			AddressingType: aws.String("String"),
			//			BlockDeviceMappings: []*ec2.BlockDeviceMapping{
			//				{// Required
			//					DeviceName: aws.String("String"),
			//					Ebs: &ec2.EbsBlockDevice{
			//						DeleteOnTermination: aws.Bool(true),
			//						Encrypted:           aws.Bool(true),
			//						Iops:                aws.Int64(1),
			//						SnapshotId:          aws.String("String"),
			//						VolumeSize:          aws.Int64(1),
			//						VolumeType:          aws.String("VolumeType"),
			//					},
			//					NoDevice:    aws.String("String"),
			//					VirtualName: aws.String("String"),
			//				},
			//				// More values...
			//			},
			//			EbsOptimized: aws.Bool(true),
			//			IamInstanceProfile: &ec2.IamInstanceProfileSpecification{
			//				Arn:  aws.String("String"),
			//				Name: aws.String("String"),
			//			},
			ImageId:      aws.String(imageId),
			InstanceType: aws.String(p.Instance),
			//			KernelId:     aws.String("String"),
			//			KeyName:      aws.String("String"),
			//			Monitoring: &ec2.RunInstancesMonitoringEnabled{
			//				Enabled: aws.Bool(true), // Required
			//			},
			//			NetworkInterfaces: []*ec2.InstanceNetworkInterfaceSpecification{
			//				{// Required
			//					AssociatePublicIpAddress: aws.Bool(true),
			//					DeleteOnTermination:      aws.Bool(true),
			//					Description:              aws.String("String"),
			//					DeviceIndex:              aws.Int64(1),
			//					Groups: []*string{
			//						aws.String("String"), // Required
			//						// More values...
			//					},
			//					NetworkInterfaceId: aws.String("String"),
			//					PrivateIpAddress:   aws.String("String"),
			//					PrivateIpAddresses: []*ec2.PrivateIpAddressSpecification{
			//						{// Required
			//							PrivateIpAddress: aws.String("String"), // Required
			//							Primary:          aws.Bool(true),
			//						},
			//						// More values...
			//					},
			//					SecondaryPrivateIpAddressCount: aws.Int64(1),
			//					SubnetId:                       aws.String("String"),
			//				},
			//				// More values...
			//			},
			Placement: &ec2.SpotPlacement{
				AvailabilityZone: aws.String(p.Zone),
				//				GroupName:        aws.String("String"),
			},
			//			RamdiskId: aws.String("String"),
			//			SecurityGroupIds: []*string{
			//				aws.String("String"), // Required
			//				// More values...
			//			},
			//			SecurityGroups: []*string{
			//				aws.String("String"), // Required
			//				// More values...
			//			},
			//			SubnetId: aws.String("String"),
			//			UserData: aws.String("String"),
		},
		//		Type:       aws.String(p.Instance),
		//		ValidFrom:  aws.Time(time.Now()),
		//		ValidUntil: aws.Time(time.Now()),
	}
	resp, err := svc.RequestSpotInstances(paramsForReq)

	if err != nil {
		return "", err
	}
	return fmt.Sprintln(resp), nil
}
开发者ID:abhinavzspace,项目名称:munafatask,代码行数:92,代码来源:spotinstanceutil.go


注:本文中的github.com/aws/aws-sdk-go/service/ec2.EC2.RequestSpotInstances方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。