Created
September 11, 2015 19:24
-
-
Save ryankennedy/e4b6a07d28a48413a194 to your computer and use it in GitHub Desktop.
Bulk re-enable SNS endpoints
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.amazonaws.auth.BasicAWSCredentials; | |
import com.amazonaws.regions.Region; | |
import com.amazonaws.regions.RegionUtils; | |
import com.amazonaws.services.sns.AmazonSNS; | |
import com.amazonaws.services.sns.AmazonSNSClient; | |
import com.amazonaws.services.sns.model.Endpoint; | |
import com.amazonaws.services.sns.model.ListEndpointsByPlatformApplicationRequest; | |
import com.amazonaws.services.sns.model.ListEndpointsByPlatformApplicationResult; | |
import com.amazonaws.services.sns.model.SetEndpointAttributesRequest; | |
import com.google.common.collect.ImmutableMap; | |
public class BulkUpdate { | |
public static void main(String[] args) { | |
String arn = "SNS Application ARN Here"; | |
Region region = RegionUtils.getRegion("SNS Region Here"); | |
AmazonSNS sns = new AmazonSNSClient(new BasicAWSCredentials("Access Key Here", | |
"Access Secret Here")); | |
sns.setEndpoint("https://" + region.getServiceEndpoint("sns")); | |
String nextToken = null; | |
do { | |
ListEndpointsByPlatformApplicationRequest request = new ListEndpointsByPlatformApplicationRequest(); | |
request.withPlatformApplicationArn(arn); | |
if (nextToken != null) { | |
request.withNextToken(nextToken); | |
} | |
ListEndpointsByPlatformApplicationResult result = sns.listEndpointsByPlatformApplication(request); | |
System.out.println("result.getEndpoints().size() = " + result.getEndpoints().size()); | |
for (Endpoint endpoint : result.getEndpoints()) { | |
System.out.println(endpoint.getAttributes()); | |
if (endpoint.getAttributes().get("Enabled").equals("false")) { | |
System.err.println("UPDATING ENABLED: " + endpoint.getEndpointArn()); | |
final SetEndpointAttributesRequest setRequest = new SetEndpointAttributesRequest() | |
.withEndpointArn(endpoint.getEndpointArn()) | |
.withAttributes(ImmutableMap.of("Enabled", "true")); | |
sns.setEndpointAttributes(setRequest); | |
} | |
} | |
nextToken = result.getNextToken(); | |
} while (nextToken != null); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment