2016-10-06 8 views
2

AWS SDK for JavaのElastic Beanstalk環境をクローンする必要があります。Java用AWS SDKからElastic Beanstalk環境をクローンするにはどうすればよいですか?

私はthis答えを見つけましたが、環境を作成する方法を説明していますが、環境をクローンする方法を示すサンプルやドキュメントは見つかりません。

私はCreateEnvironmentRequestためclone方法を見つけましたが、それはCreateEnvironmentRequestオブジェクトではなく、環境のクローンdocumentationによります。

enter image description here

+0

http://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreateConfigurationTemplate.htmlを作成してからこのテンプレートから必要な環境を作成する必要がありますか? –

答えて

2

さて、あなたは正確に私のアプローチは、単に新しい環境を毎回作成することで、あなたはこのような何かを行うことができ、AWS用のJava SDKと環境のクローンを作成することはできません。

  1. 展開をアップロードS3

  2. にファイル(戦争、何ジッパーは)あなたの展開が以前にアップロードされたファイル

    private CreateApplicationVersionRequest createApplicationVersion() { 
        return new CreateApplicationVersionRequest() 
          .withApplicationName("The app name") 
          .withAutoCreateApplication(true) 
          .withSourceBundle(new S3Location("bucket_name", deployedArtifactId)) 
          .withVersionLabel("a number for the version"); 
    } 
    
  3. にリンクするためのバージョンを作成します。あなたは、ご使用の環境のプロパティ、システムプロパティと、すべての設定

  4. private void getLatestStackSolutionVersion() { 
        ListAvailableSolutionStacksResult response = beanstalkClient.listAvailableSolutionStacks(); 
        for (int i = 0; i < response.getSolutionStacks().size(); i++) { 
         if (response.getSolutionStacks().get(i).contains("Java 8") { 
          stackName = response.getSolutionStacks().get(i); 
          break; 
         } 
        }  
    } 
    
  5. あなたのスタックの最新バージョンのために行くと見えます。

    private Collection<ConfigurationOptionSetting> setEnvironmentProperties() { 
        Collection<ConfigurationOptionSetting> configurationOptionSettings = new HashSet<>(); 
        configurationOptionSettings.add(new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "InstanceType", "t2.medium")); 
        configurationOptionSettings.add(new ConfigurationOptionSetting("aws:ec2:vpc", "VPCId","thevpcid"); 
        configurationOptionSettings.add(new ConfigurationOptionSetting("aws:ec2:vpc", "Subnets", "thesubnets"); 
        configurationOptionSettings.add(new ConfigurationOptionSetting("aws:ec2:vpc", "ELBSubnets", "theelbsubnets"); 
        configurationOptionSettings.add(new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment", "ANOTHER_PROPERTY", "a value")); 
        return configurationOptionSettings; 
    } 
    
  6. すべての準備が整った環境を作成します。

    public void deployCreatingEnvironment() { 
        getLatestStackSolutionVersion(); 
        beanstalkClient.createApplicationVersion(createApplicationVersion()); 
        beanstalkClient.createEnvironment(setupNewEnvironment()); 
    } 
    

ほら!それは毎回クローニングのようなもので、これがあなたのために働くことを願っています。

2

クローン操作は、SDKから可能ではない今のように、このために開かissueがありました。あなたが興味を持っているなら、チケットをもう一度開き、あなたの理由を提示したいかもしれません。

もう1つの可能性は、Javaのeb cliを呼び出して環境のクローンを実行することです。

関連する問題