将所有 DigitalOcean Droplet 实例添加到 Terraform 中的项目

时间:2021-04-08 02:57:00

标签: terraform digital-ocean droplet

我正在尝试从 DigitalOcean Droplet 循环所有实例,该 Droplet 具有未知数量的实例要添加到 DigitalOcean 项目中。

类似于下面的东西,但不知道如何

resource "digitalocean_droplet" "web" {
  count = var.droplet_count 
  name = "web-${var.name}-${var.region}-${count.index +1}"
  size   = "512mb"
  image  = "centos-7-x64"
  region = "nyc3"


}

resource "digitalocean_project_resources" "barfoo" {
  project = data.digitalocean_project.foo.id
  resources = [
     digitalocean_droplet.web.*.urn, # this part having issues with
     digitalocean_droplet.bastion.urn,
  ]
}

1 个答案:

答案 0 :(得分:1)

resources - 与项目关联的资源的统一资源名称 (URN) 列表

试试

private DatabaseReference UsersRef;
private FirebaseFirestore db = FirebaseFirestore.getInstance();
private CollectionReference firstUsersProfilesColRef = db.collection("usersProfiles");


@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mFirestoreList = findViewById(R.id.all_users_list);
    
    mAuth = FirebaseAuth.getInstance();
    currentUserID = mAuth.getCurrentUser().getUid();
    UsersRef = FirebaseDatabase.getInstance().getReference().child("allUsers");

    mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setTitle("홈");
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    ToolbarProfileBtn = (ImageButton) findViewById(R.id.toolbar_profile_button);

    drawerLayout = (DrawerLayout) findViewById(R.id.drawable_layout);
    actionBarDrawerToggle = new ActionBarDrawerToggle(MainActivity.this, drawerLayout, R.string.open, R.string.close);
    drawerLayout.addDrawerListener(actionBarDrawerToggle);
    actionBarDrawerToggle.syncState();

    navigationView = (NavigationView) findViewById(R.id.navigation_view);
    View navView = navigationView.inflateHeaderView(R.layout.navigation_header);

    navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            UserMenuSelector(item);
            return false;
        }
    });

    ToolbarProfileBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v)
        {
            SendUserToSetupActivity();
        }
    });

    DisplayAllUsersList();
    
}

private void DisplayAllUsersList()
{
    Query salaryQuery = firstUsersProfilesColRef;
    FirestoreRecyclerOptions<ProfileModelClass> options = new FirestoreRecyclerOptions.Builder<ProfileModelClass>()
            .setQuery(salaryQuery, ProfileModelClass.class)
            .build();
    adapter = new MyFriendsAdapter(options);

    mFirestoreList.setHasFixedSize(true);
    mFirestoreList.setLayoutManager(new LinearLayoutManager(this));
    mFirestoreList.setAdapter(adapter);
}



@Override
protected void onStart()
{
    super.onStart();

    adapter.startListening();

    FirebaseUser currentUser = mAuth.getCurrentUser();

    if (currentUser == null)
    {
        SendUserToLoginActivity();
    }
    else
    {
        CheckUserExistence();
    }

}

@Override
protected void onStop() {
    super.onStop();
   adapter.stopListening();
}