當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。